Как вы выполняете Vhosts через PHP? - PullRequest
0 голосов
/ 07 февраля 2012

Я создаю веб-сайт, где каждый из пользователей может указать запись A своего домена на моем сервере, и я предоставлю им их веб-страницу.Я знаю, как это сделать с помощью командной строки Linux, но я не уверен, как это сделать в скрипте.Я знаю, что mkdir(/*file location*/) выполняет команду mkdir.Я тоже знаю fopen.Мой метод http://www.rackspace.com/knowledge_center/index.php/Ubuntu_-_Apache_Virtual_Hosts.Я не совсем уверен, как создавать собственные vhosts и т. Д. С помощью сценария PHP.

Есть идеи, как это сделать?

1 Ответ

1 голос
/ 07 февраля 2012

Звучит так, как будто вы надеетесь изменить файлы конфигурации Apache, используя скрипт php.Это немного опасно, потому что вы всегда рискуете неправильно сконфигурировать ваши конфигурационные файлы Apache таким образом, чтобы предотвратить перезапуск Apache, но я предполагаю, что это очевидно для вас.

Я предлагаю вам использоватьдиректива include для каталога, в который вы будете добавлять и удалять отдельные файлы conf для каждого vhost.

Include conf/vhosts/*.conf

(пути в директиве include относятся к ServerRoot.) Таким образом, выможет держать вещи немного более организованными и уменьшить вероятность состояния гонки.

Также вам, вероятно, следует написать некоторый код в вашем скрипте, который проверяет вывод команды apachectl configtest :

$ /usr/sbin/apachectl -t
Syntax OK

, выполняющей ее через один из различных PHP shell / "Program" выполняет функции и, если возникает ошибка, верните только что измененный файл conf.

Если вам нравится fopen, используйте его, но многие находят *Функции 1020 *file_get_contents и file_put_contents облегчают работу.

Надеюсь, это поможет.

...