Сайт не существует ошибка для a2ensite
Я cmsplus.dev
под /etc/apache2/sites-available
на следующий код
<VirtualHost *:80>
ServerAdmin master@server.com
ServerName www.cmsplus.dev
ServerAlias cmsplus.dev
DocumentRoot /var/www/cmsplus.dev/public
LogLevel warn
ErrorLog /var/www/cmsplus.dev/log/error.log
CustomLog /var/www/cmsplus.dev/log/access.log combined
</VirtualHost>
теперь, когда я использую sudo /usr/sbin/a2ensite cmsplus.dev
, Я получаю ошибку
ERROR: Site cmsplus.dev does not exist!
сервер Apache/2.4.6 (Ubuntu)
как решить эту проблему?
9 ответов:
решил проблему, добавив
.conf
расширение для файлов конфигурации сайта.Apache
a2ensite
результаты:ошибка! Сайт Не Существует
проблема; если вы нашли ошибку при попытке включить сайт с помощью:
sudo a2ensite mysite.com
но он возвращает:
ошибка: mysite.com не существует
a2ensite
это просто скрипт perl, который работает только с именами файлов, заканчивающимися.conf
поэтому я должен переименовать свой файл настроек для
mysite.com
доmysite.com.conf
как может быть достигнуто следующим образом:mv /etc/apache2/sites-available/mysite.com /etc/apache2/sites-available/mysite.com.conf
успехов
вероятно, вы обновили свою установку Ubuntu, и одно из обновлений включало обновление Apache до версии 2.4.x
В Apache 2.4.x файлы конфигурации vhost, расположенные в каталоге/etc/apache2 / sites-available, должны иметь следующее значение .расширение конф.
используя терминал (команда mv), переименуйте все существующие файлы конфигурации и добавьте .расширение conf для всех из них.
mv /etc/apache2/sites-available/cmsplus.dev /etc/apache2/sites-available/cmsplus.dev.conf
Если вы получаете сообщение об ошибке "отказано в разрешении", добавьте " sudo " перед вашими терминальными командами.
вам не нужно вносить никаких других изменений в файлы конфигурации.
включить vhost (s):
a2ensite cmsplus.dev.conf
а затем перезагрузить Apache:
service apache2 reload
ваши сайты должны быть запущены сейчас.
обновление: как уже упоминалось здесь, дистрибутив Linux, который вы установили, изменил конфигурацию, чтобы включить *.только конф. Поэтому он не имеет ничего общего с Apache 2.2 или 2.4
есть еще один хороший способ, просто отредактируйте файл
apache2.conf
есть строка в концеIncludeOptional sites-enabled/*.conf
просто удалить
.conf
в конце, вот такIncludeOptional sites-enabled/*
и перезапустить сервер.
(Я пробовал это только в Ubuntu 13.10, когда я обновил его.)
у меня просто была такая же проблема. Я бы сказал, что это не имеет никакого отношения к апачам.конф.
a2ensite должно быть изменено-строка 532-это строка, которая обеспечивает выполнение .суффикс конф:
else { $dir = 'sites'; $sffx = '.conf'; $reload = 'reload'; }
Если вы измените его на:
else { $dir = 'sites'; #$sffx = '.conf'; $sffx = ''; $reload = 'reload'; }
...он будет работать без суффикса.
конечно, вы не хотели бы изменить сценарий a2ensite, но изменение суффикса файла conf является правильным способом.
это, вероятно, просто способ принуждения ".конф"-суффикс.
Так .. самый быстрый способ-переименовать имена конфигурации сайта, заканчивающиеся на ".conf"
mv /etc/apache2/sites-available/mysite /etc/apache2/sites-available/mysite.conf a2ensite mysite.conf
другие примечания к предыдущим комментариям:
IncludeOptional не был представлен до apache 2.36-внесение изменений выше с последующим перезапуском на 2.2 оставит ваш сервер вниз!
кроме того, версия 2.2 a2ensite не может быть взломан, как описано
а также, так как ваш сайт-доступный файл на самом деле является конфигурацией файл, он должен быть назван так в любом случае..
В общем не перезапуск служб (веб-серверы-это один тип службы):
- люди не могут найти их, если они не работают! Думаю, linux не MS Windows..
серверы могут работать в течение многих лет - live update, reload config и т. д.
облако не означает, что вам нужно перезапустить, чтобы загрузить файл конфигурации.
при изменении конфигурация службы использует "перезагрузку", а не"перезапуск".
перезагрузка останавливает службу, а затем запускает службу - если есть какие-либо проблемы в изменении конфигурации, служба не будет перезагрузка.
перезагрузка даст ошибку, но служба никогда не выключается, давая вам возможность исправить ошибку конфигурации, которая может быть только плохой синтаксис.
debian или ubunto [service-name for this thread is apache2]
service {service-name} {start} {stop} {reload} ..
другие ОС оставлены в качестве выдержки для читателя.
в моем случае с Ubuntu 14.04.3 и Apache 2.4.7 проблема заключалась в том, что я скопировал site1.conf, чтобы сделать site2.conf доступен, и путем копирования, что-то случилось, и я не мог a2ensite site2.conf с ошибкой, описанной в потоке.
решение для меня, было переименовать site2.conf для site2, а затем снова переименовать site2 в site2.конф. После этого я смог a2ensite site2.конф.
Я только что обновил версию сервера Ubuntu с 12.04 LTS до 14.04 LTS.
действительно, как сказано выше,.расширением conf для Apache 2.4.x необходим для веб-сайтов vhost файлы, которые находятся на сайтах-доступный каталог.
прежде чем читать этот вопрос, я не имел понятия, что происходит с сервером.
очень хорошее решение.
просто подводя итог я сделал следующие шаги на терминале:
1) доступ к сайтам-включен папка
$ cd /etc/apache2/sites-enabled
2), потому что команда a2dissite не будет работать с устаревшими файлами (без .conf) удалите старые файлы веб-сайта, которые были опубликованы
$ sudo rm <my-old-website-without-.conf>
3) переименовать веб-сайт vhost файлы, изменив его расширение добавления .конф до конца
$ sudo mv /etc/apache2/sites-available/mywebsite /etc/apache2/sites-available/mywebsite.conf
4) повторно опубликовать новый и правильный файл vhost
$ sudo a2ensite mywebsite.conf
5) проверяем сайт в браузере и получайте удовольствие! :)
попробуйте вот так..
NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin master@server.com ServerName www.cmsplus.dev ServerAlias cmsplus.dev DocumentRoot /var/www/cmsplus.dev/public LogLevel warn ErrorLog /var/www/cmsplus.dev/log/error.log CustomLog /var/www/cmsplus.dev/log/access.log combined </VirtualHost>
и добавить запись в /etc/hosts на
127.0.0.1 www.cmsplus.dev
перезапустить apache..