
Como Usar Between Entre Duas Colunas de Data no Laravel
Trabalhar com intervalos de datas é uma necessidade comum em aplicações web, especialmente em sistemas que lidam com eventos, agendamentos... 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.
Trabalhar com intervalos de datas é uma necessidade comum em aplicações web, especialmente em sistemas que lidam com eventos, agendamentos... Leia mais
ROW_NUMBER
e Outras Funções para Gerar Resultados Sequenciais no PostgreSQLQuando trabalhamos com bancos de dados, muitas vezes precisamos gerar números sequenciais para nossos resultados. Isso pode ser útil para... Leia mais
No desenvolvimento de aplicações web, especialmente no Laravel, enviar emails é uma tarefa comum. Porém, testar o envio de emails... Leia mais
No dia de hoje(17/08/2022) me deparei com o seguinte problema onde recebiamos um array javascript contendo textos e cujas chaves... Leia mais