Cómo instalar LEMP en openSUSE Leap 15.1

En este tutorial vamos a explicar cómo instalar LEMP en openSUSE Leap 15.1 paso a paso, de modo que puedas disponer de esta pila de servicios en tu servidor o VPS y así desplegar potentes aplicaciones web basadas en Nginx, PHP y MariaDB/MySQL.

Antes de instalar LEMP en openSUSE Leap 15.1

Si tienes intención de completar esta guía de instalación LEMP en openSUSE Leap 15.1, deberías partir al menos de los siguientes requisitos básicos:

  • Una máquina openSUSE Leap 15.1 actualizada.
  • Acceso a consola con root o un usuario con permisos de sudo.
  • Conexión a Internet.

Cómo instalar LEMP en openSUSE Leap 15.1

Para instalar la pila LEMP en open SUSE Leap 15.1 tendremos que tomar algunas decisiones y seguir una serie de pasos ordenados, ya que es un proceso un poco laborioso y no tan sencillo como en otras distribuciones. Aunque si sigues el orden que te proponemos en este tutorial conseguirás instalar la pila LEMP a la primera

¿MariaDB o MySQL?

Dependiendo de qué servicio de bases de datos te interese para configurar la pila LEMP en openSUSE Leap 15.1, el procedimiento varía un poco. En ambos casos tendremos que usar repositorios oficiales. A continuación te mostramos el proceso de instalación tanto de uno como de otro servicio de bases de datos, ¡elige el que prefieras!

MariaDB

Puesto que la versión disponible en los repositorios de openSUSE es la 10.2, es buena idea usar la versión disponible en los repositorios oficiales de este motor de base de datos. Los pasos son los siguientes:

Añadir la clave pública del repositorio para comprobar las firmas de los paquetes:

~> sudo rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

Instalar el repositorio:

~> sudo zypper addrepo --gpgcheck --refresh https://yum.mariadb.org/10.4/opensuse/15/x86_64 mariadb

Actualizar las listas de paquetes:

~> sudo zypper --gpg-auto-import-keys refresh

E instalar el paquete principal:

~> sudo zypper install -y MariaDB-server

Terminada la descarga e instalación de paquetes se crea un nuevo servicio en OpenSUSE Leap 15.1 llamado mariadb.service, o mariadb si prefieres la versión corta. Iniciamos y habilitamos este servicio:

~> sudo systemctl enable --now mariadb

Conviene ejecutar el script mysql_secure_installation para eliminar usuarios anónimos, bases de datos de pruebas, etc. Pero sobre todo, para asignar contraseña al usuario root:

~> sudo mysql_secure_installation

MySQL 8.0

Si prefieres integrar MySQL en la pila LEMP de tu sistema openSUSE Leap 15.1, los pasos serán los siguientes:

Instalar la firma de los paquetes de MySQL:

~> sudo rpm --import 'http://pgp.mit.edu/pks/lookup?op=get&search=0x8C718D3B5072E1F5'

Instalar el paquete que configurará el nuevo repositorio para MySQL:

~> sudo zypper install -y https://dev.mysql.com/get/mysql80-community-release-sl15-3.noarch.rpm

Actualizar las listas de paquetes:

~> sudo zypper refresh

Instalar MySQL Server:

~> sudo zypper install -y mysql-community-server

Y habilitar e iniciar el nuevo servicio:

~> sudo systemctl enable --now mysql

Durante la primera inicialización del servicio se crea una contraseña temporal para el usuario root de MySQL que podremos localizar en los registros de actividad del servicio:

