+ Responder ao Tópico



  1. #1

    Padrão Dificuldade em configurar dois sites em servidor web

    Olá, pessoal!

    Estou com uma dificuldade em configurar dois sites em um Servidor WEB aqui da empresa onde trabalho.
    Fiz as alterações no /etc/hosts,e no httpd.conf (Seção VirtualHosts), mas a máquina insiste em encontrar apenas a página que vem primeiro no httpd.conf.
    se eu inverter a ordem dos blocos, muda a página exibida, mas não consigo fazer ele enxergar as duas pelo nome www.
    Poderiam me dar uma força? Já estou tentando isso há uns dois dias e nada. Pesquisei em tudo quanto é lugar e nada.
    Segue meu /etc/hosts e httpd.conf para análise. Estou usando o Centos 5.1.
    Muito obrigado pela ajuda!!!


    /etc/hosts

    # Do not remove the following line, or various programs
    # that require network functionality will fail.
    127.0.0.1 nead1.ufjf.br nead1 localhost.localdomain localhost
    192.168.xxx.xxx site1 site1.xxx.br site1
    ::1 localhost6.localdomain6 localhost6


    httpd.conf (Seção Virtual Hosts)

    ### Section 3: Virtual Hosts
    #
    # VirtualHost: If you want to maintain multiple domains/hostnames on your
    # machine you can setup VirtualHost containers for them. Most configurations
    # use only name-based virtual hosts so the server doesn't need to worry about
    # IP addresses. This is indicated by the asterisks in the directives below.
    #
    # Please see the documentation at
    # <URL:http://httpd.apache.org/docs/2.2/vhosts/>
    # for further details before you try to setup virtual hosts.
    #
    # You may use the command line option '-S' to verify your virtual host
    # configuration.

    #
    # Use name-based virtual hosting.
    #
    #NameVirtualHost *:80
    #
    # NOTE: NameVirtualHost cannot be used without a port specifier
    # (e.g. :80) if mod_ssl is being used, due to the nature of the
    # SSL protocol.
    #
    #
    # VirtualHost example:
    # Almost any Apache directive may go into a VirtualHost container.
    # The first VirtualHost section is used for requests without a known
    # server name.
    #

    NameVirtualHost 192.168.xxx.xxx:*

    <VirtualHost 192.168.xxx.xxx:*>
    ServerName www.site1.xxx.br
    DocumentRoot /var/www/html/site1
    ErrorLog nead.br-error.log
    CustomLog site1.br-access.log common
    </VirtualHost>

    <VirtualHost 192.168.xxx.xxx:*>
    ServerName www.site2.xxx.br
    DocumentRoot /var/www/html/site2
    ErrorLog elgg.br-error.log
    CustomLog site2.br-access.log common
    </VirtualHost>
    Última edição por felixleonardo; 17-10-2008 às 11:00.

  2. #2

    Padrão ...

    pro apache saber qual dos sites ele deve responder seu dns tem de estar configurado pra responder pelos 2 sites...

  3. #3

    Padrão

    Amigão, sou bastante inexperiente em Linux.
    Como faço pra instalar e configurar o dns? (creio que nem esteja instalado na máquina em questão)

  4. #4

    Padrão Receita...

    uma receita de bolo fica dificil pela sua inexperiencia...
    tenta procurar na internet tutoriais sobre dns...

  5. #5

    Padrão

    Cara, consegui resolver, não precisou de dns, não. Os arquivos hosts e httpd.conf estavam com pequenas falhas que eu já corrigi e agora está funcionando beleza.
    Mesmo assim, muito obrigado pela atenção!!!!

  6. #6

    Padrão

    Olá.
    Estou com a mesma dificuldade que você e pelo que você descreveu aqui nossos ambientes estão igualzinhos...vc poderia citar as mudanças que vc fez nesses dois arquivos para corrigir isso ?!
    Mto obrigado

  7. #7

  8. #8

    Padrão

    Caro amigo juliocm, desculpe a demora em responder, mas não estava entrando no fórum faz um tempinho.

    O que eu fiz foram alterações nos arquivos /etc/hosts e /etc/httpd/conf/httpd.conf.

    Vou te passar exemplos de como ficaram meus arquivos após as alterações.

    1 - Arquivo /etc/hosts;

    # Do not remove the following line, or various programs
    # that require network functionality will fail.
    192.168.xxx.xxx site1 www.site1.xxx.br site1.xxx.br
    192.168.xxx.xxx site2 www.site2.xxx.br site2.xxx.br
    192.168.xxx.xxx site3 www.site3.xxx.br site3.xxx.br
    192.168.xxx.xxx site4 www.site4.xxx.br site4.xxx.br
    192.168.xxx.xxx site5 www.site5.xxx.br site5.xxx.br
    ::1 localhost6.localdomain6 localhost6

    Daí é só trocar site1 e site.xxx.br pelos nomes que seus sites terão. Este arquivo se refere aos nomes que serão reconhecidos pelo servidor ao serem digitados em um navegador qualquer.
    É necessário uma linha para cada site existente em seu servidor.
    OBS.: Não apagar em hipótese nenhuma a última linha (::1 localhost6.localdomain6 localhost6)


    2 - Arquivo /etc/httpd/conf/httpd.conf; (No caso do Apache de meu servidor, as configurações de Virtual Hosts ficam no próprio httpd.conf. Caso seu Apache tenha outra estrutura, associar essas alterações ao arquivo de configurações de Virtual Hosts de seu Apache)

    Section 3: Virtual Hosts

    NameVirtualHost 192.168.xxx.xxx:80

    <VirtualHost 192.168.xxx.xxx:80>
    ServerName localhost
    DocumentRoot /var/www/html
    </VirtualHost>

    <VirtualHost 192.168.xxx.xxx:80>
    ServerName www.site1.xxx.br
    DocumentRoot /var/www/html/site1
    </VirtualHost>

    <VirtualHost 192.168.xxx.xxx:80>
    ServerName www.site2.xxx.br
    DocumentRoot /var/www/html/site2
    </VirtualHost>

    <VirtualHost 192.168.xxx.xxx:80>
    ServerName www.site3.xxx.br
    DocumentRoot /var/www/html/site3
    </VirtualHost>

    <VirtualHost 192.168.xxx.xxx:80>
    ServerName www.site4.xxx.br
    DocumentRoot /var/www/html/site4
    </VirtualHost>

    <VirtualHost 192.168.xxx.xxx:80>
    ServerName www.site5.xxx.br
    DocumentRoot /var/www/html/site5
    </VirtualHost>


    Como você pode ver, é necessário um bloco Virtual Host para cada site hospedado no servidor. É FUNDAMENTAL para o funcionamento que o primeiro bloco seja igual ao do exemplo acima, trocando apenas o IP pelo IP de seu servidor web.
    Última edição por felixleonardo; 17-10-2008 às 10:53.