Einführung
Der Apache-Webserver ist ein Open-Source-Webserver, der für seine Flexibilität, Leistung und umfassende Unterstützung bekannt ist. In diesem Handbuch werden einige allgemeine Verfahren zum Verwalten des Apache-Servers beschrieben, darunter das Stoppen, Starten und Aktivieren des Dienstes, das Arbeiten mit virtuellen Hostdateien und -verzeichnissen sowie das Suchen wichtiger Dateien und Verzeichnisse auf Ihrem Server.
Dieses Handbuch richtet sich an Benutzer, die mit Apache unter Ubuntu arbeiten. Benutzer, die an CentOS und anderen RHEL-basierten Distributionen arbeiten, können Abschnitt 1 in https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on- lesen. centos-7 [dieses Tutorial] enthält Informationen zur Installation von Apache unter CentOS.
So verwenden Sie dieses Handbuch:
-
Jeder Abschnitt kann unabhängig von anderen verwendet werden. Sie können also jederzeit zu den Abschnitten wechseln, die für Ihre Anforderungen relevant sind.
-
Jeder Befehl ist in sich abgeschlossen, sodass Sie die roten Werte durch Ihre eigenen Werte ersetzen können.
-
Jeder Abschnitt enthält verknüpfte Ressourcen, in denen Sie weitere Informationen zu den behandelten Themen finden.
Installieren des Apache-Dienstes
Um den Apache-Dienst zu installieren, aktualisieren Sie Ihre Paketindizes und installieren Sie:
sudo apt-get update
sudo apt-get install apache2
Weitere Informationen zum Installationsvorgang finden Sie in unserem Tutorial unter https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-16-04[How To Installieren Sie den Apache Web Server unter Ubuntu 16.04.
Aktivieren und Deaktivieren der Apache-Einheit
Unser Apache-Dienst ist so konfiguriert, dass er beim Booten automatisch startet. Wenn wir dieses Verhalten jedoch ändern möchten, können wir Folgendes eingeben:
sudo systemctl disable apache2.service
So lassen Sie zu, dass Apache beim Booten erneut gestartet wird:
sudo systemctl enable apache2.service
Beenden, Starten und erneutes Laden von Apache
Geben Sie den folgenden Befehl ein, um den Apache-Server zu stoppen:
sudo systemctl stop apache2
Geben Sie zum Starten des Apache-Servers Folgendes ein:
sudo systemctl start apache2
Geben Sie Folgendes ein, um den Dienst zu beenden und erneut zu starten:
sudo systemctl restart apache2
Wenn Sie Konfigurationsänderungen vornehmen, können Sie Apache neu laden, ohne die Verbindungen zu trennen. Geben Sie den folgenden Befehl ein:
sudo systemctl reload apache2
Weitere Informationen zum Init-System "+ systemd " und zum Befehl " systemctl +" finden Sie unter https://www.digitalocean.com/community/tutorials/systemd-essentials-working-with-services-units-and- the-journal [Einführung in systemd essentials].
Überprüfen des Serverstatus
Geben Sie Folgendes ein, um den Status Ihres Apache-Servers zu überprüfen:
sudo systemctl status apache2
Die Ausgabe dieses Befehls zeigt an, ob Apache ausgeführt wird oder nicht, und zeigt die letzten Zeilen in den Protokolldateien an.
Erstellen eines Dokumentstammverzeichnisses für eine statische Website
Wenn Entwickler mit Apache Websites erstellen, verwenden sie häufig "+ virtuelle Hosts " - Einheiten, die einzelne Sites oder Domänen umfassen. Dieser Prozess beinhaltet das Erstellen eines Verzeichnisses für das " document root +", das von Apache bei der Bereitstellung von Inhalten überprüft wird.
Erstellen Sie das Verzeichnis:
sudo mkdir -p /var/www//public_html
Weisen Sie Ihrem Nicht-Root-Benutzer den Besitz des Verzeichnisses zu:
sudo chown -R $USER:$USER /var/www//public_html
Lesezugriff auf das allgemeine Webverzeichnis zulassen:
sudo find /var/www -type d -exec chmod {} \;
Weitere Informationen zu Berechtigungen finden Sie unter introduction to Linux permissions. Beachten Sie, dass sich Ihre Berechtigungen je nach Ihren Anforderungen und Anwendungsfällen ändern können.
Erstellen eines Dokumentstammverzeichnisses für dynamische Verarbeitungsmodule
Wenn Sie mit einem dynamischen Verarbeitungsmodul wie PHP arbeiten, erstellen Sie Ihr Dokumentenstammverzeichnis wie folgt:
sudo mkdir -p /var/www//public_html
Weisen Sie Ihrem Nicht-Root-Benutzer den Besitz des Verzeichnisses und der Gruppe "+ www-data +" den Besitz der Gruppe zu:
sudo chown -R :www-data /var/www//public_html
Konfigurationseinstellungen ändern
Wenn Sie mit virtuellen Hosts arbeiten, müssen Sie die Konfigurationseinstellungen so ändern, dass sie die Domain-Besonderheiten widerspiegeln, damit Apache korrekt auf Domain-Anfragen reagieren kann.
Öffnen Sie die Konfigurationsdatei Ihres virtuellen Hosts:
sudo nano /etc/apache2/sites-available/.conf
Ändern Sie Folgendes:
ServerAdmin
ServerName
ServerAlias
DocumentRoot /var/www//public_html
Mit Änderungen sollte die Datei wie folgt aussehen (vorausgesetzt, sie wurde zuvor noch nicht geändert):
/etc/apache2/sites-available/example.com.conf
<VirtualHost *:80>
ServerAdmin
ServerName
ServerAlias
DocumentRoot /var/www//public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Überprüfen Sie bei der Fehlerbehebung unbedingt diese Datei und ihre Anweisungen.
Weitere Informationen zum Arbeiten mit virtuellen Hosts finden Sie in unserer Diskussion unter working mit virtuellen Apache-Hosts unter Ubuntu 16.04.
Aktivieren und Deaktivieren von Konfigurationsdateien
Virtuelle Hostdateien
So aktivieren Sie Konfigurationsdateien für virtuelle Hosts:
sudo a2ensite .conf
So deaktivieren Sie Konfigurationsdateien (in diesem Beispiel die Standardkonfigurationsdatei des virtuellen Apache-Hosts):
sudo a2dissite 000-default.conf
Module
Verwenden Sie den folgenden Befehl, um die Module in + / etc / apache2 / mods-available +
zu aktivieren:
sudo a2enmod
So deaktivieren Sie ein bestimmtes Modul:
sudo a2dismod
Konfigurationsdateien
So aktivieren Sie die Konfigurationsdateien in "+ / etc / apache2 / conf-available" -Dateien, die keinem virtuellen Host zugeordnet sind:
sudo a2enconf
So deaktivieren Sie eine Konfigurationsdatei:
sudo a2disconf
Konfigurationstests
Wenn Sie Änderungen an Konfigurationsdateien in Apache vornehmen, müssen Sie den folgenden Befehl ausführen, um nach Syntaxfehlern zu suchen:
sudo apache2ctl configtest
Wichtige Dateien und Verzeichnisse
Während Sie weiter mit Apache arbeiten, werden Sie auf die folgenden Verzeichnisse und Dateien stoßen:
Inhalt
-
+ / var / www / html
: Dieses Verzeichnis enthält den Webinhalt Ihrer Site und ist das Standardstammverzeichnis. Sie können die Apache-Standardkonfigurationseinstellungen so ändern, dass sie auf andere Verzeichnisse in+ var / www
verweisen.
Serverkonfiguration
-
+ / etc / apache2 +
: Das Konfigurationsverzeichnis in Apache, in dem sich alle Konfigurationsdateien befinden. -
+ / etc / apache2 / apache2.conf +
: Die primäre Konfigurationsdatei von Apache, in der die globalen Konfigurationseinstellungen gespeichert werden. Andere Dateien im Konfigurationsverzeichnis werden aus dieser Datei geladen. Außerdem werden die Direktiven "+ FollowSymLinks +" gespeichert, die das Aktivieren und Deaktivieren der Konfiguration steuern. -
+ / etc / apache2 / sites-available / +
: Dieses Verzeichnis enthält Konfigurationsdateien für virtuelle Hosts, die über Links zum Verzeichnis+ sites-enabled +
aktiviert werden. Die Änderung der Serverblockdateien erfolgt in diesem Verzeichnis und wird mit dem Befehl+ a2ensite +
aktiviert. -
+ / etc / apache2 / sites-enabled / +
: Aktivierte Konfigurationsdateien für virtuelle Hosts werden hier gespeichert. Wenn Apache gestartet oder neu geladen wird, liest es die Konfigurationsdateien und Verknüpfungen in diesem Verzeichnis, da es einer vollständigen Konfiguration entspricht. -
+ / etc / apache2 / conf-available +
und+ / etc / apache2 / conf-enabled +
: In der gleichen Beziehung wie+ sites-available +
und+ sites-enabled +
enthalten diese Verzeichnisse Konfigurationsfragmente nicht an Konfigurationsdateien des virtuellen Hosts gebunden. -
+ / etc / apache2 / mods-available +
und+ / etc / apache2 / mods-enabled +
: Diese Verzeichnisse enthalten verfügbare und aktivierte Module und bestehen aus zwei Komponenten: Dateien, die mit+ .load +
enden und Fragmente enthalten die bestimmte Module laden und Dateien, die auf "+ .conf +" enden, in denen die Konfigurationen dieser Module gespeichert sind.
Server-Protokolle
-
+ / var / log / apache2 / access.log +
: Diese Datei enthält alle Anfragen an den Webserver, sofern die Konfigurationseinstellungen von Apache nicht geändert wurden. -
+ / var / log / apache2 / error.log +
: Diese Datei enthält Fehler. Um die Detailgenauigkeit in den Fehlerprotokollen zu ändern, ändern Sie die Direktive "+ LogLevel " in " /etc/apache2/apache2.conf +".
Eine andere Möglichkeit, auf Informationen über die Apache-Einheit zuzugreifen, ist die Journald-Komponente, die Protokollinformationen von Anwendungen und dem Kernel sammelt. Geben Sie Folgendes ein, um Einträge für die Apache-Einheit anzuzeigen:
sudo journalctl -u apache2
Fazit
In diesem Handbuch werden einige allgemeine Verfahren zum Verwalten des Apache-Servers beschrieben, darunter das Stoppen, Starten und Aktivieren des Dienstes, das Arbeiten mit virtuellen Hostdateien und -verzeichnissen sowie das Auffinden wichtiger Dateien und Verzeichnisse auf Ihrem Server. Weitere Informationen zum Arbeiten mit Apache finden Sie in den folgenden Ressourcen:
-
So verschieben Sie ein Apache-Web Root auf einen neuen Speicherort unter Ubuntu 16.04.
-
https://www.digitalocean.com/community/tutorials/how-to-use-the-htaccess-filesHow To Use the .htaccess File].
-
How To Rewrite URLs mit mod_rewrite für Apache unter Ubuntu 16.04 .
-
How To Use Apache as a Reverse Proxy mit mod_proxy unter Ubuntu 16.04.