Tutorial

Como Instalar o WordPress com LAMP no Debian 10

Published on April 13, 2020
Português
Como Instalar o WordPress com LAMP no Debian 10

Introdução

O WordPress é o CMS (sistema de gerenciamento de conteúdos) mais popular na Internet. Ele permite que você configure blogs e sites flexíveis com facilidade, em cima de um back-end em MariaDB com processamento em PHP. A adoção do WordPress teve um crescimento incrível, sendo uma ótima escolha para se colocar um website em funcionamento de maneira rápida. Após a configuração, quase toda a administração pode ser feita através do front-end web.

Neste guia, focaremos em configurar uma instância do WordPress em uma pilha LAMP (Linux, Apache, MariaDB e PHP) em um servidor Debian 10.

Pré-requisitos

Para concluir este tutorial, você precisará ter acesso a um servidor Debian 10.

Você precisará executar as seguintes tarefas antes de iniciar este guia:

  • Criar um usuário sudo em seu servidor: Concluiremos as etapas deste guia usando um usuário não-root com privilégios sudo. Você pode criar um usuário com privilégios sudo seguindo nosso guia Debian 10 initial server setup.
  • Instalar a pilha LAMP: O WordPress precisará de um servidor web, um banco de dados e o PHP para funcionar corretamente. A configuração de uma pilha LAMP (Linux, Apache, MariaDB e PHP) atende a todos esses requisitos. Siga este guia para instalar e configurar este software.
  • Proteger seu site com SSL: o Wordpress fornece conteúdo dinâmico e cuida da autenticação e autorização do usuário. O protocolo TLS/SSL é a tecnologia que lhe permite criptografar o tráfego do seu site para que sua conexão esteja segura. A maneira como você irá configurar o SSL dependerá se você tem um nome de domínio para seu site.
    • Se você tiver um nome de domínio… a maneira mais fácil de proteger seu site é com o Let’s Encrypt, que oferece certificados confiáveis e gratuitos. Siga nosso guia do Let’s Encrypt para o Apache para configurar isto.
    • Se você não tiver um domínio… e você está usando essa configuração apenas para teste ou uso pessoal, pode usar um certificado autoassinado. Isso fornece o mesmo tipo de criptografia, mas sem a validação do domínio. Siga nosso guia de SSL autoassinado para o Apache para configurar isto.

Quando você terminar os passos de configuração, efetue login no seu servidor como seu usuário sudo e continue abaixo.

Passo 1 — Criando um Banco de Dados MariaDB e um Usuário para o WordPress

O primeiro passo que daremos é preparatório. O WordPress requer um banco de dados baseado em MySQL para armazenar e gerenciar informações do site e de usuário. Temos o MariaDB — um substituto para o MySQL — já instalado, mas precisamos criar um banco de dados e um usuário para o WordPress usar.

Para começar, abra o prompt do MariaDB como a conta root:

  1. sudo mariadb

Nota: Se você configurou outra conta com privilégios administrativos ao instalar e configurar o MariaDB, você também poderá efetuar login como esse usuário. Você precisará fazer isso com o seguinte comando:

  1. mariadb -u nome_do_usuário -p

Após executar este comando, o MariaDB solicitará a senha que você definiu para essa conta.

Comece criando um novo banco de dados que o WordPress irá controlar. Você pode chamar isso do que quiser, mas para simplificar para este guia, iremos chamá-lo de wordpress.

Crie o banco de dados para o Wordpress digitando:

  1. CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Note que todo comando MySQL deve terminar em ponto e vírgula (;). Verifique se isso está presente, caso você estiver enfrentando algum problema.

Em seguida, crie uma conta de usuário MySQL separada que usaremos exclusivamente para operar em nosso novo banco de dados. Criar bancos de dados e contas de função única é uma boa ideia do ponto de vista de gerenciamento e segurança. Usaremos o nome wordpress_user neste guia, mas fique à vontade para alterar isso, se desejar.

