WordPress · 13 min read · Feb 01, 2026
Instalar WordPress 5 com Apache no Debian 9

Este tutorial mostrará como instalar e configurar a versão mais recente do WordPress 5 em cima de uma pilha LAMP no Debian 9 - Stretch. O WordPress, sem dúvida, é um dos sistemas de gerenciamento de conteúdo (CMS) de código aberto mais populares usados atualmente para publicação na internet, que alimenta mais de 60 milhões de sites em todo o mundo, sejam pequenos blogs ou grandes marcas conhecidas. Baseado em PHP e MySQL, o WordPress é frequentemente associado à coleção LAMP, seja instalado em servidores dedicados, servidores privados virtuais ou em provedores de hospedagem compartilhada. O acrônimo LAMP descreve uma coleção de software, também conhecida como pacote de software, que geralmente consiste no núcleo Linux de código aberto, independentemente da distribuição escolhida, no servidor HTTP Apache, que é um dos servidores web de código aberto mais populares na internet devido à sua estabilidade, flexibilidade e desempenho, na linguagem de programação interpretada do lado do servidor PHP e no sistema de gerenciamento de banco de dados relacional (RDBMS) MariaDB, que é um dos softwares de banco de dados mais populares, bifurcado e desenvolvido simultaneamente pela comunidade de código aberto a partir do MySQL original.
Requisitos
- Uma instalação limpa do sistema operacional Debian 9 em um servidor privado virtual ou em uma máquina virtual ou diretamente em uma máquina bare-metal dedicada.
- Acesso remoto SSH no caso de um VPS ou servidor remoto ou acesso direto ao console
- Pelo menos um endereço IP estático para uma interface de rede configurada no servidor
- Caso a página da web deva estar publicamente disponível na internet, você precisará de um nome de domínio público registrado com os registros DNS apropriados configurados. Durante este tutorial, usaremos example.com como o domínio de exemplo e um endereço IP estático do espaço privado, em NAT, atrás do roteador principal. O domínio será acessível pela internet através do encaminhamento de portas 80 e 443 do Apache do lado do roteador para a LAN interna da máquina virtual auto-hospedada.
Instalar Pacote de Software LAMP
A primeira coisa que você deve fazer antes de começar a instalar todos os componentes LAMP é fazer login no servidor Debian 9 e realizar um procedimento de atualização para todos os componentes do sistema, como atualizações de kernel, atualizações de pacotes ou patches de segurança, emitindo os seguintes comandos com privilégios de root.
apt-get updateapt-get upgradeapt-get dist-upgradeNa próxima etapa, você deve configurar o nome da sua máquina substituindo a variável hostname pelo seu próprio nome descritivo executando o comando abaixo. Esteja ciente de que você pode precisar reiniciar o sistema para aplicar o novo hostname adequadamente.
hostnamectl set-hostname hostname.seudominio.comVocê também deve instalar as seguintes utilidades que serão úteis mais tarde para vários problemas de solução de problemas.
apt install net-tools sudo wget curl bash-completionApós o hostname da máquina ter sido aplicado, faça login novamente com privilégios de root e instale o servidor HTTP Apache, que é, por padrão, pré-compilado em um pacote binário e fornecido pelos repositórios do Debian 9.
apt install apache2Em seguida, instale a versão mais recente do interpretador da linguagem PHP e todos os módulos necessários para o servidor web Apache a fim de implantar o CMS WordPress emitindo o seguinte comando.
apt install libapache2-mod-php7.0 php7.0 php7.0-gd php7.0-xml php7.0-curl php7.0-mbstring php7.0-mcrypt php7.0-xmlrpcO último componente que falta agora para que a pilha LAMP esteja completa é o servidor de banco de dados MariaDB. Execute o seguinte comando para instalar o servidor MariaDB juntamente com o módulo PHP necessário para acessar o banco de dados a partir do servidor HTTP Apache.
apt install php7.0-mysql mariadb-server mariadb-clientApós o banco de dados MariaDB ter sido instalado, inicie o daemon e proteja o banco de dados executando o script mysql_secure_installation conforme ilustrado no trecho abaixo. Principalmente, responda com sim a todas as perguntas que o script lhe fizer. Além disso, certifique-se de escolher uma senha forte para a conta root. Esteja ciente de que a conta root do MySQL não é idêntica à conta root do Linux. A primeira é usada apenas para gerenciar o banco de dados MariaDB e a segunda é a conta superusuário em todos os sistemas Linux. Essas contas nunca se sobrepõem em um sistema.
systemctl start mariadbmysql_secure_installation*NOTA: EXECUTAR TODAS AS PARTES DESTE SCRIPT É RECOMENDADO PARA TODOS OS SERVIDORES MariaDB EM USO DE PRODUÇÃO! POR FAVOR, LEIA CADA ETAPA CUIDADOSAMENTE!
Para fazer login no MariaDB e protegê-lo, precisaremos da senha atual para o usuário root. Se você acabou de instalar o MariaDB e não definiu a senha root ainda, a senha estará em branco, então você deve apenas pressionar enter aqui.
Digite a senha atual para root (pressione enter para nenhum):
OK, senha usada com sucesso, prosseguindo...
Definir a senha root garante que ninguém possa fazer login no usuário root do MariaDB sem a devida autorização.
**Definir senha root? [Y/n] y
Nova senha:
Reinsira a nova senha:
Senha atualizada com sucesso!
Recarregando tabelas de privilégios..
... Sucesso!
Por padrão, uma instalação do MariaDB tem um usuário anônimo, permitindo que qualquer um faça login no MariaDB sem ter uma conta de usuário criada para eles. Isso é destinado apenas para testes e para tornar a instalação um pouco mais suave. Você deve removê-los antes de passar para um ambiente de produção.
**Remover usuários anônimos? [Y/n] y
... Sucesso!
Normalmente, o root deve ser permitido apenas conectar-se a partir de 'localhost'. Isso garante que alguém não possa adivinhar a senha root pela rede.
**Desabilitar login remoto do root? [Y/n] y
... Sucesso!
Por padrão, o MariaDB vem com um banco de dados chamado 'test' que qualquer um pode acessar. Isso também é destinado apenas para testes e deve ser removido antes de passar para um ambiente de produção.
**Remover banco de dados de teste e acesso a ele? [Y/n] y
- Removendo banco de dados de teste...
... Sucesso!
- Removendo privilégios no banco de dados de teste...
... Sucesso!
Recarregar as tabelas de privilégios garantirá que todas as alterações feitas até agora tenham efeito imediato.
Recarregar tabelas de privilégios agora? [Y/n] y
... Sucesso!
Limpando...
Tudo pronto! Se você completou todas as etapas acima, sua instalação do MariaDB agora deve estar segura.
Obrigado por usar o MariaDB!* Ainda não terminamos de proteger o banco de dados MariaDB. Por padrão, você pode fazer login no MariaDB a partir do localhost com a conta root do banco de dados sem ser solicitado a fornecer uma senha. Para evitar possíveis problemas de segurança, faça login no banco de dados com o usuário root e emita os seguintes comandos.
mysql -u root -pMariaDB>use mysql;
MariaDB>update user set plugin='' where User='root';
MariaDB>flush privileges;
MariaDB>quit
Agora, teste o banco de dados tentando fazer login com a conta root sem a senha. Você deve ser negado o acesso ao banco de dados MariaDB.
Na próxima etapa, habilitaremos e configuraremos os módulos TLS e rewrite para o servidor web Apache, que por padrão estão desativados. Execute os comandos abaixo para habilitar ambos os módulos.
a2enmod rewrite ssla2ensite default-ssl.confEm seguida, abra os arquivos de configuração do Apache para ambos os sites habilitados e adicione o seguinte bloco abaixo da diretiva DocumentRoot, conforme ilustrado na captura de tela a seguir.
nano /etc/apache2/sites-enabled/000-default.confnano /etc/apache2/sites-enabled/default-ssl.confEm ambos os arquivos de configuração, adicione o seguinte bloco de código:
*
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
*
No arquivo de configuração TLS do Apache default-ssl.conf, você também pode adicionar o conteúdo abaixo, se não existir, para melhorar a segurança do protocolo SSL do Apache. Essas linhas de código devem corrigir vulnerabilidades comuns do SSL.
*SSLProtocol all -SSLv2 -SSLv3
*# Adicionar cifra SSL em uma única linha
*SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA*
*SSLHonorCipherOrder on*
*SSLOptions +StrictRequire*
* *
*Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains"*
*Header always set X-Frame-Options DENY*
*Header always set X-Content-Type-Options nosniff*Se as linhas ilustradas no trecho acima já existirem no arquivo de configuração SSL do Apache, certifique-se de modificá-las para ficarem como descrito acima. Para aplicar essas configurações, habilite o módulo headers do Apache e reinicie o serviço executando os seguintes comandos:
a2enmod headerssystemctl restart apache2.servicePara um site de produção, deve ser obrigatório habilitar o módulo TLS do Apache, pois o CMS WordPress gera principalmente conteúdo dinâmico através do gateway PHP e também lida com o processo de autenticação para seus usuários internos. Usar a tecnologia TLS garante que as informações transferidas sejam criptografadas em ambas as extremidades e que a conexão esteja segura. Um terceiro ou um homem no meio pode interceptar o tráfego, mas não pode descriptografar o conteúdo, pois as informações não são entregues em texto simples.
Após fazer todas as alterações acima, teste a configuração do Apache para detectar possíveis erros de sintaxe e, se tudo estiver ok, reinicie os daemons do LAMP para refletir todas as alterações feitas até agora e habilitar os serviços em todo o sistema emitindo os seguintes comandos.
apache2ctl -tsystemctl restart apache2.service mariadb.servicesystemctl enable apache2.service mariadb.serviceFinalmente, verifique se os serviços Apache e MariaDB abriram portas em estado de escuta emitindo o comando netstat e filtrando a saída usando egrep. Até agora, o servidor web Apache deve ter as portas 80 e 443 (correspondentes aos protocolos HTTP e https) geralmente expostas e o MariaDB deve estar apenas vinculando ao socket localhost:3306. Use a flag -n contra o comando netstat para suprimir a exibição dos nomes dos serviços.
netstat -tlp| egrep 'http|mysql'**
Para garantir que seu servidor web seja acessível pela internet via protocolos HTTP e HTTPS, abra um navegador e navegue até seu nome de domínio. Navegando via protocolo HTTPS, um erro de certificado será exibido no navegador. Isso ocorre porque o arquivo de configuração TLS padrão do Apache está configurado para usar Certificados Autoassinados. Você deve aceitar o erro TLS e continuar navegando até a página web padrão, conforme ilustrado abaixo.

