Сначала я думал, что у меня такая проблема:
https://stackoverflow.com/questions/28572629/a2ensite-site-does-not-exist-error-even-with-conf-file
Но это мне не помогло.
Я здесь:
/etc/apache2/sites-enabled
Я знаю путь к a2ensite:
which a2ensite
/usr/sbin/a2ensite
И я протестировал файлы конфигурации следующим образом:
apachectl configtest
Я получил:
Syntax OK
У меня есть этот файл:
ralph.stagingv2.example.conf
который начинается с:
ServerName ralph.stagingv2.example.com
DocumentRoot "/home/ralph/example/current/web"
DirectoryIndex index.php
Я создал DocumentRoot с помощью:
mkdir -p /home/ralph/example/current/web
И я изменил разрешения для пользователя, которого мы используем на AWS:
chown -R ubuntu /home/ralph/
chgrp -R www-data /home/ralph/
но когда я сделаю:
a2ensite ralph.stagingv2.example
Я получил:
ERROR: Site ralph.stagingv2.example does not exist!
Что я пропустил?
a2ensite
это скрипт, который создает символическую ссылку в /etc/apache2/sites-enabled
указывая на файл .conf в /etc/apache2/sites-available
.
Для работы ваш .conf файл должен находиться в каталоге "sites-available", т.е.
/etc/apache2/sites-available/ralph.stagingv2.example.conf
Вы НЕ должны фактически "помещать" ЛЮБОЙ файл конфигурации в /etc/apache2/sites-enabled
каталог.