LOGO UOL HOST

Receba por e-mail as novidades e publicações da Academia UOL HOST

Instalando o WordPress e o Banco de Dados em UOL Cloud Servers independentes

Frequentemente, o gargalo de performance das aplicações e sites está no banco de dados, seja por falta de índices, modelagem ruim ou ausência de recursos.

Por isso, é comum instalarmos o servidor do banco de dados em uma máquina e o servidor do site em outra, tendo, assim, uma instância exclusiva para a aplicação e outra para o banco de dados, fazendo com que o uso do banco de dados não interfira na performance da aplicação e vice-versa.

Configurando o servidor da aplicação

Entre no seu servidor via ssh, com o IP e senha que está no seu painel, usando o comando abaixo:

ssh root@IP_DO_SERVIDOR_DA_APLICACAO

Instalaremos os pacotes básicos para a nossa aplicação. Copie e cole os seguintes comandos, um de cada vez, no seu client ssh (Terminal, PuTTY, Cygwin) e, quando necessário, confirme com Y(yes):

apt-get update

apt-get dist-upgrade

apt-get install apache2 php5 php5-mysql php5-cli libapache2-mod-php5 vim unzip

Para baixar o WordPress dentro do servidor, vamos usar o comando wget direto na pasta /usr/share. Com as linhas abaixo, faça o download da última versão:

cd /user/share

wget http://wordpress.org/latest.zip

Descompacte o zip com o comando abaixo:

unzip latest.zip

Ao extrair o arquivo latest.zip, a pasta wordpress/ será criada em /usr/share. Agora, editaremos as configurações do Apache e apontaremos o DocumentRoot para a pasta do WordPress:

vim /etc/apache2/sites-available/default

Edite o DocumentRoot para

DocumentRoot /usr/share/wordpress

Confira no arquivo /etc/apache2/apache2.conf se existe uma linha dessa forma abaixo

Include sites-enabled/

Esse include faz com que o Apache leia os vhosts que criarmos dentro da pasta sites-available. Após isso, é necessário reiniciar o Apache:

service apache2 restart

Ativando o php

Se, por algum motivo, o php não subir automaticamente após a instalação dos pacotes, entre no Apache e ative:

cd /etc/apache2/mods-enabled

a2enmod php5

Configurando o servidor do banco de dados

Agora, vamos entrar na nossa outra instância Cloud para instalarmos o banco de dados MySQL.

ssh root@IP_DO_SERVIDOR_DO_BANCO

Rode os comandos abaixo, confirmando com Y(yes), quando necessário.

apt-get update

apt-get dist-upgrade

apt-get install mysql-server mysql-client vim

Será solicitado que você informe uma senha para o usuário root do MySQL

Criando o banco

No servidor onde foi instalado o banco, crie a base de dados pelo terminal utilizando os comandos abaixo:

mysql -u root -p123

mysql> create database wordpress;

mysql> GRANT ALL PRIVILEGES ON *.* to 'root'@'localhost'

IDENTIFIED by '123';

mysql> exit;

Dentro do arquivo /etc/mysql/my.cnf, na área [mysqld], utilizando o vim, inclua a linha abaixo ou troque o ip que estiver nela, caso a linha já exista.

bind-address = IP_DO_SERVIDOR_DA_APLICACAO

Outra opção é permitir conexão a partir de qualquer IP. Para isso, coloque o símbolo *, seguindo o exemplo abaixo:

bind-address = *

Caso exista a linha abaixo no seu arquivo my.cnf, remova ou comente a linha colocando um # na frente da linha:

skip-networking

E reinicie o mysql

/etc/init.d/mysql restart

O Firewall é um capítulo à parte e merece um post exclusivo, mas, por enquanto, vamos liberar o acesso da aplicação ao servidor do banco de dados na porta default do MySQL:

iptables -A INPUT -s IP_DO_SERVIDOR_DA_APLICACAO -m tcp -p tcp --dport 3306 -j ACCEPT

Testando acesso ao banco de dados

A partir do servidor da aplicação, vamos tentar conectar no mysql:

mysql -u root -p -h IP_DO_SERVIDOR_DO_BANCO

Instalando o WordPress

Acesse, no seu browser, o IP do seu servidor da aplicação (a primeira máquina que configuramos, que é onde baixamos o WordPress e configuramos o Apache e o php), ou o domínio, caso você tenha apontado o DNS para o IP do seu Cloud.

E, então, rode normalmente a instalação do wp, através do Wizard. Lembre-se de informar o IP da máquina do banco de dados (aquela em que instalamos o MySQL), ou um subdomínio, caso você tenha apontado outro DNS para esse IP, como servidor do banco de dados.

Caso o instalador automático não consiga criar o arquivo wp-config.php, volte lá, via terminal, e crie esse arquivo dentro de /usr/share/wordpress

vim /usr/share/wordpress/wp-config.php

Pronto, tudo instalado e rodando. Faça seu login no WordPress (o login será solicitado no fim da instalação), customize o seu site com um tema no próprio painel do WordPress e publique!

William Moraes
Colunista UOL HOST