Cómo instalar Laravel PHP Web Framework en CentOS


Laravel es un potente framework PHP gratuito de código abierto con una sintaxis expresiva y atractiva. Tiene una sintaxis refinada, simple y legible para desarrollar aplicaciones modernas, robustas y poderosas desde cero. Además, Laravel proporciona varias herramientas que necesita para escribir código PHP limpio, moderno y fácil de mantener.

  • Potente ORM (mapeo relacional de objetos) para trabajar con su base de datos.
  • Mecanismo de enrutamiento rápido y sin complicaciones.
  • Potente contenedor de inyección de dependencia.
  • Proporciona una API unificada en varios backends de cola, incluidos Amazon SQS y Redis, y muchos más, para el almacenamiento de sesiones y caché.
  • Admite un mecanismo de autenticación simple.
  • Admite la transmisión de eventos en tiempo real.
  • También admite migraciones independientes de bases de datos y creador de esquemas.
  • Admite el procesamiento de trabajos en segundo plano y más.

Su sistema debe cumplir con los siguientes requisitos para poder ejecutar la última versión de Laravel:

  • PHP> u003d 7.1.3 con extensiones PHP OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype y JSON.
  • Composer: un administrador de paquetes a nivel de aplicación para PHP.

  1. CentOS 7 con LEMP Stack

En este artículo, explicaremos cómo instalar la última versión de Laravel 5.6 PHP Framework en sistemas CentOS, Red Hat, Fedora.

Paso 1: Configurar repositorios de Yum

1. En primer lugar, debe habilitar los repositorios REMI y EPEL en su distribución de Linux para tener los paquetes actualizados (PHP, Nginx, MariaDB, etc.) usando los siguientes comandos

------------- On CentOS/RHEL 7.x ------------- 
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

------------- On CentOS/RHEL 6.x -------------
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

Paso 2: Instale Nginx, MySQL y PHP

2. A continuación, necesitamos instalar un entorno LEMP que funcione en su sistema. Si ya tiene una pila LEMP en funcionamiento, puede omitir este paso, si no, instalarlo usando los siguientes comandos.

# yum install nginx        [On CentOS/RHEL]

3. Una vez que se haya instalado nginx, inicie el servidor web y habilítelo para que se inicie en el arranque del sistema y luego verifique el estado con los siguientes comandos.

------------- On CentOS/RHEL 7.x ------------- 
# systemctl start nginx
# systemctl enable nginx
# systemctl status nginx

------------- On CentOS/RHEL 6.x -------------
# service nginx start  
# chkconfig nginx on
# service nginx status

4. Para acceder a nginx desde una red pública, debe abrir un puerto 80 en el firewall de su sistema para recibir solicitudes externas como se muestra.

------------- On CentOS/RHEL 7.x -------------
# firewall-cmd --permanent --add-port=80/tcp
# firewall-cmd --reload 

------------- On CentOS/RHEL 6.x -------------
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# service iptables restart
# yum install mariadb-server php-mysql
# systemctl start mariadb.service
# /usr/bin/mysql_secure_installation
# yum install yum-utils
# yum-config-manager --enable remi-php72
# yum install php php-fpm php-common php-xml php-mbstring php-json php-zip

5. A continuación, inicie y habilite el servicio PHP-FPM y compruebe si está funcionando.

------------- On CentOS/RHEL 7.x ------------- 
# systemctl start php-fpm
# systemctl enable php-fpm
# systemctl status php-fpm

------------- On CentOS/RHEL 6.x -------------
# service php-fpm start  
# chkconfig php-fpm on
# service php-fpm status

Paso 3: Instale Composer y Laravel PHP Framework

6. Ahora instale Composer (administrador de dependencias para PHP) para instalar las dependencias de Laravel requeridas usando los siguientes comandos.

# curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer
# chmod +x /usr/local/bin/composer

7. Una vez que haya instalado Composer, puede instalar Laravel ejecutando el comando composer create-project, de la siguiente manera.

# cd /var/www/html/
# sudo composer create-project --prefer-dist laravel/laravel testsite 

8. Ahora, cuando haga una lista larga de la raíz de su documento web, el directorio del sitio de prueba debería existir allí, que contiene sus archivos laravel.

$ ls -l /var/www/html/testsite

Paso 4: configurar la instalación de Laravel

9. Ahora establezca los permisos apropiados en el directorio del sitio de prueba y los archivos laravel usando los siguientes comandos.

# chmod -R 775 /var/www/html/testsite
# chown -R apache.apache /var/www/html/testsite
# chmod -R 777 /var/www/html/testsite/storage/

10. Además, si tiene SELinux habilitado, necesita actualizar el contexto de seguridad de los directorios de almacenamiento y arranque/caché usando los siguientes comandos.

# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/bootstrap/cache(/.*)?'
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/storage(/.*)?'
# restorecon -Rv '/usr/share/nginx/html/testapp'

11. Luego, cree un archivo de entorno para su aplicación, utilizando el archivo de muestra proporcionado.

# cp .env.example .env

12. A continuación, Laravel utiliza una clave de aplicación para proteger las sesiones de los usuarios y otros datos cifrados. Por lo tanto, debe generar y configurar la clave de su aplicación en una cadena aleatoria usando el siguiente comando.

# php artisan key:generate

Paso 5: configurar el bloque del servidor Nginx para Laravel

13. En este paso, debe configurar un bloque de servidor Nginx para el sitio de prueba, para poder acceder a él desde un navegador web. Cree un archivo .conf para él en el directorio /etc/nginx/conf.d/ como se muestra.

# vi /etc/nginx/conf.d/testsite.conf

Y agregue la siguiente configuración en él (use valores aplicables a su entorno, en este ejemplo, nuestro dominio ficticio es testinglaravel.com). Tenga en cuenta que el archivo de índice de laravel se almacena en/var/www/html/testsite/public, esta será la raíz de su sitio/aplicación.

server {
	listen      80;
	server_name testinglaravel.com;
	root        /var/www/html/testsite/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:/var/run/php/php7.2-fpm.sock;
	}
	location ~ /\.ht {
		deny all;
	}
}

Guarda el archivo y cierra. Luego reinicie su servidor web para que los cambios recientes surtan efecto.

# systemctl restart nginx

Paso 6: Accede al sitio web de Laravel

14. A continuación, si no tiene un nombre de dominio completamente registrado, debe utilizar el archivo/etc/hosts para crear un DNS local con fines de prueba.

Agregue la siguiente línea en su archivo/etc/hosts como se muestra (use la dirección IP y el dominio de su sistema en lugar de 192.168.43.31 y testinglaravel.com respectivamente).

192.168.43.31  testinglaravel.com

15. Finalmente acceda a su sitio de Laravel desde un navegador, usando la siguiente URL.

http://testinglaravel.com
OR
http://your-ip-address

Si está desarrollando localmente, puede emplear el servidor de desarrollo integrado de PHP para servir su aplicación o sitio, de la siguiente manera. Este comando iniciará un servidor de desarrollo en http:// localhost: 8000 o http://127.0.0.1:8000. En CentOS/REHL, este puerto debe abrirse en el firewall para que pueda servir su aplicación de esta manera.

# php artisan serve

Desde este punto, está listo para comenzar, puede comenzar a desarrollar su sitio. Para configuraciones adicionales como caché, base de datos y sesiones, puede ir a la página de inicio de Laravel.

Laravel es un framework PHP con una sintaxis hermosa y expresiva para el desarrollo web práctico y moderno. Esperamos que todo haya ido bien durante la instalación, de lo contrario, utilice el formulario de comentarios a continuación para compartir sus consultas con nosotros.