Configure o Apache2 VirtualHost para vários blogs WordPress

  • Ronald Ferguson
  • 0
  • 548
  • 57

Então, você deseja hospedar vários blogs WordPress em um único servidor? Com o recurso Apache2 VirtualHost, é possível executar vários sites em um único servidor facilmente, e este breve tutorial irá mostrar como fazer isso.

Cada host virtual é executado independentemente dos outros. Portanto, se você for executar um site WordPress em cada VirtualHost, ele será executado como se fosse o único site no servidor. Isso permite que você economize custos em servidores e recursos adicionais.

Este tutorial vai ser curto ... e não vai perder seu tempo com outras coisas desnecessárias.

Etapa 1: configurar o servidor Ubuntu

Eu acho o Ubuntu fácil de gerenciar e manter, então este tutorial será baseado no Ubuntu Linux. Você pode fazer o Apache2 VirtualHost funcionar em outras distribuições Linux, mas o Ubuntu é uma ótima distribuição para novos usuários e iniciantes.

Portanto, instale o Ubuntu com acesso root e execute os comandos abaixo para atualizá-lo.

sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get autoremove

Etapa 2: Instale o servidor da Web Apache2

Após atualizar o Ubuntu, execute os comandos abaixo para instalar o servidor web Apache2.

sudo apt-get install apache2

Etapa 3: Instale o servidor de banco de dados MySQL

Depois de instalar o Apache2, execute os comandos abaixo para instalar o servidor de banco de dados MySQL.

sudo apt-get install mysql-server mysql-client

Durante a instalação, você será solicitado a criar uma nova senha para o usuário root do MySQL. Faça! Esta senha será usada para fazer logon no servidor MySQL.

Etapa 4: instale o PHP e outros módulos

Depois de instalar o servidor MySQL, execute os comandos abaixo para instalar o PHP e outros módulos PHP.
sudo apt-get install php libapache2-mod-php php-mysql php-curl php-gd php-pear php-imagick php-imap php-mcrypt php-recode php-tidy php-xmlrpc

Neste ponto, todos os servidores e pacotes que o WordPress requer para funcionar estão instalados. Seus próximos passos serão criar bancos de dados WordPress, configurar Apache2 VirtualHosts e baixar conteúdo WordPress online.

Etapa 5: criar bancos de dados e usuários do WordPress

Execute os comandos abaixo para fazer logon no servidor MySQL

sudo mysql -u root -p

O WordPress requer um banco de dados. Execute os comandos abaixo para criar novos bancos de dados, bem como usuários de banco de dados. Basta duplicar os comandos para bancos de dados e usuários adicionais para quantos você quiser. Certifique-se de que todos eles tenham nomes exclusivos.

Os comandos abaixo criam um novo banco de dados chamado wpdatabase

CREATE DATABASE wpdatabase;

Os comandos abaixo criam um novo usuário do banco de dados chamado wpuser e concedem ao usuário acesso ao banco de dados wp.

GRANT ALL ON wpdatabase. * TO 'wpuser' @ 'localhost' IDENTIFICADO POR 'type_new_password_here';

[alert-note] Repita as etapas acima para criar bancos de dados adicionais para sites WordPress adicionais. Por exemplo, crie o banco de dados wpdatabase1, wpdatabase2, bem como os usuários para os sites adicionais do WordPress. [/ Alert-note]

Quando terminar, execute os comandos abaixo para salvar suas alterações e sair.

FLUSH PRIVILEGES; Saída 

Etapa 6: Criar vários VirtualHost para vários sites

Depois de criar vários bancos de dados para os vários sites WordPress que deseja executar, siga o guia abaixo para criar vários VirtualHosts para os sites. Copie o arquivo de configuração do site Apache2 padrão para criar VirtualHosts (sites) adicionais.

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf sudo cp /etc/apache2/sites-available/000-default.conf / etc / apache2 /sites-available/example.net.conf 

Veja, nós criamos dois hosts virtuais para dois sites diferentes ... (example.com.conf e example.net.conf)

Cada um dos arquivos de configuração do site acima hospedará um domínio exclusivo.

Agora abra cada arquivo executando os comandos abaixo para cada ...

sudo nano /etc/apache2/sites-available/example.com.conf

