Español
EninSoft – recursos para programadores web
EninSoft - recursos para programadores web > Eninsoft > linux > Instalar y configurar servidor Debian 9 Stretch con PHP 7.3 y FastCGI.

Instalar y configurar servidor Debian 9 Stretch con PHP 7.3 y FastCGI.

  • febrero 28, 2019
  • Categoría: linux seguridad utilidades web
No hay comentarios

Importante: Esta información es para uso lúdico personal. En ningún caso se pretende dar conocimientos, consejos, formaciones, herramientas, ni soluciones técnicas de ámbito comercial ni profesional. Simplemente es información que se ha redactado en finalidad de recordatorio de ciertos proyectos realizados. Si usted no está seguro de la fiabilidad de la información, no cumple con sus expectativas o no es de su agrado, le ruego que abandone este sitio web. Para ver todas las exclusiones garantía y de responsabilidad acceda a la sección Aviso Legal.

En este post no se detalla los distintos métodos de ejecución de PHP. Hay muy buena información en otros sitios web. Aquí se requiere instalar PHP 7.3 en un servidor Debian 9 Stretch y que funcione con el modo FastCGI.

1.- Instalar Apache2 con PHP 7.3, incluido el soporte de ModPHP y FastCGI.

apt install ca-certificates apt-transport-https
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
echo "deb https://packages.sury.org/php/ stretch main" | tee /etc/apt/sources.list.d/php.list

apt-get update
apt-get install apache2

apt-get install libapache2-mod-php7.3 libapache2-mod-fcgid apache2-suexec-pristine php7.3 php7.3-cli php7.3-cgi php7.3-common php7.3-curl php7.3-mbstring php7.3-pdo php7.3-mysql php7.3-xml php7.3-json php-pear php7.3-zip php7.3-gd php7.3-intl php7.3-xmlrpc php7.3-xsl memcached php-memcache memcached php7.3-soap

a2enmod suexec rewrite ssl actions include cgi headers fcgid suexec

systemctl restart apache2

Ya se dispone del PHP 7.3 instalado. Si ejecutamos un phpinfo() veremos que correctamente es el PHP7.3 y que su uso por defecto es ModPHP, ya que SERVER API = APACHE HANDLER.

2.- Configurar un proyecto web con FastCGI.

En primera instancia se crea un usuario especifico para este proyecto web.

adduser --disabled-login client1
adduser www-data client1

Posteriormente se procede a crear el virtualhost. Un ejemplo básico sin certificado sería así:

vim /etc/apache2/sites-available/eninsoft.com.conf

<VirtualHost *:80>
  ServerName eninsoft.com
  ServerAlias www.eninsoft.com
  ServerAdmin webmaster@eninsoft.com
  
  DocumentRoot /var/www/eninsoft.com/web
  SuexecUserGroup client1 client1

  <Directory /var/www/eninsoft.com/web>
    FCGIWrapper /var/www/eninsoft.com/fcgid/conf .php
    <FilesMatch \.php$>
      SetHandler fcgid-script
    </FilesMatch>
    Options +ExecCGI
  </Directory>

  ErrorLog /var/log/apache/eninsoft.com-error.log
  CustomLog /var/log/apache/eninsoft.com-access.log combined
</VirtualHost>

Crear la estructura de directorios que alojará la web.

mkdir /var/www/eninsoft.com
mkdir /var/www/eninsoft.com/web
mkdir /var/www/eninsoft.com/fcgid
mkdir /var/www/eninsoft.com/tmp

Crear el archivo de configuración de FastCGI.

vim /var/www/eninsoft.com/fcgid/conf     # Añadir

#!/bin/sh
export PHPRC="/etc/php/7.3/cgi"
exec /usr/bin/php-cgi7.3

Asignar los permisos correspondientes al proyecto web.

chown -R client1:client1 /var/www/eninsoft.com
chmod 750 /var/www/eninsoft.com
chmod 750 /var/www/eninsoft.com/web
chmod 750 /var/www/eninsoft.com/tmp
chmod 550 /var/www/eninsoft.com/fcgid/conf

Finalmente activar el virtualhost y reinciar el Apache2.

a2ensite eninsoft.com.conf 
/etc/init.d/apache2 restart

Ya tenemos el proyecto web «eninsoft.com» funcionando con FastCGI. La comprobación siempre con phpinfo();

vim /var/www/eninsoft.com/web/index.php   # añadir
<?php
phpinfo();
?>

Observar que SERVER API ahora pone CGI/FastCGI.

** Si os sale un Internal Server Error seguramente es tema de propietario y permisos de los archivos y carpetas.

OPCIONAL: Asignar su propio «php.ini» al proyecto web.

FastCGI permite la ejecución de un php.ini personalizado para cada proyecto web. Para este propósito solamente es necesario cambiar la configuración del FastCGI.

cp /etc/php/7.3/cgi/php.ini /var/www/eninsoft.com/fcgid/

vim /var/www/eninsoft.com/fcgid/conf    # Modificar PHPRC

export PHPRC="/var/www/eninsoft.com/fcgid/"

Hacer los cambios deseados en el /var/www/eninsoft.com/fcgid/php.ini y reiniciar Apache2.

cgi debian9 ejecución fastcgi modphp php php7.3 servidor stretch virtualhost

Buscar

Publicaciones recientes

  • Cómo comprar una Play Station 5 (PS5) en MediaMarkt
  • Crear un USB Parrot OS con persistencia desde Linux.
  • Configurar PHP-FPM con varios usuarios/grupos para servidores multihosting. PHP-FPM 7.3 – Debian 10 Buster.
  • Cambio de Apache Handler (ModPHP) a PHP FPM 7.3 en Debian Buster.
  • Eliminar los indices numéricos en Mysql PDO fetch registros.

Categorías

  • benchmark
  • bug
  • clúster
  • correo
  • css
  • desarrollo
  • documentación
  • framework
  • hardware
  • HE
  • imagen
  • java
  • jquery
  • linux
  • mac (osx)
  • minar
  • monedas virtuales
  • mysql
  • pci dss
  • php
  • python
  • redes
  • SAP
  • seguridad
  • Sin categorizar
  • sodimm
  • utilidades
  • virtualización
  • WAF
  • web
  • windows
  • wordpress
Copyright © 2018 EninSoft.com. Todos los derechos reservados
  • Aviso legal
  • Política de privacidad
  • Política de cookies
Buscar

Utilizamos cookies para darte la mejor experiencia en nuestra web.

Puedes saber más sobre qué cookies usamos o desactivarlas en los ajustes.

Política de privacidad
EninSoft - recursos para programadores web

Esta web utiliza cookies para proporcionarte la mejor experiencia de navegación posible. Estas cookies son guardadas en tu navegador y cumplen funciones como reconocerte cuando regresas a esta web y ayudarnos a saber qué secciones de la web encuentras más interesantes y útiles.

Cookies estrictamente necesarias

Las cookies estrictamente necesarias son aquellas fundamentales para el correcto uso de la web. No guardamos ninguna información sensible en ellas.

Si deshabilitas esta cookie, no podremos guardar tus preferencias. Esto implicará que cada vez que visites nuestra web tendrás que habilitar o deshabilitar las cookies de nuevo.

Cookies de analítica

Esta web usa Google Analytics para recoger información como el número de visitantes o las páginas más populares.

Por favor, activa primero las cookies estrictamente necesarias para que podamos guardar tus preferencias

By  GDPR Cookie Compliance