У меня есть сервер разработки gitolite, и я пытаюсь автоматизировать создание новых виртуальных хостов.
Я решил, что вместо того, чтобы пытаться заставить пользователя gitolite (не root) создавать новые файлы конфигурации в / etc / apache2 / sites-available, я бы сделал символическую ссылку на каталог / home / gitolite / sites-available.
Я могу запустить это:
sudo ln -s /home/gitolite/sites-available/* /etc/apache2/sites-available/
а затем я могу видеть сайты в каталоге с символическими ссылками
default symlinkedsite.com nonsymlnkedsite.com
Но мне могло показаться, что мне нужно будет повторно запустить эту команду, если я создам новый файл, поэтому он не выполняет то, что мне нужно.
Я изначально пробовал это
sudo ln -s /home/gitolite/sites-available /etc/apache2/sites-available/
который создает символическую ссылку сайты-доступные каталог в / etc / sites-available
Но если я запустил a2ensite, он не сможет перейти по этой символической ссылке.
Я знаю, что для того, чтобы виртуальный хост apache2 мог использовать символические ссылки, необходимо включить следующие символические ссылки. Есть ли аналогичный вариант для каталога конфигурации apache2 sites-available?
Я просмотрел apache2.conf, но не увидел ничего очевидного.
Вы должны добавить строку include в свой основной httpd.conf (или apache2.conf)
Вероятно, в вашей конфигурации уже есть что-то похожее:
# Include of directories ignores editors' and dpkg's backup files,
# see README.Debian for details.
# Include generic snippets of statements
Include /etc/apache2/conf.d/
# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/
вы хотите добавить:
# Include gitolite files
Include /home/gitolite/sites-available/
Это скажет httpd включить файлы .conf в этот каталог, конечно, вам также придется предоставить пользователю apache разрешения на чтение в эту папку.
Что ж, я немного перебрал его, полностью заменив исходный каталог с доступными сайтами символической ссылкой на тот, который мне нужен.
@Zypher - я думаю, мне нужен a2ensite, не так ли? Чтобы вручную создать символическую ссылку на сайты с поддержкой, мне нужно было бы дать gitolite какие-то привилегии, вместо этого я просто добавил / usr / sbin / a2ensite в visudo