У многих владельцев выделенных серверов частенько возникает необходимость в визуальном контроле прокачки данных через сетевой интерфейс. На мой взгляд, наиболее простым средством контроля трафика (и не только) является пакет iptraf. Установка программы чрезвычайно проста: заходим с помощью любимого ssh клиента на сервер и набираем команду:
yum install iptraf
Все. Программа установлена :-).
Как известно, в любом современном дистрибутиве linux присутствует такое мощное средство как фильтр пакетов netfilter. Что это такое?. Смысл прост. Каждый ip пакет проходит через цепочку правил. Там с этими пакетами в зависимости от правил могут происходить разные интересные вещи. Они могут отбрасываться, приниматься, модифицироваться и т.д. Для управления этим фильтром пакетов для версий ядра от 2.4 и выше существует утилита iptables. Про эту утилиту написана масса материалов, но в этой заметке мы рассмотрим настройку скрипта, который используя iptables, значительно упрощает настройку фаервола (на базе netfilter) для нашего выделенного сервера.
Я не знаю кому как, а лично мне очень не нравится когда мою болтовню по асе, мою почту, да и вообще весь мой трафик может перехватить мой провайдер и еще куча всяческих очень любопытных граждан :-). Кроме того, иногда просто необходимо иметь ip адрес не свой родной, а иностранный.
Выходом из такого положения может служить такая технология как Virtual Private Network. Реализаций под linux есть масса: это и Poptop и решения на базе IPsec и OpenVPN и многие другие.
Не буду обсуждать то или иное решение, скажу только, что я остановился на OpenVPN. Причин несколько:
Ни для кого не секрет, что в подавляющем большинстве случаев, на выделенном сервере вполне достаточно использования postfix вместо традиционного sendmail. Есть куча причин, по которым использование postfix предпочтительнее, хотя, по моему мнению, одними из самых больших его преимуществ являются простота конфигурирования и запуск его не от root, что очень положительно сказывается на безопасности сервера в целом.
Итак, вступительное слово сказано, приступим.
У одного из моих хороших клиентов возникла необходимость установки php5 на сервер Fedora Core 4 с установленной панелью Directadmin. Причем для работы одного из скриптов ему необходимо чтобы php был скомпилирован с поддержкой pcntl.
Казалось бы никаких проблем. У директадмина есть очень хороший форум. После недолгих поисков была найдена следующая ветка . Но еще нужно разрешить поддержку pcntl.
Про демон crond написан, наверное, уже не один десяток статей. То, что я не открою Америку написав на эту тему пару строк - это факт. Но, тем не менее, очень кратко пару строк.
Демон крон стартует при запуске операционной системы. проконтролировать запущен ли он можно набрав команду:
ps aux | grep crond
если в выводе команды ps мы увидим строку вида:
root 2213 0.0 0.0 4540 1128 ? Ss Jun20 0:00 crond
значит демон крон запущен.
Работает он до безобразия просто.
Есть такой файл /etc/crontab. В нем прописываются задания которые будут стартовать в определенное время.
Формат такой:
сначала указывается время:
минута час день месяца месяц день недели
0-59 0-23 1-31 1-12 0-7 (0 или 7 это Воскресенье)
затем - login пользователя от которого будет запускаться приложение
затем выполняемое задание причем обязательно с полным путем.
Например:
01 1 * * 0 root /home/backup/sql-back.sh > /dev/null 2>&1
В один час и одну минуту каждое воскресенье от имени пользователя root (и соответственно с его правами) запускается скрипт /home/backup/sql-back.sh (это самописаный бекап mysql)
Но это еще не совсем все.
В последних дистрибутивах так называемых RedHat based дистрибутивов установка связки apache+php+mysql не представляет особых проблем. Но, как всегда, иногда встречаются маленькие подводные камни, на которые частенько налетают начинающие админы, владельцы выделенных серверов, программисты.
Опишем этот процесс на примере Fedora Core 4.
Заходим на сервер под пользователем root и набираем следующие команды: