Raspberry Pi 3 Mod B / B+: Apache2 und PHP installieren |
|
Apache-Server | Das Programm Apache2 macht den Raspberry zu einem HTTP-Server im LAN oder WAN. 1. wenn noch nicht geschehen das Betriebssystem updaten sudo apt-get update 2. Apache2 installieren durch .. sudo apt-get install apache2 -y Das HTML-Rootverzeichnis lautet nach seiner Installation .. /var/www/html war die Installation erfolgreich, sollte im lokalen Netzwerk die index.html-Seite über einen Browser aufrufbar sein. z.B. 192.168.x.x, also der IP des Raspberry im lokalen Netztwerk (LAN). |
Die Installation legt eine Datei index.html im HTML-Rootverzeichnis /var/www/html an. Auf das Verzeichnis umschalten und ansehen durch .. cd /var/www/html ls -al Die Ausgabe erzeugt die Zeilen .. insgesamt 24 drwxr-xr-x 2 root root 4096 Okt 3 16:44 . drwxr-xr-x 3 root root 4096 Okt 3 16:44 .. -rw-r--r-- 1 root root 11104 Okt 3 16:44 index.html Die letzte Zeile ist die angelegte Datei index.html Die Zeilen mit den Punkten am Ende sind Referenzen auf die davorliegenden Verzeichnisse 1 . zeigt auf das aktuelle Verzeichnis /var/www/ 2 .. zeigt auf das davorliegende Verzeichnis /var/ root root weist auf den Benutzer root, und dessen Gruppe root hin. Um die index.html und weitere .html-Dateien folgend hinzufügen und ändern zu können, macht es u.U. Sinn, den beschriebenen Samba-Server mit root-Rechten auszustatten. Apache: Root-Verzeichnis und Ports ändern -> Apache: passwortgeschützte Verzeichnisse einrichten -> Apache: Root-Verzeichnis auf USB-SD-Karte verlegen -> | |
![]() ![]() |
|
PHP | PHP ist eine Progammiersprache die der Apache-Server versteht, wenn der PHP- Compiler installiert wurde. Mit ihm lassen sich HTML-Seiten erstellen, die PHP-Zeilen enthalten oder vollständig in dieser Sprache programmiert wurden. Solche Dateien tragen die Endung .php Der PHP-Compiler wird durch .. installiert: sudo apt-get install php7.0 libapache2-mod-php7.0 -y Das Betriebssystem Rasbian GNU/Linux 9.8 (stretch) unterstützt php5 nicht mehr. |
Eine
Beispiel.php Datei könnte test.php genannt werden und im
HTML-Rootverzeichnis /var/www/html abgelegt werden. Sie könnte
mit dem Texteditor nano erstellt werden und folgenden Inhalt
besitzen ..
sudo
nano /var/www/html/test.php
<HTML> <HEAD><TITLE>PHP-Testseite</TITLE></HEAD> <BODY> <CENTER> <?php echo "<BR><FONT COLOR=\"#0000FF\"><FONT SIZE=4>"; echo "Test einer <B>Raspberry.php</B> -Seite"; echo "</FONT></FONT><BR><BR>"; echo "aktuelles Datum: "; echo date('d-m-Y H:i:s'); echo "<BR><BR>"; phpinfo(); ?> </CENTER> </BODY> </HTML> Die Seiten index.html und test.php können im privaten Netzwerk über die IP des raspberry aufgerufen werden. z. B: 192.168.0.x bzw. 192.168.0.x/test.php Anmerkung: Sollen mit PHP eigene Dateien gelesen und beschrieben werden, so müssen PHP Scheibrechte eingeräumt werden. Sinnvoll ist hier der Benutzer 'www-data' mit der Erlaubnis 7xx (s.Kommandozeilenbefehle chown und chmod) |
|
![]() ![]() |
|
PHP-timezonedb.so | Die timezonedb.so ist eine Datei, in der Angaben zu den Zeitzonen und deren Sommer- und Normalzeiten enthalten sind. Diese werden letztlich politisch bestimmt und können sich zu beliebigen Zeiten ändern. Installation der aktuellen timezonedb.so über PECL (PHP Extension Community Library) ( bisherige Installation updaten sudo apt-get update) 1. Damit PECL verfügbar ist, die PEAR (PHP Extension and Application Repository) installieren sudo apt-get install php-pear php7.0-dev 2. dann mit PECL die timezonedb.so installieren: sudo pecl install timezonedb |
Zuletzt muss die timezonedb.so als Erweiterung in der Datei php.ini, mit dem Editor 'nano', unterhalb des dortigen Eintrags '### Dynamic Extensions ###' (etwa in der Mitte der Datei) .. vermerkt werden. sudo nano /etc/php//7.0/apache2/php.ini Eintrag hinter .. ### Dynamic Extensions ### Der Eintrag lautet.. extension=timezonedb.so speichern [CTRL][o] nano verlassen [CTRL][x] Anmerkung: Bei einem erneuten Update der timezonedb.so nur den Schritt 2 ausführen und den Server z.B. mit 'reboot' neu starten. Die Datei timezonedb.so ist in .. /usr/lib/php/20151012 .. zu finden. |
![]() ![]() |