Cómo instalar LAMP en openSUSE Leap 15

En este artículo vamos a ver cómo instalar una pila LAMP en openSUSE Leap 15 paso a paso, un pilar fundamental de muchas de las aplicaciones web que puedes hacer funcionar sobre tu servidor o VPS openSUSE.

Antes de instalar la pila LAMP en openSUSE Leap 15

Para llegar hasta el final de esta breve guía de instalación y configuración LAMP en openSUSE Leap 15 debes satisfacer estos pocos requisitos básicos:

  • Una instalación actualizada de openSUSE Leap 15.1, 15.2 ó 15.3.
  • Acceso a consola con root o un usuario con permisos de sudo.
  • Conexión a Internet.

Una pila LAMP está formada por Linux (openSUSE Leap 15 en este caso), el servidor web Apache, el lenguaje de programación PHP y un servicio de bases de datos MariaDB/MySQL. En este tutorial nos decantamos por MariaDB, ya que para usar MySQL deberíamos añadir nuevos repositorios al sistema.

Cómo instalar LAMP en openSUSE Leap 15

Para instalar la pila LAMP en openSUSE Leap 15 nos basaremos en paquetes existentes en los repositorios de la distribución, aunque opcionalmente se puede añadir un repositorio que nos permita trabajar con las últimas versiones soportadas de PHP (7.4 y 8.1). Y es que la versión nativa, la incluida en la distribución, puede resultar obsoleta (especialmente en el caso de openSUSE Leap 15.1 que incluye la versión 7.2) y no soportada por muchas aplicaciones web, o no actualizarse tan frecuentemente como sería deseable.

Repositorio opcional de PHP

Dicho lo anterior, si deseas incluir este repositorio se haría así para openSUSE Leap 15.1:

~$ sudo zypper addrepo https://download.opensuse.org/repositories/devel:languages:php/openSUSE_Leap_15.1/ php

Para openSUSE Leap 15.2:

~$ sudo zypper addrepo https://download.opensuse.org/repositories/devel:languages:php/openSUSE_Leap_15.2/ php

Y para openSUSE Leap 15.3:

~$ sudo zypper addrepo https://download.opensuse.org/repositories/devel:languages:php/openSUSE_Leap_15.3/ php

Sea cual sea la versión de openSUSE con la que trabajemos, actualizamos la información de los repositorios, incluyendo el que acabamos de añadir:

~> sudo zypper refresh

Se pedirá confirmación para instalar la clave pública del nuevo repositorio:

...
¿Desea rechazar la clave, confiar en ella temporalmente o confiar en ella siempre? [r/t/a/?] (r): a

Lo anconsejable es confiar siempre en esta clave, respondiendo con la opción ‘a‘.

Instalación de los paquetes necesarios

Teniendo en cuenta todo lo anterior es fácil entender que el proceso de instalación varía ligeramente según las versiones de los componentes con las que queramos trabajar. Vamos a explicar las distintas posibilidades.

PHP nativo

Si sólo queremos los paquetes presentes en los repositorios nativos de openSUSE 15, el siguiente será el comando de instalación necesario:

~> sudo zypper install -y apache2 apache2-mod_php7 mariadb php7-mysql

Tendremos que configurar el servicio web para que cargue el módulo de PHP:

~> sudo a2enmod php7

PHP 7.4 desde el repositorio alternativo

Si has configurado el repositorio alternativo porque prefieres trabajar con la última revisión disponible de la versión 7.4, instalaríamos los siguientes paquetes:

~> sudo zypper install -y apache2 apache2-mod_php7 mariadb php7-cli php7-mysql

PHP 8.1 desde el repositorio alternativo

Si prefieres la versión 8.1 disponible en el repositorio alternativo, instalaremos estos paquetes:

~> sudo zypper install -y apache2 apache2-mod_php8 mariadb php8-cli php8-mysql

