Сайт не существует ошибка для a2ensite

Я cmsplus.dev под /etc/apache2/sites-available на следующий код

<VirtualHost *:80>
    ServerAdmin [email protected]
    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 to 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, должны иметь .расширением conf.

используя terminal (команда mv), переименуйте все существующие файлы конфигурации и добавьте .расширение conf для всех из них.

mv /etc/apache2/sites-available/cmsplus.dev /etc/apache2/sites-available/cmsplus.dev.conf

Если вы получаете ошибку "отказано в разрешении", добавьте " sudo " перед вашими терминальными командами.

вам не нужно делать какие-либо другие изменения в файлах конфигурации.

включить vhost (ы):

a2ensite cmsplus.dev.conf

а затем перезагрузите Apache:

service apache2 reload

Теперь ваши сайты должны быть запущены.


обновление: как уже упоминалось здесь, дистрибутив Linux, который вы установили, изменил конфигурацию, чтобы включить *.только конф. Поэтому он не имеет ничего общего с Apache 2.2 или 2.4


есть еще один хороший способ, просто отредактируйте файл apache2.conf в конце есть строка

IncludeOptional сайты-включено/*.conf

просто удалить .conf в конце, вот так

IncludeOptional сайты-включено/*

и перезапустить сервер.

(Я пробовал это только в Ubuntu 13.10, когда я обновил его.)


у меня была та же проблема. Я бы сказал, что это не имеет ничего общего с Apache.conf.

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 и т. д.

облако не означает, что вы должны перезагрузить, чтобы загрузить файл конфигурации.

  • при изменении конфигурация службы использует "перезагрузку", а не"перезапуск".

  • restart останавливает службу, затем запускает службу - если есть какие-либо проблемы в изменении конфигурации, служба не будет перезагрузка.

  • перезагрузка даст ошибку, но служба никогда не выключается, давая вам возможность исправить ошибку конфигурации, которая может быть только плохим синтаксисом.

debian или ubunto [имя службы для этого потока помощью 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.conf. После этого я смог a2ensite site2.conf.


Я только что обновил версию сервера 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 файлов, изменив его расширение добавления .conf до конца

$ 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 [email protected]
    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..