Für einen lokalen Webserver gibt es viele Einsatzzwecke, wie beispielsweise eine Testumgebung für Ihre Website oder eine temporäre Alternative zu einem gehosteten Angebot. Erwarten Sie keinen größeren Besucherstrom, lässt sich diese Aufgabe mit dem kleinen Raspberry Pi gut bewerkstelligen. In diesem Workshop zeigen wir Ihnen das Aufsetzen des Raspbian-Betriebssystems, die Installation von Apache-Servers sowie der My-SQL-Datenbank. Falls Sie auf den Webserver auch aus dem Internet zugreifen möchten, ist noch eine Reihe von Anpassungen auf Ihrem Router notwendig. Die wesentlichen Schritte demonstrieren wir am Beispiel eines Fritzbox-Routers.
Anforderungen an Raspberry Pi
Für den Betrieb als Webserver benötigen Sie mindestens eine zwei GB große SD-Karte, wobei wir abhängig von der Größe der Website zu vier GB oder mehr tendieren. Die Preisunterschiede sind aktuell sehr gering: Nutzen Sie bereits das neue Raspberry Pi Modell B+ mit der Micro-SD-Karten-Schnittstelle, dann kostet die Speicherkarte mit acht GB gut sieben Euro und die 16 GB große Variante rund 10,50 Euro. Integrieren Sie den Webserver am besten per Netzwerkkabel in Ihr LAN. Dies ermöglicht Ihnen einen deutlich stabileren Systembetrieb als über das drahtlose Netzwerk.

Die Grundinstallation von Raspbian
Als Basis für Ihren Webserver kann das kostenlose Betriebssystem Raspbian dienen. Dieses Linux-System hat Debian als Grundlage und ist für die Raspberry-Pi-Hardware optimiert. Zum Start eines Linux-Systems auf dem Raspberry Pi müssen Sie dessen Image auf eine SD-Karte übertragen. Sie können dafür entweder Noobs verwenden, das neben Raspbian noch weitere Betriebssysteme enthält. Oder Sie kopieren das Raspbian-Image direkt auf eine SD-Karte. Entnehmen Sie nach erfolgter Kopie die SD-Karte aus dem Computer, und starten Sie dann den Raspberry Pi mit Raspbian. Das Gerät bootet von der SD-Karte und meldet sich mit dem „Configuration Tool“ zurück. In diesem wählen Sie den ersten Menüpunkt an und erweitern das Dateisystem („Expand Filesystem“), damit der komplette Speicherplatz Ihrer SD-Karte für den Raspberry Pi zur Verfügung steht. Stellen Sie anschließend die Systemsprache unter „Internationalisation Options“ auf deutsche Sprache um. Dazu wählen Sie aus dem Auswahlmenü den Punkt „Change Locale“ und anschließend „de_DE.UTF-8 UTF-8“ aus. Standardmäßig ist auch das Tastaturlayout englisch. Dies passen Sie entsprechend über „Change Keyboard Layout“ an und wählen an dieser Stelle am besten die „Generische PC-Tastatur mit 105 Tasten“ aus. Verlassen Sie das Konfigurationsmenü anschließend über den Befehl „Finish“, und booten Sie Ihr System über die Eingabe sudo reboot neu.
Apache: So richten Sie eigene Webserver ein

SSH installieren und remote auf den Raspberry Pi zugreifen
Für die weiteren Aktionen benötigen Sie nicht zwangsläufig einen Monitor, denn Sie können Ihren Webserver auch über die Kommandozeile administrieren. Für diesen Zweck nutzt Raspbian das SSH-Protokoll. Unter Linux ist ein SSH-Client-Programm Standard, unter Windows leider nicht. Für die Nutzung unter Windows empfehlen wir das kostenlose Putty . Es handelt sich dabei um einen SSH-Client, welcher die Kommunikation mit Ihrem Raspberry Pi verwaltet. Sie benötigen lediglich die IP-Adresse Ihres künftigen Webservers. Diese lässt sich ermitteln, in dem Sie auf Ihrem Raspberry Pi den Befehl ifconfig ausführen. Sie sehen die IP-Nummer dann bei „eth0“ hinter „inet Adresse“. Alternativ öffnen Sie die Konfigurationsoberfläche Ihres DSL-Routers im Webbrowser, bei einer Fritzbox beispielsweise über https://fritz.box . Gehen Sie im Menü auf der linken Seite auf „Heimnetz > Netzwerk“. Standardmäßig taucht der Raspberry Pi hier unter dem Namen „raspberrypi“ auf. Notieren Sie sich die IP-Adresse. Tragen Sie die ermittelte IP-Adresse bei Putty direkt in das Feld „Host Name (or IP.address)“ ein. Unter „Saved Sessions“ vergeben Sie die eine aussagekräftige Bezeichnung wie „Raspberry Pi“. Belassen Sie alle anderen Werte auf dem vorgeschlagenen Standard, klicken Sie auf „Save“ und dann auf „Open“. Für die Anmeldung per SSH verwenden Sie den Standard-Benutzernamen „pi“ sowie das Passwort „raspberry“. Damit sind Sie am Raspberry Pi angemeldet, und von dieser Stelle aus nehmen Sie die Konfiguration des Geräts sowie die anschließende Installation von Webserver und Datenbank vor. Falls Sie das Anmeldepasswort auf einen anderen Wert setzen möchten, rufen Sie den Konfigurationsmanager mit sudo raspi-config auf und tragen über „Change User Password“ ein neues Kennwort ein.