Debido a un error en la configuración por defecto de algunos de estos paquetes es necesario realizar algún ajuste manual, para lo que editamos el siguiente archivo:

~> sudo nano /etc/sysconfig/apache2

Localizamos la siguiente línea:

...
APACHE_MODULES="actions alias auth_basic authn_core authn_file authz_host authz_groupfile authz_core authz_user autoindex cgi dir env expires include log_config mime negotiation setenvif ssl socache_shmcb userdir reqtimeout php8"
...

Al final de la línea cambiaremos php8 por php:

...
APACHE_MODULES="actions alias auth_basic authn_core authn_file authz_host authz_groupfile authz_core authz_user autoindex cgi dir env expires include log_config mime negotiation setenvif ssl socache_shmcb userdir reqtimeout php"
...

Guardamos los cambios y cerramos el archivo.

Sólo faltaría crear este enlace simbólico:

~> sudo ln -s /usr/lib64/apache2/mod_php8.so /usr/lib64/apache2/mod_php.so

Inicio de los servicios de la pila LAMP

En cualquier caso, una vez descargados e instalados estos paquetes y todas sus dependencias, se crean dos nuevos servicios en openSUSE Leap 15, los servicios apache2.service y mariadb.service, o apache2 y mariadb si prefieres los nombres cortos.

Como los servicios de la pila LAMP no están en ejecución ni están habilitados para su inicio automático junto a openSUSE Leap 15, tenemos que hacerlo de forma manual:

~> sudo systemctl enable --now apache2 mariadb

Podemos comprobar el estado de los servicios en cualquier momento con el comando systemctl status apache2 mariadb:

como instalar lamp en opensuse leap 15

Configurar el firewall de openSUSE Leap 15 para la pila LAMP

Como el firewall de openSUSE Leap 15 está activado por defecto, bloqueará cualquier conexión entrante para la que no se haya configurado una excepción. Si quieres acceder a tu servidor LAMP desde la red tendrás que añadir una excepción como esta:

~> sudo firewall-cmd --permanent --add-service={http,https}

La regla anterior permite el acceso al tráfico web estándar HTTP y al cifrado HTTPS. Si sólo te interesa una de los protocolos, modifica el comando eliminando el que no te interese.

Los cambios se aplican recargando la configuración del firewall:

~> sudo firewall-cmd --reload

Cómo configurar LAMP en openSUSE Leap 15

Una vez que el servidor web Apache es capaz de conectar con PHP y este a su vez puede conectar con el servicio de bases de datos, configurar la pila LAMP en openSUSE Leap 15 se reduce a realizar unos pocos ajustes.

Ajustes de PHP

Editaremos el archivo de configuración de PHP, php.ini (susituye phpX en el siguiente comando por php7 ó php8, según corresponda):

~> sudo nano /etc/phpX/apache2/php.ini

Un ajuste que siempre se debe hacer es configurar la zona horaria para las aplicaciones web, a través de la directiva date.timezone:

...
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = 'UTC'
...

Cambiamos el valor por el que se adecúe a la zona horaria que nos interese:

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

Si no conoces el valor que corresponde a tu zona, puedes consultar todos los valores posibles de las zonas horarias de PHP.

Si el servidor LAMP que estás configurando es para producción, no hay que hacer cambios en cuanto al tratamiento de mensajes de error de PHP, pero si se trata de un entorno de desarrollo, localiza las siguientes directivas y cambia sus valores adecuadamente:

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

Con estos valores si se producen errores en las aplicaciones, PHP mostrará mensajes de error en el navegador.

En el caso de usar una versión de MariaDB o MySQL alternativa a la que ofrecen los repositorios de openSUSE es posible que tengas que configurar las directivas pdo_mysql.default_socket y mysqli.default_socket. Por ejemplo, para MariaDB 10.5:

...
pdo_mysql.default_socket=/var/lib/mysql/mysql.sock
...
mysqli.default_socket = /var/lib/mysql/mysql.sock
...

