Instale LEMP - Nginx, PHP, MariaDB y PhpMyAdmin en OpenSUSE


LEMP o Linux , Engine-x , MySQL y PHP son un software paquete compuesto por software de código abierto instalado en el sistema operativo Linux para ejecutar aplicaciones web basadas en PHP impulsadas por el servidor Nginx HTTP y MySQL/MariaDB .

Este tutorial lo guiará sobre cómo instalar una pila LEMP con Nginx , MariaDB , PHP , PHP-FPM y PhpMyAdmin en OpenSuse servidor/ediciones de escritorio.

Instalación del servidor HTTP Nginx

Nginx es un servidor proxy y HTTP rápido y confiable que puede manejar una mayor carga de solicitudes HTTP. Utiliza un enfoque basado en eventos asíncronos para el manejo de solicitudes, y su arquitectura modular basada en eventos puede proporcionar un rendimiento más predecible con cargas elevadas.

Para instalar Nginx en OpenSuse , ejecute el siguiente comando.

$ sudo zypper install nginx

Una vez instalado Nginx , puede iniciar el servicio por ahora, luego habilitarlo para que se inicie automáticamente en el momento del arranque y verificar el estado de Nginx ejecutando los siguientes comandos.

$ sudo systemctl start nginx
$ sudo systemctl enable nginx
$ sudo systemctl status nginx

En este punto, el servidor web Nginx debe estar en funcionamiento, también puede verificar el estado usando el comando netstat como se muestra.

$ sudo netstat -tlpn | grep nginx

Ahora, debemos probar si la instalación de Nginx está funcionando bien. A diferencia de otras distribuciones de Linux, en openSUSE , Nginx no tiene un documento estándar index.html en la carpeta raíz web. Necesitamos crear un nuevo archivo index.html en el directorio web raíz /srv/www/htdocs como se muestra.

$ echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html

Si tiene instalado firewalld, debe abrir el puerto 80 y 443 para permitir el tráfico web en el firewall.

$ sudo firewall-cmd --permanent --add-port=80/tcp
$ sudo firewall-cmd --permanent --add-port=443/tcp
$ sudo firewall-cmd --reload

A continuación, abra un navegador web y navegue hasta la dirección http:/localhost y verifique la página Nginx.

Instalación del servidor de base de datos MariaDB

MariaDB es una bifurcación libre y de código abierto del sistema de gestión de bases de datos relacionales MySQL . Está desarrollado por los desarrolladores originales de MySQL y está destinado a permanecer en código abierto. MariaDB es rápido, escalable y robusto, con un rico ecosistema de motores de almacenamiento, complementos y muchas otras herramientas que lo hacen muy versátil para una amplia variedad de casos de uso.

Para instalar MariaDB en OpenSuse , ejecute el siguiente comando.

$ sudo zypper install mariadb mariadb-client 

A continuación, inicie el servicio MariaDB por ahora, luego habilítelo para que se inicie automáticamente en el momento del arranque y verifique su estado.

$ sudo systemctl start mariadb 
$ sudo systemctl enable mariadb 
$ sudo systemctl status mariadb 

El siguiente paso crítico en esta sección es asegurar la instalación del servidor MariaDB. Por lo tanto, ejecute el script de seguridad que se envía con el paquete MariaDB, como se muestra.

$ sudo mysql_secure_installation 

Después de ejecutar el script, lea la descripción en cada paso con cuidado. Debe establecer una contraseña de usuario raíz, eliminar usuarios anónimos, deshabilitar el acceso remoto a la raíz, eliminar la base de datos de prueba y acceder a ella y finalmente volver a cargar la tabla de privilegios.

Instalación y configuración de PHP y PHP-FPM

PHP-FPM (abreviatura de PHP FastCGI Process Manager ) es una alternativa FastCGI para el PHP con algunas funciones adicionales. y diseñado para manejar cargas elevadas. Mantiene grupos ( trabajadores que pueden responder a las solicitudes de PHP) para lograr esto. Es importante destacar que es más rápido que los métodos tradicionales basados ​​en CGI, como SUPHP , para entornos de PHP para múltiples usuarios.

Para instalar PHP y PHP-FPM junto con los módulos necesarios, ejecute el siguiente comando.

$ sudo zypper install php php-mysql php-fpm php-gd php-mbstring

Antes de iniciar el servicio PHP-FPM , debemos crear los archivos de configuración necesarios a partir de los archivos predeterminados proporcionados durante la instalación y configurar el servicio listo para las operaciones.

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

A continuación, abra el archivo de configuración principal php-fpm.conf para editarlo.

