В /etc/apache2 нет sites-available/000-default.conf

В /etc/apache2 нет sites-available/000-default.conf

Я пытаюсь настроить виртуальные хосты для Apache2. Есть куча руководств, но все они предполагают, что файл /etc/apache2/sites-available/000-default.confтам есть. Но если я запускаю:

$ cd /etc/apache2/
$ ls
conf-available
$ cd conf-available
$ ls
javascript-common.conf

Я не могу найти никого, у кого была такая же проблема. Нужно ли мне что-то делать, прежде чем я начну обучающие материалы, подобные этому?

https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-16-04

Все обновлено. Ubuntu — 16.04 LTS.

решение1

Файлы в этом разделе /etc/apache2/conf-available— это файлы, которые администратор может создавать, переименовывать, удалять, заполнять соответствующим содержимым и т. д. Если у вас нет 000-default.com, просто создайте его.

Затем вам следует позвонить

sudo a2ensite 000-default.conf

Предостережения:

  • виртуальные хосты сосуществуют - насколько я понял, у вас уже есть нестандартная конфигурация. Остерегайтесь конфликтов виртуальных хостов друг с другом. Скорее всего, вам может понадобиться новая установка apache2, включая его конфигурацию.

  • какие файлы в конечном итоге загружаются (включаются) как конфигурации, зависит от некоторых других файлов конфигурации, например, /etc/apache2/apache2.confот его includeкоманды (которая затем включает указанный файл). Include также может быть вызван во включенном файле.

К вашему сведению, 000-default.conf для apache2 (версия 2.4.7) выглядит следующим образом:

<VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

И вам лучше всего использовать следующие команды для включения/отключения сайта, а не создавать сайт путем создания символической ссылки (что вы все еще можете сделать, но... обычно для этого используются вспомогательные скрипты, например, чтобы избежать опечаток)

a2ensite 000-default
a2dissite 000-default

Если некоторые конфигурации не срабатывают, можно попробовать:

sudo service apache2 reload

или даже более глубокая перезагрузка конфигурации происходит:

sudo service apache2 restart

Перезагрузка сохраняет некоторые данные, связанные с подключением, в памяти, и оба процесса занимают доли секунды при типичной новой установке.

EDIT: Я добавил заметку о четырех полезных командах: a2ensite, a2dissite, service apache2 restart/reload, а в последующем редактировании я реорганизовал ответ, чтобы он лучше соответствовал вопросу.

Связанный контент