PHP - NGINX #3
Einleitung
PHP (Akronym für Hypertext Preprocessor) ist eine Programmiersprache für das dynamische anzeigen von Inhalt.
Um diese unter NGINX verwenden zu können, benötigt man das Paket php-fpm.
Installation
sudo apt-get install php-fpm
Wenn wir ebenso mit MySQL interagieren möchten, z.B. mit phpMyAdmin benötigen wir ebenso dieses Modul:
sudo apt-get install php-mysql
CHANGE LATER WENN LEON-ELIAS FERTIG HAT
Wie man MySQL unter Linux aufsetzt, zeig dir mein Kollege Leon hier.
Konfiguration
nano /etc/nginx/site-enabled/default
Diese Konfiguration müssen wir so anpassen, dass PHP Dateien interpretiert werden können. Hier muss folgendes hinzugefügt/editiert werden.
index index.php index.html index.htm index.nginx-debian.html;
server_name <deine Domain>;
root /var/www/html;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Hier wäre eine Beispielkonfiguration von mir:
server {
listen 80 default_server;
listen [::]:80 default_server;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name robinschleser.de;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}
location ~ /\.ht {
deny all;
}
ssl_certificate /etc/letsencrypt/live/robinschleser.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/robinschleser.de/privkey.pem;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
Sollte dies bearbeitet sein, testen wir schnell, ob es funktioniert hat mit:
nginx -t
Output:
root@blog:/etc/nginx/sites-enabled# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Nun können wir NGINX das Signal geben, die Konfigurationen neu zu laden.
nginx -s reload
Testen
Wir haben PHP nun erfolgreich konfiguriert. Jedoch sollte man seine Ergebnisse immer testen.
Hierfür gehen wir zu cd /var/www/html
und erstellen die Datei info.php.
nano info.php
Hier schreiben wir simples PHP:
<?php
phpinfo();
?>
Wenn wir nun die Webseite (http(s)://deine_domain/info.php) aufrufen kommen wir auf jene Seite.
Glückwunsch
Du hast soeben PHP unter Linux und NGINX installiert und konfiguriert.
Jetzt kannst du dir jegliche Webprogramme wie phpMyAdmin oder Nextcloud ohne großen Aufwand installieren.
Danke für das Lesen dieses Artikels, ich hoffe er hat dir gefallen oder auch weiter geholfen.
In den kommenden Tagen wird ein Artikel zur Verwendung von NGINX als reverse Proxy kommen.