Архив категории Администрирование

UPnP на Linux шлюзе

19 Декабрь 2011

Для того чтобы клиенты могли самостоятельно открывать нужные порты на шлюзе, был разработан набор протоколов Universal Plug and Play (UPnP). Самый частый способ использования — полноценная раздача торрентов за NATом.

Читать полностью »

Установка и практическое использование OpenVZ на Debian 6.0

14 Декабрь 2011

На очередных админских посиделках за кружечкой пивка зашел разговор о виртуализации в Linux на основе OpenVZ. Не раз слышал об OpenVZ,  даже примерно представлял как работает, но за всю мою практику ни разу не пришлось воспользоваться этой замечательной и полезной фичей,  соответственно оказался с ней не знаком. На следующий день решил срочно исправить ситуацию :) Почитав официальную документацию на openvz.org, пришел к выводу — проще и быть не может.  Пару часов свободного времени хватило полностью разобраться, наиграться виртуализацией и сделать для себя некоторые выводы и заметки, которые будут ниже :) Также вкратце опишу установку, настройку OpenVZ, создание виртуальных машин и установку отличной панели управления всем хозяйством в целом.

Читать полностью »

Алиас сетевого интерфейса на FreeBSD

7 Декабрь 2011

Для единоразового использования:

ifconfig em1 alias 1.2.3.4/24     # добавить
ifconfig em1 -alias 1.2.3.4/24   # убрать

Постоянно:

/etc/rc.conf
ifconfig_em1_alias0="inet 1.2.3.4 netmask 255.255.255.0"
ifconfig_em1_alias1="inet 1.2.3.5 netmask 255.255.255.0"

Отключение функций exec,passthru,shell_exec,system и пр. в PHP

4 Январь 2011

После установки apache peruser mpm-itk на сервер хостинга, безопасность возросла в разы. Однако, меня беспокоила возможность выполнять системные команды через php-скрипты, просматривать директории с помощью ls, видеть свои процессы (напомню: изначально на сервере в sysctl была включена опция, позволяющая пользователю просматривать ТОЛЬКО свои процессы). После прочтения документации к php.ini в интернетах, пришел к единому решению.

Читать полностью »

Как найти и убить зомби процесс

29 Ноябрь 2010

Зомби-процесс в unix-системах - дочерний процесс, завершивший своё выполнение, но ещё присутствующий в списке процессов операционной системы, чтобы дать родительскому процессу считать код завершения.

Читать полностью »

Установка ionCube Loader на FreeBSD

11 Сентябрь 2010

По просьбе клиентов установил на сервер хостинга ionCube Loader. Это PHP модуль необходимый для работы PHP-скриптов закодированных при помощи ionCube PHP Encoder. Аналогичен  Zend Optimizer’у.

Читать полностью »

Мониторим загрузку интернет-канала с помощью MRTG

4 Июнь 2010

Задался вопросом -  как видеть загрузку интернет-канала на сервере. Оказалось, с помощью демона SNMPD и MRTG все очень просто реализовывается.

Читать полностью »

Мониторим сервер с помощью phpSysInfo

1 Июнь 2010

Нашел в итернетах замечательную сборку php-скриптов для мониторинга состояния системы — phpSysInfo. Парсит информацию из /proc и выводит красивую веб-страничку с информацией о CPU, RAM, HDD, сети, аптайме и прочее прочее прочее..

Установка phpSysInfo очень проста. Качаем с офсайта, распаковываем в нужную директорию(у меня /var/www/html), переименовываем файл config.php.new в config.php и заходим браузером на сервер. Собсно все. Вот мой принт скрин:

IceCast: переполнение памяти

28 Май 2010

Я на своем хостинге предоставляю услугу трансляции Интернет-радио. Основа: сервер IceCast 2.3.2 под FreeBSD. Заметил за IceCast’oм одну неприятную вещь — долго работающий процесс айскаста начинает пожирать память в больших объемах. Причем забивая оперативную память, начинает кушать своп, пока оной не заканчивается. Тем более процессы айскаста у меня висят десятками(отдельный процесс на отдельный порт). Разработчики, вроде бы, обещают исправить пожирание памяти в версии 2.3.3, но на сайте пока доступен релиз 2.3.2 за 2008 год. В интернетах предлагают поставить icecast trunk из Subversion репозитория, где эту проблему уже пофиксили.

Снапшоты находятся здесь. Я качнул последний. Компиляция и установка стандартная:

# ./configure
# make
# make install

После инсталляции перезапустил все процессы айскаста и понаблюдал за ними. Вроде бы, проблема решилась. Кушает айскаст теперь не более 30 мб памяти на процесс.

Как проверить пустая директория или нет в shell скрипте

27 Май 2010

Писал скрипты автоматизации для сервера и долго страдал в раздумьях, как определить — пустая директория или нет. Стандартной команды для определения нет. В интернетах нашел самый простой способ:

#!/bin/bash
DIR="/path/to/directory"
if [[ -d "$DIR" && "$(ls -A $DIR)"  ]]
then
echo "Каталог присутствует и НЕ пустой"
else
echo "Каталог пустой или отсутствует"
fi

Добавил себе в заметки, думаю, еще не раз пригодится.