piwigo php

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
jcw
Beiträge: 99
Registriert: 10.01.2016 17:11:46

piwigo php

Beitrag von jcw » 01.05.2022 21:34:19

Hallo!
Es geht um die Web-Anwendung piwigo, die auf einem Raspberry 3b läuft. Ich habe nun von Debian 9 über debian 10 auf debian 11 aktualisiert. Nun habe mehrere php-Versionen verfügbar.
oot@jw04:~# ls /usr/bin/php -lah
lrwxrwxrwx 1 root root 21 16. Jul 2017 /usr/bin/php -> /etc/alternatives/php
root@jw04:~# update-alternatives --config php
Es gibt 2 Auswahlmöglichkeiten für die Alternative php (welche /usr/bin/php bereitstellen).

Auswahl Pfad Priorität Status
------------------------------------------------------------
* 0 /usr/bin/php7.4 74 automatischer Modus
1 /usr/bin/php5 50 manueller Modus
2 /usr/bin/php7.4 74 manueller Modus

Drücken Sie die Eingabetaste, um die aktuelle Wahl[*] beizubehalten,
oder geben Sie die Auswahlnummer ein:
root@jw04:~#
Nun ist ja die Version 7.4 voreingestellt. Nun gehe ich davon aus, dass diese auch benutzt wird. Leider bekomme ich unter piwigo die Meldung, dass die 7.4 Version nicht verwendet wird, sondern die Version php5:
PHP: 5.6.40-0+deb8u12 (Info anzeigen) [2022-05-01 20:44:24]
MySQL: 5.5.5-10.5.15-MariaDB-0+deb11u1 [2022-05-01 20:44:24]
Folgende Pakete sind installiert:
root@jw04:~# dpkg -l | grep php
rc libapache2-mod-php7.0 7.0.33-0+deb9u12 armhf server-side, HTML-embedded scripting language (Apache 2 module)
rc libapache2-mod-php7.3 7.3.31-1~deb10u1 armhf server-side, HTML-embedded scripting language (Apache 2 module)
ii libapache2-mod-php7.4 7.4.28-1+deb11u1 armhf server-side, HTML-embedded scripting language (Apache 2 module)
ii php 2:7.4+76 all server-side, HTML-embedded scripting language (default)
ii php-apc 4.0.7-1 all APC User Cache for PHP 5 (transitional package)
ii php-common 2:76 all Common files for PHP packages
ii php-gd 2:7.4+76 all GD module for PHP [default]
ii php-mbstring 2:7.4+76 all MBSTRING module for PHP [default]
ii php-mysql 2:7.4+76 all MySQL module for PHP [default]
ii php-xml 2:7.4+76 all DOM, SimpleXML, WDDX, XML, and XSL module for PHP [default]
ii php5-apcu 4.0.7-1 armhf APC User Cache for PHP 5
ii php5-cgi 5.6.40+dfsg-0+deb8u12 armhf server-side, HTML-embedded scripting language (CGI binary)
ii php5-cli 5.6.40+dfsg-0+deb8u12 armhf command-line interpreter for the php5 scripting language
ii php5-common 5.6.40+dfsg-0+deb8u12 armhf Common files for packages built from the php5 source
ii php5-fpm 5.6.40+dfsg-0+deb8u12 armhf server-side, HTML-embedded scripting language (FPM-CGI binary)
ii php5-gd 5.6.40+dfsg-0+deb8u12 armhf GD module for php5
rc php5-imagick 3.2.0~rc1-1 armhf Provides a wrapper to the ImageMagick library
ii php5-json 1.3.6-1 armhf JSON module for php5
ii php5-mysql 5.6.40+dfsg-0+deb8u12 armhf MySQL module for php5
ii php5-readline 5.6.40+dfsg-0+deb8u12 armhf Readline module for php5
rc php7.0-cli 7.0.33-0+deb9u12 armhf command-line interpreter for the PHP scripting language
rc php7.0-common 7.0.33-0+deb9u12 armhf documentation, examples and common module for PHP
rc php7.0-fpm 7.0.33-0+deb9u12 armhf server-side, HTML-embedded scripting language (FPM-CGI binary)
rc php7.0-gd 7.0.33-0+deb9u12 armhf GD module for PHP
rc php7.0-json 7.0.33-0+deb9u12 armhf JSON module for PHP
rc php7.0-mbstring 7.0.33-0+deb9u12 armhf MBSTRING module for PHP
rc php7.0-mysql 7.0.33-0+deb9u12 armhf MySQL module for PHP
rc php7.0-opcache 7.0.33-0+deb9u12 armhf Zend OpCache module for PHP
rc php7.0-readline 7.0.33-0+deb9u12 armhf readline module for PHP
rc php7.0-xml 7.0.33-0+deb9u12 armhf DOM, SimpleXML, WDDX, XML, and XSL module for PHP
rc php7.3-cli 7.3.31-1~deb10u1 armhf command-line interpreter for the PHP scripting language
rc php7.3-common 7.3.31-1~deb10u1 armhf documentation, examples and common module for PHP
rc php7.3-gd 7.3.31-1~deb10u1 armhf GD module for PHP
rc php7.3-json 7.3.31-1~deb10u1 armhf JSON module for PHP
rc php7.3-mbstring 7.3.31-1~deb10u1 armhf MBSTRING module for PHP
rc php7.3-mysql 7.3.31-1~deb10u1 armhf MySQL module for PHP
rc php7.3-opcache 7.3.31-1~deb10u1 armhf Zend OpCache module for PHP
rc php7.3-readline 7.3.31-1~deb10u1 armhf readline module for PHP
rc php7.3-xml 7.3.31-1~deb10u1 armhf DOM, SimpleXML, WDDX, XML, and XSL module for PHP
ii php7.4 7.4.28-1+deb11u1 all server-side, HTML-embedded scripting language (metapackage)
ii php7.4-cli 7.4.28-1+deb11u1 armhf command-line interpreter for the PHP scripting language
ii php7.4-common 7.4.28-1+deb11u1 armhf documentation, examples and common module for PHP
ii php7.4-gd 7.4.28-1+deb11u1 armhf GD module for PHP
ii php7.4-json 7.4.28-1+deb11u1 armhf JSON module for PHP
ii php7.4-mbstring 7.4.28-1+deb11u1 armhf MBSTRING module for PHP
ii php7.4-mysql 7.4.28-1+deb11u1 armhf MySQL module for PHP
ii php7.4-opcache 7.4.28-1+deb11u1 armhf Zend OpCache module for PHP
ii php7.4-readline 7.4.28-1+deb11u1 armhf readline module for PHP
ii php7.4-xml 7.4.28-1+deb11u1 armhf DOM, SimpleXML, XML, and XSL module for PHP
Hier noch die Ausgabe, die zeigt, dass php5 geladen wird.
Kann mir jemand mitteilen, wie ich nun meine piwigo-Anwendung mit php7.4 laufen lasse?
Vielen Dank vorab.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: piwigo php

