>Хочу настроить хостинг-сервер WWW+PHP+MySQL+Mail+FTP. Настройку NS сервера я в данном контексте не
>рассматриваю.
>
>По отдельности я с каждым сервисом разобрался, понял что нужно юзать виртуальных
>юзеров для каждого сервиса помещённых в MySQL базу, с мейлами практически
>полностью разобрался.
>выбрал следующий софт для использования (с комментариями почему):
>
>OS: Linux Gentoo 2007 - Секурный, надёжный, быстрый, обновляется быстро, много доков Я предпочел CentOS. Т.к. то что получаешь используя CentOS, по большому счету - бесплатный RHEL.
>[оверквотинг удален]
>MySQL: 5.0.x - Тоже самое
>Mail: Qmail 1.0.x - Один из самых секурных мейл серверов с множеством
>возможностей
>FTP: vsftp 2.0.x - Выбрал за секурность, хоть и в ущерб функциональности
>(например по отношению к proftpd которым раньше пользовался)
>(Дискусия о выбраном софте так же приветствуется :) )
>
>Но есть ряд вещей которые я просто не знаю как сделать, а
>именно:
>1. Можно ли конфигурацию vhost для апача перенести в базу? Где копать?
Не встречал таких патчей. Да и зачем Вам это?
Чем больше вы связываете софт между собой тем меньше отказоустойчивость. Упади у Вас MySQL Апач упадет вместе с ним.
>2. ФТП и Апач работают под разными юзерами, а значит то, что
>юзер зальёт через ФТП будет недоступно апачу, т.к. он не является
>овнером этих файлов. Давать апачу права ФТП ИМХО не секурно. Как
>решить эту дилему?
Двумя способами:
1. Apache 1.3.x. Т.к. он поддерживает директивы User и Group в VirtualHost'ах(т.е. Вы сможете запускать каждый отдельный vhost под своим юзером)
2. Вся динамика (Perl/PHP) должна быть запущена в режиме CGI/FCGI с SuExec'ом. В случае с выбором PHP в режиме CGI || FCGI, вы выбираете между:
2.1. CGI: надежно, проверено, жертвуя скоростью
2.2. FCGI: за...тесь править конфиги и API для fastcgi в php, но получите приблизительный аналог mod_php
Главное не забудьте о том, что такие вещи как SSI в Apache желательно отключать, раз VirtualHost'ы работают под юзером Apache. От <--exec="" --> никто не застрахован...
>3. Более спецефический вопрос: Можно ли для vsftpd создать 2 юзеров с
>одним корневым каталогом? Я настроил виртуальных юзеров через PAM где использовал
>модуль pam_mysql, но там нет возможности указать корень юзера. В Proftpd
>это можно было указать прямо в конфиге proftpd.conf
Если одному пользователю соответствует один пользователь системы, то зачем делать дополнительные надстройки в виде pam_mysql? По-дефолту он использует home directory пользователя system'ы.
>4. И последний вопрос как ограничить нагрузку на процессор которую создаёт PHP
>скрипт (допустим выделить ему 1-10%)?
ulimits ? В процентах не скажу, но:
В файл /etc/security/limits.conf
@hostingclients hard cpu 10
Ограничит использования CPU для процесса до 10 минут CPU-time'а.
>Буду очень благодарен за ответы, не жду готовых конфигов (хотя примеры было
>бы тоже неплохо посмотреть), т.к. понимаю что у каждой задачи своя
>специфика, но хоть укажите где копать и что читать. После окончания
>работы планирую написать статью о том как создать защищённый виртуальных хостинг
>с нуля.
Мой совет - возьмите сервер с контрольной панелью Plesk. И переделайте его под то, что Вам нужно. Plesk поддерживает event'ы по которым Вы будете переписывать конфиги при создании нового домена, к тому же Вам не нужно будет писать свою контрольную панель с нуля. Такую схему мы использую на своем хостинге.
Если нужно подсказать по чему-то конкретному - буду рад помочь.