Андрей Шетухин
В предыдущей части была описана общая схема веб-хостинга, первоначальная
подготовка сервера к настройке, установка необходимого программного обеспечения
и его минимальная настройка. Сегодня мы рассмотрим создание системы домашних
каталогов пользователей, отделение пользователей друг от друга и от системы, а
также настройку производительности системы.
Общие концепции
Как уже упоминалось в первой части (см. №4 за 2007 год), мы разделяем типы
пользователей. То есть у нас есть отдельный пользователь c отдельным паролем
для доступа к СУБД, FTP и для работы в шелле по SSH.
Чтобы не возникало неразберихи, следует как-то
систематизировать все создаваемые сущности. Хорошим и проверенным методом
является следующий: все пользователи данной техплощадки имеют один и тот же
префикс в виде имени площадки. Пример: u00000, где u – сокращение от «user», а
00000 – порядковый номер площадки по базе данных.
Для площадки с номером 12345 у
нас будут следующие реквизиты:
n /home/www/u12345 – каталог с сайтами,
например /home/www/u12345/somesite.ru;
n u12345 – имя пользователя для работы по
SSH и FTP;
n u12345.ftp.ourhosting.ru – название
хоста для доступа на техплощадку по FTP;
n u12345.ssh.ourhosting.ru – название
хоста для доступа на техплощадку по SSH;
n u12345 – имя пользователя для работы c
базой данных;
n u12345 – собственно база данных;
n u12345.mysql.ourhosting.ru – имя хоста,
на котором расположена БД.
В случае, если пользователю понадобятся
дополнительные базы данных, их имена будут u12345_2, u12345_3, u12345_4 и т. д.
Разумеется, у хостинга должны быть настроены зоны
DNS так, чтобы при запросе имен хостов отдавались правильные IP-адреса.
Небольшое отступление. Очень плохая практика
называть пользователей значимыми именами, например «alex» или «somesite_ru»,
это очень неудобно с точки зрения организации биллинга, системы резервного
копирования и миграции данных между машинами, заставляет каждый раз придумывать
новые имена, а самое главное – при наличии достаточного количества клиентов
приводит к повторениям и дальнейшей путанице.