Vorbereitende Arbeiten
Bevor Sie mit der Grundinstallation des Servers beginnen, lohnt es sich, das System erst einmal auf den neuesten Stand zu bringen. Auch wenn Sie die aktuelle Raspbian-Version installiert hatten, gibt es für gewisse Komponenten des Betriebssystems bereits wieder neuere Updates. Führen Sie deswegen mit
sudo apt-get update
zuerst eine Aktualisierung der Paketliste durch, und aktualisieren Sie auf dieser Basis Ihr System neu über diesen Befehl:
sudo apt-get upgrade
steht das Programm im Terminal nach Eingabe von mc zur Verfügung. Das Tool ist einfach zu bedienen. Sie navigieren über die Pfeiltasten, und mit der Tab-Taste wechseln Sie zwischen den Panels. Damit sind die Vorbereitungen abgeschlossen, und die Installation Ihres Webservers kann beginnen.

Apache-Webserver installieren
Als Basis für diesen Workshop haben wir uns für den Apache-Webserver entschieden, der sich über die letzten Jahre zum Quasi-Standard entwickelt hat. Für die Installation nutzen wir wieder SSH, wobei Sie an dieser Stelle Administrationsrechte benötigen. Diese erhalten Sie über die Eingabe von sudo bash . Der Eingabemodus hat sich daraufhin verändert, und Sie sehen „root@raspberrypi“ als angemeldeten Anwender. Der Apache-Server benötigt für die erfolgreiche Ausführung eine Reihe von Nutzergruppen. Diese sind teilweise bereits in den neueren Raspbian-Versionen vorhanden. In einem solchen Fall wird eine der nachfolgenden Eingaben (zwei Zeilen) mit einer Fehlermeldung quittiert. Ansonsten wird die Benutzergruppe „www-data“ hinzugefügt und der entsprechende Benutzer der neuen Gruppe zugeordnet.
sudo groupadd www-data sudo usermod -a -G www-data www-data
Aktualisieren Sie die Paketliste mit sudo apt-get update , und starten Sie Ihren Raspberry Pi mit sudo reboot neu. Nach dem Neustart müssen Sie zunächst die SSH-Verbindung neu aufbauen. Dann beginnt die eigentliche Installation des Webservers mit Hilfe eines einzigen Befehls:
sudo apt-get install apache2 apa che2-doc apache2-utils
Für die Installation werden rund 18 MB Daten heruntergeladen und anschließend verarbeitet. Der komplette Vorgang kann einige Minuten dauern. Zum Abschluss wird der Webserver automatisch gestartet. Prüfen Sie dies durch die Eingabe der IP-Adresse des Raspberry in der Adresszeile eines beliebigen Browsers innerhalb Ihres lokalen Netzwerks. War die Installation erfolgreich, dann bekommen Sie nach Eingabe der IP-Adresse Ihres Raspberry Pi die Erfolgsmeldung „It works!“ angezeigt.
Für Profis: Raspberry Pi als Sync-Server nutzen

