![В /etc/apache2 нет sites-available/000-default.conf](https://rvso.com/image/1157736/%D0%92%20%2Fetc%2Fapache2%20%D0%BD%D0%B5%D1%82%20sites-available%2F000-default.conf.png)
Я пытаюсь настроить виртуальные хосты для 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, а в последующем редактировании я реорганизовал ответ, чтобы он лучше соответствовал вопросу.