GNU/Linux >> Tutoriales Linux >  >> Debian

Instalar y configurar Apache y PHP con cgi en Ubuntu o Debian

CGI - Interfaz de puerta de enlace común

Apache se puede configurar para invocar el intérprete de php como programa cgi. Esto significa que el binario php-cgi se ejecutará externamente y el script php se ejecutará y la salida se devolverá a apache. Esta es una forma de ejecutar php con apache. Otros métodos incluyen módulo compartido, fastcgi, etc. Lea mi publicación anterior sobre las API del servidor php para obtener más información sobre las diversas opciones para ejecutar php con apache.

Dado que en el modo cgi, php se ejecuta por separado, es posible usar un apache mpm con subprocesos como trabajador. En esta publicación, configuraremos apache y php juntos a través de cgi.

Instalar paquetes

Los paquetes necesarios para instalar incluyen apache, mpm worker, php5, php cgi. Instálalos todos de una vez usando el comando apt-get

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

Habilitar acciones de modificación en apache.

$ sudo a2enmod actions

Si ya tenía apache y php instalados con mod php, primero debe deshabilitar mod php

$ sudo a2dismod php5

Configurar Apache

Ahora configure apache para ejecutar php como cgi. La configuración se realiza en el bloque vhost correspondiente.
Los archivos de configuración del host virtual de Apache se encuentran en la siguiente ubicación

/etc/apache2/sites-enabled/

El archivo vhost predeterminado es 000-default.conf, que está presente en la mayoría de los sistemas.
Se deben agregar algunas directivas necesarias en el bloque de directorio derecho en el archivo de configuración que le indicará a apache que use el binario php-cgi para ejecutar archivos que terminan en ".php".

Las directivas son AddHandler, Action y ScriptAlias. Una configuración mínima se ve así

<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 línea AddHandler declara un controlador llamado cgi-handler para archivos .php. Esto se puede nombrar a cualquier cosa.

La línea de acción le dice a apache que ejecute cgi-handler usando el programa /local-bin/php-cgi, que es el binario php cgi. Ahora bien, este camino no es real.

La línea ScriptAlias ​​asigna /local-bin a /usr/bin. Entonces la ruta /local-bin/php-cgi se convierte en /usr/bin/php-cgi cuál es la ruta real del binario php-cgi en ubuntu/debian.

Ahora reinicie apache

# service apache2 restart

Coloque un archivo php con phpinfo() en la raíz web y ábralo desde el navegador. La API del servidor se informará como "CGI/FastCGI".


Debian
  1. Cómo instalar y configurar Nextcloud con Apache en Ubuntu 18.04

  2. Instalar y configurar PHP OPcache en Ubuntu 20.04

  3. Instalar y configurar Apache Spark en Ubuntu 20.04

  4. Configure Apache y Php con mod_fcgid en Ubuntu/Debian

  5. Instale y configure Apache y php con mod fastcgi en Ubuntu/Debian

Cómo instalar y configurar el servidor web Apache en Debian 11

Cómo instalar Apache con PHP-FPM en Debian 10

Instalar y configurar OwnCloud en Ubuntu 21 / Debian 11

¿Cómo instalar y configurar Apache en Debian 11?

Cómo instalar Drupal con Apache en Debian y Ubuntu

Cómo instalar y configurar Memcached con Apache y PHP