Cargando

Ir a contenido

X
Webinars con expertos RED HAT GRATUITOS
Próximo Webinar 8 de julio
Ver Más! Inscríbete en los webinar gratuitos impartidos por expertos RED HAT para estar al día en las tecnologías 100% código abierto empresarial

 


Instalar Laravel PHP Framework CentOS 8 con NGINX

Tutorial con vídeo para poder instalar Laravel PHP Framework CentOS 8 con NGINX.


Escrito por abr 27 2020 10:07 centos

El uso de aplicaciones web cada día toma más fuerza en un mundo donde cada día la conectividad en línea se ha vuelto más que esencial. Para ello el mundo web ofrece un sinfín de posibilidades que van desde aplicaciones hasta completas estructuras y como administradores o usuarios de estos medios disponemos de aplicaciones como PHP Framework que tienen como finalidad el facilitar estas tareas y hoy hablaremos de una en especial llamada Laravel y usaremos CentOS 8 para tal fin y así instalar Laravel PHP Framework CentOs 8 con NGINX.

 

Qué es Laravel
Laravel se ha desarrollado como un framework el cual está basado en PHP integrando un código abierto que posee múltiples herramientas para la creación de aplicaciones web de todo tipo de tamaño y complejidad.

 

Tutorial con vídeo para aprender cómo ver versión .NET Framework o como saber que .NET Framework tengo en Windows 10.

 

Componentes Laravel
Laravel integra componentes técnicos llamados así:

 

  • Routing
  • Requests
  • Response
  • Middleware
  • CSRF Protection
  • Validation
  • Authentication
  • Authorization
  • Eloquent ORM
  • Responses
  • Laravel Dusk
  • Filestorage
  • Artisan

 

 

Cada uno de ellos juega un rol fundamental en el comportamiento de la aplicación y de las opciones que tenemos para montar sitios web y objetos para acceder ya sea de forma local o externa.

 

Componentes Laravel
Algunas de las características más sobresalientes de Laravel son:

 

  • Múltiples plantillas de enrutamiento
  • Soporte de arquitectura MVC
  • Mejoras de seguridad al implementar el algoritmo Bcrypt Hashing y hace uso de sentencias SQL que evitan ataques de inyección SQL
  • Soporte de ORM (Object Relational Mapping)
  • Uso de Artisan la cual es una utilidad de línea de comandos con la cual se automatizan las tareas de programación
  • Múltiples librerías y módulos de uso
  • Sistemas de migración de bases de datos y más

 

 

Requisitos Laravel
A continuación, Solvetic te explicará los diferentes componentes que debe tener tu servidor para la instalación correcta de Laravel:

 

  • PHP >= 7.2.5
  • Extensión BCMath PHP
  • Extensión Ctype PHP
  • Extensión Fileinfo PHP
  • Extensión JSON PHP
  • Extensión Mbstring PHP
  • Extensión OpenSSL PHP
  • Extensión PDO PHP
  • Extensión Tokenizer PHP
  • Extensión XML PHP

 

 

No te angusties que Solvetic te dará el paso a paso para instalar Laravel PHP Framework CentOs 8 con NGINX.

 

 


1. Actualizar CentOS 8

 

El primer paso a dar será actualizar los componentes y el sistema en CentOS 8, para ello vamos a la terminal y ejecutamos lo siguiente. Allí esperamos que el sistema sea actualizado.

dnf update

1-Actualizar-CentOS-8.png

 

 


2. Instalar LEMP CentOS 8

 

Paso 1

LEMP es un conjunto de funcionalidades creadas para optimizar el sistema operativo CentOS 8, LEMP (Linux, Nginx, MariaDB / MySQL y PHP) permiten que Laravel sea explotado al máximo, para su instalación ejecutamos lo siguiente.

 

Ingresamos la letra “s” para confirmar la descarga e instalación de LEMP en CentOS 8.

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

2-Actualizar-CentOS-8.png

 

 

Paso 2

Después de esto vamos a ejecutar los siguientes comandos:
systemctl start php-fpm nginx mariadb (inicia el servicio MariaDB)
systemctl enable php-fpm nginx mariadb (habilita el servicio MariaDB)
systemctl status php-fpm nginx mariadb (muestra el estado del servicio MariaDB)

3-Actualizar-CentOS-8.png

 

 

Paso 3

El siguiente paso será asegurar la instalación de MySQL (por defecto es insegura), para ello vamos a ejecutar el siguiente comando. Allí debemos completar cada una de las preguntas desplegadas como lo son el cambio de contraseña de root, borrar bases de datos temporales y más.
mysql_secure_installation

4-Actualizar-CentOS-8.png

 

 

Paso 4

