GNU/Linux >> Linux Esercitazione >  >> Debian

Installa e configura Apache e PHP con cgi su Ubuntu o Debian

CGI - Interfaccia gateway comune

Apache può essere configurato per invocare l'interprete php come programma cgi. Ciò significa che il binario php-cgi verrà eseguito esternamente e lo script php verrà eseguito da esso e l'output verrà restituito ad apache. Questo è un modo per eseguire php con apache. Altri metodi includono modulo condiviso, fastcgi ecc. Leggi il mio post precedente su API del server php per saperne di più sulle varie opzioni per eseguire php con apache.

Poiché in modalità cgi, php viene eseguito separatamente, è possibile utilizzare un thread apache mpm come worker. In questo post configureremo insieme apache e php tramite il cgi.

Installa pacchetti

I pacchetti necessari per l'installazione includono, apache, mpm worker, php5, php cgi. Installali tutti in una volta usando il comando apt-get

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

Abilita le azioni mod in Apache.

$ sudo a2enmod actions

Se hai già installato apache e php con mod php, devi prima disabilitare mod php

$ sudo a2dismod php5

Configura Apache

Ora configura Apache per eseguire php come cgi. La configurazione viene eseguita nel blocco vhost pertinente.
I file di configurazione dell'host virtuale Apache si trovano nella posizione seguente

/etc/apache2/sites-enabled/

Il file vhost predefinito è 000-default.conf che è presente sulla maggior parte dei sistemi.
È necessario aggiungere alcune direttive necessarie nel blocco di directory corretto nel file di configurazione che dirà ad Apache di utilizzare il binario php-cgi per l'esecuzione file che terminano con ".php".

Le direttive sono AddHandler, Action e ScriptAlias. Una configurazione minima è simile a questa

<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

La riga AddHandler dichiara un gestore chiamato cgi-handler per i file .php. Questo può essere chiamato a qualsiasi cosa.

La riga Action dice ad Apache di eseguire cgi-handler usando il programma /local-bin/php-cgi, che è il binario php cgi. Ora questo percorso non è reale.

La linea ScriptAlias ​​associa /local-bin a /usr/bin. Quindi il percorso /local-bin/php-cgi diventa /usr/bin/php-cgi che è il percorso effettivo del binario php-cgi su ubuntu/debian.

Ora riavvia Apache

# service apache2 restart

Metti un file php con phpinfo() nella radice web e apri dal browser. L'API del server deve essere segnalata come "CGI/FastCGI".


Debian
  1. Come installare e configurare Nextcloud con Apache su Ubuntu 18.04

  2. Installa e configura PHP OPcache su Ubuntu 20.04

  3. Installa e configura Apache Spark su Ubuntu 20.04

  4. Configura Apache e Php con mod_fcgid su Ubuntu/Debian

  5. Installa e configura Apache e php con mod fastcgi su Ubuntu/Debian

Come installare e configurare Apache Web Server su Debian 11

Come installare Apache con PHP-FPM su Debian 10

Installa e configura OwnCloud su Ubuntu 21 / Debian 11

Come installare e configurare Apache su Debian 11?

Come installare Drupal con Apache su Debian e Ubuntu

Come installare e configurare Memcached con Apache e PHP