Em seguida, para o arquivo example.com.conf, configure o nome do servidor, alias do servidor, DocumentRoot e outros exclusivos do domínio example.com. Repita o mesmo para outros hosts virtuais.

 # No entanto, você deve configurá-lo para qualquer outro host virtual explicitamente. ServerName example.com ServerAlias ​​www.example.com ServerAdmin [email protected] DocumentRoot /var/www/html/example.com # Loglevels disponíveis: trace8,…, trace1, debug, info, Notice, warn, # error, crit, alerta, emerg. # Também é possível configurar o nível de log para # módulos específicos, por exemplo, #LogLevel info ssl: warn ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log combinado # Para a maioria dos arquivos de configuração de conf-available /, que são # habilitados ou desabilitados em nível global, é possível para # incluir uma linha para apenas um host virtual específico. Por exemplo, a # linha a seguir habilita a configuração CGI para este host apenas # após ele ter sido desabilitado globalmente com "a2disconf". #Inclua conf-available / serve-cgi-bin.conf  # vim: sintaxe = apache ts = 4 sw = 4 sts = 4 sr noet

Faça o acima para todos os sites que deseja hospedar ... cada um com uma identidade exclusiva, incluindo DocumentRoot, ServerName, ServerAlias ​​e Domain

Quando você acabar. salve suas alterações e feche.

Em seguida, habilite os sites que você acabou de criar executando os comandos abaixo para cada um dos hosts virtuais.

sudo a2ensite example.com.conf sudo a2ensite example.net.conf 

Habilite outros módulos também

sudo a2enmod cabeçalhos sudo a2enmod reescrever sudo a2enmod env sudo a2enmod dir sudo a2enmod mime

Agora vá para a próxima etapa.

Etapa 7: Crie cada diretório para os sites

Agora que você configurou os vários sites no Apache2, vá e crie as pastas DocumentRoot para cada um dos sites que você definiu na configuração acima ... A linha que lê DocumentRoot deve corresponder a cada local.

sudo mkdir -p /var/www/html/example.com sudo mkdir -p /var/www/html/example.net

Configure as permissões de pasta apropriadas para todos os sites

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

Reinicie o servidor web Apache2 executando os comandos abaixo

sudo systemctl restart apache2

Nesse ponto, todos os seus sites já devem ter conteúdo WordPress. Em seguida, baixe o conteúdo do WordPress e extraia para o DocumentRoot pasta para cada site.

Etapa 8: Baixe o conteúdo do WordPress

Agora baixe o conteúdo do WordPress e extraia para o diretório raiz de cada site.

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

Em seguida, extraia o arquivo baixado.

tar -xzvf latest.tar.gz

E copie para cada pasta raiz de cada site.

sudo cp -R wordpress / * /var/www/html/example.com sudo cp -R wordpress / * /var/www/html/example.net 

Etapa 9: definir as configurações do banco de dados do WordPress

Execute os comandos abaixo para criar WordPress wp-config.php arquivo de configurações de sua amostra.

sudo cp /var/www/html/example.com/wp-config-sample.php /var/www/html/example.com/wp-config.php sudo cp /var/www/html/example.net/wp -config-sample.php /var/www/html/example.net/wp-config.php

Então abra wp-config.php arquivo e faça as seguintes alterações destacadas para fazer referência ao banco de dados e ao usuário que você criou acima.

sudo nano /var/www/html/example.com/wp-config.php

Quando o arquivo abrir, faça as alterações e salve.

// ** Configurações do MySQL - você pode obter essas informações de seu host da web ** // / ** O nome do banco de dados para WordPress * / define ('DB_NAME', 'wpdatabase'); / ** nome de usuário do banco de dados MySQL * / define ('DB_USER', 'wpuser'); / ** senha do banco de dados MySQL * / define ('DB_PASSWORD', 'type_password_here'); / ** nome do host MySQL * / define ('DB_HOST', 'localhost'); / ** Conjunto de caracteres do banco de dados a ser usado na criação de tabelas de banco de dados. * / define ('DB_CHARSET', 'utf8'); / ** O tipo de agrupamento de banco de dados. Não mude isso se estiver em dúvida. * / define ('DB_COLLATE', ");

Faça o acima para cada site que você criar, certificando-se de que as informações de conexão do banco de dados estejam corretas para cada site.

sudo systemctl reload apache2

Agora abra seu navegador da web e navegue até os domínios do servidor e você deverá ver a página de configuração padrão do WordPress para cada site.

Aproveitar!




Ainda sem comentários

Uma coleção de informações úteis sobre o sistema operacional Linux e novas tecnologias
Artigos novos, dicas práticas, revisões detalhadas e guias. Sinta-se em casa no mundo do sistema operacional Linux