Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #68, ИЮЛЬ 2006 г.

царь-хостинг

_MIF_ (ROOT@SECURITYLAB.CO.IL)

Спецвыпуск: Хакер, номер #068, стр. 068-044-8


О значении my-medium.cnf и my-small.cnf, думаю, догадаться не сложно :). В целом, конфиг my-large.cnf нам подойдет. Оптимизировать MySQL в конфиге имеет смысл только в том случае, когда ты точно знаешь, какие запросы составляют большинство нагрузки. Так как на хостинге сайты будут разные, и работать их движки с БД будут по-разному – оставим пока дефолтные настройки. Потом, исходя из специфики сайтов, некоторые параметры можно будет подкрутить.

[phpMyAdmin.]

Однако управлять MySQL из консоли очень и очень неудобно. Поставим phpMyAdmin: скачаем его с сайта (или возьми свежий дистриб на диске с журнала), и – в бой:

# tar zxvf phpMyAdmin-2.8.1.tar.gz

# mkdir /usr/home/hosting.ru/web/pmadmin

# cp -rf phpMyAdmin-2.8.1/* /usr/home/hosting.ru/web/pmadmin

# chown –R hosting.ru:hosting.ru /usr/home/hosting.ru/web/pmadmin

# cd /usr/home/hosting.ru/web/pmadmin

Открываем файл config.inc.php и меняем там:

$cfg['Servers'][$i]['auth_type'] = 'config';

на

$cfg['Servers'][$i]['auth_type'] = 'http';

Идем на http://hosting.ru/pmadmin/, вводим свой логин и пароль к SQL и наслаждаемся :).

[FTP.]

Для FTP-сервиса, как ты помнишь, мы выбрали pure-ftpd. Собираем порт:

# cd /usr/ports/ftp/pure-ftpd

# make install clean

В менюшке опций сборки поставь галочки на:

MySQL – авторизация юзеров через БД;

PRIVSEP – разделение юзерских привилегий;

PERUSERLIMIT – ограничение потоков для каждого юзера;

THROTTLING – ограничение канала для каждого юзера;

BANNER – не обязательно :).

После сборки порта в /usr/local/etc появятся дефолтные конфиги фтп-сервера. Создаем отдельную диру, переносим туда нужные конфиги, выставляем чмоды и удаляем ненужное:

# cd /usr/local/etc

# mkdir ftp

# mv pure-ftpd.conf.sample ftp/

# mv pureftpd-mysql.conf.sample ftp/

# chown –R root:wheel ftp/ && chmod –R 0600 ftp/

# rm pure*

Заходим в папку с конфигами, переименовываем их, оставляя бэкапы:

# cd ftp/

# cp pure-ftpd.conf.sample pure-ftpd.conf

# cp pureftpd-mysql.conf.sample pureftpd-mysql.conf

Теперь необходимо настроить наш фтп-сервер. Открываем pure-ftpd.conf:

Листинг файла pure-ftpd.conf

# Создавать виртуальный chroot для каждого пользователя

# Папка /home/<юзер> будет выглядеть как рутовая

ChrootEveryone yes

# Включить поддержку кривых фтп-клиентов

# Не рекомендуется выставлять в yes из соображений безопасности

BrokenClientsCompatibility no

# Сколько юзеров может одновременно подключаться

MaxClientsNumber 30

# Сколько юзеров может одновременно подключаться с одного IP

MaxClientsPerIP 3

# Подробный лог

VerboseLog yes

# Вход только авторизированым пользователям

NoAnonymous yes

# Не резольвить IP адреса

DontResolve yes

# Конфиг сервера для MySQL

MySQLConfigFile /usr/local/etc/ftp/pureftpd-mysql.conf

# Выключаем PAM и стандартную авторизацию

PAMAuthentication no

UnixAuthentication no

# Диапазон портов для passive mode

PassivePortRange 30000 50000

# Минимальный User ID, который может залогиниться

MinUID 1002

# Запрещаем/разрешаем FXP (по вкусу)

AllowUserFXP no

# Не создавать папку юзеру, если не существует

Назад на стр. 068-044-7  Содержание  Вперед на стр. 068-044-9