Beitrag von eggy » 01.05.2022 22:30:08

Völlig veraltete PHP-Versionen behalten ist keine gute Idee, also wenn möglich weg damit. Apache? Wenn php5 gar nicht mehr gebraucht wird, die entsprechenden Pakete via "apt-get remove php5*" loswerden. Falls es nur im Webserver nicht mehr gebraucht wird, "a2dismod" versuchen, da sollte dann ein php5 angezeigt werden, das einfach abschalten.

thoerb
Beiträge: 1677
Registriert: 01.08.2012 15:34:53
Lizenz eigener Beiträge: MIT Lizenz

Re: piwigo php

Beitrag von thoerb » 01.05.2022 22:47:00

eggy hat geschrieben: ↑ zum Beitrag ↑
01.05.2022 22:30:08
Völlig veraltete PHP-Versionen behalten ist keine gute Idee, also wenn möglich weg damit. Apache? Wenn php5 gar nicht mehr gebraucht wird, die entsprechenden Pakete via "apt-get remove php5*" loswerden. Falls es nur im Webserver nicht mehr gebraucht wird, "a2dismod" versuchen, da sollte dann ein php5 angezeigt werden, das einfach abschalten.
Anschließend noch:

Code: Alles auswählen

a2enmod php7.4
und den Apache neu starten.

Code: Alles auswählen

systemctl restart apache2

jcw
Beiträge: 99
Registriert: 10.01.2016 17:11:46

Re: piwigo php

Beitrag von jcw » 02.05.2022 20:44:33

Danke für die Antworten. Ich benutze kein Apache, sondern nginx. Leider sehe ich nirgends einen Eintrag, bei dem ich die Version einstellen kann. Diese Abfrage liefert:
root@jw04:/etc/php5/fpm# php -v
PHP 7.4.28 (cli) (built: Feb 17 2022 16:17:19) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.28, Copyright (c), by Zend Technologies
root@jw04:/etc/php5/fpm#
Trotzdem wird die Seite wie oben mit php5.6 gestartet.