Crie esta conta, defina uma senha e conceda ao usuário acesso ao banco de dados que você acabou de criar com o seguinte comando. Lembre-se de escolher uma senha forte para o usuário do banco de dados:

  1. GRANT ALL ON wordpress.* TO 'wordpress_user'@'localhost' IDENTIFIED BY 'senha';

Agora você tem um banco de dados e uma conta de usuário, cada um feito especificamente para o WordPress. Execute o seguinte comando para recarregar as tabelas de concessão, para que a instância atual do MariaDB saiba sobre as alterações que você fez:

  1. FLUSH PRIVILEGES;

Saia do MariaDB digitando

  1. EXIT;

Agora que você configurou o banco de dados e o usuário que serão usados pelo WordPress, você pode instalar alguns pacotes relacionados ao PHP usados pelo CMS.

Passo 2 — Instalando Extensões Adicionais do PHP

Ao configurar nossa pilha LAMP, exigimos apenas um conjunto mínimo de configurações para que o PHP se comunique com o MariaDB. O WordPress e muitos de seus plugins utilizam extensões adicionais do PHP.

Baixe e instale algumas das extensões PHP mais populares para uso com o WordPress digitando:

  1. sudo apt update
  2. sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip

Nota: Cada plugin do WordPress tem seu próprio conjunto de requisitos. Alguns podem exigir a instalação de pacotes PHP adicionais. Verifique a documentação do seu plugin para encontrar os requisitos de PHP. Se estiverem disponíveis, eles podem ser instalados com o apt como demonstrado acima.

Reiniciaremos o Apache para carregar essas novas extensões na próxima seção. Se você estiver retornando aqui para instalar plug-ins adicionais, poderá reiniciar o Apache agora, digitando:

  1. sudo systemctl restart apache2

Neste ponto, tudo o que resta antes de instalar o WordPress é fazer algumas alterações na configuração do Apache para permitir que o CMS funcione sem problemas.

Passo 3 - Ajustando a Configuração do Apache para Permitir Sobreposições e Reescritas no .htaccess

Com as extensões PHP adicionais instaladas e prontas para uso, a próxima coisa a fazer é fazer algumas alterações na sua configuração do Apache. Com base nos tutoriais de pré-requisito, você deve ter um arquivo de configuração para o seu site no diretório /etc/apache2/sites-available/. Usaremos /etc/apache2/sites-available/wordpress.conf como exemplo aqui, mas você deve substituir o caminho para o seu arquivo de configuração, quando apropriado.

Além disso, usaremos /var/www/wordpress como o diretório raiz ou o web root da nossa instalação do WordPress. Você deve usar o web root especificado em sua própria configuração.

Nota: É possível que você esteja usando a configuração padrão 000-default.conf (com /var/www/html como seu web root). Isso é bom de usar se você estiver hospedando apenas um site neste servidor. Caso contrário, é melhor dividir a configuração necessária em partes lógicas, um arquivo por site.

Atualmente, o uso de arquivos .htaccess está desativado. O WordPress e muitos plugins do WordPress usam esses arquivos extensivamente para ajustes em diretório no comportamento do servidor web.

Abra o arquivo de configuração do Apache para o seu site. Observe que, se você já possui um arquivo de configuração do Apache para o seu site, o nome desse arquivo será diferente:

  1. sudo nano /etc/apache2/sites-available/wordpress.conf

Para permitir arquivos .htaccess, você precisará adicionar um bloco Directory apontando para o seu document root com uma diretiva AllowOverride dentro dele. Adicione o seguinte bloco de texto dentro do bloco VirtualHost no seu arquivo de configuração, certificando-se de usar o diretório web root correto:

/etc/apache2/sites-available/wordpress.conf
<Directory /var/www/wordpress/>
	AllowOverride All
</Directory>

Quando terminar, salve e feche o arquivo.

Em seguida, ative o módulo rewrite para utilizar o recurso de link permanente ou permalink do WordPress:

  1. sudo a2enmod rewrite

Antes de implementar as alterações que você fez, verifique se você não cometeu nenhum erro de sintaxe:

  1. sudo apache2ctl configtest