Guardados los cambios en php.ini será necesario recargar la configuración de Apache:

~> sudo systemctl reload apache2

Existe otro archivo php.ini para la versión de PHP de consola o CLI, ubicado en la ruta /etc/phpX/cli/php.ini, en el que deberíamos realizar al menos el ajuste de la zona horaria.

Ajustes de MariaDB

La instalación de MariaDB crea usuarios anónimos, base de datos de pruebas y acceso sin contraseña para root. Para solucionar todo esto utilizaremos el script interactivo mysql_secure_installation:

~> sudo mysql_secure_installation
...
Enter current password for root (enter for none):

Se nos pide la contraseña actual del usuario root de MariaDB, así que como en este momento no tiene ninguna presionaremos intro.

Se nos preguntará si queremos crear la contraseña para root:

...
Set root password? [Y/n] Y

Lo habitual es contestar que sí, por lo que se nos pedirá la nueva contraseña y la confirmación:

...
New password:
Re-enter new password:

Se nos pregunta si queremos eliminar las cuentas anónimas:

...
Remove anonymous users? [Y/n] Y

Deberíamos contestar que sí.

A continuación se nos pregunta si se deshabilita el acceso remoto para root:

...
Disallow root login remotely? [Y/n] Y

Para evitar ataques e intentos de intrusión es importante contestar afirmativamente.

También se nos pregunta si queremos eliminar la base de datos de pruebas:

...
Remove test database and access to it? [Y/n] Y

No sirve para nada, así que es seguro contestar que sí.

Finalmente se nos pregunta si se recarga la tabla de privilegios ahora:

...
Reload privilege tables now? [Y/n] Y

Siempre que se cambian credenciales de acceso, se crean o eliminan usuarios, etc. es interesante refrescar los permisos del sistema, por lo que es seguro contestar que sí.

El script termina y MariaDB queda con mayor seguridad que la que establece la instalación por defecto.

Cómo probar la pila LAMP en openSUSE Leap 15

Para probar la pila LAMP en openSUSE Leap 15 crearemos un sencillo script PHP fácilmente accesible vía web:

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

El contenido será una llamada a la función phpinfo():

<?php phpinfo();

Guardados los cambios ya podemos acceder a este script desde el navegador. Como URL añadiremos la ruta /info.php a la dirección IP o dominio del servidor openSUSE Leap 15.

Por ejemplo, la máquina openSUSE 15 en la que estamos configurando la pila LAMP es accesible en el subdominio opensuse15.local.lan, así que usaremos http://opensuse15.local.lan/info.php como URL de prueba:

instalar y configurar lamp en opensuse leap 15

Si hemos instalado una versión alternativa de PHP igualmente podremos comprobar su funcionamiento:

instalacion de la pila lamp en opensuse leap 15.1, 15.2 y 15.3

Además de comprobar que el entorno funciona, podremos examinar multitud de datos sobre la configuración actual.

Conclusión

Ya sabes cómo instalar y configurar una pila LAMP en openSUSE Leap 15, por lo que puedes empezar a desarrollar complejas aplicaciones web, o establecer el soporte sobre el que se instalan populares aplicaciones, CMS, etc.

En caso de dudas, preguntas, sugerencias, etc. puedes dejar un comentario.

¡Apoya este sitio!

¿Ya tienes la pila funcionando gracias a esta guía de instalación y configuración de la pila LAMP en openSUSE Leap 15? Si es así y quieres demostrar tu agradecimiento, cualquier mínima aportación ayuda al mantenimiento de este sitio y elaboración de más guías y tutoriales, así que puedes dejar una propina de 1 $ desde PayPal:

O, si te sientes especialmente agradecido, puedes invitarme a un café:

¡Gracias!

Valora esta entrada

5/5 - (3 votos)

1 comentario en «Cómo instalar LAMP en openSUSE Leap 15»

Deja un comentario