So installieren Sie suPHP für PHP5 auf CentOS 7 (Peng Ge)

So installieren Sie suPHP für PHP5 auf CentOS 7 (Peng Ge)

Standardmäßig wird PHP unter CentOS 7 als Apache oder Nobody ausgeführt. Diese Methode erfordert umfangreiche Berechtigungen zum Ausführen von PHP, was ein Sicherheitsrisiko darstellen und auch von anderen Benutzern des Servers beeinflusst werden kann.

Zeigen Sie die PHP-Informationen über phpinfo wie folgt an:

Apache führt PHP aus

Wie Sie sehen, wird PHP derzeit als Teil von Apache ausgeführt, anstatt für jedes Skript einen separaten Prozess auszuführen. Wenn Sie möchten, dass PHP-Skripte als aktueller Benutzer statt als Apache ausgeführt werden, können Sie dies durch die Bereitstellung von suPHP erreichen. Als Nächstes stellen wir vor, wie suPHP auf CentOS 7 installiert wird.

Konfigurieren Sie zunächst die für die Installation von suphp erforderliche Umgebung:

yum -y groupinstall 'Entwicklungstools'
yum -y installiere apr-devel
yum -y installiere httpd-devel

Laden Sie das suphp-Installationspaket herunter:

mkdir temp
CD-Temperatur
wget http://suphp.org/download/suphp-0.7.2.tar.gz
tar zxvf suphp-0.7.2.tar.gz

Laden Sie den Suphp-Patch herunter und installieren Sie ihn:

wget -O patchingsuphp.patch https://www.webhostinghero.com/downloads/php/suphp.patch
patch -Np1 -d suphp-0.7.2 < Patchen von suphp.patch
cd suphp-0.7.2
autoreconf -if

Führen Sie ./configure aus:

./configure --prefix=/usr/ --sysconfdir=/etc/ --with-apr=/usr

/bin/apr-1-config --with-apache-user=apache --with-setid-mode=owner

--with-logfile=/var/log/httpd/suphp_log

Kompilieren und installieren:

machen
installieren

Erstellen Sie suphp.conf im Apache-Konfigurationsverzeichnis

vi /etc/httpd/conf.d/suphp.conf

Und schreibe:

Lademodul suphp_module module/mod_suphp.so

Erstellen Sie die Konfigurationsdatei suphp.conf im Verzeichnis /etc:

vi /etc/suphp.conf

Und schreiben Sie den Inhalt der Konfigurationsdatei wie folgt:

[global]
;Pfad zur Logdatei
logfile=/var/log/httpd/suphp.log
;Loglevel
loglevel=info
;Benutzer Apache läuft als
webserver_user=apache
;Pfad, in dem sich alle Skripte befinden müssen
docroot=/
;Pfad zu chroot() vor der Ausführung des Skripts
;chroot=/mychroot
; Sicherheitsoptionen
allow_file_group_writeable=true
allow_file_others_writeable=false
allow_directory_group_writeable=true
allow_directory_others_writeable=false
;Überprüfen Sie, welches Skript sich in DOCUMENT_ROOT befindet
check_vhost_docroot=true
;Sendet kleinere Fehlermeldungen an den Browser
Fehler im Browser = falsch
;PATH-Umgebungsvariable
env_path=/bin:/usr/bin
;Zu setzende Umask, in Oktalnotation angeben
umask=0077
; Mindest-UID
min_uid=100
; Minimale GID
min_gid=100

[Handler]
;Handler für PHP-Skripte
x-httpd-suphp="php:/usr/bin/php-cgi"
;Handler für CGI-Skripte
x-suphp-cgi="ausführen:!selbst"

Wenn Sie möchten, dass das Domänennamenverzeichnis als Benutzer „user“ ausgeführt wird, ändern Sie die Eigentümereigenschaft des Verzeichnisses wie folgt in „user“:

chown -R [Benutzer].[Benutzer] /var/www/html/[Domänenname]

Suchen Sie abschließend den entsprechenden Domänennamen in der Apache-Konfigurationsdatei und aktivieren Sie suphp:

<FilesMatch ".+\.ph(p[345]?|t|tml)$">
SetHandler Keine
</FilesMatch>
<IfModule mod_suphp.c>
suPHP_Engine ein
<FilesMatch "\.php[345]?$">
SetHandler x-httpd-suphp
</FilesMatch>
suPHP_AddHandler x-httpd-suphp
</IfModule>

Starten Sie abschließend die Apache-Datei neu. Durch den info.php-Test können wir feststellen, dass die Server-API, die den Domänennamen ausführt, von Apache zu CGI/FastCGI geändert wurde, wie in der folgenden Abbildung dargestellt:

An diesem Punkt haben wir die Domänennamen-Zugriffseinstellungen von CentOS so abgeschlossen, dass sie über suph statt über den standardmäßigen Apache-Handler ausgeführt werden. Andere Domänennamen müssen eingerichtet werden. Befolgen Sie einfach die obigen Schritte erneut.

Das könnte Sie auch interessieren:
  • Detaillierte Anweisungen zur Installation von SuPHP auf CentOS 7.2

<<:  Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.16 unter macOS

>>:  Eine ausführliche Einführung in React-Referenzen

Artikel empfehlen

So verwenden Sie video.js in Vue zum Abspielen von Videos im M3U8-Format

Inhaltsverzeichnis 1. Installation 2. Einführung ...

Docker-Compose-Installation DB2-Datenbankbetrieb

Es ist mühsam, die db2-Datenbank direkt auf dem H...

So berechnen Sie mit Linux den von zeitgesteuerten Dateien belegten Speicherplatz

Öffnen Sie den Editor für geplante Aufgaben. Cent...

MySQL-Benutzer und -Berechtigungen und Beispiele zum Knacken des Root-Passworts

MySQL-Benutzer und -Berechtigungen In MySQL gibt ...

Lösung für den Fall, dass der Tomcat-Server tomcat7w.exe nicht öffnen kann

Beim Konfigurieren des Tomcat-Servers ist mir heu...

Installations-Tutorial zur komprimierten Version von MySQL 8.0.11 unter Win10

In diesem Artikel finden Sie das Installations-Tu...

So erhalten Sie den Maximal- oder Minimalwert einer Zeile in SQL

Originaldaten und Zieldaten SQL-Anweisungen imple...

js realisiert die Funktion zum Klicken zum Wechseln der Karte

In diesem Artikelbeispiel wird der spezifische Co...

7 Fähigkeiten, die großartige Grafikdesigner beherrschen müssen

1》Seien Sie gut im Webdesign 2》Wissen, wie man Web...

react-beautiful-dnd implementiert die Drag-and-Drop-Funktion für Komponenten

Inhaltsverzeichnis 1. Installation 2.API 3. reagi...

Detaillierte Beispiele für Docker-Compose-Netzwerke

Ich habe heute mit den Netzwerkeinstellungen unte...

Vue realisiert Click-Flip-Effekt

Verwenden Sie Vue, um einfach einen Click-Flip-Ef...