freeload4u
 

Einen Webserver unter Debian einrichten

Der Apache-HTTP-Webserver (Apache) ist eine Open-Source-Webanwendung für die Bereitstellung von Webseiten. In diesem Tutorial wird erläutert, wie ein Apache-Webserver mit der Version 2.4.25 auf Debian 8 installiert und konfiguriert wird.

Ausgangspunkt

- frisch installiertes Debian 8.7.x 64 Bit z.B. "Netinstall"
  1. Debian Grundsystem
  2. Standard-Systemwerkzeuge
  3. SSH server

Ziel

1. System aktualisieren

Dazu melden wir uns als root an, es wird nach dem root-Passwort gefragt.
        
            su
        
    
Hinweis:
Es besteht auch die Möglichkeit alle Administrationsbefehle als Benutzer auszuführen, sofern sudo installiert und konfiguriert wurde. Dazu finden Sie hier ein Tutorial.

        
            apt-get update && apt-get upgrade
        
    


2. Apache Installation
        
            apt-cache show apache2 | grep Version
        
    
Gibt die Paketinformationen von apache2 aus. Als Version sollte da mindestens die 2.4.x stehen, auf die ich mich später bei der Konfiguration beziehe.

Wir installieren... den Web-Server, Dokumentation und eine Reihe von Werkzeugen
        
            apt-get install apache2 apache2-doc apache2-utils
        
    
Es wird nach einer Bestätigung der Installation diverser Pakete gefragt. Dies können wir beherzt mit "J" bestätigen.

Anschließend wird der Webserver sofort gestartet. Er bedient den Standardport 80 für HTTP. Wenn Sie die IP-Adresse im Adressfeld eines Browsers eintragen, erhalten Sie eine "Apache2 Debian Default" Seite, die Ihnen lediglich berichtet, dass es funktioniert. »It works!« ist da zu lesen.

3. Apache Konfiguration

Sofern Sie im Intranet nur eine statische Website abstellen wollten, in der Sie Facebook für Arme zu spielen und Ihre Hobbys sowie Ihren Lieblingscomputer vorzustellen gedachten, sind Sie damit eigentlich schon fertig. Haben Sie aber Größeres vor, werden Sie sich mit der Konfiguration wohl etwas intensiver auseinandersetzen müssen.

Im Verzeichnis /etc/apache2 liegen die Konfigurationsdateien. Der Name der zentralen Konfigurationsdatei des Servers lautet apache2.conf. Eine ihrer Hauptaufgaben ist das Zusammenbinden der anderen Konfigurationsdateien durch Include-Anweisungen.

apache2.conf
Die Hauptdatei enthält nicht nur die Include-Anweisungen, sondern durchaus auch Direktiven, die eine Grundkonfiguration bilden, mit der der Server erst einmal gut läuft.

mods-enabled
Im Verzeichnis mods-enabled werden die Module hinterlegt, die beim Start aktiviert werden. Module sind Programme, die darum in den Apachen integriert werden, damit sie beim Aufruf einer Seite nicht jedes Mal neu geladen werden müssen. Dazu gehört beispielsweise PHP sowie Subversion

ports.conf
In der Datei ports.conf wird festgelegt, welche Ports von Apache abgehört werden sollen. Die Datei enthält nur wenige Anweisungen. Diese bewirken, dass der Server normalerweise auf Port 80 hört, aber für die Module ssl und gnutls den Port 443 verwendet. Werden weitere virtuelle Hosts eingerichtet, kann für jeden ein eigener Port verwendet werden.

sites-enabled
Im Verzeichnis sites-enabled werden schließlich die Websites konfiguriert. Hier befindet sich nach der Installation die Datei 000-default, die beispielsweise vorgibt, dass die HTML-Dateien im Verzeichnis /var/www zu finden sind. Apache ist in der Lage, mehrere Websites parallel zu verwalten, die Sie in separaten Dateien konfigurieren können.

available und enabled
Sie sehen, dass in der Datei apache2.conf nur die Dateien im Verzeichnis sites-enabled eingebunden werden.Was im Verzeichnis sites-available passiert, sieht die Konfiguration also nicht. Die gleiche Vorgehensweise gilt für die Verzeichnisse mods-enabled und mods-available.

4. Apache Websitekonfiguration (Virtual Hosting)

Als erstes deaktivieren wir den standard Virtual Host mit
        
            a2dissite 000-default.conf
        
    


Dann wechseln wir in das Verzeichnis /etc/apache2/sites-availalbe und legen dort eine Datei an mit dem Domainnamen an.
        
            cd /etc/apache2/sites-available
        
    
        
            touch example.com.conf
        
    
Wichtig hierbei ist, dass die Datei die Dateiendung .conf bekommt, sonst gibt es später bei der Aktivierung der Seite Probleme.

Der Inhalt dieser Datei sollte folgendermaßen aussehen:

Hinweis:
Wer noch wenig Erfahrung mit dem vi hat kann anstelle dessen nano nehmen, um Dateien zu bearbeiten.
Hier gibt es ein Tutorial zum VIM - Editor
        
            vi example.com.conf
        
    
oder
        
            nano example.com.conf
        
    


Folgenden Inhalt einfügen
        
            <VirtualHost *:80>
                ServerName www.example.com
                ServerAlias example.com
                DocumentRoot /var/www/www.example.com
            </VirtualHost>
        
    
speichern. (Hierbei handelt es sich um die Minimalkonfiguration des vhosts)

DocumentRoot - Verzeichnis
Hier wird das Verzeichnis genannt, in dem die eigentlichen HTML-Dateien liegen. Von außen gesehen, ist dies das WWW-Root-Verzeichnis des Servers.

Jetzt wechseln wir in das Verzeichnis /var/www/ und erstellen dort einen Ordner mit dem Namen www.example.com. In diesem Ordner legen wir zum Test eine index.html an.
        
            cd /var/www
        
    
        
            mkdir www.example.com
        
    
        
           cd www.example.com && touch index.html
        
    


Seite (conf) aktivieren
        
            a2ensite example.com.conf
        
    
Apache reloaden
        
            /etc/init.d/apache2 reload
        
    
fertig. :-) beim Aufruf von www.example.com im Browser, wird nun eine leere Seite angezeigt.

Wichtig:
Sofern im Router der Port 80 auf die IP des Servers zeigt, ist die Webseite von außen verfügbar. Bitte beachten Sie auch die DNS - Einstellungen zu der Domain.

Weiterführende Tutorials:
  1. PHP (7.x) installieren
  2. MySQL Server (5.7.x) installieren
  3. phpMyAdmin (4.6.x) installieren