GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar Laravel PHP Framework con Nginx en CentOS 8

Introducción

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

Sus características clave incluyen un motor de enrutamiento simple y rápido, un poderoso contenedor de inyección de dependencia, múltiples back-ends para almacenamiento de sesiones y caché, base de datos ORM (Mapeo relacional de objetos) expresivo e intuitivo, procesamiento sólido de trabajos en segundo plano y transmisión de eventos en tiempo real.

Además, utiliza herramientas como Composer, un administrador de paquetes PHP para administrar dependencias y Artisan, una interfaz de línea de comandos para crear y administrar aplicaciones web.

Aprenderá a instalar la última versión del marco web PHP de Laravel en la distribución de Linux CentOS 8.

Instalar la pila LEMP

1. Para comenzar, actualice los paquetes de software del sistema e instale LEMP pila (Linux , Nginx , MariaDB/MySQL y PHP ) usando los siguientes comandos dnf.

# dnf update
# dnf install nginx php php-fpm php-common php-xml php-mbstring php-json php-zip mariadb-server php-mysqlnd

2. Cuando el LEMP la instalación está completa, debe iniciar PHP-PFM , Nginx y MariaDB servicios utilizando los siguientes comandos systemctl.

# systemctl start php-fpm nginx mariadb
# systemctl enable php-fpm nginx mariadb
# systemctl status php-fpm nginx mariadb

3. Debe asegurar y fortalecer MariaDB motor de base de datos usando el script de seguridad como se muestra.

# mysql_secure_installation

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

Enter current password for root (enter for none): press Enter 

 Set root password? [Y/n]y #set new root password Remove anonymous users? [Y/n] press y 
Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] press y
 Reload privilege tables now? [Y/n] 

4. Si tiene el cortafuegos servicio en ejecución, debe abrir el HTTP y HTTPS servicio en el firewall para habilitar las solicitudes de los clientes 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, puede confirmar que su LEMP stack se está ejecutando usando un navegador en la dirección IP de su sistema.

http://server-IP

Configuración y protección de PHP-FPM y Nginx

1. Para procesar solicitudes de Nginx servidor web, PHP-FPM puede escuchar en un socket Unix o TCP y esto está definido por escuchar parámetro en /etc/php-fpm.d/www.conf archivo de configuración.

# vi /etc/php-fpm.d/www.conf

Por defecto, está configurado para escuchar en un socket Unix como se muestra en la siguiente captura de pantalla. El valor aquí se especificará en el archivo de bloque del servidor Nginx más adelante.

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

listen.owner = nginx
listen.group = nginx
listen.mode = 066

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

# vim /etc/php.ini

Busque la línea “date.timezone” y descoméntelo, luego establezca su valor como se muestra en la captura de pantalla (use valores que se apliquen a su región/continente y país).

 date.timezone = Africa/Cairo

4. Para mitigar el riesgo de Nginx pasando solicitudes de usuarios maliciosos que usan otras extensiones para ejecutar código PHP a PHP-FPM, elimine el comentario del siguiente parámetro y establezca su valor en 0 .

cgi.fix_pathinfo=0

5. En relación con el punto anterior, también descomente el siguiente parámetro en el /etc/php-fpm.d/www.conf expediente. Lea el comentario para obtener más explicaciones.

security.limit_extensions = .php .php3 .php4 .php5 .php7

Instalar Composer y Laravel PHP Framework

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

[unixcop@unixcop ~]$ curl -sS https://getcomposer.org/installer | php
All settings correct for using Composer
Downloading…
Composer (version 2.1.5) successfully installed to: /home/unixcop/composer.phar
Use it: php composer.phar
[unixcop@unixcop ~]$

Luego ejecuta estos comandos:

mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer

2. Ahora que Compositor está instalado, utilícelo para instalar los archivos y las dependencias de Laravel de la siguiente manera. Reemplace newunixcop.com con el nombre del directorio donde se almacenarán los archivos de Laravel, la ruta absoluta (o ruta raíz en el archivo de configuración de Nginx) será /var/www/html/newunixcop.com .

# cd /var/www/html/
# composer create-project --prefer-dist laravel/laravel newunixcop.com

