Cómo instalar el marco de Laravel PHP con Nginx en Centos 8

Cómo instalar el marco de Laravel PHP con Nginx en Centos 8

Laravado es un marco web de código abierto, conocido y moderno basado en PHP con sintaxis expresiva, elegante y fácil de entender que facilita la creación de aplicaciones web grandes y robustas.

Sus características clave incluyen un motor de enrutamiento simple y rápido, un poderoso contenedor de inyección de dependencia, back-end múltiples para el almacenamiento de la sesión y el almacenamiento de caché, la base de datos expresiva e intuitiva ORM (mapeo relacional de objetos), procesamiento de trabajo de fondo robusto y transmisión de eventos en tiempo real en tiempo real.

Además, utiliza herramientas como Compositor - un administrador de paquetes de PHP para administrar dependencias y Artesano - Una interfaz de línea de comandos para construir y administrar aplicaciones web.

En este artículo, aprenderá cómo instalar la última versión del Laravel PHP marco web en Centos 8 Distribución de Linux.

Requisitos del servidor

El Laravado El marco tiene los siguientes requisitos:

  • Php> = 7.2.5 Con estas extensiones PHP OpenSSL, PDO, MBString, Tokenizer, XML, CType y JSON.
  • Compositor - para instalar y administrar dependencias.

Paso 1: Instalación de Lemp Stack en Centos 8

1. Para comenzar, actualice los paquetes de software del sistema e instale Lemplo pila (Linux, Nginx, Mariadb / mysql, y Php) usando los siguientes comandos DNF.

# actualización de DNF # DNF Instalar Nginx PHP PHP-FPM PHP-Common PHP-XML PHP-MBSSTRING PHP-JSON PHP-ZIP MARIADB-SERVER PHP-MYSQLND 

2. Cuando el Lemplo La instalación está completa, debe iniciar el PHP-PFM, Nginx y Mariada Servicios utilizando los siguientes comandos SystemCTL.

# SystemCTL Inicio PHP-FPM Nginx Mariadb # SystemCTL Habilitar PHP-FPM Nginx Mariadb # SystemCTL Status PHP-FPM Nginx Mariadb 

3. A continuación, debe asegurar y endurecer el Mariada motor de base de datos utilizando el script de seguridad como se muestra.

# mysql_secure_installation 

Responda las siguientes preguntas para asegurar la instalación del servidor.

Ingrese la contraseña actual para root (ingrese para ninguno): Ingresar Establecer contraseña de root? [Y/n] Y #set nueva contraseña de root elimine usuarios anónimos? [Y/n] Y No permitir el inicio de sesión de raíz de forma remota? [Y/n] Y Eliminar la base de datos de prueba y el acceso a ella? [Y/n] Y Tablas de privilegio de recarga ahora? [Y/n] Y

4. Si tienes el cortafuegos servicio en ejecución, debe abrir el Http y Https Servicio en el firewall para habilitar las solicitudes del cliente al servidor web NGINX.

# firewall-cmd --zone = public --permanent --add-service = http # firewall-cmd --zone = public --permanent --add-service = https # firewall-cmd--Reload 

5. Finalmente, puedes confirmar que tu Lemplo Stack se ejecuta usando un navegador en la dirección IP de su sistema.

http: // servidor-ip 
Verifique la página web de Nginx

Paso 2: Configuración y obtención de PHP-FPM y NGINX

6. Para procesar solicitudes desde el Nginx Servidor web, Php-FPM puede escuchar en un enchufe unix o tcp y esto está definido por el escuchar parámetro en el /etc/php-fpm.D/www.confusión archivo de configuración.

# vi /etc /php-fpm.D/www.confusión 

Por defecto, está configurado para escuchar en un zócalo unix como se muestra en la siguiente captura de pantalla. El valor aquí se especificará en el archivo de bloque de servidor NGINX más adelante.

Establezca el socket de Php-FPM Listen

7. Si usa un socket Unix, también debe establecer la propiedad y los permisos correctos como se muestra en la captura de pantalla. Descopmento los siguientes parámetros y establezca sus valores en el usuario y el grupo para que coincidan con el usuario y el grupo Nginx está funcionando como.

escuchar.propietario = Nginx escuchar.grupo = nginx escuchar.modo = 066 
Establezca la propiedad del socket de escuchar a Nginx

8. A continuación, también establezca la zona horaria de todo el sistema en el /etc/php.ini archivo de configuración.

# vi /etc /php.ini 

Busque la línea ";fecha.zona horaria" y sin consecuencia, luego establezca su valor como se muestra en la captura de pantalla (use valores que se aplican a su región/continente y país).

 fecha.zona horaria = África/Kampala 
Establecer zona horaria en PHP

9. Para mitigar el riesgo de Nginx Al pasar solicitudes de usuarios maliciosos que usan otras extensiones para ejecutar el código PHP a PHP-FPM, sin consolidad del siguiente parámetro y establecen su valor para 0.

CGI.fix_pathinfo = 1 
Asegure PHP y Nginx

