Raspberry Pi als Webserver einsetzen: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
|||
| (8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 25: | Zeile 25: | ||
=MySQL (MariaDB) installieren= | =MySQL (MariaDB) installieren= | ||
sudo apt-get install | sudo apt-get install mariadb-server mariadb-client | ||
== | ==MariaDB-Server starten== | ||
sudo systemctl start mariadb | |||
==MariaDB Autostart== | |||
sudo systemctl enable mariadb | |||
==MariaDB konfigurieren== | |||
Die Datenbank-Installation sichern wir mit einem Passwort. | |||
sudo mysql_secure_installation | sudo mysql_secure_installation | ||
=PHP 7.4 deinstallieren= | |||
sudo apt purge '^php7.4.*' | |||
=PHP installieren= | =PHP installieren= | ||
sudo apt | sudo apt install php8.0-common php8.0-fpm php8.0-mysql php8.0-cli | ||
=nginx für Nutzung von PHP konfigurieren= | =nginx für Nutzung von PHP konfigurieren= | ||
| Zeile 46: | Zeile 50: | ||
listen [::]:80 default_server; | listen [::]:80 default_server; | ||
root /var/www | #Wurzel-Verzeichnis für HTML-Dokumente festlegen! | ||
root /var/www; | |||
#Akzeptierte HTML-Dokumenttypen | |||
index index.php index.html index.htm index.nginx-debian.html; | index index.php index.html index.htm index.nginx-debian.html; | ||
#Server-IP | |||
server_name [your public IP]; | server_name [your public IP]; | ||
| Zeile 58: | Zeile 65: | ||
location ~ \.php$ { | location ~ \.php$ { | ||
include snippets/fastcgi-php.conf; | include snippets/fastcgi-php.conf; | ||
fastcgi_pass unix:/var/run/ | fastcgi_pass unix:/var/run/php8.0-fpm.sock; | ||
} | } | ||
| Zeile 78: | Zeile 85: | ||
=Nginx für phpMyAdmin konfigurieren= | =Nginx für phpMyAdmin konfigurieren= | ||
Symlink für die Verbindung anlegen: | Symlink für die Verbindung anlegen: | ||
sudo ln -s /usr/share/phpmyadmin /var/www | sudo ln -s /usr/share/phpmyadmin /var/www | ||
=phpMyAdmin absichern= | =phpMyAdmin absichern= | ||
Aktuelle Version vom 27. März 2024, 13:35 Uhr
Der Bastelrechner Raspberry Pi wurde u.a. konzipiert, um 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. Für die Auslieferung von Webseiten wird mindestens ein Webserver benötigt. Neben Apache erlangt die Open Source Software nginx immer mehr Bedeutung. Der Resourcen schonende 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:
nginx installieren
[Bearbeiten | Quelltext bearbeiten]Wer einen Webserver auf einem Raspberry Pi nutzen möchte, kann verschiedene Software ausprobieren. Z.B. Apache Webserver, Lighttpd oder nginx. Jeder der eben genannten Webserver kann mit PHP umgehen und kann mit einem Datenbanksystem wie MySQL zusammenarbeiten. Wir haben uns für den leichtgewichtigen, schnellen Webserver nginx entschieden.
sudo apt-get update sudo apt-get install nginx
Benutzer- und Dateirechte auf dem System einstellen
[Bearbeiten | Quelltext bearbeiten]Benutzergruppe anlegen
[Bearbeiten | Quelltext bearbeiten]sudo groupadd www-data
Benutzer des Servers hinzufügen
[Bearbeiten | Quelltext bearbeiten]sudo usermod -a -G www-data www-data
Dateirechte einstellen
[Bearbeiten | Quelltext bearbeiten]sudo chown -R www-data:www-data /var/www
MySQL (MariaDB) installieren
[Bearbeiten | Quelltext bearbeiten]sudo apt-get install mariadb-server mariadb-client
MariaDB-Server starten
[Bearbeiten | Quelltext bearbeiten]sudo systemctl start mariadb
MariaDB Autostart
[Bearbeiten | Quelltext bearbeiten]sudo systemctl enable mariadb
MariaDB konfigurieren
[Bearbeiten | Quelltext bearbeiten]Die Datenbank-Installation sichern wir mit einem Passwort.
sudo mysql_secure_installation
PHP 7.4 deinstallieren
[Bearbeiten | Quelltext bearbeiten]sudo apt purge '^php7.4.*'
PHP installieren
[Bearbeiten | Quelltext bearbeiten]sudo apt install php8.0-common php8.0-fpm php8.0-mysql php8.0-cli
nginx für Nutzung von PHP konfigurieren
[Bearbeiten | Quelltext bearbeiten]sudo nano /etc/nginx/sites-available/default
server {
listen 80 default_server;
listen [::]:80 default_server;
#Wurzel-Verzeichnis für HTML-Dokumente festlegen!
root /var/www;
#Akzeptierte HTML-Dokumenttypen
index index.php index.html index.htm index.nginx-debian.html;
#Server-IP
server_name [your public IP];
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php8.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
nginx Konfiguration testen
[Bearbeiten | Quelltext bearbeiten]sudo nginx -t sudo systemctl reload nginx
phpMyAdmin installieren
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]Symlink für die Verbindung anlegen:
sudo ln -s /usr/share/phpmyadmin /var/www
phpMyAdmin absichern
[Bearbeiten | Quelltext bearbeiten]Symlink umbenennen:
sudo mv phpmyadmin NichtsZuSehen
phpMyAdmin Anmeldung klappt nicht
[Bearbeiten | Quelltext bearbeiten]Access denied for user 'root'@'localhost' (using password: YES)