Caso você não consiga visitar a página web padrão do seu domínio pela internet, você deve primeiro verificar se algumas regras de firewall no sistema estão bloqueando as solicitações ou garantir que as portas apropriadas no roteador estejam encaminhadas para sua LAN interna, caso o servidor esteja atrás de uma rede NAT. Você também pode querer verificar os registros DNS no painel do registrador de domínio e garantir que eles apontem para seu IP WAN e se os registros terminaram de se propagar na internet.
* Para testar se o PHP está funcionando conforme o esperado no lado do servidor, crie um arquivo PHP php* no caminho do sistema /var/www/html/, que é o caminho padrão do diretório raiz do documento web do servidor Apache, emitindo o comando abaixo e navegando para a seguinte URI a partir do navegador para obter o resultado: *http://www.seudominio.com/info.php*
echo '' > /var/www/html/info.php**
Instalar WordPress 5.0
Agora que a pilha LAMP está totalmente configurada, a instalação do CMS WordPress é relativamente simples. Primeiro, faça login no banco de dados MariaDB e crie um banco de dados de instalação para o WordPress e um usuário com a senha apropriada para instalar e gerenciar o CMS WordPress, emitindo os comandos abaixo. Sinta-se à vontade para substituir o nome do banco de dados e as credenciais do banco de dados para corresponder às suas próprias necessidades.
mysql -u root -pCREATE DATABASE wordpress;GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress-user'@'localhost' IDENTIFIED BY 'wordpress-pass';FLUSH PRIVILEGES;**
Em seguida, baixe o tarball mais recente do WordPress do site oficial usando a utilidade wget e extraia o arquivo compactado com a utilidade tar. Copie os arquivos de instalação para o caminho do diretório raiz do servidor web Apache emitindo os comandos abaixo. Além disso, certifique-se de remover a página web padrão index.html.
cd /tmpwget http://wordpress.org/latest.tar.gztar xfz latest.tar.gzcp -rf wordpress/* /var/www/html/rm /var/www/html/index.html
Modifique as permissões do caminho do diretório raiz do Apache conforme descrito abaixo para conceder ao grupo www-data do servidor web permissões de gravação total no diretório de instalação. Essa configuração permitirá que o servidor web Apache crie ou modifique arquivos e diretórios sob esse caminho específico do sistema. Os mais importantes seriam o diretório uploads e o arquivo *.htaccess*, que podem ser usados para controlar e estender a funcionalidade do Apache.
chmod -R 775 /var/www/html/chgrp -R www-data /var/www/html/ls -al /var/www/html
Agora que tudo está em ordem, vamos começar a instalar o WordPress. O processo de instalação será realizado a partir do navegador. Abra um navegador e visite seu domínio via protocolo HTTPS. Na primeira tela da instalação, clique no botão Vamos lá para iniciar a instalação.

