Implantação de aplicação PHP em VPS: guia passo a passo

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Introdução



O deploy (implantação) de uma aplicação PHP em um servidor virtual privado (VPS) é uma etapa crucial na transição do desenvolvimento local para a produção. Diferentemente da hospedagem compartilhada, a VPS oferece controle total sobre o ambiente de execução, o que é essencial para frameworks modernos (Laravel, Symfony) e projetos de alta carga.



Neste guia, abordaremos o ciclo completo de deploy de uma aplicação PHP em uma VPS com Ubuntu 22.04. Você aprenderá como configurar o servidor, instalar os componentes necessários e automatizar o processo de implantação. Todos os exemplos de código estão prontos para uso.



1. Preparação da VPS e configuração inicial



1.1. Conexão ao servidor



Após adquirir a VPS, você receberá um endereço IP, login (geralmente root) e senha. Conecte-se via SSH:



ssh root@seu_endereco_ip


Se você estiver usando chaves SSH (recomendado), adicione sua chave pública ao servidor.



1.2. Atualização do sistema e criação de usuário



Atualize os pacotes e crie um usuário não privilegiado para trabalhar:



apt update && apt upgrade -yadduser deployerusermod -aG sudo deployer


Agora conecte-se com o novo usuário:



ssh deployer@seu_endereco_ip


1.3. Configuração do firewall



Use o UFW para proteção básica:



sudo ufw allow OpenSSHsudo ufw allow 'Nginx Full'sudo ufw enablesudo ufw status


2. Instalação da pilha LEMP (Linux, Nginx, MySQL, PHP)



2.1. Instalação do Nginx



sudo apt install nginx -ysudo systemctl start nginxsudo systemctl enable nginx


Verifique o funcionamento abrindo http://seu_endereco_ip no navegador. Você deve ver a página de boas-vindas do Nginx.



2.2. Instalação do PHP e PHP-FPM



Para frameworks modernos, use PHP 8.x:



sudo apt install php8.1-fpm php8.1-mysql php8.1-xml php8.1-mbstring php8.1-curl php8.1-zip php8.1-gd -y


Verifique a versão e inicie o PHP-FPM:



php -vsudo systemctl start php8.1-fpmsudo systemctl enable php8.1-fpm


2.3. Instalação do MySQL



sudo apt install mysql-server -ysudo mysql_secure_installation


Crie um banco de dados para sua aplicação:



sudo mysql -u root -pCREATE DATABASE nome_do_seu_banco;CREATE USER 'seu_usuario'@'localhost' IDENTIFIED BY 'sua_senha';GRANT ALL PRIVILEGES ON nome_do_seu_banco.* TO 'seu_usuario'@'localhost';FLUSH PRIVILEGES;EXIT;


3. Configuração do host virtual e deploy da aplicação



3.1. Criação do host virtual Nginx



Crie um arquivo de configuração para seu domínio:



sudo nano /etc/nginx/sites-available/seudominio.com


Insira a seguinte configuração (adapte ao seu projeto):



server {    listen 80;    server_name seudominio.com www.seudominio.com;    root /var/www/seudominio.com/public;

index index.php index.html;

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

location ~ \\.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; }

location ~ /\\.ht { deny all; }}


Ative o site:



sudo ln -s /etc/nginx/sites-available/seudominio.com /etc/nginx/sites-enabled/sudo nginx -tsudo systemctl reload nginx


3.2. Deploy do código via Git



Instale o Git e clone o repositório:



sudo apt install git -ycd /var/wwwsudo git clone https://github.com/seuusuario/seu-repositorio.git seudominio.com


Configure as permissões:



sudo chown -R www-data:www-data /var/www/seudominio.comsudo chmod -R 755 /var/www/seudominio.com/storagesudo chmod -R 755 /var/www/seudominio.com/b

Blogs

Book Recommendations