< All Topics
Print

É possível instalar mais de uma instância do WordPress por instalação do Apache2, o que é ótimo para facilitar o desenvolvimento de diferentes projetos simultaneamente, antes de submetê-los ao servidor online.

O presente tutorial mostra como instalar duas instâncias independentes do WordPress em um único servidor Apache2 localmente, como exemplo. Para mais instalações, basta seguir o mesmo princípio, incrementando o número de “sites”.

1. Crie Diretórios Separados para Cada Instalação do WordPress

Comece criando diretórios raiz distintos para cada site WordPress. Para tanto, no Terminal (Ctrl+Alt+T), navegue até o diretório raiz do servidor:

cd /var/www/html

Agora, crie diretórios distintos para cada site. Por exemplo: site1 e site2. Como o servidor está instalado em uma área segura do sistema, será necessário invocar os privilégios de superusuário.

sudo mkdir site1 site2

Nota: crie vários diretórios diferentes simultaneamente. Basta separar seus nome por espaço, na linha de comando.

Apague as páginas testphp.php, criada no tutorial de instalação do servidor, e index.html.

sudo rm /var/www/html/index.html
sudo rm /var/www/html/testphp.php

2. Baixe e extraia o WordPress

Baixe a última versão disponível do WordPress para a pasta /tmp:

cd /tmp/ && wget http://wordpress.org/latest.tar.gz

O arquivo vem compactado. Para expandi-lo, use o seguinte comando:

tar -xvzf latest.tar.gz

3. Transfira o conteúdo para as pastas de destino

Agora, é necessário mover todo o conteúdo da pasta wordpress para cada diretório criado na etapa anterior.

a) Copie para todos os diretórios, menos o último:

