Pesquisa de site

Como instalar o Laravel PHP Framework com Nginx no Ubuntu 20.04


Laravel é o framework PHP mais popular, gratuito e de código aberto do mundo, conhecido por sua sintaxe expressiva e elegante. Laravel é acessível, poderoso e oferece algumas das melhores ferramentas de desenvolvimento web necessárias para aplicações grandes, robustas e modernas.

Neste artigo, você aprenderá como instalar o Laravel PHP Framework no servidor Ubuntu 20.04 rodando no servidor web Nginx.

Pré-requisitos

  • Como instalar o LEMP Stack com PhpMyAdmin no Ubuntu 20.04

Etapa 1: instalação dos módulos PHP necessários

Depois de configurar a pilha LEMP em seu servidor Ubuntu 20.04 conforme descrito no guia no link acima, você precisa instalar extensões PHP adicionais exigidas pelo Laravel da seguinte forma:

sudo apt update
sudo apt php-common php-json php-mbstring php-zip php-xml php-tokenizer

Etapa 2: Criando um banco de dados para Laravel

Em seguida, você precisa criar um banco de dados MySQL para sua aplicação Laravel. Então, faça login em seu shell mysql e crie o banco de dados como segue.

sudo mysql
MariaDB [(none)]> CREATE DATABASE laraveldb;
MariaDB [(none)]> GRANT ALL ON laraveldb.* to 'webmaster'@'localhost' IDENTIFIED BY 'tecmint';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit

Etapa 3: Instalando o Composer no Ubuntu 20.04

O Laravel utiliza o composer (um gerenciador de dependências para PHP) para gerenciar suas dependências. Portanto, antes de usar o Laravel, certifique-se de ter o Composer instalado em seu sistema conforme mostrado.

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

Etapa 4: Instalando o Laravel no Ubuntu 20.04

Após instalar o composer, utilize-o para instalar os arquivos do Laravel. Vá para o diretório /var/www/html onde os arquivos da web estão armazenados e instale o Laravel usando o compositor conforme mostrado. Lembre-se de substituir example.com pelo nome do diretório onde os arquivos Laravel serão armazenados.

cd /var/www/html
composer create-project --prefer-dist laravel/laravel example.com

Etapa 5: Configurando o Laravel no Ubuntu 20.04

Para listar o conteúdo da nova instalação do Laravel, execute o seguinte comando ls. Você notará que foi criado automaticamente um arquivo .env, que no passado teria que ser criado manualmente.

ls -la /var/www/html/example.com/

A seguir, defina as permissões apropriadas no diretório Laravel como segue.

sudo chown -R :www-data /var/www/html/example.com/storage/
sudo chown -R :www-data /var/www/html/example.com/bootstrap/cache/
sudo chmod -R 0777 /var/www/html/example.com/storage/
sudo chmod -R 0775 /var/www/html/example.com/bootstrap/cache/

Em seguida, o Laravel usa uma chave de aplicação para proteger as sessões do usuário e outros dados criptografados. O .env padrão contém uma chave de aplicativo padrão, mas você precisa gerar uma nova para sua implantação laravel por motivos de segurança.

sudo php artisan key:generate

A chave gerada será anexada ao arquivo .env como o valor de APP_KEY. Você pode visualizar a chave anexada usando o comando grep.

grep -i APP_Key /var/www/html/example.com/.env

Você também precisa configurar os detalhes da conexão do banco de dados Laravel em .env conforme mostrado na captura de tela a seguir.

sudo nano /var/www/html/example.com/.env

Etapa 6: Configurando o NGINX para servir o aplicativo Laravel

Para que o NGINX atenda seu novo aplicativo, você precisa criar um bloco de servidor para ele na configuração do NGINX, no diretório /etc/nginx/sites-available/.

sudo nano /etc/nginx/sites-available/example.com.conf

Na configuração abaixo, atualize a diretiva root para o diretório público do aplicativo Laravel e certifique-se de substituir www.example.com pelo nome de domínio do seu site conforme mostrado.

Além disso, defina a diretiva fastcgi_pass para apontar para o meio que PHP-FPM está escutando solicitações (por exemplo fastcgi_pass unix:/run/php/php7.4 -fpm.sock):

server{
        server_name www.example.com;
        root        /var/www/html/example.com/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/php7.4-fpm.sock;
        }
        location ~ /\.ht {
                deny all;
        }
}

Salve o arquivo e habilite a configuração do site Laravel criando um link de /etc/nginx/sites-available/example.com.conf para /etc/nginx/sites-enabled/ diretório. Além disso, remova a configuração padrão do bloco do servidor.

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default

Em seguida, verifique se a sintaxe de configuração do NGINX está correta executando o seguinte comando antes de reiniciar o serviço.

sudo nginx -t
sudo systemctl restart nginx

Etapa 7: Acessando o aplicativo Laravel a partir de um navegador da Web

Neste estágio, você precisa testar se sua implantação do Laravel está funcionando bem e se pode ser acessada a partir de um navegador. Para usar o domínio fictício, example.com, vamos usar o arquivo /etc/hosts em seu computador local para criar DNS local.

Execute os seguintes comandos para obter o endereço IP do servidor Laravel e adicione-o ao arquivo /etc/hosts (substitua o valor de acordo com suas configurações).
anúncio $ip
$echo “192.168.56.11 exemplo.com” | sudo tee -a /etc/hosts

Agora abra um navegador da web no computador local e use o seguinte endereço para navegar.

http://www.example.com/

Agora que você instalou o Laravel, você pode começar a construir sua aplicação web ou site. Para mais informações, consulte a documentação do Laravel.