Сайт не существует ошибка для 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-enabled2), потому что команда a2dissite не будет работать с устаревшими файлами (без .conf) удалите старые файлы веб-сайта, которые были опубликованы
$ sudo rm <my-old-website-without-.conf>3) переименовать веб-сайт vhost файлы, изменив его расширение добавления .конф до конца
$ sudo mv /etc/apache2/sites-available/mywebsite /etc/apache2/sites-available/mywebsite.conf4) повторно опубликовать новый и правильный файл vhost
$ sudo a2ensite mywebsite.conf5) проверяем сайт в браузере и получайте удовольствие! :)
попробуйте вот так..
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..