Como configurar o Apache VirtualHost no Ubuntu Top 10.Top 10 LTS

Como configurar o Apache VirtualHost no Ubuntu Top 10.Top 10 LTS
O Apache VirtualHost é usado para executar vários sites no mesmo servidor Apache. É um recurso incrível do servidor da Web Apache 2 para implantação de alta densidade de sites em um único servidor. Apache tem dois tipos de configuração virtualhost, Virtualhost baseado em IP e virtualhost baseado em nomes.VirtualHost baseado em IP: No VirtualHost baseado em IP, um servidor Apache possui vários endereços IP e responde com sites diferentes com base no endereço IP.

Fig 1: Virtualhost baseado em IP do Apache.

Nome baseado no virtualhost: No VirtualHost baseado em nome, um servidor Apache possui um único endereço IP e vários nomes de domínio configurados para cada site. Em um servidor DNS, cada um desses nomes de domínio recebe o endereço IP do servidor Apache. Dependendo do nome de domínio que o cliente usou, o servidor retorna sites diferentes.

Fig 2: Nome do Apache baseado em VirtualHost.

Neste artigo, eu vou mostrar como configurar o nome virtualhost baseado em nome do apache. Eu estarei usando o Ubuntu 18.04 LTS para a demonstração. Mas deve funcionar em qualquer distribuição moderna do Linux com pouca ou nenhuma mudança. Então vamos começar.

Instalando o Apache 2 Web Server:

O Apache 2 Web Server está disponível no repositório oficial do pacote do Ubuntu 18.04 LTS. Portanto, você pode instalá -lo facilmente com o gerenciador de pacotes apt.

Primeiro, atualize o cache do repositório de pacotes apt com o seguinte comando:

$ sudo apt update

Agora, execute o seguinte comando para instalar o Apache 2 Web Server:

$ sudo apt install apache2

Agora, pressione y e depois pressione continuar.

O servidor da Web Apache 2 deve ser instalado.

Configurando DNS:

Agora, você deve configurar o servidor DNS para mapear os nomes de domínio que deseja usar para o VirtualHost para o endereço IP do seu servidor Apache.

Você pode encontrar o endereço IP do seu servidor Apache com o seguinte comando:

$ ip a | egrep "INET"

Como você pode ver, o endereço IP no meu caso é 192.168.21.166. Vai ser diferente para você. Então, certifique -se de substituí -lo por seu a partir de agora.

Se você quiser aprender a configurar o Apache VirtualHost localmente, você pode usar o /etc/hosts Arquivo para resolução de DNS/nome local.

Para configurar a resolução do DNS local, abra o /etc/hosts arquivo com Nano do seguinte modo:

$ sudo nano /etc /hosts

Agora, adicione a linha marcada na captura de tela abaixo ao arquivo. Então aperte + x seguido pela y e Para salvar o arquivo.

Agora, a resolução de nomes local deve funcionar.

Estruturas de diretório:

Quero manter todos os dados do site do meu Apache VirtualHost em um diretório específico /www. Aqui, quero criar um diretório para cada usuário. Cada usuário terá o seu próprio public_html/ e Histórico/ diretório também.

Por exemplo, para 3 usuários Bob (Exemplo1.com), Alice (Exemplo2.com), Linda (Exemplo3.com), A estrutura do diretório é a seguinte:

/www
- Exemplo 1.coma
- www/
- public_html/
- índice.html
- Histórico/
- Exemplo2.coma
- www/
- public_html/
- índice.html
- Histórico/
- Exemplo3.coma
- www/
- public_html/
- índice.html
- Histórico/

Uma maneira fácil de fazer isso é criar um modelo ou diretório de esqueletos e colocar a estrutura do diretório lá. Em seguida, crie cada usuário usando este diretório esqueleto.

Primeiro, copie o conteúdo do diretório esqueleto padrão /etc/skel para outro diretório /etc/skel-www do seguinte modo:

$ sudo cp -rv /etc /skel /etc /skel -www

Agora, navegue até o novo diretório esqueleto da seguinte forma:

$ cd /etc /skel-www

Em seguida, crie a estrutura de diretório desejada dentro do diretório esqueleto da seguinte forma:

$ sudo mkdir -p www/public_html, logs

Você também pode criar um padrão índice.html arquivo no public_html/ diretório se você quiser.

$ eco "

Funciona

"| sudo tee www/public_html/index.html

Agora, crie o /www Diretório com o seguinte comando:

$ sudo mkdir /www

