Linux Bibel online

Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 3.0 Österreich Lizenz.

Change language by Google translator: ...

Wozu ist ein Webserver gut? Die Antwort ist relativ einfach - ein Webserver ist ein Dienst, also eine Software die Webseiten im Internet bereit stellt und diese an den Webbrowser - etwa Firefox ausliefert damit dieser die entsprechenden Seiten anzeigt. Es gibt so einige verschiedene Webserver-Software wie natürlich den Apache2 den wir hier näher kennen lernen wollen, den Microsoft ISS, Nginx und viele, viele mehr. Am meisten genutzt wird jedoch unser hier besprochene Apache im Internet.

Wozu könnte ein solche Webserver auf dem lokalen System oder im lokalen Netzwerk interessant sein? Nun, viele Nutzer installieren sich einen solchen um ihre selbst erstellten Webseiten zu testen bevor sie diese wirklich in das Internet stellen, andere Nutzen einen Webserver um Dateien im lokalen Netzwerk auf einfachste Art und Weise zu verteilen. Natürlich könnte man mit genug Internet-Volumen und einem Raspberry Pi auch gleich einen Server bauen der nicht mehr Strom als ein Smartphone benötigt und diesen gleich an das Internet anbinden - wie dies funktioniert werden wir etwas später sehen.

Apache installieren

Unter auf Debian basierenden Linux-Distributionen wie etwa auch Ubuntu, Kubuntu, Linux Mint und so weiter installieren Sie den Server ganz einfach über die Paket-Verwaltung durch das Paket "apache2" - in diesem Fall wird einfach nur der Webserver mit allen nötigen Daten installiert.

Apache nutzen

Nach der Installation unter auf Debian basierenden Systemen wird der Server automatisch gestartet und ist auch sofort bereit - dies zeigt wenn man die Seite "http://localhost" in einem beliebigen Webbrowser öffnet die Meldung "It works" oder auf aktuelleren Systemen wie Debian Stretch die Status-Seite des Servers:

Apache2 - der Webserver unter Linux

Apache2 - der Webserver unter Linux - Status-Seite

Will man den Server nur nur hin und wieder nutzen - wie oben beschrieben etwa zum Testen von Webseiten empfiehlt es sich den automatischen Start mit dem System zu deaktivieren, dazu mehr hier Systemd auf der Linux-Bibel, der nötige Dienst nennt sich "apache2".

Wo liegen die Webseiten?

Standardmäßig liegen die Webseiten im System-Verzeichnis "/var/www/html", auf älteren Systemen (bis Debian Jessie) unter "/var/www". Dort liegt nun auch die Seite die wir beim ersten Start angezeigt bekommen, diese nennt sich schlicht und einfach "index.html". Auf dieses Verzeichnis hat natürlich nur der Nutzer root - also der Administrator des Systems die Rechte Dateien zu ändern, zu löschen oder solche hinzu zu fügen.

Dies ist nun auch die einfachste Variante Webseiten bereit zu stellen und sich diese über den Webbrowser anzeigen zu lassen. Man speichert seine Seiten ganz einfach in diesem Verzeichnis - natürlich als Administrator, handelt es sich bei diesem Server um einen der nicht öffentlich zugänglich ist - also etwa weil man mit diesem nur privat und lokal Webseiten testen möchte legt man am besten eine neue Gruppe an - im Beispiel nenne ich diese nun einfach "www-server" - den bestehenden Nutzer "www-data" würde ich keines Falles nutzen denn unter diesem läuft der Server selbst und dies würde eine massive Lücke in der Sicherheit sein und gibt dann dem entsprechenden Nutzer die Möglichkeit das Recht schreibend auf dieses Verzeichnis zuzugreifen. Im Beispiel nenne ich diesen Nutzer "robert", gleich auf dem Terminal und natürlich als Nutzer root:

groupadd www-server adduser robert www-server chgrp www-server /var/www/html chmod g+w /var/www/html

