Búsqueda de sitios web

Cómo instalar el marco web PHP Laravel en CentOS


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

Lea también: Cómo instalar Laravel PHP Framework en Ubuntu

Características clave de Laravel:

  • Potente ORM (mapeo relacional de objetos) para trabajar con su base de datos.
  • Mecanismo de enrutamiento rápido y sencillo.
  • Potente contenedor de inyección de dependencia.
  • Proporciona una API unificada en múltiples backends de cola, incluidos Amazon SQS y Redis y muchos más, para almacenamiento de sesión 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 generador de esquemas.
  • Admite el procesamiento de trabajos en segundo plano y más.

Requisitos del sistema

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

  • PHP >= 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.

Entorno de prueba:

  1. CentOS 7 con pila LEMP

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

Paso 1: configurar los 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; de lo contrario, instálela usando los siguientes comandos.

Instalar Nginx

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 inicio del sistema y luego verifique el estado usando 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

Instalar MySQL

yum install mariadb-server php-mysql
systemctl start mariadb.service
/usr/bin/mysql_secure_installation

Instalar PHP

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

6. Ahora instale Composer (administrador de dependencias para PHP) para instalar las dependencias requeridas de 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 lista larga de la raíz de su documento web, el directorio testsite 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 configure los permisos apropiados en el directorio testsite 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, debe actualizar el contexto de seguridad de los directorios de almacenamiento y de arranque/caché mediante 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 usuario 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 testsite para poder acceder a él desde un navegador web. Cree un archivo .conf en el directorio /etc/nginx/conf.d/ como se muestra.

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

Y agregue la siguiente configuración (use 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: acceda 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 Laravel desde un navegador, utilizando 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 estar abierto en el firewall para que pueda servir su aplicación de esta manera.

php artisan serve

A partir de este punto, ya está listo y 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 hermosa y expresiva para un desarrollo web práctico y moderno. Esperamos que todo haya ido bien durante la instalación; si no, utilice el formulario de comentarios a continuación para compartir sus consultas con nosotros.