$ sudo vim /etc/php7/fpm/php-fpm.conf 

Descomente la siguiente línea en la línea número 24 como se muestra.

error_log = log/php-fpm.log

Guarde y cierre el archivo.

Luego, debemos definir la configuración correcta para los grupos configurados en el archivo de configuración www.conf .

$ sudo vim /etc/php7/fpm/php-fpm.d/www.conf

Primero, configure el propietario de Unix y el propietario de grupo de los procesos para el usuario y grupo de Nginx. Haga esto cambiando los valores de los parámetros de usuario y grupo de nobody a nginx

user = nginx
group = nginx

Ahora guarde los cambios en el archivo y salga.

Además, hay otra configuración importante que realizar, que asegura a PHP-FPM en el archivo /etc/php/cli/php.ini .

$ sudo vim /etc/php7/cli/php.ini

Busque la línea ; cgi.fix_pathinfo = 1 y cámbiela a.

cgi.fix_pathinfo=0

Guarde los cambios en el archivo y salga.

A continuación, inicie el servicio PHP-FPM por ahora, luego habilítelo para que se inicie automáticamente en el momento del arranque y verifique su estado.

$ sudo systemctl start php-fpm
$ sudo systemctl enable php-fpm
$ sudo systemctl status php-fpm

Configurando Nginx para trabajar con PHP-FPM

En este punto, necesitamos configurar Nginx para trabajar con PHP-FPM en el archivo de configuración predeterminado de Nginx.

$ sudo vim /etc/nginx/nginx.conf

Luego busque la siguiente sección y agregue index.php en la lista de archivos de índice esperados.

location / { 
           root   /srv/www/htdocs/; 
           index  index.php index.html index.htm ; 
       }

También encuentre la siguiente sección (que debe ser comentada) y descoméntela. Esta sección se utiliza para pasar los scripts de PHP al servidor FastCGI que escucha en 127.0.0.1:9000 .

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; 
       include        fastcgi_params; 
       }

Guarde los cambios en el archivo y salga.

Probando Nginx y PHP-FPM

El siguiente paso es probar si Nginx funciona bien junto con PHP-FPM creando un nuevo archivo de prueba de PHP en el directorio DocumentRoot como mostrado.

$ echo "<?php phpinfo(); ?>" | sudo tee /srv/www/htdocs/info.php

Ahora debemos verificar si la configuración de Nginx es correcta de la siguiente manera, antes de reiniciar el servicio.

$ sudo nginx -t

Si la sintaxis de configuración de Nginx es correcta, siga adelante y reinicie los servicios Nginx y PHP-FPM para que los cambios recientes surtan efecto.

$ sudo systemctl restart nginx php-fpm

Ahora abra un navegador web y navegue hasta la dirección http: //localhost/info.php para verificar la configuración de PHP como se muestra en la siguiente captura de pantalla.

Instalando y Configurando PhpMyAdmin

phpMyAdmin es una herramienta gratuita, sencilla, fácil de usar y popular escrita en PHP, creada para administrar el servidor MySQL a través de la Web. Ofrece una amplia gama de operaciones en MySQL y MariaDB .

Para instalar phpMyAdmin en OpenSuse , ejecute el siguiente comando.

$ sudo zypper install phpMyAdmin

Una vez que se complete la instalación, cree un nuevo archivo de configuración vhost para acceder a phpMyAdmin como se muestra.

$ sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf

Agregue estas siguientes configuraciones al archivo.

server { 
   listen 80; 

   server_name localhost/phpMyAdmin; 

  root /srv/www/htdocs/phpMyAdmin; 

   location / { 
       try_files $uri /index.php?$args; 
   } 

   location ~ \.php$ { 
       try_files $uri =404; 
       fastcgi_pass 127.0.0.1:9000; 
       fastcgi_index index.php; 
       include fastcgi_params; 
   } 
} 

Guarde los cambios y cierre el archivo. Luego reinicie el servicio Nginx con el siguiente comando.

$ sudo systemctl restart nginx

Ahora vaya a su navegador web y escriba la dirección http:/localhost/phpMyAdmin . Debería aparecer una página de inicio de sesión phpMyAdmin como se muestra en la siguiente captura de pantalla. Ingrese las credenciales de inicio de sesión del usuario raíz de la base de datos y haga clic en Ir .

¡Eso es todo! En este tutorial, te explicamos cómo instalar una pila de LEMP con Nginx , MariaDB , PHP , < strong> PHP-FPM y PhpMyAdmin en OpenSuse servidor/escritorio ediciones. Si tiene algún problema durante la configuración, haga sus preguntas a través del formulario de comentarios a continuación.