Я рекомендую создать подкаталог в каталоге apache conf
. Что-то вроде conf/user-domains
. Каждый файл в этом каталоге будет называться как домен пользователя, например userdomain.com
, и будет содержать директивы apache для этого поддомена. Нечто подобное (с верхней части моей головы):
<VirtualHost *:80>
ServerName userdomain.com
DocumentRoot "/path/to/userdomain.com/htmldocs/"
</VirtualHost>
Если у вас есть какой-то веб-интерфейс для пользователя, чтобы создать те домены, он будет хранить файл с его параметрами в некотором известном месте, например, $webtmp/userrequests/request-XXXYYZ
. Затем у вас будет cron-задание, которое сканирует это местоположение для новых запросов и создает соответствующие файлы в conf/user-domains
.
О, и сделайте мне одолжение, и не просто скопируйте ввод от пользователя в файл конфигурации - это отличный способ захватить ваш сервер. Сначала проверьте это и не используйте его, если это законно. (Я бы рекомендовал вам предоставить доступ только для записи к conf/user-domains
пользователю fakedaemonuser
и запустить cron-задание в качестве этого пользователя.)
EDIT: Забыл сообщить вам, вам нужно будет добавить директиву в главный конфигурационный файл сервера Apache (http.conf
обычно):
Include conf/user-domains/*.conf
конечно, это при условии, все файлы, вы создаете в conf/user-domain/
конце в .conf
.
Пожалуйста, добавьте дополнительную информацию в свой вопрос. Какой веб-сервер вы используете? Каковы требования? SSL? и т.п. –