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.
 
 

www.GoBlack.de