• Как профессионально развиваться linux-администоратору?

    В поисках волшебной палочки?
    Сидите и разбирайтесь, документации полно, читайте. Не беритесь сразу за сложное. Если что то не понятно начинайте с азов, применяйте на практике, собирайте тестовые стенды, практикуйтесь. С повышением квалификации будут открываться дополнительные возможности - к примеру смена места работы.
    Полно курсов, если нету денег за свой счет учиться - пытайтесь за счет работодателя, нет - ресурсы типа складчик или торренты. Делите систему на компоненты и их разбивайте на составляющие.
    Подпишитесь на интересные ИТ-блоги по линукс системам и блоги вендоров типа IBM и RH. Читайте ту же хабру.
    Почитайте резюме человека кем бы вы хотели стать.
    Вносите вклад в развитие линукс сообщества. Улучшайте продукты...
    Как можно вообще такие вопросы задавать? Все очень очевидно. Нужно лишь желание и интерес.
    Ответ написан
    2 комментария
  • Где (книги, сайты, видео) найти информацию для быстрого освоения серверных web-технологий?

    Что почитать для не слишком глубокого (полезного в повседневной жизни) понимания работы web-технологий сетевых технологий
    Почитайте википедию. Там есть все ответы. Сама область очень обширна, нету конкретных книг, во всяком случае мне не известны, которые поверхностно затрагивают сразу все нужные вам вопросы.
    Поэтому такие труды дяденек Олифера или Таненбаума "Компьютерные сети" вряд ли вы прочтете. Там очень цельное достаточно глубокое погружение в топологии сетевых протоколов.
    Если вы сами не научитесь искать информацию - ничего не добьетесь. На ваш вопрос куча статей в интернете. много раз это уже пережевано и описано. bit.ly/1oeRZS8
    Но нет же, все создают вопросы на которые уже давно есть ответы в надежде на принцип "волшебной палочки".
    Не знаете что такое DNS - https://ru.wikipedia.org/wiki/DNS
    Не знаете что такое IP адрес? - https://ru.wikipedia.org/wiki/IP-%D0%B0%D0%B4%D1%8...
    Ответ написан
    Комментировать
  • Как получить лог из скрина(screen), выполнять команды в нем и т.д.?(node.js)

    Можно получать логи вызова любых системных команд через библиотеку snoopy (snoopy logger).
    Установка очень проста. Логика работы тоже. Это ELF библиотека которая загружается перед выполнением любых исполняемых программ.

    По логированию screen взгляните на этот пост
    Ответ написан
    Комментировать
  • Как сделать перенаправление трафика на другой IP (iptables?)?

    Используйте на сервере nginx с функцией proxy_pass.
    Ответ написан
    Комментировать
  • Зачем нужны специфичные линукс дистры?

    Не стоит забывать что многие дистрибутивы одной линейки с разными оболочками отличаются друг от друга различными утилитами, которые разрабатывает конкретно их сообщество. Но это далеко на самый первый критерий.
    Линукс - очень модульная система. Большинство пользователей, скажем так, "чистюли". Для человека пришедшего с Windows по началу, возможно, это сложно понять, но в основе этого лежит принцип разделяемых библиотек . Проще говоря различные пакеты Linux не изобретают костылей и не повторяют однообразный код, уже реализованный в другом пакете. Все что делается - подключается нужный фунционал из них. Это крайне мощный механизм, позволяющий не только сократить время на разработку, но и увеличить чистоту и качество кода (человеческий фактор никто не отменял), быстродействие, производительность с уменьшением размера пакетов и это тот факт который делает линукс таким масштабируемым.
    Именно в силу этих особенностей дабы не тянуть кучу не нужных библиотек засоряя систему пользователи выбирают конкретную уже готовую реализацию нужно им дистрибутива с той оболочкой которую используют они.
    Ответ написан
    Комментировать
  • Как подобрать компоненты для домашнего сервера?

    Вопрос очень специфичный, потому что все зависит конкретно от вашей архитектуры приложения и что не менее важно - от правильности выбора настроек и оптимизации системы. Конкретно рекомендации: использование VDS, VPS очень даже рентабельно. Большинство хостингов смогут обеспечить вас возможностью масштабирования мощностей без каких либо усилий. При нехватке ресурсов можно просто перелезть на более мощную архитектуру. Так же многие хостинги обеспечивают надежность хранения данных по средствам бэкапа (снапшоты или же место на резервном хранилище).
    Могу порекомендовать ru.hetzner.com - зарекомендовавший себя хостинг и наверно один из самых популярных.
    Не стоит забывать что для домашнего сервера сложно обеспечить должную отказоустойчивость - отключение света, проблемы с интернетом. А так же ежемесячные дополнительные затраты на электричество и широкую стабильную полосу интернет.
    По вопросу выбора ОС - конкретно что то рекомендовать не имеет смысла. Вот тут человек ниже отговаривает вас от FreeBSD. Основания?
    просто на линуксе все работает быстрее это раз
    админиться и ставится в 10 раз легче это да

    Складывается впечатление что просто руки не из того место растут. При должном навыке на любой системе все будет отлично работать. Я не пропагандирую FreeBSD, для подобных задач использую Debian. Но система это всего лишь инструмент в руках специалиста, а инструменты выбирают под конкретную задачу. Поэтому выбирайте ту ось, в которая будет лучше отвечать вашим требованиям и проще для администратора который будет ее настраивать и оптимизировать.
    Ответ написан
    6 комментариев
  • Как защитить файл от редактирования?

    В линуксе достаточно установки атрибута на файл chattr +i file
    Это запретит изменение даже root-пользователю. Так же есть еще и расширенные атрибуты. Подробнее читайте в man chattr, lsattr
    Ответ написан
    Комментировать
  • Как использовать Python 3.2 в bpython?

    Либо используя virtualenv, либо просто установив нужную версию bpython-a. Логично же?
    [08:44] ~ [root@ses] (dcn03srv056)
    $ apt-cache search bpython
    bpython3 - fancy interface to the Python interpreter - Curses frontend
    bpython - забавный интерфейс для интерпретатора Python — оболочка Curses

    Соответственно bpython3 - для 3ей версии Python-а.
    Ответ написан
    Комментировать
  • Чем можно мониторить нагрузку на VPS с вебсервером?

    toster.ru/answer?answer_id=308173#answers_list
    Для мониторинга php есть замечательный модуль Pinba. Так же можно настроить логировать медленные запросы MySQL.
    Взгляните на эту реализацию.
    Для apache есть модуль mod_performance
    Все это дело отлично можно интегрировать с Zabbix-ом
    Ответ написан
    Комментировать
  • Чем плох ubuntu-server?

    1. Upstart, (хоть и переходят на systemd, но пока upstart)
    2. AppArmor (Дополнительная логика безопасности, иногда приводящая к не предсказуемым результатам так же как и SELinux)
    3. По достаточно большому опыту менее стабильна и более непредсказуема чем Debian
    4. Изменение расположения многих каталогов и конфигурационных файлов без необходимости
    5. Наплевательское отношение на многие идеологии и стандарты
    6. Много лишней логики и сомнительного функционала. Достаточно поставить логирование системных вызовов и ужаснуться от того, что без вашего ведома в Ubuntu происходит.

    В целом заслуживает такое же место для существования как и другие дистрибутивы, правда вклад не такой большой как у RH в сообщество. Шатволд тянет одеяло на себя, RH на себя и по тому что сейчас происходит становится ясно что невидимый бой проигран. Systemd, разрабатываемая RH с Поттерингом воцарит на большинстве популуярных дистрибутивов линукс. (Debian, CentOS, Suse, Fedora, ArchLinux... и от них образованные). Другая часть дистрибутивов уже имеет плотную поддержку systemd (Gentoo к примеру). А если немного озадачиться и посмотреть что из себя сейчас представляет systemd и какие планы интеграции у них в дальнейшем - становится все на свои места, кто тут главный :) Дебиан перелезает на systemd, Шатволду ничего не осталось как развести руками и объявить что и убунта будет полностью менять свою систему инициализации на systemd.
    Ответ написан
    Комментировать
  • Как вы делаете резервное копирование на Linux Ubuntu ?

    0. tar корня
    1. dd
    2. Clonezilla
    3. rsnapshot

    help.ubuntu.ru/wiki/backup - тут полный ответ
    Ответ написан
    Комментировать
  • Две версии python (2.7 и 3.3) на Uuntu 12.04. Какие проблемы могут возникнуть?

    Что в virtualenv сложного? Так же устанавливаешь virtualenv на сервер той версии какой нужен python. Дальше все очень тривиально и просто.
    # Убедись что он 2ой версии
    apt-cache show python-virtualenv
    # Устанавливаешь virtualenv  
    apt-get install python-virtualenv  
    # Создаешь новый проект, установленные в системы либы не тянешь
    virtualenv --no-site-packages project
    # Активируешь виртуальное окружение
    # Все. Теперь команда pip будет устанавливать все пакеты в твое окружение а не системное
    . ./project/bin/activate
    # Устанавливаешь Django   
    pip install django


    Если же по каким то причинам не хочешь виртуального окружения, то поставь версию pip-а в систему под питон нужный тебе:
    $ apt-cache search virtualenv
    python-pip - alternative Python package installer
    python3-pip - alternative Python package installer - Python 3 version of the package

    И обращаться к нему уже будешь pip, pip3

    Как дополнение: в Debian и Ubuntu есть механизм выбора приоритетов. Все что он делает - переключает ссылку на нужные версии софта.
    Делается это по средством команды update-alternatives
    Ответ написан
    Комментировать
  • Какую ОС выбрать для файлового сервера?

    Любой дистрибутив из ныне живущих без GUI подойдет. Файловое хранилище - не такая требовательная задача. Поэтому выбор останавливай свой на более стабильных дистрибутивах, а это как уже советовали выше Debian. Так же можно посмотреть в сторону CentOS, если rpm-based дистрибутивы ближе. Но в принципе при наличии небольшого опыта работать будут даже те дистрибы, у которых стабильность далеко не первое качество: к примеру Gentoo или Slackware, но это требует намного выше порога вхождения. Более просто - бинарный Arch. Кому что ближе, в принципе. Если нету опыта совсем, а его нету, коль задается такой вопрос, то ставь Debian Wheezy без графического окружения. Накатывай на него Samba и разруливай правами.
    Ответ написан
  • Зависает на загрузке после «crond» CentOS 6.3

    Загрузись в интерактивном режиме (во время загрузки каждой службы будет задаваться вопрос грузить ее или нет).
    Для входа в интерактивный режим нужно нажать клавишу "I" на моменте загрузки. Возможно в CentOS это не работает, тогда передай grub-у параметр "confirm".
    После загрузки системы найди и устрани причину зависания crond
    Ответ написан
    1 комментарий
  • Настройка двух доменов на одном сервере?

    Debian 7, nginx
    Пример конфигурации nginx на два сервера:
    server {
            listen       80;
            server_name  pma.example.com;
            root /var/www/phpmyadmin/;
    
            error_log       /var/log/nginx/pma-err.log;
    
            location / {
                    index index.php index.html;
            }
    
            location ~ \.php$ {
                    fastcgi_pass unix:/var/run/php-fpm-www.socket;
                    fastcgi_index index.php;
                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                    include fastcgi_params;
            }
    }
    
    server {
            listen       80;
            server_name site.example.ru;
            error_log   /var/log/nginx/site.example.ru-err.log;
    
            auth_basic           "Frontend Security";
            auth_basic_user_file        ht/stie.example.ru.conf;
    
    
           location / {
                    uwsgi_pass 127.0.0.1:49001;
                    include uwsgi_params;
           }
    
            location /media/ {
                    alias /var/www/django/code/site/media/;
                    expires 30d;
            }
    
            location /s/ {
                    alias /var/www/django/code/site/allstatic/;
                    expires 30d;
            }
    }
    Ответ написан
    3 комментария
  • Почему сервер не отвечает ACK на запросы к HTTP серверу при больших нагрузках?

    Посмтори в сторону параметров
    net.ipv4.tcp_slow_start_after_idle=0
    net.ipv4.netfilter.ip_conntrack_max=524288
    net.netfilter.nf_conntrack_tcp_timeout_established=600
    net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 1

    net.ipv4.tcp_slow_start_after_idle
    net.ipv4.netfilter.ip_conntrack_max
    net.netfilter.nf_conntrack_tcp_timeout_established - TCP сессии не держать 5 дней (432000 по умолчанию)
    Ответ написан
    Комментировать
  • Как грамотно настроить автоматические обновления на боевом Ubuntu Server?

    1. По опыту скажу что на production-серверах обновление лучше делать вручную, если нету зеркального сервера для тестов. Периодичность обновления советую раз в 15-20 дней. Разумеется, в случае экстренных проблем с безопасностью типа heartbleed, как ты упомянул, обновлять надо сразу, при выпуске заплаток.
    2. Если не осиливаешь пока chef и puppet почитай про Ansible. У него порог вхождения существенно ниже чем у вышеупомянутых и поддерживать его в дальнейшем намного проще, а по функционалу, если честно, он не уступает.
    3. Общие советы.
    1. Отключи не используемые службы (rpcbind, nfscommon) к примеру
    2. Заблокируй не используемых пользователей, проверь не имеют ли системные пользователи паролей (в /etc/shadow наличие хеша во втором поле, если имеют а доступ им не нужен ставь '!')
    3. Желательно включить ssh авторизацию только по ключам, включить опцию AllowUsers со списком пользователей которым авторизироваться разрешено. Отключить авторизацию по ssh root и создать системного пользователя с оболочкой sh, без всяких привилегий. Его занести в AllowUsers, при логине выполнять /bin/su - с полным путем.
    4. По возможности все используемые службы контролировать TCP Wrappers (/etc/hosts.{allow,deny})
    5. Установить библиотеку snoopy (snoopy logger) - очень подробное логирование запускаемых процессов.
    6. Соответственно настроить rsyslog/syslog-ng и перенаправлять логи желательно на сторонний сервер. Для логов есть различные веб-морды с различными отчетами и сортировками.
    7. Для контроля версий конфигурационных файлов советую использовать git в /etc либо выносить под различные службы в отдельные репозитарии и, конечно, настроить правильно .gitignore. Тут же присмотрись к подсистеме событий файловой системе inotify и отличному демону incron. Он пригодиться может не только в этом пункте, с ним можно много интересных вещей контролировать.
    8. По возможности настраивай все службы и сервисы в chroot окружении.
    9. Iptables. Можно на нем, а можно к примеру на ipset настраивать правила. Тут все просто. Лучше сначала создай скрипт на тестовой машине. Политики по умолчанию - deny all, а дальше разрешаешь что нужно. Конкретно что то посоветовать не имеет смысла если ты как обезьянка начнешь копировать без понимания. Есть отличная литература по iptables. А дальше ищи в интернете iptables tips, примеры настройки iptables и вникай что там делают и для чего. Но не перемудри. Понимай что пакеты пробегают по всем цепочкам правил. Это нагрузно. Задумайся об использовании ipset.
      Всякие fail2ban-ы советовать не буду. Слишком спорно и не нужно если ты правильно отстроишь любой сервис работающий поверх netfilter. Так же многие хостинги из коробки имеют защиту от DDOS и брута на уровне своего железа типа ASA-к и тд.
      Периодически делай срезы tcpdump-ом (особенно в подозрительных ситуациях) и анализируй wireshark-ом.
    10. Постоянные бэкапы, хоть rsync, fsbackup, unison, bacula и тд - выбор большой


    Вообще это далеко не все, но "настроить и забыть" на production-сервере плохая идея.
    Подключай мониторинг.

    Для этого могу посоветовать 4 системы (это лично мои приоритеты, но их оочень много).
    Zabbix, Nagios, Sensu, Cacti

    Хорошим вариантом будет установка zabbix_agent-а не сервер и удаленный мониторинг с другого сервера. Настроишь свои скрипты + анализ логов syslog и вот уже залог достаточно устойчивой и на мой взгляд хорошо защищенной системы.
    Ответ написан
    6 комментариев
  • Межсетевой экран (десктопный, серверный)

    2. netfilter со всеми вытекающими (iptables, ipset, nftables и тд)
    3. Online Armor, Commodo, Outpost Firewall etc..
    Вики (список внизу страницы) и гугл в помощь
    Ответ написан
    Комментировать