Alma/Rocky/CentOS
Grundlegende Aktionen
- Erstellen Sie vor dem PHP-Update, wenn Passwork in einer Cloud-/virtuellen Umgebung installiert ist, einen Snapshot des virtuellen Betriebssystemzustands, um die Funktionalität bei einem fehlerhaften Update wiederherstellen zu können;
- Erlangen Sie
root-Rechte und aktualisieren Sie die lokale Paketdatenbank:
- shell
sudo -i
dnf update
Entfernen von PHP
Entfernen Sie das Hauptpaket, die Treiber und die PHP-Erweiterungen:
- shell
dnf remove -y php php-json php-ldap php-xml php-bcmath php-mbstring php-curl php-phalcon gcc php-pear curl-devel openssl-devel pcre-devel php-devel php-mysql libtool pcre-devel php-pecl-psr
Entfernen Sie das Verzeichnis mit den verschachtelten PHP-Dateien:
- shell
rm -rf /etc/php.d
Deaktivieren Sie das PHP-Modul aus dem Remi-Repository:
- 8.2
- 8.0
dnf module disable php:remi-8.2
dnf module disable php:remi-8.0
Installation von PHP
Aktivieren Sie das PHP8.3-Modul aus dem Remi-Repository:
- shell
dnf module enable php:remi-8.3
Installieren Sie PHP und zusätzliche Erweiterungen:
- shell
dnf install -y php-cli php-fpm php-curl php-devel php-pear php-gd php-intl php-ldap php-bcmath php-mbstring php-mysqlnd php-opcache php-pgsql php-soap php-zip php-sqlite3 php-xml
Installation des PHP-MongoDB-Treibers
Installieren Sie den PHP-MongoDB-Treiber:
- shell
pecl install -f mongodb
Erstellen Sie eine Konfigurationsdatei zum Laden und Aktivieren von PHP MongoDB:
- shell
echo "extension=mongodb.so" | tee /etc/php.d/20-mongodb.ini
Ändern des PHP-Webserver-Handlers auf php-fpm
Stellen Sie sicher, dass der Dienst php-fpm läuft:
- shell
systemctl status php-fpm
Starten Sie den Dienst und aktivieren Sie den Autostart, falls er gestoppt ist:
- shell
systemctl start php-fpm
systemctl enable php-fpm
Bearbeiten Sie den virtuellen Host des Passwork-Servers, der für das HTTPS-Protokoll konfiguriert ist:
- shell
nano /etc/httpd/conf.d/ssl.conf
Ändern Sie den .php-Datei-Handler, indem Sie die Weiterleitung von Anfragen an den php-fpm-Socket angeben:
- shell
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost/"
</FilesMatch>
Überprüfen Sie, ob die Konfigurationsdatei des virtuellen Hosts dem Beispiel entspricht:
- shell
<VirtualHost _default_:443>
DocumentRoot "/var/www/public"
ServerName passwork:443
<Directory /var/www/public>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
SSLHonorCipherOrder on
SSLCipherSuite PROFILE=SYSTEM
SSLProxyCipherSuite PROFILE=SYSTEM
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost/"
</FilesMatch>
BrowserMatch "MSIE [2-5]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
Starten Sie die Dienste neu:
- shell
systemctl restart php-fpm
systemctl restart httpd