So konfigurieren Sie Apache (sites-available vs. httpd.conf)

So konfigurieren Sie Apache (sites-available vs. httpd.conf)

Ich habe versucht, ein paar grundlegende Tutorials zu befolgen, in denen erklärt wird, wie man Apache zum Laufen bekommt (unter Ubuntu, unter Amazon). Ich bin größtenteils auf nichts gestoßen, weil mir in allen Tutorials gesagt wurde, ich solle httpd.conf konfigurieren (um DocumentRoot hinzuzufügen usw.).

Ich bin jetzt über ein Tutorial gestolpert, in dem mir gesagt wurde, ich solle Site-Konfigurationen zum Verzeichnis sites-available (unter /etc/apache) hinzufügen und dann von sites-enabled aus einen symbolischen Link dorthin erstellen. Diese Konfiguration scheint zu funktionieren.

Aber jetzt bin ich verwirrt – wie soll ich Apache konfigurieren? Die meisten Tutorials scheinen immer noch zu sagen, dass ich httpd.conf verwenden soll. Welches soll ich verwenden? Was ist der Unterschied? Warum sind alle Tutorials „falsch“ (falls sie es sind)?

Antwort1

Die sites-availableMethode wird allgemein als „Debian-Weg“ angesehen:

  • "Haupt"-Konfiguration in/etc/apache2/apache2.conf
  • "Benutzer"-Konfiguration in/etc/apache2/httpd.conf
  • vhosts in /etc/apache2/sites-availableDateien (normalerweise einer pro Datei)
    • Sie können sie nummerieren, z. B. 00-domain.com, 01-otherdomain.com
  • Häfen ( ListenRichtlinien) in/etc/apache2/ports.conf
  • Mods in/etc/apache2/mods-available

a2Sie können diese mit symbolischen Links oder mit der folgenden Befehlsreihe bearbeiten :

a2ensite/a2dissite <site_config_filename>
a2enmod/a2dismod <module_name>

Je nach persönlicher Vorliebe können Sie Apache mit apachectl, /etc/init.d/apache2 (start|stop|reload|restart), oder neu starten.service apache2 (start|stop|reload|restart)

Ein Beispiel, bei dem Sie anstelle eines Vhost-Eintrags verwenden würden, httpd.confwäre beispielsweise eine globale Umleitungs- oder Umschreibregel. Andere Kleinigkeiten – im Allgemeinen sollten Sie die apache2.confFinger davon lassen und sicherstellen, dass Sie ein konsistentes Benennungsschema für Vhosts im sites-availableVerzeichnis einrichten.

Antwort2

Der Speicherort und die Organisation der Konfigurationsdateien sind konfigurierbar und können sich zwischen Hauptversionen oder zwischen Distributionen ändern.

Das Apache Wiki bietet eine praktischeFührungzu den Namen und Speicherorten der Konfigurationsdateien.

Da die Konfigurationsdateien Anweisungen enthalten können include, können Teile der Konfiguration in kleinere Dateien aufgeteilt werden. Da eine Standardkonfigurationsdatei von Apache viele Kommentare und viele Standardelemente enthält, ist es sinnvoll, die Teile auszusortieren, die Sie am wahrscheinlichsten ändern.

Der Name der Hauptkonfigurationsdatei kann zur Kompilierungszeit geändert werden und wurde in den letzten Versionen von httpd.confin geändert.apache2.conf

Im Laufe der Jahre hat es auch einige Entwicklungen in der Organisation der enthaltenen Konfigurationsdateien gegeben.

Ich habe beispielsweise Apache2 auf einem Ubuntu-basierten System installiert und apt-get install apache2dabei folgende Dateien verwendet:

/etc/apache2$ ls
apache2.conf  envvars     mods-available  ports.conf       sites-enabled
conf.d        httpd.conf  mods-enabled    sites-available

/etc/apache2$ grep ^Include apache2.conf
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
Include /etc/apache2/httpd.conf
Include /etc/apache2/ports.conf
Include /etc/apache2/conf.d/
Include /etc/apache2/sites-enabled/ 

/etc/apache2$ ls -l sites-enabled
total 0
lrwxrwxrwx 1 root root 26 Dec 26 12:30 000-default -> ../sites-available/default

Die wenigen Konfigurationseinstellungen, die Sie wahrscheinlich am meisten interessieren, finden Sie jetzt in /etc/apache2/sites-available/default.

Ich sehe, dass dies mit dem Ubuntu übereinstimmt.Dokumentation für ApacheIch empfehle Ihnen, dies zuerst zu lesen. Wenn Sie andere Dokumentationen für ältere Versionen von Apache (oder andere Distributionen) haben, können Sie diese Informationen an die Organisationsstruktur in Ubuntu anpassen.

Antwort3

Apache kann in Linux auf zwei Arten installiert werden. Eine geht über apt-get, die andere besteht darin, eine TAR-Datei herunterzuladen und zu extrahieren …. Im apt-get-Prozess werden Sites aus dem Ordner /etc/apache2/sites-enabled bereitgestellt, da jede Site, die die Außenwelt bedient, in diesen Ordnern durch .conf-Dateien konfiguriert wird. Beispiel: 000-default.conf ist eine standardmäßig aktivierte Site, um zu zeigen, wie Apache funktioniert.

Indem Sie also eine beliebige .conf-Datei in „Sites aktiviert“ erstellen und sie an den Speicherort des Inhalts weiterleiten, wird die Site bereitgestellt.

Um also eine neue statische Site hinzuzufügen, muss eine neue .conf-Datei im Sites-enabled-Ordner mit einem beliebigen Namen erstellt werden, z. B. example.conf . und muss die folgenden Zeilen hinzufügen

ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log kombiniert

Wobei *:80 bedeutet "für die Welt offen über Port 80" DocumentRoot /var/www/html bedeutet "Pfad des Site-Inhalts"

verwandte Informationen