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 //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