Na próxima tela de instalação, adicione o nome do banco de dados, as credenciais de acesso ao banco de dados e o host do banco de dados que você criou anteriormente para a instalação do WordPress e clique no botão Enviar para continuar. A configuração do banco de dados será salva em /var/www/html/wp-config.php. Você pode modificar manualmente o arquivo em uma data posterior para fins especiais do WordPress.

Na próxima tela, clique no botão Executar a instalação e preencha o título do seu site, as credenciais do administrador do site e o endereço de e-mail. Uma senha forte deve ser gerada automaticamente pelos scripts de instalação. Você pode optar por salvar essa senha ou fornecer sua própria senha forte. Quando terminar, clique no botão Instalar WordPress para concluir o processo de instalação.


Finalmente, após a instalação ser concluída com sucesso, faça login no painel do WordPress com as credenciais criadas durante o processo de instalação e comece a gerenciar seu próprio site.


Faça login no backend do WordPress.

Painel de administração do WordPress.

Editando uma postagem no novo Editor Gutenberg do WordPress.

Frontend do WordPress 5.0 com o novo tema TwentyNineteen.
Parabéns! Você instalou com sucesso a versão mais recente do CMS WordPress em cima do pacote de software LAMP no Debian 9, codinome Stretch.
Download da imagem da máquina virtual deste tutorial
Este tutorial está disponível como uma imagem de máquina virtual pronta para uso no formato ovf/ova que é compatível com VMWare e Virtualbox. A imagem da máquina virtual usa os seguintes detalhes de login:
Login SSH / Shell
Nome de usuário: administrator
Senha: howtoforge
Este usuário tem direitos de su.
Nome de usuário: root
Senha: howtoforge
Login do WordPress
Nome de usuário: admin
Senha: howtoforge
Login do MySQL
Nome de usuário: root
Senha: howtoforge
O IP da VM é 192.168.1.100, ele pode ser alterado no arquivo /etc/network/interfaces. Por favor, mude todas as senhas acima para proteger a máquina virtual.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.