Подтвердить что ты не робот

Как исправить ERROR: Site domain.com не существует, добавляя поддомен к apache2?

Я пытаюсь добавить поддомены на мой домашний сервер.

svn.domain.com trac.domain.com

Из-за динамического IP я использую службу dyndns, кроме того, у меня есть domain.com, размещенный где-то в другом месте. Я создал CNAME для субдоменов на удаленном хосте, чтобы указать на мой домен user.dyndns.org.

Итак, теперь, когда я нахожусь в любом из поддоменов: trac или svn, я вижу: "Это работает!" сообщение.

Это сделано, я создал два файла виртуального хоста в /etc/apache 2/sites-enabled

file1: svn.domain.com и file2: trac.domain.com

Содержание:

<VirtualHost *:80>

  ServerName trac.domain.com

   DocumentRoot = /var/www/trac/repos

   <Directory /var/www/trac/repos>
    Order allow,deny
    allow from all
   </Directory>

</VirtualHost>

и

<VirtualHost *:80>

  ServerName svn.domain.com

   DocumentRoot = /var/svn/repos

   <Directory /var/svn/repos>
    Order allow,deny
    allow from all
   </Directory>

</VirtualHost>

Но я получаю ошибку: ОШИБКА: Сайт trac.domain.com не существует!

что я делаю неправильно?

4b9b3361

Ответ 1

Попробуйте переместить файлы в /sites -available. Затем запустите a2ensite svn.domain.com и a2ensite trac.domain.com и перезагрузите Apache.

Ответ 2

У меня возникла эта проблема при обновлении с Apache 2.2 до Apache 2.4. (Смешное) решение состояло в том, чтобы гарантировать, что все файлы заканчиваются на .conf, или a2ensite будет ERROR: Site example does not exist!.

Кроме того, когда они связаны вручную в sites-enabled, они даже не будут загружаться без расширения .conf.

Ответ 3

Я также сталкивался с той же проблемой, когда обновлялся с Apache 2.2 до 2.4; все мои виртуальные хосты внезапно сломались и, пытаясь найти, почему это так, я наткнулся на этот вопрос.

Оказывается, причина кроется в различии между моим старым apache2.conf и новым apache2.conf. В моем старом файле Apache 2.2 conf была строка

Include sites-enabled/

тогда как мой новый файл conf Apache 2.4 имел строку

IncludeOptional sites-enabled/*.conf

Lo и вот, когда я изменил строку на

IncludeOptional sites-enabled/

все прошло нормально.

Ответ 4

a2ensite ТОЛЬКО принимает файлы .conf, поэтому скопируйте все сайты на сайтах, которые доступны, чтобы иметь расширение .conf(переименование не работает itconfused linkssomehow), стереть исходные файлы с доступных сайтов и сайтов. используйте a2ensite для новых файлов (вам не нужно добавлять .conf), и все это работает, без нашего *.conf в /etc/apache 2/apach2.conf

Должна быть некоторая "память" исходного файла, даже если она переименована, также переименовывается символическая ссылка, но стираются и разрешаются "новые".con файлы, и вы можете использовать a2dissite и a2ensite, как раньше

Ответ 5

если вы наберете a2ensite. он подскажет. Какие сайты вы хотите включить (т.е. После размещения файла .conf на доступных сайтах и ​​связывания его с сайтами.

a2ensite ожидает полное имя файла conf с расширением .conf

Ответ 6

1) удалите все сайты по умолчанию внутри сайтов-enable

a2dissite <site-configuration-file-name>

2) закройте закрытый файл конфигурации: начните с минимальных свойств, таких как:

<VirtualHost [Domain]:80>
ServerAdmin [email protected]
ServerName [Domain]
DocumentRoot [webAppPath]

<Directory [webAppPath]>
    AllowOverride All
     Order allow,deny
     Allow from all
     Require all granted
</Directory>


ErrorLog ${APACHE_LOG_DIR}/my_domain_name_error.log

CustomLog ${APACHE_LOG_DIR}/my_domain_name_access.log combined
</VirtualHost>

Ответ 7

Мое решение для локального имени сервера заменяет:

sudo a2ensite serverName

с

sudo a2ensite serverName.conf