Raspberry Pi als Webserver einsetzen
Der Bastelrechner Raspberry Pi wurde u.a. konzipiert und Kindern das Erlernen des Programmierens anhand kleiner Projekte zu lehren. Er erfreut sich auch bei Bastlern großer Beliebtheit, wird als Entwicklungssystem, als Retro-Spielkonsole oder Mediacenter eingesetzt und hielt auch im Smarthome-Bereich Einzug.
Auch zur Entwicklung oder dem (heimischen) Betrieb von Homepage-Projekten kann der "RasPi" gut Dienste leisten. nginx kann auch mit PHP und MySQL (MariaDB) umgehen, so dass wir auch Web-Projekte wie Wikis, CMS- oder Blog-Software (z.B. Wordpress oder Cloud-Software (z.B. Owncloud betreiben können.
Im Folgenden möchten wir erklären, wie man den leichtgewichtigen Webserver nginx auf einem Raspberry Pi unter Rasbian installieren und betreiben kann.
Die Kurzfassung:
Inhaltsverzeichnis
NGinx installieren
sudo apt-get update sudo apt-get install nginx
Benutzer- und Dateirechte auf dem System einstellen
Benutzergruppe anlegen
sudo groupadd www-data
Benutzer des Servers hinzufügen
sudo usermod -a -G www-data www-data
Dateirechte einstellen
sudo chown -R www-data:www-data /var/www
MySQL (MariaDB) installieren
sudo apt-get install mysql-server
Sicherheits-Setup durchführen
sudo mysql_secure_installation
PHP 7.0 installieren
sudo apt-get install php7.0 php7-fpm
PHP.ini anpassen
sudo nano /etc/php/7.0/fpm/php.ini
Zeile #cgi.fix_pathinfo=1
finden und ändern zu cgi.fix_pathinfo=0
...und anschließend PHP neu starten.
sudo systemctl restart php7.0-fpm
nginx für Nutzung von PHP konfigurieren
sudo nano /etc/nginx/sites-available/default
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name [your public IP];
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
nginx Konfiguration testen
sudo nginx -t sudo systemctl reload nginx
phpMyAdmin installieren
sudo apt-get install phpmyadmin
- Bei der Abfrage nach dem eingesetzten Server (Apache oder lighttpd) nichts ankreuzen und bestätigen
- Datenbankpasswort eingeben
Nginx für phpMyAdmin konfigurieren
Symlink für die Verbindung anlegen:
sudo ln -s /usr/share/phpmyadmin /var/www/html
phpMyAdmin absichern
Symlink umbenennen:
sudo mv phpmyadmin NichtsZuSehen