Criando usuários:

Agora, você pode criar o usuário prumo para www.Exemplo 1.com o seguinte:

$ sudo userAdd --create-home--home-dir /www /exemplo1.com -Shell
/BIN/BASH-GID WWW-DATA-SKEL/ETC/SKEL-WWW BOB

Da mesma maneira, crie o usuário Alice para www.Exemplo2.com o seguinte:

$ sudo userAdd --create-home--dom-Dir /www /exemplo2.com -Shell /Bin /Bash
--GID WWW-DATA-SKEL /ETC /SKEL-WWW ALICE

Novamente, crie o usuário Linda para www.Exemplo3.com o seguinte:

$ sudo userAdd --create-home--dom-DIR /www /exemplo3.com -Shell /Bin /Bash
--GID www-data--skel /etc /skel-www linda

Aqui, atribuí o grupo principal de cada usuário para www-data. Por padrão, o Apache Server é executado como este grupo. Se eu não tivesse feito isso, o Apache Server não poderá acessar os arquivos no public_html/ diretório e criar arquivos de log no Histórico/ diretório.

Configurando o Apache VirtualHost:

Agora, você está pronto para configurar o Apache VirtualHost para 3 usuários prumo (www.Exemplo 1.com), Alice (www.Exemplo2.com) e Linda (www.Exemplo3.com).

O diretório de configuração do site Apache padrão no Ubuntu é /etc/Apache2/sites-Audência.

Agora, navegue até o diretório /etc/apache2/sites-disponível/ do seguinte modo.

$ cd/etc/apache2/sites-disponível/

Primeiro, crie um novo arquivo de configuração para Bob www.Exemplo 1.com.conf do seguinte modo:

$ sudo nano www.Exemplo 1.com.conf

Um editor de texto deve ser aberto.

Agora, digite as seguintes linhas.

Servername exemplo1.com
Serveralias www.Exemplo 1.com
Documentroot "/www/exemplo1.com/www/public_html "

Opções -FollowSymLinks +Multiviews +Indexes
Allowoverride tudo
Exigir tudo concedido
ErrorLog "/www/exemplo1.com/www/logs/erro.registro"
CustomLog "/www/exemplo1.com/www/logs/acesso.log "Combinado

Nota: Altere os textos em negrito de acordo com sua exigência.

Finalmente, o arquivo de configuração www.exemplo.com.conf deve parecer o seguinte. Imprensa + x seguido por y e Para salvar o arquivo de configuração.

para apenas copiar o arquivo de configuração para prumo (www.Exemplo 1.com.conf) e faça as poucas mudanças são necessárias.

Copiar o arquivo de configuração de prumo para Alice e Linda Com os seguintes comandos:

$ sudo cp -v www.Exemplo 1.com.conf www.Exemplo2.com.conf
$ sudo cp -v www.Exemplo 1.com.conf www.Exemplo3.com.conf

Agora, edite o arquivo de configuração de Alice do seguinte modo:

$ sudo nano www.Exemplo2.com.conf

Agora, mude todas as ocorrências de Exemplo 1 para Exemplo2. Em seguida, salve o arquivo.

Fazer a mesma coisa para Linda.

$ sudo nano www.Exemplo3.com.conf

Mudar todas as ocorrências de Exemplo 1 para Exemplo3 e salve o arquivo.

Ativando as configurações do VirtualHost:

Agora, desative a configuração do site padrão do Apache da seguinte forma:

$ sudo a2dissite 000-default.conf

Agora, ative as configurações do VirtualHost www.Exemplo 1.com.conf, www.Exemplo2.com.conf, www.Exemplo3.com.conf do seguinte modo:

$ sudo a2ensite www.Exemplo 1.com.conf www.Exemplo2.com.conf www.Exemplo3.com.conf

Finalmente, reinicie o serviço Apache da seguinte maneira:

$ sudo systemctl reiniciar apache2

Testando VirtualHosts:

Agora, tente acessar os sites www.Exemplo 1.com, www.Exemplo2.com, www.Exemplo3.com

Como você pode ver, todos esses sites funcionam como esperado.

OBSERVAÇÃO: Eu mudei a página padrão índice.html Para cada sites, para que seja um pouco diferente para cada site para fins de teste. Caso contrário, você não poderá dizer se a configuração do VirtualHost funciona ou não.

Então, é assim que você configura o nome baseado no Apache Virtualhost no Ubuntu 18.04 LTS. Obrigado por ler este artigo.