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
# dnf update
# dnf install nginx php php-fpm php-common php-xml php-mbstring php-json php-zip mariadb-server php-mysqlnd
# systemctl start php-fpm nginx mariadb
# systemctl enable php-fpm nginx mariadb
# systemctl status php-fpm nginx mariadb
# 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]
# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --zone=public --permanent --add-service=https
# firewall-cmd --reload
http://server-IP
Configuración y protección de PHP-FPM y Nginx
# 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.
listen.owner = nginx
listen.group = nginx
listen.mode = 066
# 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
cgi.fix_pathinfo=0
security.limit_extensions = .php .php3 .php4 .php5 .php7
Instalar Composer y Laravel PHP Framework
[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
# cd /var/www/html/
# composer create-project --prefer-dist laravel/laravel newunixcop.com
# ls -la newunixcop.com/
[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/
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
# 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;
}
}
[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 ~]#
# systemctl restart php-fpm
# systemctl restart Nginx
Acceso al sitio web de Laravel desde un navegador web
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 ~]#
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.