PHP Upgrade
-
DesasterMaster -
27. August 2020 um 09:29 -
Unerledigt
-
-
Ich glaube Du musst bei NGINX noch einstellen welche PHP Version für jeden Share verwendet wird.
https://opensenselabs.com/blog/tech/chan…te-apache-nginx -
-
Klappt irgendwie nicht.
Der Befehl
funktioniert nicht. Da kommt die Meldung das der Befehl nicht gefunden wurde.
Beim Befehl
Kann ich zwar die gewünschte PHP Version auswählen aber die Meldung, aus dem ersten Post, bleibt.
Auch,
gibt dieses aus..
-
Der Befehl
sudo vim /etc/nginx/sites-available/default
funktioniert nicht. Da kommt die Meldung das der Befehl nicht gefunden wurde.Na dann hast Du keinen vim und nimmst halt einen anderen Editor, z.B:
-
-
Sowohl nano als auch Vim sind installiert. Es wird eine leere Datei angezeigt.
-
Es wird eine leere Datei angezeigt.
Die wird neu erstellt und ist daher leer. a2enmod ist für Apache, das andere ist nginx. Mit was läuft den nun Nextcloud? Alternativ kannst Du ja mal schauen wo nginx überhaupt liegt:
whereis nginx oder cd /etc && find . -name nginx
-
-
-
Unter /etc/nginx sollte dann auch die Konfiguration liegen. Was ist denn da drin? ls -l /etc/nginx/*
-
-
ls -l /etc/nginx/*
Code
Alles anzeigen-rw-r--r-- 1 root root 1007 Dez 25 2018 /etc/nginx/fastcgi_params -rw-r--r-- 1 root root 2837 Dez 25 2018 /etc/nginx/koi-utf -rw-r--r-- 1 root root 2223 Dez 25 2018 /etc/nginx/koi-win -rw-r--r-- 1 root root 5231 Dez 25 2018 /etc/nginx/mime.types lrwxrwxrwx 1 root root 22 Dez 25 2018 /etc/nginx/modules -> /usr/lib/nginx/modules -rw-r--r-- 1 root root 646 Feb 11 2019 /etc/nginx/nginx.conf -rw-r--r-- 1 root root 643 Dez 25 2018 /etc/nginx/nginx.conf~ -rw-r--r-- 1 root root 646 Okt 25 2019 /etc/nginx/nginx.conf.1.10.3.backup -rw-r--r-- 1 root root 646 Okt 25 2019 /etc/nginx/nginx.conf.old -rw-r--r-- 1 root root 636 Dez 25 2018 /etc/nginx/scgi_params -rw-r--r-- 1 root root 664 Dez 25 2018 /etc/nginx/uwsgi_params -rw-r--r-- 1 root root 3610 Dez 25 2018 /etc/nginx/win-utf /etc/nginx/conf.d: insgesamt 32 -rw-r--r-- 1 root root 1093 Dez 25 2018 default.conf_disabled -rw-r--r-- 1 root root 6861 Aug 27 16:45 mywebsite.de.conf -rw-r--r-- 1 root root 6815 Jan 17 2020 mywebsite.de.conf~ -rw-r--r-- 1 root root 161 Feb 11 2019 mywebsite.de_letsencrypt.conf -rw-r--r-- 1 root root 4463 Nov 19 2019 mywebsite.de_nextcloud.conf /etc/nginx/ssl: insgesamt 4 -rw------- 1 root root 769 Feb 11 2019 dhparams.pem
-
Hmm, jetzt musst Du dich durchwurschteln. Erster Ansatz (für mich) ist der Inhalt der nginx.conf: more /etc/nginx/nginx.conf
-
-
Okay, nach was soll ich suchen?
-
Eigentlich solltest Du erstmal den Inhalt der Datei hier posten. Wird aber wahrscheinlich zu groß sein. Was steckt denn in /usr/lib/nginx/modules drin? ls -al /usr/lib/nginx/modules/*
-
-
more /etc/nginx/nginx.conf
Code
Alles anzeigenuser www-data; worker_processes 1; error_log /var/[definition='1','0']log[/definition]/nginx/error.[definition='1','0']log[/definition] warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/[definition='1','0']log[/definition]/nginx/access.[definition='1','0']log[/definition] main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf;
ls -al /usr/lib/nginx/modules/*
-
Die Konfiguration für diverse Seiten werden aus conf.d nachgeladen (oben Zeile 30). Hätte man auch so drauf kommen können . Jetzt ist der Inhalt von mywebsite.de_nextcloud.conf interessant:
more /etc/nginx/conf.d/mywebsite.de_nextcloud.conf
-
-
-
more /etc/nginx/conf.d/mywebsite.de_nextcloud.conf
Code
Alles anzeigenserver { listen 127.0.0.1:82; server_name 127.0.0.1; # Path to the root of your installation root /var/www/; location = /robots.txt { allow all; log_not_found off; access_log off; } location ^~ /nextcloud { # set max upload size client_max_body_size 10G; fastcgi_buffers 64 4K; # Enable gzip but do not remove ETag headers gzip on; gzip_vary on; gzip_comp_level 4; gzip_min_length 256; gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; # Uncomment if your server is build with the ngx_pagespeed module # This module is currently not supported. #pagespeed off; location /nextcloud { rewrite ^ /nextcloud/index.php$request_uri; } location ~ ^/nextcloud/(?:build|tests|config|lib|3rdparty|templates|data)/ { deny all; } location ~ ^/nextcloud/(?:\.|autotest|occ|issue|indie|db_|console) { deny all; } location ~ ^/nextcloud/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) { fastcgi_split_path_info ^(.+\.php)(/.+)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; # Important: disable HTTPS, otherwise no [definition='1','0']log[/definition] in will be possible! #fastcgi_param HTTPS on; fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice fastcgi_param front_controller_active true; fastcgi_pass php-handler; fastcgi_intercept_errors on; # Raise timeout values. # This is especially important when the Nextcloud setup runs into timeouts (504 gateway errors) fastcgi_read_timeout 600; fastcgi_send_timeout 600; fastcgi_connect_timeout 600; fastcgi_request_buffering off; # Pass PHP variables directly to PHP. # This is usually done in the php.ini. For more flexibility, these variables are configured in the nginx config. # All the PHP parameters have to be set in one fastcgi_param. When using more 'fastcgi_param PHP_VALUE' directives, the last one will override all the others. fastcgi_param PHP_VALUE "open_basedir=/var/www:/tmp/:/var/nextcloud_data:/dev/urandom:/proc/meminfo upload_max_filesize = 10G post_max_size = 10G max_execution_time = 3600 max_input_time = 3600 output_buffering = off"; # Make sure that the real IP of the remote host is passed to PHP. fastcgi_param REMOTE_ADDR $http_x_real_ip; } location ~ ^/nextcloud/(?:updater|ocs-provider)(?:$|/) { try_files $uri/ =404; index index.php; } # Adding the cache control header for js and css files # Make sure it is BELOW the PHP block location ~* \.(?:css|js|woff2?|svg|gif)$ { try_files $uri /nextcloud/index.php$request_uri; proxy_set_header Cache-Control "public, max-age=15778463"; # Add headers to serve security related headers # Use 'proxy_set_header' (not 'add_header') as the headers have to be passed through a proxy. proxy_set_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload;"; proxy_set_header X-Content-Type-Options nosniff; proxy_set_header X-XSS-Protection "1; mode=block"; proxy_set_header X-Robots-Tag none; proxy_set_header X-Download-Options noopen; proxy_set_header X-Permitted-Cross-Domain-Policies none; proxy_set_header Referrer-Policy no-referrer; # Optional: Don't [definition='1','0']log[/definition] access to assets access_log off; } location ~* \.(?:png|html|ttf|ico|jpg|jpeg)$ { try_files $uri /nextcloud/index.php$request_uri; # Optional: Don't [definition='1','0']log[/definition] access to other assets access_log off; } } }
-
-
Hmm, da finde ich nichts auffälliges. Allerdings sehe ich in der config fastcgi und das steckt in php-fpm. Ist das für die 7.4 installiert?
-
service php7.2-fpm status
Code
Alles anzeigen● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset Active: active (running) since Thu 2020-08-27 16:54:37 CEST; 1h 11min ago Docs: man:php-fpm7.2(8) Main PID: 882 (php-fpm7.2) Status: "Processes active: 0, idle: 3, Requests: 162, slow: 0, Traffic: 0req/s Tasks: 4 (limit: 3987) CGroup: /system.slice/php7.2-fpm.service ├─ 882 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) ├─ 4782 php-fpm: pool www ├─28728 php-fpm: pool www └─28860 php-fpm: pool www Aug 27 16:54:35 HTPC systemd[1]: Starting The PHP 7.2 FastCGI Process Manager... Aug 27 16:54:37 HTPC systemd[1]: Started The PHP 7.2 FastCGI Process Manager.
service php7.4-fpm status
Code
Alles anzeigen● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset Active: active (running) since Thu 2020-08-27 18:04:07 CEST; 2min 36s ago Docs: man:php-fpm7.4(8) Process: 8051 ExecStopPost=/usr/lib/php/php-fpm-socket-helper remove /run/php/p Process: 8078 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php Main PID: 8053 (php-fpm7.4) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec Tasks: 3 (limit: 3987) CGroup: /system.slice/php7.4-fpm.service ├─8053 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf) ├─8073 php-fpm: pool www └─8076 php-fpm: pool www Aug 27 18:04:07 HTPC systemd[1]: Starting The PHP 7.4 FastCGI Process Manager... Aug 27 18:04:07 HTPC systemd[1]: Started The PHP 7.4 FastCGI Process Manager.
-
-
Hmm, alles da. Wir biegen jetzt den PHP-Handler auf php7.4-fpm um:
sudo nano /etc/nginx/conf.d/mywebsite.de_nextcloud.conf
Dort in Zeile 54 fastcgi_pass php-handler; gegen fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; ersetzen. Ich gebe keine Garantie! die Datei vorher sichern. Nginx und php7.4-fpm neu starten.
-
Das hat geklappt. Super
Dafür habe ich jetzt einige neue Fehler in Nextcloud
CodeDie Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten: PHP module GD not installed. Please ask your server administrator to install the module. Letzte Cron-Job-Ausführung: Vor 9 Stunden. Möglicherweise liegt ein Fehler vor. Überprüfe Einstellungen für Hintergrundausführungen PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv("PATH") liefert nur eine leere Antwort zurück. Bitte die Installationsdokumentation ↗ auf Hinweise zur PHP-Konfiguration durchlesen sowie die PHP-Konfiguration Deines Servers überprüfen, insbesondere dann, wenn PHP-FPM eingesetzt wird. Die PHP-Speichergrenze liegt unterhalb des empfohlenen Wertes von 512MB.
-
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!