Ответ 1
Попробуйте переместить файлы в /sites -available. Затем запустите a2ensite svn.domain.com
и a2ensite trac.domain.com
и перезагрузите Apache.
Я пытаюсь добавить поддомены на мой домашний сервер.
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 не существует!
что я делаю неправильно?
Попробуйте переместить файлы в /sites -available. Затем запустите a2ensite svn.domain.com
и a2ensite trac.domain.com
и перезагрузите Apache.
У меня возникла эта проблема при обновлении с Apache 2.2 до Apache 2.4. (Смешное) решение состояло в том, чтобы гарантировать, что все файлы заканчиваются на .conf
, или a2ensite
будет ERROR: Site example does not exist!
.
Кроме того, когда они связаны вручную в sites-enabled
, они даже не будут загружаться без расширения .conf
.
Я также сталкивался с той же проблемой, когда обновлялся с 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/
все прошло нормально.
a2ensite ТОЛЬКО принимает файлы .conf, поэтому скопируйте все сайты на сайтах, которые доступны, чтобы иметь расширение .conf(переименование не работает itconfused linkssomehow), стереть исходные файлы с доступных сайтов и сайтов. используйте a2ensite для новых файлов (вам не нужно добавлять .conf), и все это работает, без нашего *.conf в /etc/apache 2/apach2.conf
Должна быть некоторая "память" исходного файла, даже если она переименована, также переименовывается символическая ссылка, но стираются и разрешаются "новые".con файлы, и вы можете использовать a2dissite и a2ensite, как раньше
если вы наберете a2ensite. он подскажет. Какие сайты вы хотите включить (т.е. После размещения файла .conf на доступных сайтах и связывания его с сайтами.
a2ensite ожидает полное имя файла conf с расширением .conf
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>
Мое решение для локального имени сервера заменяет:
sudo a2ensite serverName
с
sudo a2ensite serverName.conf