A continuación, vamos a habilitar los protocolos HTTP y HTTPS para el acceso externo a través del Firewall, ejecutamos lo siguiente:
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload

5-Actualizar-CentOS-8.png

 

 

Paso 5

Una vez realizado esto accedemos desde un navegador e ingresamos la IP del servidor para acceder a la configuración de Apache:

 

 

 


3. Configurar PHP-FPM y Nginx Centos 8


Con el fin de procesar las solicitudes del servidor web Nginx, PHP-FPM está en la capacidad de escuchar a través de un socket Unix o un socket TCP.

 

Paso 1

Esto es validado con el parámetro listen en el archivo de configuración /etc/php-fpm.d/www.conf, accedemos a este ejecutando:
nano /etc/php-fpm.d/www.conf

7-IP-del-servidor-para-acceder-a-la-configuración-de-Apache.png

 

 

Paso 2

Allí vamos a buscar la línea “listen” la cual indica lo siguiente:

 

8 Configurar PHP-FPM y Nginx Centos 8.png

 

 

Paso 3

Podemos ver que escucha a través del socket, ahora vamos a descomentar algunos parámetros y asignar los valores para el usuario y el grupo de Nginx, estas líneas están un poco más abajo:
listen.owner = nginx
listen.group = nginx
listen.mode = 066
Paso 4

Allí reemplazamos “nobody” por “nginx”:

 

 

9-Configurar-PHP-FPM-y-Nginx-Centos-8.png

 

 

Paso 5

Guardamos los cambios usando la combinación de teclas siguiente:

 

Ctrl + O

 

Salimos del editor usando:

 

Ctrl + X

 

 

Paso 6

Accedemos ahora al archivo de configuración de PHP:
nano /etc/php.ini
Paso 7

Allí vamos a la línea “;date.timezone” y establecemos la zona horaria actual. Guardamos los cambios y salimos del editor.

 

10-Configurar-PHP-FPM-y-Nginx-Centos-8.png

 

 


4. Instalar Composer en Centos 8


Composer es una herramienta mediante la cual administramos las dependencias en PHP, esta nos permite declarar las bibliotecas y las administrará (instalará / actualizará) sin mucha intervención de parte nuestra.

 

Paso 1

Esto simplifica estas tareas, para instalar Composer primero instalaremos algunas dependencias PHP:
dnf install php libapache2-mod-php php-mbstring php-xmlrpc php-soap php-gd php-xml php-cli php-zip

11-.-Instalar-Composer-en-Centos-8.png

 

 

Paso 2

Ingresamos la letra “s” para aceptar la descarga e instalación de estas dependencias:

 

12-.-Instalar-Composer-en-Centos-8.png

 

Paso 3

Después de esto comprobamos la versión de PHP ejecutando:
php -v

15-.-Instalar-Composer-en-Centos-8.png

 

 

Paso 4

Después de esto instalaremos Curl el cual es un gestor de descargas:
dnf install curl

16-instalaremos-Curl.png

 

 

Paso 5

Procedemos a la descarga de la última versión de Composer para CentOS 8:
curl -sS https://getcomposer.org/installer | php

17-descarga-de-la-última-versión-de-Composer-para-CentOS-8.png

 

 

Paso 6

Si deseamos que Composer sea instalado de forma global para todos los usuarios del sistema vamos a ejecutar lo siguiente:
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
source ~/.bashrc

18-descarga-de-la-última-versión-de-Composer-para-CentOS-8.png

 

 

Paso 7

Comprobamos la versión de Composer con el siguiente comando:
composer -v

19-descarga-de-la-última-versión-de-Composer-para-CentOS-8.png

 

 


5. Instalar Laravel para acceso local en Centos 8


Laravel puede ser usado tanto de forma local como externa, Solvetic te explicará ambas formas.

 

Paso 1

Para acceso local vamos a ejecutar lo siguiente:
composer create-project --prefer-dist laravel/laravel test
Nota
test puede ser reemplazado por el nombre deseado.

 

20-Instalar-Laravel-para-acceso-local-en-Centos-8.png

 

 

Paso 2

Esto iniciará la descarga de todos los complementos necesarios para el acceso adecuado:

 

21-Instalar-Laravel-para-acceso-local-en-Centos-8.png

 

 

Paso 3

Cuando finalice veremos lo siguiente:

 

22-Instalar-Laravel-para-acceso-local-en-Centos-8.png

 

 

Paso 4

Ahora accedemos a la carpeta del proyecto creado y ejecutamos lo siguiente:
cd test
php artisan serve

23-Instalar-Laravel-para-acceso-local-en-Centos-8.png

 

 

Paso 5

Como vemos allí se indica la dirección IP de acceso local con el respectivo puerto asignado. Asignamos los permisos respectivos en el Firewall de CentOS 8:
firewall-cmd --add-port=8000/tcp --permanent --zone=public
firewall-cmd --reload

