Introdução

Neste post ensinarei como fazer a instalação do WordPress em um servidor VPS Linux Ubuntu  à partir do zero, abordarei desde a configuração do Servidor Web Apache até a instalação do servidor de bancos de dados MySQL e do PHP 7.

Informações adicionais

Para este tutorial utilizarei os seguintes softwares, sistemas e ferramentas.

  • Apache 2.4
  • MySQL Server 5.7
  • PHP 7
  • Ubuntu 14.04
    • RAM: 1 GB.
    • Processador: 1 Core @3.2 GHz
    • Disco: 30 GB SSD

NOTA: para este tutorial você deverá alterar o endereço meusite.dev para o endereço do seu site.

No exemplo deste tutorial o servidor que utilizei está com a configuração inicial, não há qualquer modificação nele e mais para a frente explicarei o motivo disto.

Configurando o Ubuntu 14.04 para receber nossas aplicações

Conectando-se ao servidor

O primeiro passo para fazer a configuração do seu servidor é conectar-se à ele por meio de SSH, para isto digite o seguinte código:

ssh [email protected]meusite.dev

Após conectar ao servidor, ele solicitará a sua senha, como na imagem abaixo:

conectando via ssh a um servidor vps

Insira a sua senha e pressione enter.
PS: Note que ao digitar sua senha a tela não irá mostrar nada.

Após efetuar a conexão o primeiro passo  será criar um novo usuário no sistema para posteriormete desativar o acesso do root via SSH por questões de segurança.

Adicionando um usuário ao sistema

Para adicionar um usuário no sistema, utilize o seguinte comando:

adduser usuario

Substitua “usuario” pelo username do seu usuário desejado.

O shell pedirá que você insira uma senha para o usuário e em seguida irá solicitar as informações pessoais dele, preencha como achar necessário e no fim digite “Y”  para confirmar (ou “S” caso seu sistema esteja em português), como na imagem abaixo.

Adicionando novo usuário ao ubuntu

Concedendo privilégios ao seu usuário

Após a criação do usuário que você utilizará para configurar e acessar seu VPS futuramente, é necessário que você dê privilégios a ele, para que ele possa invocar permissões de “root” através do comando sudo durante a configuração do sistema.
Para adicionar o seu usuário ao grupo de usuários privilegiados no sistema, neste caso os “sudoers”, digite o seguinte comando no terminal:

usermod -aG sudo usuario

Agora é hora de testar se o seu usuário e as respectivas permissões estão funcionando como devem. Para isto digite o seguinte comando:

su usuario

em seguida digite a senha que você inseriu durante a criação do seu usuário e por fim, utilize o comando sudo para testar se as permissões dele estão corretas, como na imagem abaixo.

testando as permissões do usuário no ubuntu

Caso o resultado seja similar ao da imagem, podemos ir para o próximo passo, caso contrário, você não executou o comando para adicionar o seu usuário ao grupo “sudo“.

Agora que você já tem um usuário com permissões de admin, faça logoff do servidor e depois faça login com o novo usuário.

Instalando os softwares necessários

Á partir de agora, nós iremos instalar o aplicativos necessários para a configuração básica do nosso servidor WEB, o primeiro deles será verificar se o Apache já está instalado na sua versão do Ubuntu e atualizá-lo, se não estiver, iremos intalá-lo.

Para instalar o Apache digite o seguinte comando:

sudo apt-get install apache2

Caso o apache já esteja instalado no sistema, digite:

sudo apt-get update; sudo apt-get upgrade; sudo apt-get dist-upgrade

A saída deverá ser parecida com a imagem abaixo:

instalando o apache2 no ubuntu 14.04

Após a instalação do apache, vamos configurar os “virtual hosts” para garantir que o Apache possa processar mais que um website ou trate cada requisição para uma aplicação diferente de acordo com o endereço requisitado. Para isto vamos organizar os sites ou o seu site, caso vá utilizar apenas um em uma pasta dedicada somente à ele, então vamos criar esta pasta no diretório /var/www/html, para isto crie digite o seguinte comando:

sudo mkdir -p /var/www/html/meusite

Note que meusite é a pasta onde o seu site ficará armazenado no disco local e sempre que alguém digitar meusite.dev na barra do navegador, o apache irá processar os arquivos que estão nesta pasta.

Agora que você já tem um diretório para seus arquivos, vamos configurar o virtual host para que o apache processe os arquivos diretamente no diretório do seu site, para isto digite os seguintes comandos:

