Raspberry PI 2 Model B (als Webserver)

Neulich wollte ich meinen Blog wieder in’s Leben rufen. Da solch ein Webserver Tag und Nacht laufen muß sollte der Rechner auf dem das läuft möglichst sparsam und günstig sein. Da kam ich auf den Raspberry PI. Beim PI schien es mir recht einfach zu sein ein OS aufzuspielen und man findet im Netz genügend Anleitungen wie ein Webserver und WordPress installiert werden.

Also einkaufen gefahren bei ALTERNATE. Einen PI 2 Model B (40€), eine schnelle 32GB Micro SDHC (13€) und noch einen USB-Kartenleser (4€) um das Image auf die SD-Karte zu schreiben. Gehäuse brauche ich erstmal nicht und eine Netzteil nehme ich von einem Smartphone (Micro USB).

Zuhause angekommen lade ich mir NOOBS (weil ich ein NOOB bin) von der Raspberry Homepage herunter. Die 760MB große ZIP-Datei entpacke ich auf die SD-Karte. Kein spezielles  Programm zum Image schreiben nötig. Und direkt ab mit der SD-Karte in den Micro-SD Slot des PI. HDMI Kabel zum Monitor dran, eine USB Tastatur (bei bedarf evtl. eine USB Maus), LAN (Internet DHCP vom Router) und gib Saft. Smartphone Ladegerät dran, fertig.

Schnell startet eine Windows like GUI mit einem Installationsmenü. Ich wähle Raspbian OS zum installieren aus. Die Installation läuft zügig durch. Vorteil von NOOBS ist unter anderem das man später mit gedrückter Shift Taste wieder in den Recovery Mode gelangt. Und wie man auf den Fotos sieht, expandiert NOOBS das Root-Filesystem über die gesamte SD-Karte, nutzt also den Speicherplatz auch voll aus. Nach einem Neustart befindet man sich auf dem Raspbian Desktop.

Oben rechts sehe ich als erstes ein Netzwerksymbol und da ich ja einen Webserver installieren möchte werde ich dort jetzt mal versuchen eine feste IP für den PI einzustellen. Ich finde direkt die Einstellung, gebe eine feste IP, Gateway und DNS ein aber das OS wendet Diese nicht an. Erst nach einem Neustart werden die Angaben übernommen !!

Remote Desktop

Und ab in die Ecke mit dem PI. Hätte es nicht für möglich gehalten aber der PI (sein OS) ist tatsächlich Windows XP Remote Dektop tauglich, cool. Da kann man bei Bedarf immer mal ‘direkt’ auf den PI. Ich klemme also HDMI wieder ab und lege den PI in die Ecke.

Es klappt tatsächlich IP eintippen, den Benutzername und wenn man will wird per Häkchen auch noch das Paßwort in Windows XP hinterlegt. Dadurch kommt natürlich jeder von meinem Rechner zum PI :/

PUTTY (Ferzugriff auf Konsole des PI)

puttyputty_konsole

Mit Putty kommt man unter Windows direkt auf die Konsole des PI und braucht dessen Desktop nicht. Ich ziehe mir eine Webserver Installationsanleitung rein.

System Update

sudo apt-get update
sudo apt-get dist-upgrade

Nutzergruppe für den Apache anlegen

sudo groupadd www-data
sudo usermod -a -G www-data www-data

Apache Installation

sudo apt-get install apache2 apache2-doc apache2-utils

Nach der Installation kann man einen Browser öffnen und in die Adresszeile die IP-Adresse des PI eingeben. Es sollte ‘It works!’ erscheinen, der Webserver läuft.

PHP installieren

sudo bash         (dann braucht man nicht immer sudo zu tippen)
apt-get install libapache2-mod-php5 php5 php-pear php5-xcache

Datenbank MySQL installieren mit Ihr Verknüpfung

apt-get install php5-mysql
apt-get install mysql-server mysql-client

phpMyAdmin zur Verwaltung der Datenbank MySQL

apt-get install phpmyadmin

Test der Installation

Zur Prüfung ob PHP wirklich mit den ganzen Merkmalen vorhanden ist, machen wir einen Prüfung. Im Verzeichnis /var/www liegen die Internetseiten unter Linux. Wir wechseln am Pi in diese Verzeichnis mit