Se a sintaxe do seu arquivo de configuração estiver correta, você verá o seguinte em sua saída:

Output
Syntax OK

Se este comando relatar algum erro, volte e verifique se você não cometeu nenhum erro de sintaxe no seu arquivo de configuração. Caso contrário, reinicie o Apache para implementar as alterações:

  1. sudo systemctl restart apache2

Em seguida, baixaremos e configuraremos o próprio WordPress.

Passo 4 — Baixando o WordPress

Agora que o software do servidor está configurado, você pode baixar e configurar o WordPress. Por motivos de segurança em particular, é sempre recomendável obter a versão mais recente do WordPress diretamente do site dele.

Nota: Usaremos o curl para baixar o WordPress, mas este programa pode não estar instalado por padrão no seu servidor Debian. Para instalá-lo, execute:

  1. sudo apt install curl

Mude para um diretório gravável e faça o download da versão compactada digitando:

  1. cd /tmp
  2. curl -O https://wordpress.org/latest.tar.gz

Extraia o arquivo compactado para criar a estrutura de diretórios do WordPress:

  1. tar xzvf latest.tar.gz

Vamos mover esses arquivos para o nosso document root momentaneamente. Antes, porém, adicionamos um arquivo vazio .htaccess para que este fique disponível para uso posterior do WordPress.

Crie o arquivo digitando:

  1. touch /tmp/wordpress/.htaccess

Em seguida, copie o arquivo de configuração de amostra para o nome de arquivo que o WordPress realmente lê:

  1. cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

Além disso, crie o diretório upgrade para que o WordPress não tenha problemas de permissão ao tentar fazer isso sozinho após uma atualização do software:

  1. mkdir /tmp/wordpress/wp-content/upgrade

Em seguida, copie todo o conteúdo do diretório para seu document root. Observe que o comando a seguir inclui um ponto no final do diretório de origem para indicar que tudo dentro do diretório deve ser copiado, incluindo arquivos ocultos (como o arquivo .htaccess que você criou):

  1. sudo cp -a /tmp/wordpress/. /var/www/wordpress

Com isso, você instalou o WordPress com sucesso em seu servidor web e executou algumas das etapas de configuração inicial. Em seguida, discutiremos algumas alterações adicionais na configuração que darão ao WordPress os privilégios necessários para funcionar, além do acesso ao banco de dados MariaDB e a conta de usuário que você criou anteriormente.

Passo 5 — Configurando o Diretório do WordPress

Antes de iniciarmos o processo de configuração baseado em web do WordPress, precisamos ajustar alguns itens em nosso diretório do WordPress.

Comece dando a propriedade de todos os arquivos ao usuário e grupo www-data. Este é o usuário com o qual o servidor web Apache é executado, e o Apache precisará ler e gravar arquivos do WordPress para servir o site e executar atualizações automáticas.

Atualize a propriedade com chown:

  1. sudo chown -R www-data:www-data /var/www/wordpress

Em seguida, executaremos dois comandos find para definir as permissões corretas nos diretórios e arquivos do WordPress:

  1. sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
  2. sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;

Devem ser definidas permissões razoáveis para começar, embora alguns plug-ins e procedimentos possam exigir ajustes adicionais.

Depois disso, você precisará fazer algumas alterações no arquivo de configuração principal do WordPress.

Quando você abre o arquivo, seu primeiro objetivo será ajustar algumas chaves secretas para fornecer segurança à sua instalação. O WordPress fornece um gerador seguro para esses valores, para que você não precise criar bons valores por conta própria. Eles são usados apenas internamente, portanto, não prejudicará a usabilidade ter valores complexos e seguros aqui.

Para obter valores seguros do gerador de chave secreta do WordPress, digite:

  1. curl -s https://api.wordpress.org/secret-key/1.1/salt/

Você receberá valores únicos parecidos com os seguintes:

Atenção! É importante que você solicite valores exclusivos a cada vez. NÃO copie os valores mostrados abaixo!