~> sudo grep -i temporary /var/log/mysql/mysqld.log
... 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 0Jsz&p(bA:hI

Es conveniente lanzar el script interactivo mysql_secure_installation usando esta contraseña temporal para crear la definitiva, entre otras cosas.

~> sudo mysql_secure_installation

Un detalle importante que debes tener en cuenta con MySQL 8 es que a la hora de crear usuarios para las aplicaciones LEMP deberás especificar el plugin de autenticación mysql_native_password, que es el que usa PHP para comunicarse con MariaDB/MySQL.

Instalación del resto de la pila LEMP en openSUSE Leap 15.1

Instalamos el resto de servicios y componenentes de la pila LEMP en openSUSE Leap 15.1 con el siguiente comando:

~> sudo zypper install -y nginx php7-fpm php7-mysql

Configuración de PHP-FPM

Para que el servicio PHP pueda funcionar necesita un par de archivos de configuración que obtendremos a partir de los archivos de muestra que proporciona el paquete:

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

Y el segundo archivo:

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

Con las acciones anteriores configuramos el modo de funcionamiento del servicio PHP, pero ahora vamos a configurar las características que ofrece. Para ello deberíamos editar el archivo php.ini, pero por defecto no existe, así que trabajaremos sobre el archivo php.ini para la versión PHP de consola:

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

El primer ajuste que realizaremos será la zona horaria:

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

Por defecto aparece el valor UTC, pero quizás quieras adaptarlo a la zona horaria de tu país, del país donde se encuentra el servidor o del país a cuya audiencia van destinadas las aplicaciones. Bastará con cambiar el valor anterior por el adecuado:

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

Si no sabes cuál es el valor de la zona horaria que te interesa, puedes consultarlo en https://www.php.net/manual/es/timezones.php.

Por otro lado, si el servidor LEMP que estás preparando es para desarrollo o testeo de aplicaciones, seguramente te interesará obtener errores de las aplicaciones web, para lo cual debes configurar los siguientes valores:

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

Si el servidor LEMP de esta máquina openSUSE Leap 15.1 está dirigido a producción y usuarios finales, entonces no será necesario realizar ninguno de estos cambios, ya que los valores por defecto serán los adecuados.

Ya podemos guardar los cambios, cerrar el archivo y hacer una copia del mismo para que sea utilizada por el servicio PHP-FPM:

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

Configuración de Nginx

Es el momento de crear la configuración de Nginx para conectar con el servicio PHP-FPM. Para ello preparemos un nuevo subdirectorio:

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

Y creamos el archivo de configuración:

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

Con el siguiente contenido:

location ~ \.php$ {
        root /srv/www/htdocs;
        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;
}

Guardamos los cambios y cerramos el archivo. Ahora editaremos la configuración principal de Nginx para incluir esta configuración:

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

Dentro del bloque server encontraremos una zona de configuración de PHP desactivada mediante caracteres #:

...
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
...

Justo al principio de esa zona podemos incluir la configuración de PHP-FPM que acabamos de crear:

...
        include include.d/php-fpm.conf;
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}
...

Guardamos los cambios y cerramos el archivo.

Ya podemos iniciar los servicios y habilitarlos para que inicien en cada arranque de openSUSE Leap 15.1:

~> sudo systemctl enable --now php-fpm nginx

Configurar el firewall de openSUSE Leap 15.1 para la pila LEMP

Si quieres acceder a los servicios y aplicaciones que ofrece la pila LEMP, debemos configurar el firewall de openSUSE Leap 15.1 añadiendo las excepciones necesarias:

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

Aplicamos los cambios recargando la configuración del firewall:

~> sudo firewall-cmd --reload

Cómo probar la pila LEMP

Para comprobar el funcionamiento de la pila LEMP en openSUSE Leap 15.1 creamos un pequeño script en PHP:

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

El contenido será esta única línea de código:

<?php phpinfo();

Guardamos los cambios y cerramos el archivo.

Ahora accederemos desde un navegador al servicio, añadiendo la ruta /info.php a la dirección IP o dominio de la máquina openSUSE Leap 15.1. Por ejemplo, en este tutorial el servidor openSUSE Leap 15.1 es accesible en el dominio opensuse151.local, por lo que usaremos http://opensuse151.local/info.php como URL:

como instalar lemp en opensuse leap 15.1

Esta página nos demuestra que PHP está funcionando, pero también podemos consultar muchísima información sobre su configuración actual. Por ejemplo, encontraremos que tiene cargadas las correspondientes extensiones para conectar con MariaDB/MySQL:

instalar lemp en opensuse leap 15.1

Ya está todo listo para empezar a instalar o desarrollar aplicaciones web sobre esta máquina.

Conclusión

Ahora que sabes cómo instalar la pila LEMP en openSUSE Leap 15.1 podrás comenzar a desarrollar tus propias aplicaciones web o desplegar aplicaciones ya existentes. El proceso de configuración es un poco laborioso, pero siguiendo los pasos de forma lógica y ordenada deberías conseguirlo al primer intento.

Si te ha quedado alguna duda, tienes preguntas, sugerencias de mejoras, quieres notificar algún error, etc. puedes dejar un comentario.

¡Apoya comoinstalar.me!

¿Ya está todo listo para desplegar tu primera aplicación web gracias a esta guía de instalación LEMP en openSUSE Leap 15.1? Si es así y te apetece expresar tu agradecimiento, cualquier pequeña aportarción ayuda mucho al mantenimiento de este sitio y la creación de más tutoriales de openSUSE Leap 15.1 y aplicaciones LEMP.

Puedes hacerlo dejando una propina de tan sólo 1 $ desde PayPal:

O, si te sientes especialmente generoso, invitándonos a un cappuccino:

¡Gracias!

Valora esta entrada

5/5 - (2 votos)

Deja un comentario