Como Instalar Apache, MySQL, PHP e phpMyAdmin no Ubuntu
🖥️ Seu servidor local completo no Ubuntu
Quer montar um ambiente de desenvolvimento web profissional no Linux? Neste tutorial você vai instalar e configurar o Apache, MySQL, PHP e phpMyAdmin do zero — inclusive apontando o servidor para uma pasta em disco externo NTFS. Tudo no terminal, passo a passo, sem enrolação.
✅ O que você vai ter ao final deste tutorial
🌐 Apache rodando
Servidor web funcional na sua máquina Ubuntu, iniciando automaticamente com o sistema.
🐘 PHP instalado
PHP integrado ao Apache com o módulo libapache2-mod-php e suporte a MySQL via php-mysql.
🗄️ MySQL configurado
Banco de dados local seguro, com acesso remoto liberado e autenticação por senha nativa.
🧰 phpMyAdmin online
Interface gráfica para gerenciar bancos de dados diretamente pelo navegador, sem precisar do terminal.
💾 Pasta em disco externo
DocumentRoot apontando para um HD/SSD externo NTFS, ideal para projetos grandes separados do sistema.
🔒 Ambiente seguro
Permissões corretas de usuário e grupo (www-data), protegendo o servidor sem travar o acesso.
⚙️ Como funciona a stack LAMP
LAMP é a sigla para Linux + Apache + MySQL + PHP. É uma das stacks de desenvolvimento web mais usadas no mundo. Cada componente tem um papel específico:
Passo 1 — Apache recebe as requisições
Quando você acessa http://localhost no navegador, o Apache é quem responde. Ele serve os arquivos da pasta configurada como DocumentRoot — no nosso caso, /mnt/JOGOS/htdocs.
Passo 2 — PHP processa os arquivos
Quando o Apache encontra um arquivo .php, ele passa para o interpretador PHP processar. O resultado (HTML puro) é então enviado para o navegador. É assim que sites dinâmicos funcionam.
Passo 3 — MySQL armazena os dados
O MySQL guarda tudo: usuários, configurações, registros de jogos, qualquer tipo de informação estruturada. O phpMyAdmin é uma interface visual que facilita criar tabelas, rodar queries e fazer backups sem precisar digitar SQL no terminal.
🎯 Para quem é este tutorial
Devs iniciantes
Que querem um ambiente local para aprender PHP e MySQL sem pagar hospedagem.
Entusiastas de jogos
Que querem hospedar um painel ou gerenciador de ROMs e emuladores localmente.
Makers e Homelabs
Que montam servidores em casa para automação, dashboards e ferramentas internas.
Usuários Ubuntu
Que migraram do Windows e querem configurar um servidor equivalente ao XAMPP/WAMP.
📋 Passo a Passo — Comandos Completos
Todos os comandos abaixo foram testados no Ubuntu. Execute-os em ordem no terminal. Se você ainda não tem o curl e o gnupg, instale antes de qualquer coisa.
🔵 Etapa 1 — Atualizar o sistema
Sempre atualize antes de instalar qualquer coisa. Isso evita conflitos de dependência e garante que você está instalando as versões mais recentes dos pacotes.
sudo apt update
sudo apt upgrade -y
sudo apt install curl gnupg -y
🟢 Etapa 2 — Instalar o Apache2
O Apache é o servidor web. Após instalar, habilitamos para iniciar automaticamente e já iniciamos o serviço.
sudo apt install apache2 -y
sudo systemctl enable apache2
sudo systemctl start apache2
✅ Teste: abra o navegador e acesse http://localhost. Deve aparecer a página padrão do Apache.
🟡 Etapa 3 — Instalar PHP
Instalamos o PHP junto com o módulo que integra ao Apache (libapache2-mod-php) e o driver de conexão com MySQL (php-mysql).
sudo apt install php libapache2-mod-php php-mysql -y
✅ Para testar, crie um arquivo de info:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
Acesse http://localhost/info.php no navegador. Se aparecer a tela do PHP, está funcionando. Depois, apague esse arquivo por segurança.
🔴 Etapa 4 — Instalar e configurar o MySQL
Instalamos o MySQL Server e rodamos o assistente de segurança para definir senha do root e remover configurações inseguras padrão.
sudo apt install mysql-server -y
sudo mysql_secure_installation
O mysql_secure_installation vai perguntar algumas coisas. Recomendações:
- Definir senha para root: Sim
- Remover usuários anônimos: Sim
- Desabilitar login remoto do root: Sim (mais seguro)
- Remover banco de teste: Sim
- Recarregar tabelas de privilégios: Sim
🔧 Ajustar autenticação do root para phpMyAdmin
Por padrão, o Ubuntu usa autenticação via socket (auth_socket), que bloqueia o phpMyAdmin. Para resolver, troque para senha nativa:
sudo mysql
Dentro do prompt do MySQL, execute:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'SUA_SENHA_AQUI';
FLUSH PRIVILEGES;
EXIT;
⚠️ Substitua SUA_SENHA_AQUI por uma senha forte. Anote-a, você vai precisar no phpMyAdmin.
🌐 Habilitar acesso externo ao MySQL (opcional)
Se precisar acessar o MySQL de outra máquina na rede local, edite o arquivo de configuração:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Localize a linha bind-address = 127.0.0.1 e troque para 0.0.0.0 (ou pelo IP específico da rede). Depois:
sudo systemctl restart mysql
sudo ufw allow 3306
🟣 Etapa 5 — Instalar o phpMyAdmin
O phpMyAdmin permite gerenciar seus bancos de dados pelo navegador. Durante a instalação, ele vai perguntar qual servidor web usar — escolha apache2.
sudo apt install phpmyadmin -y
Após instalar, reinicie o Apache para aplicar as configurações:
sudo systemctl restart apache2
✅ Acesse: http://localhost/phpmyadmin — faça login com root e a senha que você definiu no MySQL.
💾 Configuração Avançada — DocumentRoot em disco externo NTFS
Se você quer que o Apache sirva arquivos de um HD ou SSD externo formatado em NTFS (comum para quem dual-boot com Windows), siga esta configuração. No exemplo abaixo, o disco está montado em /mnt/JOGOS e os arquivos web ficam em /mnt/JOGOS/htdocs.
📁 Criar pasta e ajustar permissões
sudo mkdir -p /mnt/JOGOS
sudo mount -t ntfs-3g -o uid=1000,gid=33,fmask=113,dmask=002 /dev/nvme0n1p5 /mnt/JOGOS
sudo mkdir -p /mnt/JOGOS/htdocs
sudo chown -R qb:www-data /mnt/JOGOS/htdocs
sudo chmod -R 755 /mnt/JOGOS/htdocs
⚠️ Substitua /dev/nvme0n1p5 pela partição correta do seu disco (use lsblk -f para verificar). Troque qb pelo seu usuário do sistema.
⚙️ Configurar o VirtualHost do Apache
Edite o arquivo de configuração padrão do Apache para apontar para a nova pasta:
sudo nano /etc/apache2/sites-available/000-default.conf
Dentro do arquivo, altere a linha DocumentRoot:
DocumentRoot /mnt/JOGOS/htdocs
Também precisamos liberar o acesso a essa pasta no arquivo principal do Apache:
sudo nano /etc/apache2/apache2.conf
Adicione ao final do arquivo:
<Directory /mnt/JOGOS/htdocs>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
sudo systemctl restart apache2
🔗 Criar symlink do phpMyAdmin para a nova pasta
Como mudamos o DocumentRoot, o phpMyAdmin não estará mais acessível pelo endereço padrão. Crie um link simbólico para ele aparecer na nova raiz:
sudo ln -s /usr/share/phpmyadmin /mnt/JOGOS/htdocs/phpmyadmin
sudo systemctl restart apache2
✅ Acesse: http://localhost/phpmyadmin e confira se continua funcionando.
💡 Dicas importantes que aprendi na prática
⚠️ Disco NTFS e permissões
O sistema de arquivos NTFS não suporta permissões Linux nativas da mesma forma que ext4. Por isso, na montagem passamos uid=1000,gid=33 — onde 1000 é o ID do usuário e 33 é o grupo www-data. Use id seu_usuario no terminal para confirmar o UID correto.
🔍 Descobrir a partição certa com lsblk
Antes de montar qualquer disco, sempre rode lsblk -f para ver todos os dispositivos, seus tipos de sistema de arquivo e pontos de montagem. Isso evita montar a partição errada e perder dados.
🗑️ Como remover o MySQL completamente
Se algo der errado e precisar reinstalar do zero, limpe tudo com:
sudo systemctl stop mysql
sudo apt purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-* -y
sudo apt autoremove -y && sudo apt autoclean
sudo rm -rf /etc/mysql /var/lib/mysql /var/log/mysql
Depois disso, reinstale normalmente. Começa como novo.
📡 Ver seu IP na rede local
Para acessar o servidor de outro dispositivo na mesma rede Wi-Fi, use ip a no terminal e anote o IP da interface (geralmente começa com 192.168.x.x). Assim você pode acessar http://192.168.x.x do celular ou outro PC.
🚀 Seu ambiente LAMP está pronto!
Seguindo este tutorial você montou um servidor web completo no Ubuntu, com PHP, MySQL e phpMyAdmin. Agora é só colocar seus projetos dentro de /mnt/JOGOS/htdocs (ou /var/www/html se não usou disco externo) e começar a desenvolver. Qualquer dúvida, deixa nos comentários ou passa lá no canal!

Comentários
Comente só assim vamos crescer juntos!