Alternar entre múltiplas versões no PHP
Então problemas do dia-a-dia se por alguma motivo qualquer você prefere utilizar ambientes de desenvolvimento locais ao invés de containers... Leia mais
Desenvolvedor de Software
Neste post, você aprenderá a fazer o deploy de uma aplicação Laravel em uma VPS rodando Ubuntu com o servidor web Nginx e configurar HTTPS utilizando o Certbot. Além disso, será abordado como configurar um banco de dados MySQL na VPS.
sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y
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
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
sudo systemctl enable mysql
sudo systemctl enable nginx
sudo systemctl enable php8.3-fpm
sudo systemctl status mysql
sudo systemctl status nginx
sudo systemctl status php8.3-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
cd /var/www
sudo git clone https://github.com/usuario/exemplo.git
cd exemplo
sudo composer install --optimize-autoloader --no-dev
sudo cp .env.example .env
sudo php artisan key:generate
sudo chmod -R 777 storage
sudo chmod -R 777 bootstrap
sudo chmod -R 777 vendor
sudo nano /etc/nginx/sites-available/exemplo
server {
listen 80;
listen [::]:80;
server_name example.com;
root /var/www/example/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
sudo ln -s /etc/nginx/sites-available/exemplo /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
sudo mysql -u root -p
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;
cd /var/www/exemplo
sudo php artisan migrate
sudo apt update
sudo apt install snapd
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx
sudo certbot renew --dry-run
Sua aplicação Laravel agora está configurada com HTTPS e pode ser acessada pelo domínio configurado.
Então problemas do dia-a-dia se por alguma motivo qualquer você prefere utilizar ambientes de desenvolvimento locais ao invés de containers... Leia mais
A escolha entre programação orientada a objetos (OOP) e programação funcional (FP) é mais do que uma preferência de estilo;... Leia mais
Caso você sendo usuário Linux e precise instalar um gerenciador de SVN temos como alternativa o RABBITVCS. São apenas dois... Leia mais
O Laravel 9 é um framework PHP moderno e poderoso que oferece muitas ferramentas úteis para desenvolvedores web. Uma das... Leia mais