Cómo instalar Laravel PHP Web Framework en CentOS


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

  • Powerful ORM (Object-Relational Mapping) for working with your database.
  • Uncomplicated and fast routing mechanism.
  • Powerful dependency injection container.
  • Provides a unified API across multiple queue backends including Amazon SQS and Redis and many more, for session and cache storage.
  • Supports a simple authentication mechanism.
  • Supports real-time event broadcasting.
  • Also supports database agnostic migrations and schema builder.
  • Supports background job processing and more.

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

  • PHP >= 7.1.3 with OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype and JSON PHP Extensions.
  • Composer – an application-level package manager for the PHP.
  1. CentOS 7 with LEMP Stack

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

Paso 1: Configuración de repositorios Yum

1. En primer lugar, debe habilitar 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: Instalar Nginx, MySQL y PHP

2. A continuación, debemos instalar un entorno LEMP en su sistema. Si ya tiene una pila LEMP en funcionamiento, puede omitir este paso, si no lo instala con 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 durante el inicio 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 la 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 verifique si está en funcionamiento.

------------- 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: Instalar Composer y Laravel PHP Framework

6. Ahora instale Composer (administrador de dependencias para PHP) para instalar las dependencias necesarias Laravel 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 , como sigue

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

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

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

Paso 4: Configurar la instalación de Laravel

9. Ahora establezca los permisos adecuados en el directorio sitio de prueba y en 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, debe actualizar el contexto de seguridad de los directorios de almacenamiento y bootstrap/cache 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 provisto.

# 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 su clave de 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 sitio de prueba , para 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 (use los valores aplicables a su entorno, en este ejemplo, nuestro dominio ficticio es testinglaravel.com ). Tenga en cuenta que el archivo de índice 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: Acceder al sitio web de Laravel

14. A continuación, si no tiene un nombre de dominio totalmente registrado, debe usar el archivo /etc/hosts para crear un DNS local para realizar pruebas.

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

192.168.43.31  testinglaravel.com

15. Finalmente, acceda a su 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 incorporado 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, ya 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 marco PHP con una sintaxis expresiva y hermosa para el desarrollo web moderno y práctico. 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.