Tutorial: Exportando Imagens Base64 Usando Laravel Excel
Neste tutorial, vamos aprender como exportar uma lista de cadastros de clientes para uma planilha Excel, incluindo as fotos dos... Leia mais
Desenvolvedor de Software
Neste guia, você aprenderá a fazer o deploy de uma aplicação Laravel em uma VPS rodando Ubuntu com o servidor web Apache e configurar HTTPS utilizando o Certbot. Além de abordar como configurar um banco de dados MySQL na VPS.
Atualize os pacotes do sistema:
sudo apt update && sudo apt upgrade -y
Instalando o Apache:
sudo apt install apache2 -y
Instalando o PHP e extensões necessárias:
sudo apt install php8.3-cli
sudo apt install php8.3-ctype php8.3-curl php8.3-dom php8.3-fileinfo php8.3-mbstring php8.3-opcache php8.3-pdo php8.3-tokenizer php8.3-xml php8.3-fpm php8.3-mysql php8.3-zip unzip
Instalando o Composer:
cd ~
curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
HASH=`curl -sS https://composer.github.io/installer.sig`
echo $HASH
php -r “if (hash_file(‘SHA384’, ‘/tmp/composer-setup.php’) === ‘$HASH’) { echo ‘Installer verified’; } else { echo ‘Installer corrupt’; unlink(‘composer-setup.php’); } echo PHP_EOL;”
sudo php /tmp/composer-setup.php –install-dir=/usr/local/bin –filename=composer
composer
Instalando o MySQL:
sudo apt install mysql-server -y
Habilitando e Testando Serviços:
sudo systemctl enable mysql
sudo systemctl enable apache2
sudo systemctl enable php8.1-fpm
sudo systemctl status mysql
sudo systemctl status apache2
sudo systemctl status php8.1-fpm
Se sua aplicação Laravel utiliza o Node.js e npm, você precisará instalá-los também:
sudo apt install nodejs npm -y
node -v
npm -v
Clonando o repositório da sua aplicação Laravel:
cd /var/www
sudo git clone <https://github.com/usuario/seu-projeto-laravel.git>
cd seu-projeto-laravel
Instalando as dependências do Laravel:
sudo composer install –optimize-autoloader –no-dev
Copie o arquivo de exemplo de ambiente:
sudo cp .env.example .env
Gerando a chave da aplicação Laravel:
sudo php artisan key:generate
Configure o arquivo .env com as informações do banco de dados e outras configurações de ambiente necessárias.
Configurando as permissões das pastas de armazenamento e cache:
sudo chmod -R 777 storage
sudo chmod -R 777 bootstrap
sudo chmod -R 777 vendor
Criando um arquivo de configuração para seu site:
sudo nano /etc/apache2/sites-available/seu-projeto-laravel.conf
Adicione o seguinte conteúdo ao arquivo de configuração:
<VirtualHost *:80>
ServerAdmin admin@seu-dominio.com
DocumentRoot /var/www/seu-projeto-laravel/public
ServerName seu-dominio.com
ServerAlias www.seu-dominio.com
<Directory /var/www/seu-projeto-laravel>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/seu-projeto-laravel/public>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/seu-projeto-laravel_error.log
CustomLog ${APACHE_LOG_DIR}/seu-projeto-laravel_access.log combined
</VirtualHost>
Ativando a configuração do site e os módulos necessários:
sudo a2ensite seu-projeto-laravel.conf
sudo a2enmod rewrite
Reiniciando o Apache para aplicar as mudanças:
sudo systemctl restart apache2
Acessando o MySQL:
sudo mysql -u root -p
Criando o banco de dados e o usuário:
CREATE DATABASE nome_do_banco_de_dados;
CREATE USER ‘usuario’@’localhost’ IDENTIFIED BY ‘senha’;
GRANT ALL PRIVILEGES ON nome_do_banco_de_dados.* TO ‘usuario’@’localhost’;
FLUSH PRIVILEGES;
EXIT;
No arquivo .env, configure as credenciais do banco de dados que você acabou de criar.
Rodando as migrações para criar as tabelas no banco de dados:
cd /var/www/seu-projeto-laravel
sudo php artisan migrate
Instalando o Certbot e o plugin para Apache:
sudo apt update
sudo apt install snapd
sudo snap install –classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Obtenha o certificado SSL para seu domínio:
sudo certbot –apache
Siga as instruções interativas para:
Renove automaticamente os certificados SSL:
O Certbot cuida da renovação automática, mas é bom testar:
sudo certbot renew –dry-run
Sua aplicação Laravel agora deve estar rodando em sua VPS com Ubuntu usando o Apache e com HTTPS configurado e você pode acessá-lo através do domínio configurado.
Neste tutorial, vamos aprender como exportar uma lista de cadastros de clientes para uma planilha Excel, incluindo as fotos dos... Leia mais
O WSL 2 (Windows Subsystem for Linux) representa um grande avanço na integração entre o Windows e o Linux, permitindo... Leia mais
A função WITH RECURSIVE no PostgreSQL é uma ferramenta poderosa para a execução de consultas recursivas em bancos de dados.... Leia mais
Se você já se deparou com a frustrante mensagem de erro “ssh: connect to host bitbucket.org port 22: Network is... Leia mais