3. Durante el proceso de instalación, el .env Se creó el archivo de entorno y también se generó la aplicación requerida, por lo que no necesita crearlos manualmente como antes. Para confirmar esto, ejecuta una lista larga del directorio raíz de laravel usando el comando ls.

# ls -la newunixcop.com/

4. Debe configurar la propiedad y los permisos correctos en el almacenamiento y el arranque/caché directorios para que el servidor web Nginx pueda escribirlos.

[root@unixcop html]# chown -R :nginx /var/www/html/newunixcop.com/storage/
[root@unixcop html]# chown -R :nginx /var/www/html/newunixcop.com/bootstrap/cache/
[root@unixcop html]# chown -R :nginx /var/www/html/newunixcop.com/storage/
[root@unixcop html]# chmod -R 0775 /var/www/html/newunixcop.com/bootstrap/cache/

5. Si SELinux habilitado en su servidor, también debe actualizar el contexto de seguridad del almacenamiento y arranque/caché directorios.

ejecuta este comando:

[root@unixcop html]# restorecon -Rv 'https://1118798822.rsc.cdn77.org/var/www/html/newunixcop.com'
Relabeled /var/www/html/newunixcop.com/storage/logs from unconfined_u:object_r:httpd_sys_content_t:s0 to unconfined_u:object_r:httpd_log_t:s0
Relabeled /var/www/html/newunixcop.com/storage/logs/.gitignore from unconfined_u:object_r:httpd_sys_content_t:s0 to unconfined_u:object_r:httpd_log_t:s0
[root@unixcop html]# 

Configurar bloque de servidor Nginx para Laravel

1. Para Nginx para comenzar a servir su sitio web o aplicación, debe crear un bloque de servidor para él en un .conf archivo en /etc/nginx/conf.d/ directorio como se muestra.

# vim /etc/nginx/conf.d/newunixcop.com.conf

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

server {
        listen      80;
       server_name newunixcop.com;
       root        /var/www/html/newunixcop.com/public;
       index       index.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;
        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php {
                include fastcgi.conf;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php-fpm/www.sock;
        }
        location ~ /\.ht {
                deny all;
        }
}

2. Guarde el archivo y compruebe si Nginx la sintaxis de configuración es correcta al ejecutar.

[root@unixcop ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@unixcop ~]# 

3. Luego reinicie el PHP-FPM y Nginx servicios para que los cambios recientes entren en vigor.

# systemctl restart php-fpm
# systemctl restart Nginx

Acceso al sitio web de Laravel desde un navegador web

4. Para acceder al sitio web de Laravel en newunixcop.com , que no es un nombre de dominio completo (FQDN) y no está registrado (solo se usa con fines de prueba), usaremos el /etc/hosts archivo en su máquina local para crear un DNS local.

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

[root@unixcop ~]# echo "192.168.122.60  newunixcop.com" | sudo tee -a /etc/hosts
192.168.122.60  newunixcop.com
[root@unixcop ~]# 

5. Abra un navegador web en la máquina local y use la siguiente dirección para navegar.

http://newunixcop.com

Conclusión

Ha implementado con éxito Laravel en CentOS 8 . Ahora puede comenzar a desarrollar su sitio web o aplicación web usando Laravel . Para obtener más información, consulte la guía de introducción a Laravel.


Cent OS
  1. Cómo instalar WordPress con Nginx en CentOS 7

  2. Cómo instalar phpMyAdmin con Nginx en CentOS 7

  3. Cómo instalar Nextcloud con Nginx y PHP 7.3 en CentOS 8

  4. Cómo instalar SuiteCRM con Nginx en CentOS 7

  5. Cómo instalar Phorum con Nginx en CentOS 7

Cómo instalar Nginx con PHP-FastCGI en CentOS 6

Cómo instalar Magento con Nginx en CentOS 7

Cómo instalar Laravel con Nginx en CentOS 8

Cómo instalar Laravel PHP Framework con Nginx en Ubuntu 20.04

Cómo instalar Laravel PHP Framework con Nginx en CentOS 8

Cómo instalar Laravel PHP Framework con Nginx en Ubuntu Linux