Output
define('AUTH_KEY', '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@4H'); define('SECURE_AUTH_KEY', 'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3'); define('LOGGED_IN_KEY', 'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88'); define('NONCE_KEY', 'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g'); define('AUTH_SALT', 'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES 07VC*Lj*lD&?3w!BT#-'); define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY'); define('LOGGED_IN_SALT', 'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|'); define('NONCE_SALT', 'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%');

Essas são as linhas de configuração que você colará diretamente no seu arquivo de configuração para definir chaves seguras. Copie a saída que você recebeu na sua área de transferência e abra o arquivo de configuração do WordPress localizado em seu document root:

  1. sudo nano /var/www/wordpress/wp-config.php

Encontre a seção que contém os valores fictícios para essas configurações. Vai parecer algo assim:

/var/www/wordpress/wp-config.php
. . .

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

. . .

Exclua essas linhas e cole os valores copiados da linha de comando:

/var/www/wordpress/wp-config.php
. . .

define('AUTH_KEY',         'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_KEY',  'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_KEY',    'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_KEY',        'VALUES COPIED FROM THE COMMAND LINE');
define('AUTH_SALT',        'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_SALT',   'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_SALT',       'VALUES COPIED FROM THE COMMAND LINE');

. . .

Em seguida, modifique as configurações de conexão do banco de dados na parte superior do arquivo. Você precisa ajustar o nome do banco de dados, o usuário do banco de dados e a senha associada que você configurou no MariaDB.

A outra alteração que você deve fazer é definir o método que o WordPress deve usar para gravar no sistema de arquivos. Como concedemos ao servidor web permissão para gravar onde ele precisar, podemos definir explicitamente o método do sistema de arquivos como “direct”. Se você não definir isso com nossas configurações atuais, o WordPress solicitará credenciais de FTP quando você executar determinadas ações.

Essa configuração pode ser adicionada abaixo das configurações de conexão com o banco de dados ou em qualquer outro local do arquivo:

/var/www/wordpress/wp-config.php
. . .

define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wordpress_user');

/** MySQL database password */
define('DB_PASSWORD', 'senha');

. . .

define('FS_METHOD', 'direct');

Salve e feche o arquivo quando terminar. Finalmente, você pode concluir a instalação e a configuração do WordPress acessando-o através do seu navegador.

Passo 6 — Completando a Instalação Através da Interface Web

Agora que a configuração do servidor está concluída, podemos concluir a instalação através da interface web.

No seu navegador, navegue até o nome de domínio ou endereço IP público do seu servidor:

https://domínio_do_servidor_ou_IP

Selecione o idioma que você gostaria de usar:

WordPress language selection

Em seguida, você chegará à página principal de configuração. Escolha um nome para o seu site WordPress e escolha um nome de usuário (é recomendável não escolher algo como “admin” por motivos de segurança). Uma senha forte é gerada automaticamente. Salve esta senha ou selecione uma senha forte alternativa.

Digite seu endereço de e-mail e escolha se você deseja desencorajar os mecanismos de pesquisa de indexar seu site:

WordPress setup installation

Quando estiver pronto, clique no botão Install WordPress. Você será direcionado para uma página que solicita que você faça login:

WordPress login prompt

Após o login, você será direcionado para o painel de administração do WordPress:

WordPress login prompt

No painel, você pode começar a fazer alterações no tema do seu site e publicar o conteúdo.

Conclusão

O WordPress está instalado e pronto para uso! Alguns próximos passos comuns são escolher a configuração de permalinks para suas postagens (pode ser encontrada em Configurações > Links permanentes) ou selecionar um novo tema (em Aparência > Temas). Se esta é a primeira vez que você usa o WordPress, explore um pouco a interface para se familiarizar com o seu novo CMS ou verifique o guia [Primeiros Passos com o WordPress] (https://codex.wordpress.org/pt-br:Primeiros_Passos_com_o_WordPress) na documentação oficial.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors
Default avatar

Developer Advocate

Dev/Ops passionate about open source, PHP, and Linux.


Default avatar

Manager, Developer Education

Technical Writer @ DigitalOcean




Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel