Сайт не существует ошибка для 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 237

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} ..

другие ОС оставлены в качестве выдержки для читателя.

работала после того, как я добавил .conf в конфигурационный файл

в моем случае с 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..