Uma versão anterior deste tutorial foi escrita por Justin Ellingwood.
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, além de um back-end em MySQL 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 no front-end Web.
Neste guia, iremos nos concentrar na obtenção de uma instância de WordPress, configurada em pilha LAMP (Linux, Apache, MySQL, e PHP) em um servidor Ubuntu 18.04.
Para completar este tutorial, será necessário ter acesso a um servidor Ubuntu 18.04.
Será necessário realizar as seguintes tarefas antes de iniciar este guia:
sudo
no seu servidor: vamos realizar os passos neste guia usando um usuário não raiz com privilégios sudo
. É possível criar um usuário com privilégios sudo
seguindo nosso Guia de configuração inicial do servidor Ubuntu 18.04.Quando tiver concluído os passos de configuração, faça login no seu servidor como seu usuário sudo
e continue abaixo.
O primeiro passo que vamos dar é um passo preparatório. O WordPress utiliza o MySQL para gerenciar e armazenar as informações do site e as do usuário. Já temos o MySQL instalado, mas precisamos criar um banco de dados e um usuário para o WordPress usar.
Para começar, faça login na conta raiz (administrativa) do MySQL, inserindo este comando:
- mysql -u root -p
Será solicitada a senha que você configurou para a conta raiz do MySQL quando instalou o software.
Primeiramente, criamos um banco de dados separado que o WordPress irá controlar. Você pode dar o nome que quiser ao banco de dados, mas neste guia nós o chamaremos de wordpress para ficar mais simples. Crie o banco de dados para o WordPress digitando:
- CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Nota: cada instrução do MySQL deve terminar em um ponto e vírgula (;). Verifique para garantir que a instrução foi seguida (ou seja, o ponto e vírgula foi usado), caso estiver enfrentando algum problema.
Em seguida, vamos criar uma conta de usuário do MySQL separada que vamos usar exclusivamente para operar no nosso novo banco de dados. Criar bancos de dados e contas para uma função é uma boa ideia sob o ponto de vista de gerenciamento e segurança. Vamos usar o nome **wordpressuser **neste guia. Sinta-se à vontade para alterar isso se quiser.
Vamos criar essa conta, definir uma senha e conceder o acesso ao banco de dados que criamos. Podemos fazer isso digitando o seguinte comando: Lembre-se de escolher uma senha forte para o usuário do seu banco de dados:
- GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
Agora, você tem um banco de dados e uma conta de usuário, criados especificamente para o WordPress. Precisamos atualizar os privilégios para que a instância atual do MySQL saiba sobre as alterações recentes que fizemos:
- FLUSH PRIVILEGES;
Saia do MySQL digitando:
- EXIT;
Ao configurar nossa pilha LAMP, precisamos apenas de um conjunto mínimo de extensões para fazer com que o PHP se comunique com o MySQL. O WordPress e muitos dos seus plug-ins potencializam extensões adicionais do PHP.
Podemos baixar e instalar algumas das extensões PHP mais populares para serem usadas com o WordPress digitando:
- sudo apt update
- sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip
Nota: cada plug-in do WordPress tem seus próprios requisitos. Alguns podem precisar de pacotes adicionais do PHP para serem instalados. Verifique a documentação do plug-in para descobrir seus requisitos PHP. Se estiverem disponíveis, eles podem podem ser instalados com o apt
como mostrado acima.
Vamos reiniciar o Apache para carregar essas novas extensões na próxima seção. Se estiver retornando aqui para instalar plug-ins adicionais, reinicie o Apache agora digitando:
- sudo systemctl restart apache2
A seguir, vamos fazer alguns pequenos ajustes na nossa configuração do Apache. Baseado nos tutoriais de pré-requisitos, você deve ter um arquivo de configuração para seu site no diretório /etc/apache2/sites-available/
. Vamos usar o /etc/apache2/sites-available/wordpress.conf
como exemplo, mas você deve substituir o caminho com o seu arquivo de configuração, onde for apropriado.
Além disso, utilizaremos o /var/www/wordpress
como o diretório raiz de nossa instalação do WordPress. Você deve usar a raiz da Web especificada em sua própria configuração.
Nota: é possível que esteja usando a configuração padrão 000-default.conf
(com /var/www/html
como sua raiz para a Web). Esta configuração pode ser usada sem problemas se você só for hospedar um site neste servidor. Caso contrário, é melhor dividir a configuração necessária em blocos lógicos, sendo um arquivo por site.
Atualmente, o uso dos arquivos do .htaccess
está desabilitado. O WordPress e muitos plug-ins do WordPress usam esses arquivos de maneira intensa para fazer ajustes no diretório, de acordo com o comportamento do servidor Web.
Abra o arquivo de configuração Apache do seu site:
- sudo nano /etc/apache2/sites-available/wordpress.conf
Para permitir os arquivos .htaccess
, precisamos configurar a diretiva AllowOverride
dentro de um bloco Directory
apontando para nossa raiz de documentos. Adicione o seguinte bloco de texto dentro do bloco VirtualHost
ao seu arquivo de configuração, certificando-se de usar o diretório raiz correto da Web:
<Directory /var/www/wordpress/>
AllowOverride All
</Directory>
Quando você terminar, salve e feche o arquivo.
Em seguida, podemos habilitar o mod_rewrite
para que possamos usar o recurso de permalink (ou link permanente) do WordPress:
- sudo a2enmod rewrite
Antes de implementar as alterações que fizemos, verifique para garantir que não cometemos erros de sintaxe:
- sudo apache2ctl configtest
O resultado pode ter uma mensagem que se pareça com essa:
OutputAH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK
Se quiser suprimir a linha superior, basta adicionar uma diretiva de ServerName
ao seu arquivo de configuração principal (global) do apache em Apache em /etc/apache2/apache2.conf
. O ServerName
pode ser o domínio ou endereço IP do seu servidor. Entretanto, esta é apenas uma mensagem e não afeta o funcionamento do nosso site. Contanto que a saída mostre Syntax OK
, você estará pronto para continuar.
Reinicie o Apache para implementar as alterações:
- sudo systemctl restart apache2
Em seguida, vamos baixar e configurar o WordPress propriamente dito.
Agora que o software do nosso servidor está configurado, podemos baixar e configurar o WordPress. Por motivos de segurança, é sempre recomendável obter a versão mais recente do WordPress do site deles.
Altere para um diretório gravável e baixe o arquivo comprimido da versão digitando:
- cd /tmp
- curl -O https://wordpress.org/latest.tar.gz
Extraia o arquivo comprimido para criar a estrutura de diretórios do WordPress:
- tar xzvf latest.tar.gz
Vamos mover esses arquivos temporariamente para nossa raiz de documentos. Antes de fazermos isso, adicionamos um arquivo de .htaccess
fictício para que esteja disponível para o WordPress usar mais tarde.
Crie o arquivo digitando:
- touch /tmp/wordpress/.htaccess
Também vamos copiar o exemplo de arquivo de configuração sobre o nome do arquivo, de modo que, na prática, o WordPress leia o seguinte:
- cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
Também podemos criar o diretório de upgrade
, para que o WordPress não se depare com questões de permissão ao tentar fazer isso sozinho após uma atualização em seu software:
- mkdir /tmp/wordpress/wp-content/upgrade
Agora, podemos copiar o conteúdo todo do diretório para nossa raiz de documentos. Estamos usando um ponto no final do nosso diretório fonte para indicar que tudo dentro do diretório deve ser copiado, incluindo arquivos ocultos (como o arquivo .htaccess
que criamos):
- sudo cp -a /tmp/wordpress/. /var/www/wordpress
Antes de fazermos a configuração do WordPress baseada na Web, precisamos ajustar alguns itens em nosso diretório do WordPress.
Uma das coisas mais importantes que precisamos fazer é configurar permissões razoáveis e a propriedade sobre os arquivos.
Vamos começar concedendo a propriedade de todos os arquivos para o usuário e grupo** www-data**. Este é o usuário sob o qual o webserver Apache executa. O Apache terá que ser capaz de ler e gravar arquivos do WordPress para atender o site e realizar atualizações automáticas.
Atualize a propriedade com o chown
:
- sudo chown -R www-data:www-data /var/www/wordpress
Em seguida, executaremos dois comandos find
para definir as permissões corretas sobre os diretórios e arquivos do WordPress:
- sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
- sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;
Essas devem ser permissões razoáveis para começar. Alguns plug-ins e procedimentos podem precisar de ajustes adicionais.
Agora, precisamos fazer algumas alterações no arquivo de configuração principal do WordPress.
Quando abrimos o arquivo,nossa prioridade será ajustar algumas chaves secretas para dar segurança para nossa instalação. O WordPress oferece um gerador seguro para esses valores para que você não tenha que tentar obter bons valores por conta própria. Esses valores são usados internamente, de modo que ter valores seguros e complexos aqui não irá atrapalhar a usabilidade.
Para pegar valores seguros do gerador de chave secreta do WordPress, digite:
- curl -s https://api.wordpress.org/secret-key/1.1/salt/
Você receberá valores únicos que se parecem com estes:
Aviso!: É importante que você solicite sempre valores únicos. NÃO copie os valores mostrados abaixo!
Outputdefine('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 linhas de configuração que podemos colar diretamente no nosso arquivo de configuração para definir chaves seguras. Copie o resultado que acabou de receber.
Agora abra o arquivo de configuração do WordPress:
- sudo nano /var/www/wordpress/wp-config.php
Encontre a seção que contém os valores fictícios para essas configurações. Eles se parecerão com isso:
. . .
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 que copiou da linha de comando:
. . .
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, precisamos modificar algumas das configurações de conexão do banco de dados no início do arquivo. Você precisa ajustar o nome do banco de dados, o usuário do banco de dados e a senha associada que configuramos no MySQL.
A outra mudança que precisamos fazer é definir o método que o WordPress deve usar para gravar no sistema de arquivos. Uma vez que demos permissão ao servidor Web para gravar onde ele precisar, podemos definir explicitamente o método do sistema de arquivos como “direct” (direto). Deixar de definir esse método de acesso - usando nossas configurações atuais, levaria o WordPress a solicitar credenciais FTP quando realizássemos algumas ações.
Esta configuração pode ser adicionada abaixo das configurações de conexão do banco de dados ou em qualquer outro lugar no arquivo:
. . .
define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'wordpressuser');
/** MySQL database password */
define('DB_PASSWORD', 'password');
. . .
define('FS_METHOD', 'direct');
Salve e feche o arquivo quando você terminar.
Agora que a configuração do servidor está completa, podemos concluir a instalação através da interface com a Web.
No seu navegador Web, navegue até o nome de domínio do seu servidor ou endereço IP público:
https://server_domain_or_IP
Selecione a linguagem que você gostaria de usar:
Em seguida, você chegará à página de configuração principal.
Selecione um nome para seu site do WordPress e escolha um nome de usuário (É recomendável não escolher algo como “admin” por motivos de segurança). Uma senha forte será gerada automaticamente. Salve essa senha ou selecione uma senha forte alternativa.
Digite seu endereço de e-mail e selecione se deseja impedir que mecanismos de pesquisa façam a indexação do seu site:
Quando clicar adiante, você será levado para uma página que solicita que você faça login:
Assim que fizer login, será levado para o painel de administração do WordPress:
O Wordpress deve estar instalado e pronto para usar! Alguns dos passos comuns na sequência serão: escolher a configuração dos permalinks dos seus posts (pode ser encontrado em Configurações > Permalinks
) ou selecionar um novo tema (em Appearance > Themes
). Se esta é a primeira vez que usa o WordPress, explore a interface um pouco para se familiarizar com o seu novo CMS.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
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!
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Fiz todos os procedimentos como manda o tutorial, mas não conseguir abrir a página do wordpress na web, sabes como me ajudar?
Ótimo artigo, sempre tirando minhas dúvidas.
E como posso instalar outros sites nesse mesmo servidor?