cd /etc/apache2/sites-available/; ls

o resultado deverá ser similar ao da imagem abaixo:

configurando os virtual hosts do apache2

Agora você deverá copiar o arquivo virtual host padrão do apache e editar ele com as informações do nosso site, para isto digite:

sudo cp 000-default.conf meusite.conf

sudo nano meusite.conf

O comando CP serve para copiar o arquivo “000-default.conf” e renomear ele para “meusite.conf“, já o comando “nano” serve para editar o arquivo meusite.conf utilizando o utilitário nano que é uma espécie de bloco de notas para terminal.

Após digitar o comando nano o terminal irá abrir uma tela similar a da imagem abaixo:

Edite seguinte linhas com as informações do seu site:

ServerAdmin [email protected]
DocumentRoot /var/www/html

O resultado deverá ser parecido com isto:

ServerAdmin [email protected]meusite.dev
DocumentRoot /var/www/html/meusite
ServerName meusite.dev
ServerAlias www.meusite.dev

<Directory /var/www/html/meusite>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
</Directory>

Os comandos acima dizem o seguinte:

ServerAdmin será o email do administrador do servidor do seu site, geralmente é webmaster ou root@meusite.dev

DocumentRoot é a pasta raiz do seu site, ou seja, a pasta onde vamos instalar o wordpress futuramente.

ServerName é o endereço do seu site, para que o apache possa processar os arquivos na pasta raíz, sempre que alguém requisitar o endereço do seu site.

ServerAlias é um endereço opcional para o seu site, caso você utilize meusite.dev e www.meusite.dev para servir um mesmo site aos usuários.

Os comandos que estão entre as tags <Directory> e </Directory> são comandos para que o apache permita a Reescrita de URL, muito usada em sites WordPress, agora para SALVAR o seu documento pressione CTRL + X  e depois ENTER.

Agora que você já configurou seu virtual host, criou a pasta raíz do seu site, é hora de testar e em seguida configurar os outros itens, digite o seguinte comando para configurar o apache para servir apenas o seu website atual.

sudo a2dissite *.conf; sudo service apache2 reload

O comando acima faz o apache DESATIVAR todos os sites que estão ativados, no nosso acaso, apenas 000-default.conf estava, a saída deverá ser similar à imagem abaixo:

desativando virtual hosts

Agora, antes de ativar seu site, devemos ativar o MOD_REWRITE do Apache para permitir a reescrita de URL contida no seu arquivo meusite.conf e por fim ative somente o seu site, digitando o seguinte comando:

sudo a2enmod rewrite; sudo service apache2 restart; sudo a2ensite meusite.conf; sudo service apache2 reload

A saída deverá ser parecida com a imagem abaixo

ativando rewrite e arquivo de configuração do apache

Agora é hora de testar se tudo está funcionando corretamente, para isto digite a url do seu site na barra do navegador, o resultado deverá ser uma tela similar à esta:

meu site

Agora que você já configurou seu servidor Apache, ativou o virtual host, vamos Instalar o servidor MySQL e em seguida o PHP para por fim, instalar o WordPress.

Instalando o servidor MySQL

Para começar a instalação do servidor MySQL 5.7 você precisará adicionar um repositório PPA, o mais usado nos dias atuais é o de Ondřej Surý e para adicionar este repositório, digite o seguinte comando e quando for solicitado pressione ENTER:

sudo add-apt-repository ppa:ondrej/mysql-5.7
sudo apt-get update

Caso haja algum erro ao utilizar o comando add-apt-repository digite o seguinte código: sudo apt-get install software-properties-common e em seguida use o comando sudo apt-get update.

o resultado deverá ser uma tela assim:

 

adicionando o repositório ppa do mysqle por fim, instale o mysql server 5.7 com o comando abaixo

sudo apt-get install mysql-server-5.7

Quando for questionado, pressione S ou Y para confirmar a instalação e após a instalação você será indagado a fim de configurar uma senha para o usuário “root” do MySQL, insira uma senha e em seguida pressione ENTER e depois repita a senha e digite ENTER novamente, como nas imagens abaixo.

Agora é a hora de fazer a segurança da sua instalação do MySQL, então digite o seguinte comandos para iniciar a configuração segura do mysql.

sudo mysql_secure_installation

