Я бы рекомендовал создать подкаталог в каталоге 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
.
О, и сделайте мне одолжение, а не просто копируйте ввод пользователя в файл конфигурации - это отличный способ взломать ваш сервер. Сначала проверьте это, и, если это законно, отмените его. (Я бы также рекомендовал предоставить пользователю fakedaemonuser
доступ только для записи conf/user-domains
и запустить задание cron от имени этого пользователя.)
РЕДАКТИРОВАТЬ: Забыл сказать вам, вам нужно добавить директиву в основной файл конфигурации apache (обычно http.conf
):
Include conf/user-domains/*.conf
Конечно, это предполагает, что все файлы, которые вы создаете в conf/user-domain/
, заканчиваются на .conf
.