В конце прошлого года я опубликовал вопрос в стеке , чтобы помочь запустить мой псевдоним каталога. Я эффективно пытался реплицировать производственную среду на своем локальном компьютере, используя 1 домашний сайт для каждого клиента с различными настройками проектов на каждом сайте, доступ к которым осуществлялся через псевдоним каталога, который я бы жестко запрограммировал в следующих файлах conf:
vagrant@homestead:$ ls -la /etc/apache2/sites-enabled
total 20
drwxr-xr-x 2 root root 4096 Sep 28 03:30 .
drwxr-xr-x 8 root root 4096 Sep 28 03:14 ..
lrwxrwxrwx 1 root root 59 Sep 28 03:14 homestead.client1.com.conf -> /etc/apache2/sites-available/homestead.client1.com.conf
lrwxrwxrwx 1 root root 63 Sep 28 03:14 homestead.client1.com-ssl.conf -> /etc/apache2/sites-available/homestead.client1.com-ssl.conf
lrwxrwxrwx 1 root root 54 Sep 28 03:14 homestead.client2.co.uk.conf -> /etc/apache2/sites-available/homestead.client2.co.uk.conf
lrwxrwxrwx 1 root root 58 Sep 28 03:14 homestead.client2.co.uk-ssl.conf -> /etc/apache2/sites-available/homestead.client2.co.uk-ssl.conf
lrwxrwxrwx 1 root root 63 Sep 28 03:14 homestead.client3.com.conf -> /etc/apache2/sites-available/homestead.client3.com.conf
lrwxrwxrwx 1 root root 67 Sep 28 03:14 homestead.client3.com-ssl.conf -> /etc/apache2/sites-available/homestead.client3.com-ssl.conf
пример жестко закодированного псевдонима каталога в /etc/apache2/sites-enabled/homestead.client1.com-ssl.conf
:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName homestead.client1.com
ServerAlias www.homestead.client1.com
DocumentRoot /srv/www/vhosts/homestead.client1.com/public
<Directory /srv/www/vhosts/homestead.client1.com/public>
AllowOverride All
Require all granted
</Directory>
Alias /project-one /srv/www/vhosts/homestead.client1.com/project-one/public
<Directory "/srv/www/vhosts/homestead.client1.com/project-one/public">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
// more code below in the conf file
С тех пор я столкнулся с неприятной проблемой. Каждый раз, когда приходит новый клиент, мне нужно создать новый сайт на ферме. Это означает, что нужно снова запустить vagrant --provision
, в свою очередь стирая все псевдонимы каталогов, которые я создал в каждом из файлов conf. В конечном счете мне пришлось вести запись в другом месте каждого нового псевдонима каталога, а затем (когда требуется новый сайт, добавлен, и я запустил vagrant --provision
) go обратно в каждый файл конфигурации, чтобы вставить их все снова - далеко от идеала!
Итак, вопрос снова заключается в том, как я могу создать apache псевдоним каталога для каждого приусадебного участка без жесткого кодирования их в файлах conf? Может быть через homestead.yaml
или Vagrantfile
?