Danach melden Sie sich einmal vom Account ab und wieder an - es funktioniert. Handelt es sich um ein älteres System (bis Debian Jessie) lassen Sie natürlich "/html" weg.

Virtuelle Hosts & sichere virtuelle Hosts

Wenn man einen Server im Internet betreibt kommt es natürlich vor das man mehrere Webseiten auf einem Server bereit stellen will - der Rechner hat jedoch nur eine IP-Adresse. Um dann jedoch trotzdem mehrere Webseiten auf dem Server abrufen zu können - in meinem Beispiel nehme ich ganz einfach "linux.org" und "windows.com" legt man so genannte virtuelle Hosts an, beide unterschiedliche Seiten kann man dann vom selben Webserver abrufen. Um diese Hosts anzulegen findet sich im System das Verzeichnis "/etc/apache2/sites-available", hier legt man nun ganz einfache Text-Dateien an die man nach der entsprechenden Adresse benennt, in meinem Beispiel also "linux.org.conf" und "windows.com.conf" - wie man hier sieht haben alle Dateien zusätzlich die Endung ".conf". Diese Dateien haben nun folgende Inhalte:

<VirtualHost *:80> ServerAdmin webmaster@linux.org ServerName linux.org ServerAlias linux.com linux.at linux.de DocumentRoot /var/www/html/linux </VirtualHost>

<VirtualHost *:80> ServerAdmin webmaster@windows.com ServerName windows.com ServerAlias windows.com windows.de DocumentRoot /var/www/html/windows <VirtualHost>

Die erste Zeile "ServerAdmin" gibt die Mail-Adresse des Administrators der Seite an, diese wird angezeigt wenn es Probleme mit der Webseite gibt, "ServerName" gibt die tatsächliche Web-Adresse an unter der die Seite erreichbar sein soll, "ServerAlias" die zusätzlichen Varianten der Adresse unter der die Seite ebenfalls erreichbar sein soll und "DocumentRoot" zeigt auf das Unter-Verzeichnis in dem die Dateien der Webseite eigentlich liegen. Damit Apache die Seiten dann auch tatsächlich anzeigt muss jede dieser Konfigurationsdateien auch für den Webserver verfügbar gemacht werden, dies geschieht durch den Befehl:

a2ensite linux.org.conf a2ensite windows.com.conf

Um eine oder mehrere Seiten wieder zu sperren:

a2dissite linux.org.conf a2dissite windows.com.conf

Wichtig - bei jeder Änderung wie dem Erlauben oder dem Sperren einer Seite gilt es den Server neu zu starten - auch hier natürlich als Administrator:

systemctl apache2.service reload

Erst nach diesem Befehl werden Änderungen auch aktiv.

Hier entsteht in Kürze die Prozedur für sichere - also HTTPS-Seiten!

Module / Erweiterungen

Apache ist eine modulare Software die über Erweiterungen um viele Funktionen bereichert werden kann, dies geschieht durch zusätzlich so genannte Module. Solche Module können vielfältige Zwecke haben, den Server beschleunigen, weitere Optionen zur Authentifizierung bieten, CGI-Scripte beschleunigen und vieles, vieles mehr. Nutzer von auf Debian basierenden Distributionen haben es hier sehr einfach, suchen Sie einfach in der Paket-Verwaltung nach dem Begriff "libapache2-mod-" und schon finden sich alle möglichen zur Installation. Wie sich das jeweilige Modul nennt zeigt diese dann ebenfalls - installiert man etwa das Modul "libapache2-mod-php" nennt sich das Modul ganz einfach "php". Installiert man ein solches Modul muss dieses erst für Apache erlaubt werden - ansonsten wird es einfach nicht genutzt, auch dies geschieht natürlich nur als Administrator:

a2enmod php5

Nun wird wie weiter oben schon beschrieben der Server neu geladen, und durch:

a2dismod php5

wird die Nutzung wieder untersagt. In diesem speziellen Fall von PHP muss natürlich auch die zu nutzende Version von PHP angegeben werden.

Suche Nach oben Startseite Mail an den Autor Links rund um Linux

SiteLock