GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Instalación de Laravel en Ubuntu para Nginx

Ya hemos hablado sobre la instalación de Laravel para servidores Ubuntu basados ​​en Apache en nuestro último tutorial. Este tutorial le mostrará cómo instalar el marco PHP de Laravel en una instalación de servidor Nginx.

Requisitos previos

Como siempre, debe asegurarse de que el servidor esté bien actualizado antes de continuar.

sudo apt-get update
sudo apt-get upgrade

Este tutorial se basa en la suposición de que ya tiene una configuración de servidor basada en Ubuntu. También asegúrese de tener Git instalado. De lo contrario, puede seguir nuestra guía para hacerlo.

Instalando Nginx

La instalación del servidor Nginx es simple y directa. Así que hagamos eso.

sudo apt-get install nginx

Instalando PHP-FPM

PHP no funciona con Nginx de la misma manera que lo hace con Apache. Para Nginx, necesita la implementación FastCGI de PHP llamada PHP-FPM (PHP-FastCGI Process Manager). Instalemos PHP entonces. También necesitamos la extensión Mcrypt de PHP para que funcione Laravel.

sudo apt-get install php5-fpm php5-cli php5-mcrypt

Configurar Nginx para Laravel

Antes de continuar, hagamos una configuración básica del servidor Nginx que tenemos instalado. Primero necesitamos crear el directorio donde se instalará Laravel.

sudo mkdir -p /var/www/html/laravel

Una vez hecho esto, ahora tenemos que decirle a Nginx que aquí es donde funcionará nuestro sitio. Para eso necesitamos crear una entrada de virtualhost en Nginx. Nginx almacena la configuración predeterminada en un archivo llamado predeterminado en /etc/nginx/sites-disponible/default. Copiémoslo y creemos nuestra propia versión del archivo.

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/laravel

Editemos el archivo de configuración

sudo nano /etc/nginx/sites-available/laravel

Verás algo como

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /usr/share/nginx/html;
        index index.html index.htm;

        server_name localhost;

        location / {
                try_files $uri $uri/ =404;
        }
}

He eliminado los comentarios por razones de legibilidad. Deberá cambiar la ubicación raíz, que sería /var/www/html/laravel/public en nuestro caso. También debe cambiar la variable server_name por el nombre de dominio que usaría o por la dirección IP de su servidor.

Edite el archivo para que tenga el siguiente aspecto

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www/html/laravel/public;
    index index.php index.html index.htm;

    server_name server_domain_or_IP;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Guarde el archivo después de editarlo. Ahora necesitamos habilitar este archivo de configuración. Hasta ahora solo está activo el perfil predeterminado. Para hacerlo, debemos crear un enlace simbólico al archivo laravel en el directorio /etc/nginx/sites-enabled. También necesitaríamos deshabilitar el perfil predeterminado para que no interfiera con nuestra instalación de laravel.

sudo ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/ 
sudo rm /etc/nginx/sites-enabled/default

Nuestra configuración del servidor Nginx está completa. El siguiente paso es configurar el PHP-FPM.

Configurar PHP-FPM

Este paso es simple y requiere que cambiemos una variable en el archivo de configuración de PHP. Hora de abrir php.ini

sudo nano /etc/php5/fpm/php.ini

Encuentra el siguiente texto en él

;cgi.fix_pathinfo=1

Descomente la variable eliminando el; desde el frente y cambie su valor a 1 para que se vea como

cgi.fix_pathinfo=0

Esto le dice a PHP que no ejecute un script con un nombre similar si no se encuentra el original, lo cual es importante desde el punto de vista de la seguridad.

Por último, también debemos habilitar la extensión mcrypt que instalamos anteriormente.

sudo php5enmod mcrypt

Eso es todo. Ahora simplemente reinicie el servicio PHP-FPM para cargar los cambios.

sudo service restart php5-fpm

Instalando Composer

Composer es una herramienta de gestión de dependencias que nos permite instalar varios marcos y bibliotecas de PHP a través de un solo comando. Se encarga de todos los demás paquetes y dependencias que habría tenido que instalar por separado para instalar un marco si sigue la ruta manual. Puede ahorrar muchas veces y molestias. Estaríamos instalando Laravel usando Composer.

Descargar Compositor. Primero asegúrese de estar en su directorio de inicio.

curl -sS https://getcomposer.org/installer | php

Esto descarga el archivo composer.phar en su directorio de inicio. Ahora, si lo desea, puede ejecutarlo desde aquí usando algo como php composer.phar [comando] pero dado que preferiríamos ejecutar el compositor globalmente, debemos cambiarlo a una ubicación más apropiada para que podamos ejecutarlo fácilmente.

sudo mv composer.phar /usr/local/bin/composer

Ahora puede ejecutarlo directamente simplemente llamando al compositor desde cualquier lugar.

Instalando Laravel

Ahora que hemos instalado Composer, necesitamos instalar Laravel. Instálalo con el siguiente comando.

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

Esto descarga e instala la última versión de Laravel (5.2 actualmente) en su servidor.

Antes de terminar el tutorial, debemos otorgar los permisos adecuados a algunos directorios.

sudo chgrp -R www-data /var/www/html/laravel
sudo chmod -R 775 /var/www/html/laravel/storage

Conclusión

Eso es todo. Tu instalación de Laravel está completa. Ahora inicie http://servername o http://serverip en su navegador. Debería ver la siguiente pantalla, si tiene éxito.


Ubuntu
  1. Configuración básica de PHP 7 y Nginx en Ubuntu 16.04 Linux

  2. Guía básica para instalar LAMP en Ubuntu

  3. Instalación de LLMP (Lighttpd, PHP y MySQL) en Ubuntu 14.10

  4. Instalación y configuración de Php y Nginx en Ubuntu 20.04

  5. ¿Error al instalar Nginx en Ubuntu 16.04?

Instalación de Laravel PHP Framework en Ubuntu 18.04 LTS para Apache

Nginx 1.7.9 + PHP5-FPM + MySQL (LEMP) en Ubuntu 14.10

Cómo instalar Laravel en Ubuntu 22.04 LTS

Cómo instalar Laravel PHP Framework con Nginx en Ubuntu 20.04

Cómo instalar Laravel PHP Framework con Nginx en Ubuntu Linux

Cómo instalar Laravel 9 en Ubuntu 22.04