Ein beliebter Verwendungszweck für den Raspberry Pi ist der Einsatz als Webserver. Für viele Projekte, egal ob groß oder klein, bietet es sich meistens an die Daten über eine Webseite zu verarbeiten und darzustellen. Da eignet sich der stromsparende Einplatinencomputer natürlich besonders. Im Folgenden zeige ich euch Schritt für Schritt wie Ihr einen Webserver mit dem Apache 2, PHP5 und MySQL installiert.
Apache 2 installieren
Bevor wir mit der eigentlichen installation anfangen, bringen wir unseren Pi auf den neusten Stand. Dieser Schritt ist optional, kann aber bei eventuell auftretende Fehler während der Installation helfen. Der Vorgang kann einige Minuten in Anspruch nehmen.
sudo apt-get update
Anschließend können wir mit dem Download und der Installation von Apache 2 beginnen.
sudo apt-get install apache2
Ist der Vorgang abgeschlossen, wurde Apache 2 fertig installiert und kann schon verwendet werden. Um die richtige Installation zu testen könnt Ihr an eurem Computer den Browser öffnen und die IP Adresse des Raspberry Pis aufrufen. Der Pi sollte sich dabei selbstverständlich im gleichen Netzwerk befinden.
Wer die IP-Adresse seines Raspberry Pis nicht parat hat kann den folgenden Befehl im Terminal des Einplatinencomputers aufrufen und sich die Netzwerkadresse anzeigen lassen. Unter dem Punkt eth0 ist die IP-Adresse (inet addr) eures Pis zu sehen.
ifconfig
Die Webseite die unter der IP Adresse aufgerufen wird liegt im Verzeichnis /var/www/. Deine Webseite kannst du entweder manuell in das Verzeichnis kopieren oder wie bei herkömmlichen Hostern per FTP hochladen. Dazu muss ein FTP Server auf dem Pi installiert sein. Wie du einen FTP Server installierst und einrichtest erfährst du hier.
PHP5 installieren
Für die meisten Webseiten sind PHP-Dateien unerlässlich. Zum installieren von PHP5 geben wir folgenden Befehl in das Terminal ein.
sudo apt-get install php5
Der Installationsvorgang nimmt einen Augenblick in Anspruch. Mehr muss an dieser Stelle nicht gemacht werden um PHP5 zu installieren. Auch hier testen wir wieder die richtige Funktionalität des PHP-Moduls.
Dazu wechseln wir zunächst in das Verzeichnis /var/www, also dahin wo die Daten zu einer Webseite abgelegt werden.
cd /var/www
Dort erstellen wir die Datei phpinfo.php.
sudo nano phpinfo.php
In der Datei lassen wir uns mit der Funktion phpinfo() alle Informationen und Konfigurationen zum PHP Modul anzeigen. Dazu fügen wir folgende Zeilen ein.
Mit den Tastenkombinationen Strg+O und Strg+X speichern wir die Datei ab und schließen den Editor.
Die gerade angelegte Datei phpinfo.php rufen wir jetzt in einem Browser deiner Wahl auf. Dazu geben wir in die Adresszeile die IP-Adresse des Pi´s ein und navigieren zu unserer Testdatei. Wie Ihr die IP-Adresse eures Einplatinencomputers herausfindet, wurde bei der Installation von Apache 2 beschrieben.
http://IP-des-Raspberry-Pi/phpinfo.php
Also zum Beispiel http://192.168.2.2/phpinfo.php . Wenn die Installation von PHP erfolgreich war sollte eine lange Tabelle mit der Konfiguration des PHP-Moduls erscheinen. Alternativ kann zum Testen der Funktionalität von PHP auch eine beliebig andere PHP Funktion aufgerufen werden.
MySQL installieren
Neben PHP sind Webseiten auch fast immer durch eine Datenbank gestütz. Das weit verbreitete Datenbanksystem MySQL soll daher nicht auf unserem Raspberry Pi Webserver fehlen. Mit dem folgenden Befehl starten wir die Installation.
sudo apt-get install mysql-server mysql-client php5-mysql
Der Download und die Installation nimmt wieder einen Augenblick in Anspruch. Während der Installation werdet Ihr aufgefordert ein Passwort für den Root-Benutzer einzugeben und dies zu wiederholen. Mit einem Neustart eures Pi´s wird die Installation von MySQL abgeschlossen.
sudo reboot
Alternativ kann auch einfach der MySQL-Prozess neugestartet werden.
sudo /etc/init.d/mysql restart
phpMyAdmin installieren
Die Verwaltung unserer Datenbanken nehmen wir mit dem Tool phpMyAdmin vor. Um dieses nutzen zu können müssen wir es zunächst installieren.
sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin
Im Verlauf der Installation werden wir gefragt, auf welche Serversoftware wir phpMyAdmin konfigurieren wollen. Dort wählen wir den vorher installierten Apache2 aus. Danach möchte das Tool einige System-Datenbanken anlegen. Dies bestätigen wir mit yes.
Weiterhin werden wir nach dem Passwort für den MySQL-Root-Benutzer gefragt. Dieses Passwort haben wir vorher bei der Installation von MySQL festgelegt. Im nächsten Schritt sollen wir ein Passwort für den phpMyAdmin Zugang vergeben. Zur Bestätigung muss das Passwort wiederholt werden.
Abschließend müssen wir noch phpMyAdmin mit Apache 2 verknüpfen. Dafür bearbeitet wir die Konfigurationsdatei apache2.conf mit dem Editor nano.
sudo nano /etc/apache2/apache2.conf
Mit mehrmaligem drücken der Tastenkombination Strg+V navigieren wir zum Ende der Datei. Am Ende der Konfig fügen wir eine neue Zeile ein.
Include /etc/phpmyadmin/apache.conf
Mit den Tastenkombinationen Strg+O und Strg+X speichern und schließen wir die Konfigurationsdatei. Als letztes starten wir Apache noch einaml neu.
/etc/init.d/apache2 restart
Jetzt ist phpMyAdmin vollständig installiert und kann im Browser wie folgt aufgerufen werden.
http://IP-des-Raspberry-Pi/phpmyadmin/
Auch hier wieder ein Beispiel: http://192.168.2.2/phpmyadmin/
Quellen (Stand:05.09.14): forum-raspberrypi.de, kriwanek.de, raspipress.com
Hi, ich frage mich gerade, warum unbedingt der Apache2 auf dem Raspberry laufen muss. Ich persönlich würde alleine schon wegen der Performance und der Arbeitsspeichernutzung lighttpd nehmen.
Ich nutze diesen in Verbindung mit einer Owncloud-Installation und ein direkter Vergleich mit identisch konfigurierter Installation unter Apache2 zeigt massiven Geschwindigkeitsgewinn!
Aber warten wir einfach mal ab, wie die Serie weiter geht – vielleicht hast du die Installation anderer Server ja auch auf dem Plan und willst vom langsamsten zum schnellsten/effizientesten Server dich steigern :-)
Ansonsten: Good job, liest sich gut :-) Denke, Einsteiger sollten damit ein vorerst laufendes System hinbekommen.
Hallo Kim, danke für dein Feedback. Die Artikelserie ist gerade erst gestartet und begonnen habe ich mit Apache als “klassische” Webserversorftware. Einige andere Artikel zu lighttpd & Co kommen natürlich auch noch. Über deine Projekte und Verwendungen mit dem Raspberry Pi kannst du bald nochmal berichten, sei gespannt :)
Dann bin ich echt mal gespannt – dein neuer Artikel mit mod_rewrite macht echt Lust auf mehr. Alleine über mod_rewrite könnte man diverse Artikel schreiben, wenn man hier auf die verschiedenen Möglichkeiten eingehen möchte, die sich da bieten :-) Aber es gibt in der weiten Web-Welt da draußen auch einige gute Tutorials darüber, so dass man im Grunde sich bei dir den Geschmack holen kann, um dann mit ein wenig Recherche Lösungen für seine eigenen Wünsche zu erarbeiten :-)
Mach weiter so! Ich finde, du hast wirklich einen guten “Flow” in deinem Schreibstil – es macht richtig Spaß, zu lesen (auch wenn es für mich als IT-Fachkraft bisher noch nix neues war, aber ich sehe die Zielgruppe für dich ja auch jetzt denke ich mal eher bei den Einsteigern).
Also: Daumen hoch!
[…] der Linkstruktur. In diesem Beitrag wird dir erklärt wie du htaccess und mod_rewrite unter Apache aktivierst und […]
Hallo, habe das Tutorial für den BananaPi unter Raspian angewandt. Bemerkter Unterschied:
Der Eintrag in
“sudo nano /etc/apache2/apache2.conf”
erzeugt bei
“Include /etc/phpmyadmin/apache.conf”
einen Fehler. Nach Durchsicht der Verzeichnisse habe ich gesehen, dass ein “phpmyadmin”-Include schon an folgendem Ort existiert:
“/etc/apache2/conf.d”
Dort enthalten ist ein symbolischer Link namens
“phpmyadmin.conf”
Dieser zeigt auf
“/etc/phpmyadmin/apache.conf”
Der Ordner
“/etc/apache2/conf.d”
wird meines Wissens beim Start von Apache auf (Benutzer-) Scripte hin durchsucht und ausgeführt (siehe /etc/apache2/apache2.conf -> fast am Ende der Datei: Include conf.d/
Somit fällt der Eintrag in
“sudo nano /etc/apache2/apache2.conf”
weg.
Grüße,
Schnorpser
hallo was ist der Benutzername
[…] für SQLite installiert werden. Einen eingerichteten Webserver, wie zum Beispiel der Apache, mit PHP muss natürlich vorhanden […]
[…] Installation von Apache, PHP5 und MySQL habe ich bereits hier anhand des Raspberry Pi beschrieben. Die Installation ist unter dem Banana Pi analog. Anstatt eines […]
[…] Installation von Apache, PHP5 und MySQL habe ich bereits hier anhand des Raspberry Pi beschrieben. Die Installation ist unter dem Banana Pi analog. Anstatt eines […]
[…] Pi und Banana Pi) über einen Webserver mit PHP verfügen. Ich verwende für das Beispiel den Apache Webserver. Die Dateien client.php und server.c habe ich in das Verzeichnis /var/www […]
[…] Installation von Apache, PHP5 und MySQL habe ich bereits hier anhand des Raspberry Pi beschrieben. Das Datenbanksystem MySQL benötigen wir allerdings nicht. Im […]
[…] Vorraussetzung für eine Lösung mit PHP ist ein eingerichteter Webserver, wie zum Beispiel der Apache, mit den entsprechenden PHP […]
[…] Vorraussetzung für eine Lösung mit PHP ist ein eingerichteter Webserver, wie zum Beispiel der Apache, mit den entsprechenden PHP […]
[…] Informationen zur Instalaltion eines Apache Webservers findet ihr hier. Ist der Webserver eingerichtet können wir das bereits bei Raspberry-Remote mitgelieferte […]
[…] Informationen zur Instalaltion eines Apache Webservers findet ihr hier. Ist der Webserver eingerichtet können wir das bereits bei Raspberry-Remote mitgelieferte […]
[…] ein Apache Webserver mit PHP 5 genutzt. Wie man diesen installiert wird ausführlich im Beitrag Raspberry Pi: Webserver mit Apache 2, PHP5 und MySQL erläutert. Alternativ hier die beiden Befehle, um den Apache und PHP zu […]
Hallo! Bei mir funktioniert es nicht dass ich PHP5 installiere. Ich habe alle Schritte befolgt, jedoch erscheint bei mir nicht die Tabelle. Muss davor schon irgendwas auf dem Raspberry sein, außer das apache2?
Falls die Frage noch aktuell sein sollte (hat mich zwei Tage gekostet Das herasszufinden).
Die Datei phpinfo.php muss mitlerweile nicht mehr im Ordner /var/www sondern im Ordner /var/www/html abgelegt werden.
Hey,
wie ist die Performance des PHP-Servers mit Mysql? Wie viele Connections / Zugriffe kann er ohne Verzögerungen gleichzeitig bearbeiten?