Weitere Server und Software installieren
Die meisten Websites verwenden keine statisch erstellten HTML-Seiten, sondern liefern dynamisch erzeugte Inhalte aus. Dabei kommt PHP meist in Kombination mit einer My-SQL-Datenbank zum Einsatz. PHP ist auch die Basis für zahlreiche Webanwendungen wie den beliebten Content.Management-Systemen Joomla und WordPress. Die benötigten PHP-Komponenten installieren Sie in mehreren Schritten. Zuerst holen Sie sich mit der Zeile sudo bash wieder administrative Rechte für die Installation. Anschließend rüsten Sie mit folgendem Einzeiler alle benötigten PHP-Komponenten nach:
apt-get install libapache2-modphp5 php5 php-pear php5-xcache
Das System lädt nach diesem Schritt rund 19 MB an Daten herunter und installiert diese lokal. Neben dem Script-Interpreter PHP benötigen viele Webanwendungen auch noch eine Datenbank. Die ebenfalls kostenlose My-SQLDatenbank installieren Sie in zwei Schritten. Zuerst richten Sie die benötigte PHP5-Bibliothek ein. Das Programmpaket ist rund vier MB groß:
apt-get install php5-mysql
Anschließend steht das eigentliche My-SQL-Paket bestehend aus Client und Server an. Dieses ist mit rund 80 MB deutlich umfangreicher. Es lässt sich mit der folgenden Befehlszeile installieren:
apt-get install mysql-server mys ql-client
Während der Installation von My SQL werden verschiedene Informationen abgefragt. Eine Veränderung der Standardwerte ist für den ersten Schritt nicht erforderlich. Sie sollten jedoch für die My-SQL-Datenbank ein Passwort vergeben, da viele Installationen, wie etwa Owncloud oder auch ein Content-Management-System (CMS), dies voraussetzen. Prinzipiell lässt sich der My-SQL-Server auch über die Kommandozeile administrieren. Nutzen Sie die Software jedoch nicht allzu oft, dann empfehlen wir Ihnen an dieser Stelle mit Phpmyadmin eine grafische Administrationsoberfläche. Diese ist, wie der Name schon verrät, in PHP entwickelt worden.
apt-get install phpmyadmin
Wählen Sie während der Installation von Phpmyadmin als Webserver „apache2“ aus. Nach diesem Programmpaket mit rund 17 MB Umfang sind Sie im Besitz der wichtigsten Komponenten, welche Sie für eine Webanwendung und deren Betrieb benötigen. Die Administrationsoberfläche von Phpmyadmin steht Ihnen anschließend über den Browser auf allen Rechnern im lokalen Netzwerk unter „http://IPAdresse/phpmyadmin“ zur Verfügung, wobei Sie „IP-Adresse“ durch die IP-Adresse Ihres Raspberry Pi ersetzen. Melden Sie sich dann als Benutzer root mit dem zuvor vergebenen My-SQL-Passwort an.

Die Installation überprüfen
Bevor Sie sich an die Konfiguration der Anwendungen machen, sollten Sie mittels eines einfachen Scripts prüfen, ob PHP korrekt installiert ist. Damit können Sie bei einer möglichen späteren Fehlersuche diese Quelle als Ursache ausschließen. Booten Sie am besten Ihren Rasperry Pi noch einmal mittels reboot neu, und legen Sie anschließend im Verzeichnis „/var/ www“ Ihres Webservers mit nano /var/www/test.php eine PHP-Datei mit dem folgenden Inhalt an (drei Zeilen):
Speichern Sie die Datei mit Strg-O, und schließen Sie den Editor über die Tastenkombination Strg-X. Rufen Sie dann „http://IP-Adresse/ test.php“ im Browser auf. „IP-Adresse“ ersetzen Sie durch die IP-Adresse Ihres Raspberry Pi. Der Befehl phpinfo() sorgt für die Ausgabe aller wichtigen Informationen zum Webserver und zu PHP. Dies funktioniert allerdings nur, wenn PHP auf Ihrem Server auch korrekt eingerichtet ist.

Webserver im Internets bekannt machen
Bis jetzt ist Ihr Webserver nur im LAN unter der lokalen IP verfügbar. Wenn Sie auf ihn bequem über das Internet zugreifen möchten, benötigen Sie einen Dyn-DNS-Anbieter (Dynamische DNS) und einen Router, welcher Portumleitungen unterstützt. Letzteres ist bei so gut wie allen verbreiteten Geräten der Fall. Ein Dyn-DNS-Dienst stellt eine Verbindung zwischen Ihrer dynamischen öffentlichen IP-Adresse vom Provider und einem feststehenden Host-Namen her. Die Fritzbox beispielsweise unterstützt zahlreiche Dyn-DNS-Dienste von Haus aus. Für unseren Workshop nutzen wir das kostenlose noip.com. Registrieren Sie sich beim Anbieter , und legen Sie eine Domain und einen Host-Namen für Ihren Server fest. Merken Sie sich das Passwort gut, denn dieses benötigen Sie anschließend für die Konfiguration in der Fritzbox. Nachdem Sie Ihre E-Mail-Adresse bestätigt haben, ist das Noip-Konto aktiv. Innerhalb der Fritzbox finden Sie die Einstellungen unter „Internet > Freigabe > Dynamic DNS“. Wählen Sie aus dem Anbieterfeld den Dienstleister aus – in unserem Beispiel „No-IP.com“ –, und tragen Sie Ihren dort definierten Domain-Namen, den Benutzernamen sowie das Kennwort ein. Damit ist die Fritzbox aus dem Internet erreichbar. Im letzten Schritt müssen Sie noch die Verbindung zu Ihrem Webserver herstellen. Dies geschieht über eine Portfreigabe unter „Internet > Freigaben“. Fügen Sie über die gleichnamige Schaltfläche eine neue Portfreigabe hinzu. Für Webserver gibt es bereits einen vorkonfigurierten Standard namens „HTTP-Server“, welcher die wichtigsten Werte vorab festlegt. Geben Sie beim Feld „an Computer“ lediglich noch die lokale IP-Adresse des Raspberry Pi an. Nachdem Sie die Freigabe aktiviert haben, ist Ihr Webserver auch im Internet erreichbar, in unserem Beispiel unter dem Namen „meinerapi.ddns.net“.