sudo cp -r wordpress/* /var/www/html/site1/

b) Mova o conteúdo para o último diretório:

Ao transferir o conteúdo para o último diretório criado, aproveite para liberar espaço na pasta /tmp.

sudo mv wordpress/* /var/www/html/site2/

4. Configurar Permissões

Altere as permissões de acesso às pastas do WordPress:

sudo chown -R www-data:www-data /var/www/html/
sudo chmod -R 755 /var/www/html/

5. Criar Bancos de Dados MySQL e Usuários:

Agora é necessário criar um banco de dados e usuários para cada instância do WordPress.

Comece rodando o comando abaixo para acessar o MySQL. Será necessário entrar com a senha que foi introduzida no tutorial de instalação do LAMP:

mysql -u root -p

Em seguida, crie um banco de dados para cada site WordPress no servidor. No exemplo deste tutorial, eles serão nomeados “wpdb_site1” e “wpdb_site2”:

CREATE DATABASE wpdb_site1; CREATE DATABASE wpdb_site2;

Agora, crie um usuário para cada banco de dados, “wpuser_site1” e “wpuser_site2”, e uma senha para cada. Atenção: não utilize a mesma senha usada na configuração do MySQL.

Os comandos seguintes são de uma linha:

CREATE USER wpuser_site1@localhost IDENTIFIED BY 'nova_senha_aqui';
CREATE USER wpuser_site2@localhost IDENTIFIED BY 'nova_senha_aqui';

Rode o comando seguinte para conferir plenos poderes aos usuários em seus respectivos bancos de dados:

GRANT ALL ON wpdb_site1.* TO wpuser_site1@localhost;
GRANT ALL ON wpdb_site2.* TO wpuser_site2@localhost;

Por fim, rode os comandos abaixo, um por vez, para resetar a tabela de permissões e para sair do MySQL:

FLUSH PRIVILEGES;
exit;

6. Arquivo de configuração do PHP

Agora, é preciso criar um arquivo de configurações “wp-config.php”, que conterá os parâmetros de conexão do banco de dados, para cada site. Para tanto, será utilizado o arquivo “wp-config-sample.php” como base. O comando abaixo criará uma cópia do arquivo base, com o nome novo, em cada site:

sudo cp /var/www/html/site1/wp-config-sample.php /var/www/html/site1/wp-config.php
sudo cp /var/www/html/site2/wp-config-sample.php /var/www/html/site2/wp-config.php

a) Site1

Abra o arquivo criado no editor Nano, com o comando abaixo:

sudo nano /var/www/html/site1/wp-config.php

No editor de texto, navegue com as setas do teclado, localize as entradas relevantes e as substitua pelos dados imputados na configuração do WordPress:

// MySQL settings – You can get this info from your web host //

/* The name of the database for WordPress /

define(‘DB_NAME’, ‘wpdb_site1‘);

/* MySQL database username /

define(‘DB_USER’, ‘wpuser_site1‘);

/* MySQL database password /

define(‘DB_PASSWORD’, ‘sua_senha‘);

Salve o documento e feche o Nano com a seguinte sequência de teclas: Ctrl+X, S (ou “y”, se o sistema estiver em inglês) e Enter.

b) Site2

Abra o arquivo criado no editor Nano, com o comando abaixo:

sudo nano /var/www/html/site2/wp-config.php

No editor de texto, navegue com as setas do teclado, localize as entradas relevantes e as substitua pelos dados imputados na configuração do WordPress:

// MySQL settings – You can get this info from your web host //

/* The name of the database for WordPress /

define(‘DB_NAME’, ‘wpdb_site2‘);

/* MySQL database username /

define(‘DB_USER’, ‘wpuser_site2‘);

/* MySQL database password /

define(‘DB_PASSWORD’, ‘sua_senha‘);

Salve o documento e feche o Nano com a seguinte sequência de teclas: Ctrl+X, S (ou “y”, se o sistema estiver em inglês) e Enter.

c) Reinicie o Apache

Agora, reinicie o Apache com um dos comandos a seguir:

sudo systemctl restart apache2

ou

sudo service apache2 restart

7. Habilite o módulo mod_rewrite do Apache

Este módulo é necessário para permitir links permanentes “amigáveis”.

No Terminal, digite:

sudo a2enmod rewrite

Em seguida, rode o seguinte comando:

sudo systemctl restart apache2

8. Instale e ative o módulo imagick

Esse módulo é importante para permitir que o WordPress manipule imagens para gerar thumbnails.

No Terminal, rode o seguinte comando:

sudo apt install php-imagick

Em seguida, verifique se foi carregado com o comando:

php -m | grep imagick

Nota: se você seguiu o tutorial de instalação do ambiente LAMP, esse módulo já foi instalado.

Por fim, reinicie o servidor com:

sudo systemctl restart apache2

9. Altere a configuração do arquivo apache2.conf

Em seguida, é necessário editar o arquivo de configuração do Apache para incluir os parâmetros específicos dos sites criados e permitir a edição dos arquivos .htaccess. No presente tutorial, a instalação é local, e o arquivo apache2.conf pode ser localizado com o comando:

find /etc -name apache2.conf

Para editar o arquivo, abra-o no Nano com o comando abaixo:

sudo nano /etc/apache2/apache2.conf

Aperte a combinação de teclas Ctrl+W, digite “<Directory” (sem as aspas) no campo de busca, localize a sessão correspondente e inclua as seguintes linhas para o WordPress:

<Directory /var/www/html>

AllowOverride All

</Directory>

Salve o documento e feche o Nano com a seguinte sequência de teclas: Ctrl+X, S (ou “y”, se o sistema estiver em inglês) e Enter.

10. Configure Virtual Hosts no Apache

Os “virtual hosts” são o pulo do gato dos servidores, como o Apache, para permitir que se hospede múltiplos sites ou domínios em uma mesma instalação do servidor, usando um único número de IP, cada virtual host com sua própria configuração.

Na prática, ao se digitar o domínio na barra de endereços do navegador, o servidor identifica esse nome e direciona a requisição à pasta correspondente, onde o site está hospedado.

Para configurar os virtual hosts, é preciso criar um arquivo de configuração para cada site hospedado.

Neste tutorial foram criadas duas instalações do WordPress, nos diretórios site1 e site2.

A instalação em site1 receberá o site “Doodle Goods”. Já a instalação em site2 receberá o site “Dálmatas-Lata”.

Para o site Doodle Goods, será utilizado o host “doodlegoods” e para o site Dálmatas-Lata será utilizado o host “dalmataslata”.

Crie um arquivo de configuração de virtual host separado para cada site WordPress hospedado no servidor.

a) Site1 – doodlegoods

Crie um arquivo para o site1 com o Nano. No Terminal, digite:

sudo nano /etc/apache2/sites-available/site1.conf

O Nano vai exibir o arquivo site1.conf vazio. Preencha-o com o seguinte conteúdo:

<VirtualHost *:80>
ServerName doodlegoods
    ServerAlias www.doodlegoods
DocumentRoot /var/www/html/site1
ErrorLog ${APACHE_LOG_DIR}/doodle_error.log
CustomLog ${APACHE_LOG_DIR}/doodle_access.log combined
</VirtualHost>

Salve o documento e feche o Nano com a seguinte sequência de teclas: Ctrl+X, S (ou “y”, se o sistema estiver em inglês) e Enter.

Habilite o site com o comando:

sudo a2ensite site1.conf

Recarregue o servidor:

sudo systemctl reload apache2

b) Site2 – dalmataslata

Crie um arquivo para o site2 com o Nano. No Terminal, digite:

sudo nano /etc/apache2/sites-available/site2.conf

O Nano vai exibir o arquivo site1.conf vazio. Preencha-o com o seguinte conteúdo:

<VirtualHost *:80>
ServerName dalmataslata
    ServerAlias www.dalmataslata
DocumentRoot /var/www/html/site2
ErrorLog ${APACHE_LOG_DIR}/dalmatas_error.log
CustomLog ${APACHE_LOG_DIR}/dalmatas_access.log combined
</VirtualHost>

Salve o documento e feche o Nano com a seguinte sequência de teclas: Ctrl+X, S (ou “y”, se o sistema estiver em inglês) e Enter.

Habilite o site com o comando:

sudo a2ensite site2.conf

Recarregue o servidor:

sudo systemctl reload apache2

11. Mapear os nomes de domínio locais

Para que o servidor identifique o nome digitado na barra de endereços do navegador, o associe ao virtual host correto e, assim, acione o site correspondente, é preciso incluir os nomes de domínio no arquivo “hosts” do sistema.

Para isso, rode o seguinte comando no Terminal:

sudo nano /etc/hosts

Deve existir uma linha como a seguinte:

127.0.0.1    localhost

Navegue até o final desta linha com as setas do teclado e inclua, separando por espaços, os nomes dos domínios criados: doodlegoods e dalmataslata, para que fique assim:

127.0.0.1    localhost    doodlegoods    dalmataslata

Salve o documento e feche o Nano com a seguinte sequência de teclas: Ctrl+X, S (ou “y”, se o sistema estiver em inglês) e Enter.

Recarregue o servidor:

sudo systemctl reload apache2

12. Configuração final dos sites em WordPress

Já é possível rodar as instalações do WordPress e começar a desenvolver seus conteúdos.

a) Doodle Goods

Abra o navegador-Web e digite o endereço

http://doodlegoods/wp-admin/install.php

para terminar de configurar o WordPress em site1, referente ao blog Doodle Goods.

Este comando rodará o script de instalação do WordPress.

No futuro, para acessar o programa e editar o blog, digite o seguinte endereço no navegador:

http://doodlegoods/wp-admin/

Para acessar localmente o site Doodle Goods, use o endereço:

http://doodlegoods

b) Dálmatas-Lata

Abra o navegador-Web e digite o endereço

http://dalmataslata/wp-admin/install.php

para terminar de configurar o WordPress em site1, referente ao blog Dálmatas-Lata.

Este comando rodará o script de instalação do WordPress.

No futuro, para acessar o programa e editar o blog, digite o seguinte endereço no navegador:

http://dalmataslata/wp-admin/

Para acessar localmente o site Dálmatas Lata, use o endereço:

http://dalmataslata
Table of Contents