Назад | Перейти на главную страницу

Почему a2ensite выдает ошибку «сайт не существует»

Сначала я думал, что у меня такая проблема:

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 каталог.