Quando for perguntado, insira a senha do usuário ROOT, que você definiu durante a instalação do mysql.

Após isto, ele irá perguntar se você deseja ativar o plugin validador de senha, pressione N. (saiba mais aqui).

Em seguida irá perguntar se deseja alterar a senha do root, se você quiser alterar, pressione Y e altere, caso contrário, pressione N.

Nas demais opções, pressione Y em todas até que seja exibida a mensagem “All done!“.

Instalando o PHP 7

Como no passo anterior, será necessário instalar um repositório PPA para poder instalar o PHP 7 no Ubuntu, neste caso, digite o comando abaixo:

sudo add-apt-repository ppa:ondrej/php -y; sudo apt-get update

Agora é hora de instalar o PHP 7 e os módulos necessários para rodar o WordPress tranquilamente no seu servidor, para isto digite o comando abaixo:

sudo apt-get install php7.0 php7.0-mysql php7.0-curl php7.0-mbstring php7.0-xml php7.0-soap

Reinicie o Apache

sudo service apache2 restart;

Instalando o WordPress

Após ter configurado seu servidor, instalado o servidor Web, servidor de Bancos de Dados e o PHP 7, hora de instalar o WP.

Criando o banco de dados

Para criar o banco de dados é necessário acessar o servidor mysql, para isto digite os seguintes comandos:

sudo mysql -u root -p

Em seguida insira a senha que você cadastrou na hora que instalou o MySQL.

Se você ainda não tiver utilizado o comando sudo durante a sessão atual, então insira primeiro a senha do seu usuário no LINUX e depois a senha do MYSQL.

Apos fazer login no MySQL, crie uma base de dados e um usuário para o seu worpdress, você pode usar o comando abaixo e substituir os textos destacados com as informações que desejar.

create database wordpress; create user 'wordpress'@'localhost' identified by 'minhasenha'; grant all privileges on wordpress.* to 'wordpress'@'localhost'; flush privileges;

Os textos em vermelho significam o nome da base de dados que você criou;
Os textos em laranja significam o nome do usuário da base de dados que você criou;
O texto em azul significa a senha do seu usuário no banco de dados.

Fazendo o download do WordPress

Para fazer a instalação do wordpress no seu servidor digite os seguintes comandos:

cd /var/www/html/meusite

O comando acima irá navegar até a pasta raíz do seu site. Após isto, digite o seguinte comando:

sudo wget http://wordpress.org/latest.zip; sudo apt-get install zip -y; sudo unzip *.zip; sudo rm -rf *.zip; cd wordpress; sudo mv * ../; cd ..; sudo rm -rf wordpress; ls;

os comandos acima irão fazer o download do WordPress, instalar o utilitário zip para descompactar os arquivos, descompactar os arquivos do wordpress, apagar o arquivo zipado da pasta do seu site; entrar na pasta do wordpress; mover todos os arquivos para a pasta raíz do seu site (que está um nível acima); apagar a pasta vazia wordpress; listar todos os arquivos da pasta atual.
O resultado deverá ser similar à imagem abaixo.

listagm de arquivos

Agora é preciso dar autorização ao Apache para ler e processsar os arquivos que estão na pasta do seu site, para isto digite o comando abaixo, ele evitará que o wordpress solicite dados de login ftp ou sftp durante a instalação de temas ou plugins.

sudo chmod -r 755 /var/www/html/meusite; sudo chown -R www-data:www-data /var/www/html; sudo usermod -aG www-data usuario

Note que usuario deverá ser o nome do usuário que você está utilizando em seu servidor.

Agora acesse o seu site pelo navegador e configure a instalação do wordpress via web, como no exemplo abaixo:

Não esqueça de preencher os dados de conexão do wordpress iguais aos dados que você criou durante a configuração do banco de dados, veja um exemplo na imagem abaixo.

Agora basta seguir o passo-a-passo de instalação padrão do WordPress.

NOTA: No próximo tutorial irei ensinar como fazer a SEGURANÇA do seu servidor WEB a fim de evitar que o seu sistema seja invadido.

Referências

Instalação do Mysql: https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-14-04

Instalação do PHP 7: https://www.digitalocean.com/community/tutorials/how-to-upgrade-to-php-7-on-ubuntu-14-04

Como configurar os Virtual Hosts do apache: https://www.digitalocean.com/community/tutorials/como-configurar-apache-virtual-hosts-no-ubuntu-14-04-lts-pt