10. En relación con el punto anterior, también descompone el siguiente parámetro en el /etc/php-fpm.D/www.confusión archivo. Lea el comentario para más explicación.

seguridad.Limit_extensions = .php .ph3 .php4 .php5 .php7 
Limitar las ejecuciones de extensión de PHP

Paso 3: Instalación del marco del compositor y Laravel PHP

11. A continuación, instale el Compositor paquete ejecutando los siguientes comandos. El primer comando descarga el instalador, luego lo ejecuta usando PHP.

# curl -ss https: // getComposer.org/instalador | compositor de php # mv.Phar/usr/local/bin/composer # chmod +x/usr/local/bin/composer 
Instale el compositor en CentOS 8

12. Ahora eso Compositor está instalado, úselo para instalar archivos y dependencias de Laravel de la siguiente manera. Reemplazar mi sitio.comunicarse Con el nombre del directorio donde se almacenarán los archivos Laravel, la ruta absoluta (o la ruta raíz en el archivo de configuración de Nginx) será /var/www/html/mysite.comunicarse.

# CD/var/www/html/ # composer create-project--prefer-dist laravel/laravel mysite.comunicarse 
Instale Laravel en CentOS 8

Si todo va bien durante el proceso, la aplicación debe instalarse correctamente y se debe generar una clave como se muestra en la siguiente captura de pantalla.

Instalación de Laravel completa

13. Durante el proceso de instalación, el .envidia Se creó un archivo de entorno y también se generó la aplicación requerida, por lo que no necesita crearlo manualmente como antes. Para confirmar esto, ejecute una lista larga del directorio raíz de Laravel usando el comando LS.

# ls -la mysite.com/ 
Enumere los archivos de Laravel

14. A continuación, debe configurar la propiedad y los permisos correctos en el almacenamiento y el bootstrap/caché Directorios para ser escritos por el servidor web NGINX.

# chown -r: nginx/var/www/html/mysite.com/storage/ # chown -r: nginx/var/www/html/mysite.com/bootstrap/cache/ # chmod -r 0777/var/www/html/mysite.com/storage/ # chmod -r 0775/var/www/html/mysite.com/bootstrap/caché/ 

15. Si Selinux habilitado en su servidor, también debe actualizar el contexto de seguridad del almacenamiento y bootstrap/caché directorios.

# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com/Storage (/.*)?' # Semanage fcontext -a -t httpd_sys_rw_content_t'/var/www/html/mysite.com/bootstrap/caché (/.*)?' # restaurecon -rv'/var/www/html/mysite.com ' 

Paso 4: Configurar el bloque de servidor NGINX para Laravel

dieciséis. Para Nginx Para comenzar a servir a su sitio web o aplicación, debe crear un bloque de servidor en un .confusión archivar en /etc/nginx/conf.d/ directorio como se muestra.

# vi/etc/nginx/conf.d/mysite.comunicarse.confusión 

Copie y pegue la siguiente configuración en el archivo. Tome nota de la raíz y fastcgi_pass parámetros.

servidor escuchar 80; server_name mySite.com; root/var/www/html/mysite.com/público; índice índice.php; Charset UTF-8; gzip on; GZIP_TYPES Text/CSS Application/JavaScript Text/JavaScript Application/X-JavaScript Image/SVG+XML Text/Plain Text/XSD Text/XSL Text/XML Image/X-Icon; ubicación / try_files $ uri $ uri / / index.php?$ QUERY_STRING;  ubicación ~ \ \.PHP Incluya Fastcgi.conf; fastcgi_split_path_info ^(.+\.php) (/.+ps fastcgi_pass unix:/run/php-fpm/www.calcetín;  ubicación ~ /\.ht negar todo;  

17. Guarde el archivo y verifique si el Nginx La sintaxis de configuración es correcta ejecutándose.

# nginx -t 
Verifique la configuración de Nginx

18. Luego reinicie el Php-FPM y Nginx Servicios para los cambios recientes para entrar en vigencia.

# SystemCTL reiniciar PHP-FPM # SystemCTL reiniciar nginx 

Paso 5: Acceder al sitio web de Laravel desde un navegador web

19. Para acceder al sitio web de Laravel en mi sitio.comunicarse, que no es un nombre de dominio totalmente calificado (FQDN) y no está registrado (solo se usa para fines de prueba), utilizaremos el /etc/huéspedes Archivo en su máquina local para crear DNS local.

Ejecute el siguiente comando para agregar la dirección IP y el dominio del servidor en el archivo requerido (reemplace el valor de acuerdo con su configuración).

# IP Agregar #get Remote Server IP $ Echo "10.42.0.21 MySite.com "| sudo tee -a /etc /hosts 
Agregar entradas DNS en el archivo local

20. A continuación, abra un navegador web en la máquina local y use la siguiente dirección para navegar.

http: // mysite.comunicarse 
Acceso web de Laraval

Te has implementado con éxito Laravado en Centos 8. Ahora puede comenzar a desarrollar su sitio web o aplicación web utilizando Laravado. Para obtener más información, consulte la guía de inicio de Laravel.