Cómo instalar PHP en openSUSE Leap 15.1

En esta ocasión explicamos cómo instalar PHP en openSUSE Leap 15.1 paso a paso, un lenguaje de programación fundamental en el desarrollo o instalación de aplicaciones sobre tu servidor o VPS openSUSE.

Antes de instalar PHP en openSUSE Leap 15.1

Para completar esta guía de instalación y configuración de PHP en openSUSE Leap 15.1 debes cumplir estos requisitos mínimos:

  • Una instalación actualizada de openSUSE Leap 15.1.
  • Opcionalmente, un servidor web como Apache o Nginx.
  • Acceso a consola con un usuario con permisos de sudo o el mismo root.
  • Conexión a Internet.

Si necesitas instalar también el servidor web, puedes consultar nuestra guía de instalación de Apache en openSUSE Leap 15.1 o la guía de instalación de Nginx en openSUSE Leap 15.1.

Cómo instalar PHP en openSUSE Leap 15.1

Vamos a instalar PHP en openSUSE Leap 15.1 desde los repositorios de la distribución, por lo que es interesante actualizar la información de las listas de paquetes como paso previo:

~> sudo zypper refresh

Dependiendo del servidor web que tengamos instalado en nuestra máquina openSUSE Leap 15.1, instalaremos PHP de una forma u otra.

PHP para Apache

Si el servidor web que usas en openSUSE Leap 15.1 es Apache, instala el paquete apache2-mod_php7 con zypper:

~> sudo zypper install -y apache2-mod_php7

Es necesario activar el módulo que se acaba de instalar:

~> sudo a2enmod php7

Para que los cambios tengan efecto, reiniciamos Apache:

~> sudo systemctl restart apache2

PHP para Nginx

Si usamos Nginx como servidor web en openSUSE Leap 15.1, entonces PHP se ejecuta como un servicio autónomo, por lo que el paquete que necesitamos instalar es php7-fpm:

~> sudo zypper install -y php7-fpm

Tras la instalación se crea el servicio php-fpm-service o php-fpm, que no está en ejecución ni habilitado para el inicio automático con openSUSE Leap 15.1, debido a que hay que preparar sus archivos de configuración.

Los archivos que necesita el servicio son /etc/php7/fpm/php-fpm.conf y /etc/php7/fpm/php-fpm.d/www.conf, que es requerido por el anterior. Obtenemos estos archivos desde unas versiones de muestra preparadas por el paquete de instalación:

~> sudo cp /etc/php7/fpm/php-fpm.conf.default /etc/php7/fpm/php-fpm.conf

Y:

~> sudo cp /etc/php7/fpm/php-fpm.d/www.conf.default /etc/php7/fpm/php-fpm.d/www.conf

Creamos un directorio para configuraciones especiales:

~> sudo mkdir /etc/nginx/include.d

Creamos la configuración de PHP para Nginx en el directorio que acabamos de crear:

~> sudo nano /etc/nginx/include.d/php-fpm.conf

Este archivo contendrá la configuración que hará posible la conexión entre Nginx y PHP:

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        include fastcgi_params;
}

Para que esta configuración esté disponible para el sitio web por defecto de Nginx en openSUSE Leap 15.1, editamos nginx.conf:

~> sudo nano /etc/nginx/nginx.conf

Y dentro del bloque server incluiremos la directiva root y la directiva include que cargará la configuración de PHP:

...
    server {
...
        root /srv/www/htdocs;
...
        include include.d/php-fpm.conf;
...

En el caso de tener configurados servidores virtuales, en cada servidor virtual habrá que añadir una directiva include como la anterior dentro de su bloque server.

Finalmente arrancamos y habilitamos el servicio con el comando systemctl:

~> sudo systemctl enable --now php-fpm

Es posible comprobar el estado del servicio PHP en cualquier momento con el comando systemctl status php-fpm:

instalar php en opensuse leap 15.1

Y recargamos la configuración de Nginx:

~> sudo systemctl reload nginx

Versión de PHP instalada

Si necesitas saber qué versión exacta de PHP está instalada en openSUSE Leap 15.1 es tan sencillo como usar el comando de consola php con el parámetro -v:

~> php -v
PHP 7.2.5 (cli) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Cómo probar PHP en openSUSE Leap 15.1

Seguramente querrás comprobar PHP en openSUSE Leap 15.1 a través del navegador. Podemos crear un pequeño script en PHP fácilmente accesible desde el navegador:

~> sudo nano /srv/www/htdocs/info.php

Con el contenido:

<?php phpinfo();

Para acceder a este script basta con añadir la ruta /info.php a la dirección IP o dominio de la máquina openSUSE Leap 15.1:

como instalar php en opensuse leap 15.1

Cómo configurar PHP en openSUSE Leap 15.1

Normalmente, la configuración por defecto de PHP se carga desde un archivo php.ini, pero para configurar PHP en openSUSE Leap 15.1 tendremos que crear manualmente este archivo para el servicio PHP-FPM. Podemos copiar este archivo desde la versión que se crea para PHP de consola (CLI):

~> sudo cp /etc/php7/cli/php.ini /etc/php7/fpm/

Ahora editaremos este archivo para realizar algunos ajustes:

~> sudo nano /etc/php7/fpm/php.ini

El primer cambio que haremos será definir la zona horaria del servidor para las aplicaciones en PHP, para lo que buscaremos la directiva date.timezone:

...
date.timezone = 'UTC'
...

Cambiaremos el valor por defecto al que corresponda según nuestra zona horaria:

...
date.timezone = Europe/Madrid
...

Si no conoces el valor que corresponde a tu zona horaria, puedes consultarlo en la documentación online de PHP.

Si el servidor que estás configurando pertenece a un entorno de producción, de cara al público o los usuarios, no habrá que hacer nada más. Sin embargo, si se trata de un entorno de desarrollo, debes configurar los mensajes de error en el navegador, cambiando los valores de las siguientes directivas:

...
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
...
display_errors = Off
...
display_startup_errors = Off
...

Los valores por defecto son para producción, mientras que los siguientes son para desarrollo:

...
error_reporting = E_ALL
...
display_errors = On
...
display_startup_errors = On
...

Cualquier cambio en la configuración de php.ini exigirá recargar la configuración del servicio php-fpm:

~> sudo systemctl reload php-fpm

Extensiones

A medida que se instalen aplicaciones web o se realicen desarrollos en PHP más complejos, será necesario el uso de ciertas extensiones de PHP no incluidas en la instalación por defecto.

Para instalar las extensiones necesarias podremos hacerlo con zypper, como cualquier otro paquete. A continuación habrá que recargar la configuración del servicio PHP-FPM.

Conclusión

Ya sabes cómo instalar PHP en openSUSE Leap 15.1 independientemente de qué servidor web uses, aunque alguno sea más difícil de configurar que otros.

Si tienes dudas, preguntas, sugerencias, etc. puedes dejar un comentario.

¡Apoya este sitio!

¿Ya tienes este lenguaje de programación funcionando gracias a esta guía de instalación y configuración de PHP en openSUSE Leap 15.1? Pues si te apetece agradecérnoslo, cualquier pequeña contribución ayuda al mantenimiento de este sitio y creación de más tutoriales de openSUSE Leap 15.1 y Nginx. ¡Gracias!

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 votos, promedio: 5,00 de 5)
Cargando…

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies