Apache 2 - Der bekannteste Webserver unter Linux

Server aller Arten
Benutzeravatar
robertgoedl
Administrator
Beiträge: 904
Registriert: Sa 10. Jul 2021, 01:47
Wohnort: Graz
Has thanked: 37 times
Been thanked: 453 times
Kontaktdaten:

Apache 2 - Der bekannteste Webserver unter Linux

Beitrag von robertgoedl »

Apache ist zwar nicht der einzige Webserver unter Linux - ganz ehrlich, ich will nicht einmal anfangen zu erzählen wie viele es gibt - aber er ist der bekannteste. Reale Zahlen gibt es so gesehen keine, aber Apache ist auch der meist genutzte Webserver - öffnen Sie heute eine Webseite im Internet wird diese nach meinen Schätzungen zu 70 bis 80 Prozent unter Linux mit Apache laufen.

Es gibt so einige Aufgaben, für die man einen Webserver gebrauchen könnte - etwa weil man ganz einfach seine eigene Webseite veröffentlicht, für die Entwicklung von Webseiten oder für die eigene Cloud oder das eigene ERP (Enterprise Ressource Planning).

In diesem Beitrag der Linux Bibel Österreich sehen wir uns diesen Webserver nun etwas genauer an.

Apache 2 installieren

Unter auf Debian basierenden Linux-Distributionen installieren Sie diesen Webserver ganz einfach über die Paket-Verwaltung durch das Paket "apache2".

Apache 2 nutzen

Unter auf Debian basierenden Linux-Distributionen läuft der Server nach der Installation automatisch - dies zeigt als Administrator auf dem Terminal der Befehl:

Code: Alles auswählen

systemctl status apache2
apache2.jpg
Noch einfacher, öffnen Sie den Webbrowser und geben die Adresse http://localhost/ ein:
apache21.jpg
Gerade wenn man den Server nur zur Web-Entwicklung benötigt wird man Apache nicht die ganze Zeit laufen haben wollen - man deaktiviert in diesem Fall ganz einfach den automatischen Start mittels Systemd - also als Administrator auf dem Terminal:

Code: Alles auswählen

systemctl disable apache2
Beim nächsten Systemstart startet Apache nicht mehr automatisch, nun können Sie den Server mit:

Code: Alles auswählen

systemctl start apache2
manuell starten und mit:

Code: Alles auswählen

systemctl stop apache2
stoppen, nehmen Sie Änderungen an der Konfiguration vor, starten Sie den Server neu:

Code: Alles auswählen

systemctl restart apache2
Durch die Installation wird automatisch das neue Systemverzeichnis "/var/www/html/" angelegt - hier liegen - sagen wir einmal unter normalen Umständen die Webseiten:
apache22.jpg
Für eine einfache Webseite mit einer einzigen Domain ist auch nicht viel mehr nötig als die HTML- oder PHP-Dateien dort abzulegen. Dieses Verzeichnis gehört zum System, also brauchen Sie administrative Rechte um hier Dateien abzulegen, zu verändern oder zu löschen. Die erste Möglichkeit besteht darin die bestehende "index.html" zu verändern - etwa am Terminal (wie schon beschrieben - mit administrativen Rechten):

Code: Alles auswählen

nano /var/www/html/index.html
apache23.jpg
Erweiterte Webseiten

Sie können nicht nur eine Webseite auf dem Server ablegen, dies können durchaus mehrere sein - so etwa "linux-bibel-oesterreich.at" und "windows.org". Solche unterschiedlichen Webseiten legen Sie unter "/etc/apache2/sites-available/" fest und aktivieren diese unter "/etc/apache2/sites-enabled/":
apache24.jpg
Solche Webseiten nennt man "Virtual Hosts", für jeden virtuellen Host legt man unter "/etc/apache2/sites-available/" eine neue Datei an, die eigentlichen HTML-Dateien liegen anschließend unter "/var/www/html/" in einem eigenen Verzeichnis - eben etwa "/var/www/html/linux-bibel/".

Nun, wollen wir ganz einfach einmal einen solchen virtuellen Host mit dem oben genannten Beispiel anlegen:

Code: Alles auswählen

nano /etc/apache2/sites-available/linux-bibel.conf
Eine solche Datei sieht wie folgt aus:

Code: Alles auswählen

<VirtualHost *:80>
        ServerName linux-bibel-oesterreich.at     
        ServerAdmin robert.goedl@linux-bibel-oesterreich.at
        ServerAlias linux-bibel-oesterreich.org linux-bibel-oesterreich.com
        DocumentRoot /var/www/html/linux-bibel/
        <Directory /var/www/html/linux-bibel/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Require all granted
        </Directory>
        ErrorLog /var/log/apache2/error.log
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
        ServerSignature On
</VirtualHost>
Für sichere Webseiten (https) wird es später einen eigenen Artikel geben. Nun sehen wir uns die Konfiguration etwas genauer an:
  • ServerName - Gibt die eigentliche Adresse, also die Domain an
  • ServerAdmin - Die E-Mail-Adresse des Administrators
  • DocumentRoot - Das Verzeichnis mit den Dateien der Webseite
  • ServerAlias - Die Adressen, unter denen die Seite noch erreichbar sein soll (dieser Eintrag ist nicht nötig, wenn man sowieso nur eine Adresse hat)
  • <Directory /var/www/html/linux-bibel/> - Hier geben Sie noch einmal das Verzeichnis mit den Dateien der Webseite an
Mehr ist eigentlich zum Funktionieren in dieser Datei nicht nötig. Mit Strg+o wird die Datei gespeichert, mit Eingabe bestätigt, mit Strg+x wird der Editor geschlossen. Die Konfiguration der Seite wäre erledigt - diese muss nun noch aktiviert werden, dies gelingt mit dem Befehl:

Code: Alles auswählen

a2ensite linux-bibel.conf
Nun muss der Server wie oben schon beschrieben neu gestartet werden:

Code: Alles auswählen

systemctl restart apache2
Möchten Sie die Seite wieder deaktivieren:

Code: Alles auswählen

a2dissite linux-bibel.conf
Apache-Module installieren und aktivieren

Apache kann durch zahlreiche Module erweitert werden, solche lassen sich ganz einfach über die Paket-Verwaltung installieren, indem Sie nach dem Begriff "libapache2" suchen, alternativ installieren Sie manuell aus dem Internet heruntergeladene, indem Sie diese als Administrator in das Systemverzeichnis "/etc/apache2/mods-available/" verschieben.

Installierte Module müssen nach der Installation zur Nutzung noch aktiviert werden - welche verfügbar sind, zeigt etwa auf dem Terminal der Befehl:

Code: Alles auswählen

ls /etc/apache2/mods-available/
apache25.jpg
Um nun etwa das Modul "brotli.load" zu aktivieren nutzen Sie den Befehl:

Code: Alles auswählen

a2enmod brotli.load
Zum Deaktivieren:

Code: Alles auswählen

a2dismod brotli.load
Windows lässt sich mit einem U-Boot vergleichen - mach ein Fenster auf und die Probleme beginnen ...