Introducción
PHP es uno de los lenguajes de programación del lado del servidor más utilizados. Muchos CMS y frameworks populares como WordPress, Magento y Laravel están escritos en PHP.
PHP 8.0 es la última versión principal del lenguaje PHP. Introduce varios cambios sustanciales, mejoras de rendimiento y muchas características nuevas, como argumentos con nombre, compilador JIT, tipos de unión, expresiones de coincidencia y más.
Este artículo le mostrará cómo instalar PHP 8 en Ubuntu 20.04 LTS e integrarlo con Nginx y Apache.
En el momento de escribir este tutorial, los repositorios predeterminados de Ubuntu 20.04 LTS incluyen PHP versión 7.4. Instalaremos PHP desde el repositorio de PPA de ondrej/php
Antes de actualizar o instalar PHP 8, asegúrese de que sus aplicaciones lo admitan.
Si desea instalar PHP 8 en un servidor remoto, siga leyendo; de lo contrario, omita el primer párrafo "Conexión al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:
ssh root@IP_DEL_SERVER
A continuación, deberá ingresar la contraseña del usuario root.
Si no usa el usuario root, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie root a su nombre de usuario:
ssh nome_utente@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Habilita el repositorio de PHP
Ondřej Surý, un desarrollador de Debian, mantiene un repositorio que incluye múltiples versiones de PHP. Para agregar el repositorio, ejecute el siguiente comando:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
Una vez que el PPA está habilitado, puede instalar PHP 8.
Instalar PHP 8 con Apache
Si usa Apache como su servidor web, puede ejecutar PHP como un módulo de Apache o PHP-FPM.
Instale PHP como un módulo de Apache
Instalar PHP como un módulo de Apache es simple:
sudo apt update
sudo apt install php8.0-fpm libapache2-mod-fcgid
Una vez que los paquetes estén instalados, reinicie Apache para cargar el módulo PHP:
sudo systemctl restart apache2
Configurar Apache con PHP-FPM
Php-FPM es un administrador de procesos FastCGI para PHP. Ejecute el siguiente comando para instalar los paquetes necesarios:
sudo apt update
sudo apt install php8.0-fpm libapache2-mod-fcgid
De forma predeterminada, PHP-FPM no está habilitado en Apache. Para habilitarlo, ejecute:
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.0-fpm
Para activar los cambios, reinicie Apache:
systemctl restart apache2
Instalar PHP 8 con Nginx
Nginx no tiene soporte integrado para procesar archivos PHP. Usaremos PHP-FPM ("administrador de procesos fastCGI") para administrar archivos PHP.
Ejecute los siguientes comandos para instalar PHP y paquetes PHP FPM:
sudo apt update
sudo apt install php8.0-fpm
Una vez que se complete la instalación, el servicio FPM se iniciará automáticamente. Para comprobar el estado del servicio, ejecute
systemctl status php8.0-fpm
● php8.0-fpm.service - The PHP 8.0 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php8.0-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-12-04 20:31:32 CET; 3h 23min ago
Docs: man:php-fpm8.0(8)
Process: 150630 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/8.0/fpm/pool.d/www.conf 80 (code=exited, status=0/SUCCESS)
Main PID: 150615 (php-fpm8.0)
Status: "Processes active: 0, idle: 2, Requests: 1, slow: 0, Traffic: 0req/sec"
Tasks: 3 (limit: 2286)
Memory: 7.9M
CGroup: /system.slice/php8.0-fpm.service
Ahora puede editar el bloque del servidor Nginx y agregar las siguientes líneas para que Nginx pueda procesar archivos PHP:
server {
#... other code
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
}
}
No olvide reiniciar el servicio Nginx para que la nueva configuración surta efecto:
sudo systemctl restart nginx
Instalar extensiones PHP
Las extensiones de PHP son bibliotecas compiladas que amplían la funcionalidad principal de PHP. Las extensiones están disponibles como paquetes y se pueden instalar fácilmente con apt
:
sudo apt install php8.0-[extname]
Por ejemplo, para instalar las extensiones MySQL y GD, debe ejecutar el siguiente comando:
sudo apt install php8.0-mysql php8.0-gd
Después de instalar una nueva extensión de PHP, no olvide reiniciar el servicio Apache o PHP FPM, según su configuración.
Probar el procesamiento de PHP
Para verificar si el servidor web está configurado correctamente para el procesamiento de PHP, cree un nuevo archivo llamado info.php
dentro del /var/www/html
con el siguiente código:
Guarde el archivo, abra su navegador y visite el sitio: http://dominio_oppure_ip/info.php
.
Verá información sobre su configuración de PHP, incluida la versión instalada.
Conclusión
La instalación de PHP 8 en el servidor Ubuntu 20.04 LTS es una operación simple. Todo lo que necesita hacer es habilitar el ondrej/php
e instalar PHP 8 con apt.