Vamos aprender a instalar um servidor Web no CentOS – Parte2
Dica - Como ter vários sites no Apache usando Virtual hosts?
A semana passada um colega meu pediu-me ajuda para um trabalho que tinha de realizar no âmbito de um curso profissional. O objectivo do trabalho era instalar e configurar um servidor Web (preferencialmente o Apache), em Linux e colocar três sites em funcionamento, sendo que cada site deveria responder por um nome diferente.
Considerando que este tipo de informação pode ser útil a outros leitores, criei um pequeno tutorial a ensinar como ter vários sites no mesmo servidor web (Apache).
Para este tutorial vamos considerar as seguintes informações/configurações:
- Distribuição Linux: CentOS 6.2
- IP do servidor: 192.168.1.10
- Nome do site1 – wiki.pplware.com
- Nome do site2 – forum.pplware.com
- Nome do site3 – pplware.com
Para quem está habituado a trabalhar com servidores Web, sabe que configurar este tipo de serviços é algo que não é muito difícil. No CentOS, a maioria das configurações do Apache é realizada no ficheiro /etc/httpd/conf/httpd.conf.
Como ter vários sites no Apache usando virtual hosts?
Existem várias configurações que permitem ter vários sites disponíveis num único servidor Web. A forma mais simples é criando Virtual hosts e essa configuração pode ser facilmente realizada no ficheiro de configuração do apache. Para terem vários sites no Apache usando Virtual hosts por nome (também poderíamos ter Virtual Hosts por IP) devem seguir os seguintes passos:
Passo 1 - Para o presente exemplo vamos então abrir o ficheiro /etc/httpd/conf/httpd.conf e criar 3 virtual hosts:
… NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /var/www/html/wiki ServerName wiki.pplware.com ErrorLog logs/wiki.pplware.com-error_log CustomLog logs/wiki.pplware.com-access_log common </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/html/forum ServerName forum.pplware.com ErrorLog logs/forum.pplware.com-error_log CustomLog logs/forum.pplware.com-access_log common </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/html/site ServerName pplware.com ErrorLog logs/pplware.com-error_log CustomLog logs/pplware.com-access_log common </VirtualHost> … |
Exemplo de configuração no ficheiro httpd.conf
Explicação das directivas:
- DocumentRoot – indicação da pasta onde está localizado o site
- ServerName – Nome associado ao site
As duas linhas finais de cada virtual hosts referem-se aos logs (acesso e erro) para cada site.
Passo 2 (opcional) - Com já referi em artigos anteriores, o serviço de DNS é para mim o “coração” de uma rede. Em traços gerais, este é responsável por traduzir nomes em IP’s e vice-versa, isto é, quando escrevemos www.pplware.com, há uma consulta ao DNS para saber qual o IP correspondente. Quem não tiver um servidor de DNS disponível para efectuar configurações, pode facilmente colocar a informação no ficheiro /etc/hosts para testar num ambiente local (No futuro ensinaremos a configurar um servidor de DNS)
127.0.0.1 wiki.pplware.com 127.0.0.1 forum.pplware.com 127.0.0.1 pplware.com |
Exemplo de configuração no ficheiro hosts
Depois de terem realizado as configurações anteriores devem reiniciar o serviço httpd através do comando:
/etc/init.d/httpd restart |
É hora de testar se tudo funciona! Para isso, abram um browser no servidor e introduzam os seguintes endereços:
Nota importante: A informação contida no ficheiro hosts leva prioridade sobre a informação do servidor de DNS definido. Assim, caso não necessitem mais das configurações, retirem as mesmas do ficheiro hosts. Se pretenderem aceder remotamente ao servidor Web, basta configurar os endereços referidos no ficheiros hosts da máquina remota (se for Windows, vejam aqui como fazer)
Esperamos que este artigo seja de utilidade e esperamos brevemente trazer novas dicas. Se alguém tiver sugestões, não se esqueça de as deixar nos comentários.
Vamos montar um servidor passo a passo?
- Como configurar um servidor de FTP no CentOS Linux (Instalação e configuração)
- Como configurar um servidor de FTP no CentOS Linux – Parte 2 (FTP com utilizadores virtuais)
- Vamos aprender a instalar um servidor Web no CentOS – Parte1 (Instalação)
Este artigo tem mais de um ano
Muito bom.
Para quando um tutorial sobre a instalação de um mail server (qmail) no CentOS.
Continuação do bom serviço publico de partilha de informação
Será que podem fazer um tutorial, no seguimento do actual, mas para um mta tipo o postfix?
ehehe é que nas configurações do postfix + postfixadmin estou a patinar à longo tempo.
Obrigado
Toma lá: http://www.iredmail.org/
obrigado pela dica não conhecia, mas esqueci de referir que utilizo o ambiente macosx.
Muito bom estava precisando de um tutorial mesmo sobre este assunto.
O Document Root tem de ser em /var/www/html(sei que é directorio de exemplo) mas gostava de saber se posso colocar noutro directorio ou ate mesmo noutro PC que esteja na minha rede domestica?
Usando Virtual Hosts podes colocar onde quiseres, basta depois indicares na Document Root. Imagina que colocas noutro PC, mas tens uma pasta mapeada no teu servidor.
Muito bom a continuação do trabalho anteriormente apresentado.
Para quando a configuração de 1 servidor de backups 😉
Continuação de um bom trabalho.
que preço são as licenças para estes programas ?
Custo zero!
estas a brincar!!!
então porque que a gente que usa windows para estas coisas?
eh eh eh, bem provavelmente porque:
– consideram que é mais fácil
– que tem melhor suporte
– porque é tudo gráfico
….acho que são algumas razões 🙂
+1
Tecnologias Microsoft!
Marketing… resistência à mudança por parte das pessoas, casmorrice, mentalidade de pirata, não ter o selo Microsoft e principalmente porque é o que se ensina por todo o lado.
CentOS Linux Software Livre
https://pplware.sapo.pt/informacao/alguns-tipos-de-licencas-de-software/
Abrac
Espero que o pplware continue assim em alta, mais um excelente tutorial, sem duvida o melhor Website de tecnologia nacional..
Isto funcionará à mesma se for acedido via internet de outras máquinas que não estejam na mesma rede?
A intenção é funcionar. Para isso tem que ter presente os conceitos e as funcionalidades de : firewall, router, gateway, DMZ e NAT.
Se tiver um firewall, tem que deixar passar os pacotes de fora para dentro (internet para a intranet) referente ao porto 80. O melhor, é no router/firewall indicar na DMZ (zona desmilitarizada) o IP da maquina e o porto. Se tiver NAT, como penso que tem, tem que indicar a informação respeitante à DMZ. Tem que ter em atenção que o seu IP tem um tempo de leasing (pode mudar ou não) que lhe é dado pelo seu ISP. Consulte http://www.no-ip.com/comecar_com_pt.php e https://pplware.sapo.pt/tutoriais/no-ip-eu-quero-um-ip-fixo/
http://www.hardware.com.br/dicas/servicos-dns-dinamico.html
Cara já tentei de tudo aqui e não funciona… Quando configuro o host virtual como é dito aqui e entro com URL no browser só me aparece uma tela branca (mas não dá mensagem de erro). Quando eu coloco o index.php no diretório /var/www/html ele carrega normal. Tem uma idéia do que pode estar acontecendo?
Mudaram a configuração do apache de uns tempos pra cá, agora tá um lixo pra configurar ele…
Estou tentando fazer este tutorial mas no parametro DocumentRoot eu coloco o caminho /home/usuario/www porém está retornando erro de permissão negada.
Tentei mudar as permissões até para 777 porém continua o erro. Alguem pode me ajudar?