Benutzeravatar
TRex
Moderator
Beiträge: 8068
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: piwigo php

Beitrag von TRex » 02.05.2022 21:51:02

Du musst explizit Konfiguration dafür angelegt haben. Schau in /etc/nginx, grep -R php dort...
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

jcw
Beiträge: 99
Registriert: 10.01.2016 17:11:46

Re: piwigo php

Beitrag von jcw » 02.05.2022 22:15:47

eggy hat geschrieben: ↑ zum Beitrag ↑
01.05.2022 22:30:08
Völlig veraltete PHP-Versionen behalten ist keine gute Idee, also wenn möglich weg damit. Apache? Wenn php5 gar nicht mehr gebraucht wird, die entsprechenden Pakete via "apt-get remove php5*" loswerden. Falls es nur im Webserver nicht mehr gebraucht wird, "a2dismod" versuchen, da sollte dann ein php5 angezeigt werden, das einfach abschalten.
Jetzt habe ich die gelöscht. Jetzt geht erstmal gar nichts. Da muss ich erstmal schauen, was ich wieder zum Laufen bekomme. Dauert ein bißchen.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: piwigo php

Beitrag von eggy » 02.05.2022 22:44:30

jcw hat geschrieben: ↑ zum Beitrag ↑
02.05.2022 22:15:47
Jetzt geht erstmal gar nichts.
Genaue Fehlerbeschreibungen erhöhen die Wahrscheinlichkeit, dass jemand helfen kann oder mag.

Code: Alles auswählen

ii libapache2-mod-php7.4 7.4.28-1+deb11u1 armhf server-side, HTML-embedded scripting language (Apache 2 module)
daher die Annahme, dass da vermutlich ein Apache läuft.
Mich würde es nicht wundern, wenn sich da nun zwei Webserver um Port 80 prügeln.

Benutzeravatar
TRex
Moderator
Beiträge: 8068
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: piwigo php

Beitrag von TRex » 02.05.2022 22:49:15

eggy hat geschrieben: ↑ zum Beitrag ↑
02.05.2022 22:44:30
Mich würde es nicht wundern, wenn sich da nun zwei Webserver um Port 80 prügeln.
Find ich auch nicht abwegig, mit lsof -i :80 könnte man das rausfinden. Und wenns nginx ist - bitte meinen vorigen Beitrag nicht ignorieren.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

jcw
Beiträge: 99
Registriert: 10.01.2016 17:11:46

Re: piwigo php

Beitrag von jcw » 03.05.2022 20:59:55

Jetzt läuft es wieder. Meine /etc/nginx/sites-available/default sieht wie folgt aus:

Code: Alles auswählen

server {
listen 80;
server_name 192.168.178.4;
return 301 https://$server_name$request_uri; # enforce https
}

server {
listen 443 ssl;
server_name 192.168.178.4;

###ssl_certificate /etc/nginx/cert.pem;
###ssl_certificate_key /etc/nginx/cert.key;

ssl_certificate /etc/ssl/certs/myblog.pem;
ssl_certificate_key /etc/ssl/private/myblog.key;


# Path to the root of your installation
root /external_disk/data32/fotos-piwigo2;

client_max_body_size 1000M; # set max upload size
fastcgi_buffers 64 4K;

index index.php index.htm index.html index.nginx-debian.html;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;

location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}

##location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
##deny all;
##}

location / {
# The following 2 rules are only needed with webfinger
##rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
##rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

try_files $uri $uri/ index.php;
}

location ~ ^(.+?\.php)(/.*)?$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;}

#         deny access to .htaccess files, if Apache's document root
#         concurs with nginx's one
        
     location ~ /\.ht {
     deny all;
    }




# Optional: set long EXPIRES header on static assets
location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
expires 30d;
# Optional: Don't log access to assets
access_log off;
}

}
Ich habe es nur durch vielfaches Ausprobieren zum Laufen bekommen. Ob die Einstellung einen tieferen Sinn ergeben, kann ich nicht beurteilen. Vielleicht kann mal jemand draufschauen, ob es so in Ordnung gibt, oder ob sich in dieser Konfiguration Sicherheitslücken auftun.

Danke!
Zuletzt geändert von TRex am 03.05.2022 21:59:31, insgesamt 1-mal geändert.
Grund: quote zu code Tags geändert

Antworten