24-Instalar-Laravel-para-acceso-local-en-Centos-8.png

 

 

Paso 6

A continuación, usamos el comando ip add para detectar la IP del servidor y la asociamos a Laravel con el siguiente comando:
php artisan serve --host=192.168.0.34 --port=8000
Nota
La IP a ingresar es la del servidor en uso.

 

25-comando-ip-add-para-detectar-la-IP-del-servidor.png

 

 

Paso 7

Con esto podremos acceder desde un navegador e ingresar la siguiente sintaxis. Allí contamos con el acceso a Laravel de forma local.
http://IP_CentOS8:8000

 

 


6. Abrir Laravel PHP externamente en Centos 8

 

Paso 1

Para este caso el proceso es algo diferente, en primer lugar, accedemos al directorio html:
cd /var/www/html/
Paso 2

Allí creamos el respectivo proyecto:
composer create-project --prefer-dist laravel/laravel solvetic

27-Abrir-Laravel-PHP-externamente-en-Centos-8.png

 

 

Paso 3

Cuando el proyecto sea creado veremos lo siguiente:

 

 

28-Abrir-Laravel-PHP-externamente-en-Centos-8.png

 

 

Paso 4

Durante este proceso de instalación, ha sido creado el archivo de entorno .env y ha sido generada la aplicación requerida, para validar esto ejecutaremos lo siguiente. Allí vemos cada uno de los permisos asignados.
ls -la solvetic/

29-Abrir-Laravel-PHP-externamente-en-Centos-8.png

 

 

Paso 5

Ahora vamos a otorgar todos los permisos necesarios al proyecto:
chown -R :nginx /var/www/html/solvetic/storage/
chown -R :nginx /var/www/html/ solvetic /bootstrap/cache/
chmod -R 0777 /var/www/html/ solvetic /storage/
chmod -R 0775 /var/www/html/ solvetic /bootstrap/cache/

30-Abrir-Laravel-PHP-externamente-en-Centos-8.png

 

 

Paso 6

En caso de que SELinux se encuentre habilitado en CentOS 8, será necesario actualizar el contexto de seguridad de los directorios de almacenamiento y bootstrap/cache, esto lo logramos con los siguientes comandos:
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/solvetic/storage(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/ solvetic /bootstrap/cache(/.*)?'
restorecon -Rv '/var/www/html/ solvetic '

31-Abrir-Laravel-PHP-externamente-en-Centos-8.png

 

 


7. Configurar Nginx para Laravel en Centos 8

 

Paso 1

Con el de que Nginx actue de forma correcta en el servidor debemos crear un bloque de servidor con un archivo .conf en el directorio /etc/nginx/conf.d/:
nano /etc/nginx/conf.d/solvetic.conf
Paso 2

En este archivo ingresamos los siguientes datos:
server {
		    listen	  80;
	   server_name solvetic;
	   root	    /var/www/html/solvetic/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;
	    }
}

32-.-Configurar-Nginx-para-Laravel-en-Centos-8.png

 

 

Paso 3

Guardamos los cambios usando la combinación de teclas siguiente:

 

Ctrl + O

 

Salimos del editor usando:

 

Ctrl + X

 

Paso 4

Ahora comprobamos que todo funcione con el siguiente comando:
nginx -t

33-.-Configurar-Nginx-para-Laravel-en-Centos-8.png

 

 

Paso 5

Después de esto reiniciamos los servicios:
systemctl restart php-fpm
systemctl restart Nginx

8. Abri Laravel externamente en Centos 8

 

 

Paso 1

Debemos conceder los permisos en el archivo hosts tanto a la IP como al proyecto, esto será posible ejecutando:
echo "192.168.0.34  solvetic" | sudo tee -a /etc/hosts

34-.-Configurar-Nginx-para-Laravel-en-Centos-8.png

 

 

Paso 2

Con esto ya podemos acceder de forma remota al proyecto ingresando la IP del servidor en cualquier navegador:

 

 

Con estos pasos que te ha explicado Solvetic ya estas listo para configurar tu servidor web con Laravel.

 

Tutorial completo para poder instalar phpMyAdmin con todos los pasos necesarios en CentOS 8.



AYUDA A MEJORAR ESTE TUTORIAL!

¿Crees que puedes corregir o mejorar este tutorial? Puedes enviar tu Edición con los cambios que consideres útiles.
0 usuarios han editado este tutorial. ¡Edita y conviértete en un reconocido experto!


Tutoriales Relacionados



Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!


  Información

  •   Publicado abr 27 2020 10:07
  •   Actualizado abr 27 2020 10:52
  •   Visitas 400
  •   Nivel
    Avanzado