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 integrados en PHP.
En esta guía, veremos cómo instalar PHP 7.2, 7.3 o 7.4 en CentOS 8. Antes de elegir qué versión de PHP instalar, asegúrese de que sus aplicaciones lo admitan.
CentOS 8 se distribuye con PHP 7.2. Esta versión es compatible con la mayoría de las aplicaciones PHP modernas, pero ya no se mantendrá activamente a partir de noviembre de 2019. Las últimas versiones de PHP están disponibles en el repositorio de Remi.
También le mostraremos cómo integrar PHP con Nginx y Apache.
Si su intención es instalar PHP en un servidor remoto, siga leyendo; de lo contrario, si desea instalar PHP en su computadora local, 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 está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando 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
Habilite el repositorio de Remi
Si va a instalar PHP estable versión 7.2, omita este paso. De lo contrario, si desea instalar PHP 7.3 o 7.4, habilite el repositorio Remi ejecutando el siguiente comando como root o usuario con privilegios sudo:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
El comando anterior también habilitará el repositorio EPEL.
Una vez que se complete la instalación, ejecute el siguiente comando para obtener una lista de todas las versiones de PHP disponibles:
sudo dnf module list php
La salida mostrará una lista de todos los módulos disponibles, incluido el flujo asociado, la versión y los perfiles de instalación.
CentOS-8 - AppStream
Name Stream Profiles Summary
php 7.2 [d] common [d], devel, minimal PHP scripting language
Remi's Modular repository for Enterprise Linux 8 - x86_64
Name Stream Profiles Summary
php remi-7.2 common [d], devel, minimal PHP scripting language
php remi-7.3 common [d], devel, minimal PHP scripting language
php remi-7.4 common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
El módulo PHP predeterminado está configurado en PHP 7.2. Para instalar una versión más reciente de PHP, habilite la versión apropiada:
Para habilitar PHP 7.3:
sudo dnf module reset php
sudo dnf module enable php:remi-7.3
Para habilitar PHP 7.4:
sudo dnf module reset php
sudo dnf module enable php:remi-7.4
Ahora está listo para instalar PHP en su servidor CentOS.
Instalar PHP
El siguiente comando instalará PHP y algunos de los módulos PHP más comunes:
sudo dnf install php php-opcache php-gd php-curl php-mysqlnd
PHP usa FPM, se instala como dependencia y se usa como servidor FastCGI. Inicie el servicio FPM y habilítelo para que se inicie automáticamente al iniciar el servidor:
sudo systemctl enable --now php-fpm
Configurar PHP para trabajar con Apache
Si está utilizando Apache como servidor web, reinicie el httpd
con el siguiente comando:
sudo systemctl restart httpd
Configurar PHP para trabajar con Nginx
De forma predeterminada, PHP FPM se ejecuta como usuario de apache
Para evitar problemas de autorización, cambiaremos el usuario a nginx
.
Abra el siguiente archivo:
sudo vi /etc/php-fpm.d/www.conf
Cambie el nombre de usuario a las líneas de usuario y grupo, de apache a nginx:
...
user = nginx...
group = nginx
Asegúrese de que el /var/lib/php
tenga los permisos correctos:
chown -R root:nginx /var/lib/php
Una vez hecho esto, reinicie el servicio PHP FPM:
sudo systemctl restart php-fpm
A continuación, edite la directiva de host virtual de Nginx y agregue el siguiente bloque para que Nginx pueda procesar archivos PHP:
server {
#Il resto del codice..
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Para que la nueva configuración surta efecto, reinicie el servicio Nginx:
sudo systemctl restart nginx
Conclusión
PHP 7.2 está disponible para su instalación desde los repositorios predeterminados de CentOS 8. Si desea instalar una versión más reciente, debe habilitar el repositorio Remi.