![Es gibt keine sites-available/000-default.conf in /etc/apache2](https://rvso.com/image/1157736/Es%20gibt%20keine%20sites-available%2F000-default.conf%20in%20%2Fetc%2Fapache2.png)
Ich versuche, virtuelle Hosts für Apache2 einzurichten. Es gibt Unmengen von Tutorials, aber alle setzen voraus, dass die Datei /etc/apache2/sites-available/000-default.conf
vorhanden ist. Aber wenn ich Folgendes ausführe:
$ cd /etc/apache2/
$ ls
conf-available
$ cd conf-available
$ ls
javascript-common.conf
Ich kann niemanden finden, der das gleiche Problem hatte. Muss ich irgendetwas tun, bevor ich mit Tutorials wie diesem beginne?
https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-16-04
Alles ist auf dem neuesten Stand. Ubuntu ist 16.04 LTS.
Antwort1
Bei den Dateien /etc/apache2/conf-available
handelt es sich um Dateien, die ein Administrator frei erstellen, umbenennen, entfernen, mit entsprechendem Inhalt füllen usw. kann. Wenn Sie kein 000-default.com haben, erstellen Sie einfach eins.
Rufen Sie dann an
sudo a2ensite 000-default.conf
Vorbehalte:
die virtuellen Hosts koexistieren - soweit ich verstanden habe, haben Sie bereits eine nicht standardmäßige Konfiguration. Achten Sie auf Konflikte zwischen virtuellen Hosts. Möglicherweise benötigen Sie eine Neuinstallation von Apache2 einschließlich der Konfiguration.
welche Dateien letztendlich als Konfigurationen geladen (eingebunden) werden, hängt von einigen anderen Konfigurationsdateien ab, wie etwa
/etc/apache2/apache2.conf
von desseninclude
Befehl (der dann eine angegebene Datei einbindet). Include kann auch in einer eingebundenen Datei aufgerufen werden.
Zu Ihrer Information, die 000-default.conf für Apache2 (Version 2.4.7) lautet wie folgt:
<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
Und Sie verwenden am besten die folgenden Befehle, um eine Site zu aktivieren/deaktivieren, anstatt eine Site durch die Erstellung eines symbolischen Links zu erstellen (was Sie immer noch tun können, aber nun ja … es verlässt sich normalerweise auf Hilfsskripte, um beispielsweise Tippfehler zu vermeiden).
a2ensite 000-default
a2dissite 000-default
Wenn einige Konfigurationen nicht funktionieren, können Sie Folgendes versuchen:
sudo service apache2 reload
oder ein noch tieferes Neuladen der Konfiguration erfolgt bei:
sudo service apache2 restart
Beim Neuladen verbleiben einige verbindungsbezogene Daten im Speicher und beide Vorgänge dauern bei einer typischen Neuinstallation nur den Bruchteil einer Sekunde.
BEARBEITEN: Ich habe eine Anmerkung zu vier nützlichen Befehlen hinzugefügt: a2ensite, a2dissite, service apache2 restart/reload und in der anschließenden Bearbeitung habe ich die Antwort neu organisiert, damit sie besser zur Frage passt.