Как в Apache организовать динамические виртуальные хосты отдельно для каждого пользователя?
В апаче я использую mod_vhost_alias для динамической генерации виртуальных хостов: VirtualDocumentRoot /var/www/%0
Просто создаю в /var/www папку для каждого сайта с названием его домена. И все замечательно работает.
Но мне бы хотелось сделать что-то типа: VirtualDocumentRoot /home/%USERNAME%/www/%0
Чтобы у каждого юзера в домашней папке была папка www которую апач будет так же обрабатывать как в первом случае.
Такое возможно? Если да, то как? И что делать, если разные юзеры создадут папки с одинаковыми названиями; как апач поведет себя в таком случае и как это обойти?
Нет, тогда для каждого сайта нужно будет создавать пользователя (%0 - это все имя хоста из запроса). Суть именно в том, чтобы было что-то типа:
home
-user1
--www
---site1.org
---ftp.site1.org
---boroda.com
-user_vova
--www
---site-vovi.ru
---test.site-vovi.ru
Динамика - естесственно требуется перечитать конфиг для запуска в данном случае.
# HTTP
# jail способ, для каждого профиля запускается отдельный экземпляр апача.
apache22_enable="YES"
# "x" имя профиля
apache22_profiles="x"
# "_х_" профиль и путь к конфигу
apache22_x_configfile="/apache22/httpd.conf"
Не совсем понял, что вы имеете ввиду. Вы хотите сказать, что для каждого нового пользователя все равно придется править конфиг апача, добавляя туда новый профиль с его конфигом? А как тогда апач (два апача?) себя поведет, если два разных юзера создадут папки для своего сайта с одинаковым именем?
>А как тогда апач (два апача?) себя поведет, если два разных юзера создадут папки для своего сайта с одинаковым именем?
Так же как и два пользователя в системе, получат доступ к хоум папке только своей, а за ее пределы не сильно то и разгонишься, хоть десять одинаковых папок и сайтов, процессы будут жить отдельно, каждый со своим конфигом.