cd /var/www

und erstellen mit dem Editor nano eine Datei namens phpinfo.php mit

nano phpinfo.php

dort tragen wir folgendes ein

<?php
phpinfo();
?>

und speichern die Datei mit Ctrl + O und beenden nano mit Ctrl + X

Dann im Webbrowser wieder die IP-Adresse des PI eingeben gefolgt von /phpinfo.php

Nun sollten seitenweise PHP-Informationen erscheinen.

Jetzt muß phpMyAdmin noch mit dem Apache verknüpft werden indem man eine neue Zeile in die apache2.conf einfügt.

nano /etc/apache2/apache2.conf

An das Ende der Datei schreiben wir hinzu

include /etc/phpmyadmin/apache.conf

Dann den Apache einmal neu starten

/etc/init.d/apache2 restart

Mit phpMyAdmin auf MySQL zugreifen

Im Webbrowser wieder die IP des PI eingeben gefolgt von /phpmyadmin

phpMyAdmin ist nur eine Bedienoberfläche für mySQL. Also mit dem mySQL USERNAME und PASSWORT anmelden und eine Datenbank namens wordpress anlegen und einen gleichnamigen USER anlegen.

FTP Server installieren

adpt-get install vsftpd

nano /etc/vsftpd.conf

In der Datei folgende Einträge ausmachen…

  • Anonymous_enable=NO
  • Local_enable=YES
  • Write_enable=YES
  • Ascii_upload_enable=YES
  • Ascii_download_enable=YES

und wie obenstehend abändern. Datei speichern (Ctrl + O) und schließen (Ctrl + X).

Den FTP Server neu starten

/etc/init-d/vsftpd restart

Dem Nutzer PI auf den Ordner /var/www besondere Rechte geben

usermod -a -G www-data pi
chown -R pi /var/www

WordPress

WordPress herunterladen

wget http://wordpress.org/latest.tar.gz

und entpacken

tar -xvzf latest.tar.gz

Einen neuen Ordner mit dem Namen “wordpress” im Verzeichnis /var/www erstellen

sudo mkdir /var/www/wordpress

Root-Account verlassen zum User “pi” zurückkehren

exit

Dateien in den neu erstellten Ordner kopieren

sudo cp -r ~/wordpress/* /var/www/wordpress

Apachen beibringen mit PHP in HTML Dokumenten umzugehen.

Öffnen der apache2.conf

sudo nano /etc/apache2/apache2.conf

Am Ende der Datei die folgende Zeile einfügen

AddType application/x-httpd-php .html

Speichern und verlassen der Datei.

Zum übernehmen der Änderungen den Apache einmal neu starten

sudo /etc/init.d/apache2 restart

WordPress installieren

Nun wird eine Verknüpfung zwischen WordPress und der Datenbank hergestellt. WordPress benötigt eine wp-config.php, diese beinhaltet die Zugangsdaten zur Datenbank ect. Diese Datei gibt es zum Anfang n.n. Um eine wp-config-php zu erstellen kopieren wir diese aus dem Vorlagen Ordner.

sudo cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php

Wir ersetzen nun die Vorlage mit unseren Daten

sudo nano /var/www/wordpress/wp-config.php

Im oberen Bereich der Datei db_name, db_user und db_password anpassen und Speichern/Verlassen.

Nun sollte WordPress im Browser unter der IP des Pi + /wordpress zu erreichen sein.

FTP den User ‘admin’ hinzfügen

sudo useradd -m -s /sbin/false -g users admin

Dem USER ‘admin’ ein Passwort geben

sudo passwd admin

darauf folgen diese Eingabe-Aufforderungen

Geben Sie ein neues UNIX-Passwort ein:
Geben Sie das neue UNIX-Passwort erneut ein:
passwd: Passwort erfolgreich geändert

Den FTP neu starten

sudo service vsftpd restart

Prüfen ob der FTP läuft

ps -A | grep vsftpd

Prüfen ob der FTP horcht

netstat -a |grep ftp

So sollte das aussehen wenn der FTP läuft

Verbindung per TELNET herstellen

telnet localhost 21

Mit quit + ENTER die TELNET Session beenden.

 

Schreibe einen Kommentar