GNU/Linux >> LINUX-Kenntnisse >  >> Debian

Installieren und konfigurieren Sie Apache und PHP mit cgi auf Ubuntu oder Debian

CGI - Common Gateway Interface

Apache kann so konfiguriert werden, dass es den PHP-Interpreter als CGI-Programm aufruft. Dies bedeutet, dass die php-cgi-Binärdatei extern ausgeführt werden soll und das php-Skript von ihr ausgeführt werden soll und die Ausgabe an Apache zurückgegeben wird. Dies ist eine Möglichkeit, PHP mit Apache auszuführen. Andere Methoden sind Shared Module, Fastcgi usw. Lesen Sie meinen vorherigen Beitrag zu PHP-Server-APIs, um mehr über verschiedene Optionen zum Ausführen von PHP mit Apache zu erfahren.

Da PHP im CGI-Modus separat ausgeführt wird, ist es möglich, einen Apache-MPM-ähnlichen Worker mit Threads zu verwenden. In diesem Beitrag werden wir Apache und PHP gemeinsam über das CGI einrichten.

Pakete installieren

Die zur Installation erforderlichen Pakete umfassen Apache, mpm worker, php5, php cgi. Installieren Sie alle auf einmal mit dem Befehl apt-get

# sudo apt-get install apache2 apache2-mpm-worker php5 php5-cgi

Mod-Aktionen in Apache aktivieren.

$ sudo a2enmod actions

Wenn Sie bereits Apache und PHP mit mod php installiert hatten, müssen Sie zuerst mod php deaktivieren

$ sudo a2dismod php5

Apache konfigurieren

Konfigurieren Sie nun Apache so, dass PHP als CGI ausgeführt wird. Die Konfiguration erfolgt im relevanten vhost-Block.
Die Apache-Konfigurationsdateien für virtuelle Hosts befinden sich an folgendem Speicherort

/etc/apache2/sites-enabled/

Die Standard-vhost-Datei ist 000-default.conf, die auf den meisten Systemen vorhanden ist.
Einige notwendige Anweisungen müssen im rechten Verzeichnisblock in der Konfigurationsdatei hinzugefügt werden, die Apache anweisen, die php-cgi-Binärdatei zum Ausführen zu verwenden Dateien mit der Endung ".php".

Die Direktiven sind AddHandler, Action und ScriptAlias. Eine minimale Konfiguration sieht so aus

<Directory /var/www/>
	Options Indexes FollowSymLinks MultiViews
	AllowOverride None
	Order allow,deny
	allow from all

	AddHandler cgi-handler .php
	Action cgi-handler /local-bin/php-cgi
</Directory>
ScriptAlias /local-bin /usr/bin

Die Zeile AddHandler deklariert einen Handler namens cgi-handler für .php-Dateien. Dieser kann beliebig benannt werden.

Die Aktionszeile weist Apache an, cgi-handler mit dem /local-bin/php-cgi-Programm auszuführen, das die php-cgi-Binärdatei ist. Nun, dieser Pfad ist kein echter.

Die ScriptAlias-Zeile ordnet /local-bin /usr/bin zu. Also der Pfad /local-bin/php-cgi wird zu /usr/bin/php-cgi das ist der tatsächliche Pfad der php-cgi-Binärdatei auf Ubuntu/Debian.

Jetzt Apache neu starten

# service apache2 restart

Legen Sie eine PHP-Datei mit phpinfo() im Webstammverzeichnis ab und öffnen Sie sie im Browser. Die Server-API muss als "CGI/FastCGI" gemeldet werden.


Debian
  1. So installieren und konfigurieren Sie Nextcloud mit Apache unter Ubuntu 18.04

  2. Installieren und konfigurieren Sie PHP OPcache auf Ubuntu 20.04

  3. Installieren und konfigurieren Sie Apache Spark unter Ubuntu 20.04

  4. Richten Sie Apache und Php mit mod_fcgid auf Ubuntu/Debian ein

  5. Installieren und konfigurieren Sie Apache und PHP mit mod fastcgi auf Ubuntu/Debian

So installieren und konfigurieren Sie den Apache-Webserver unter Debian 11

So installieren Sie Apache mit PHP-FPM unter Debian 10

Installieren und konfigurieren Sie OwnCloud auf Ubuntu 21 / Debian 11

Wie installiere und konfiguriere ich Apache unter Debian 11?

So installieren Sie Drupal mit Apache auf Debian und Ubuntu

So installieren und konfigurieren Sie Memcached mit Apache und PHP