Olá Harlei,

 

Eu também passei por este mesmo tipo de problema que você, e foi custoso
descobrir o motivo da bagunça. Depois de muita tentativa e erro consegui
resolver essa questão, espero que sirva pra você também.

 

Antes de mais nada, se tiver criando os alias diretamente no arquivo de
configuração /etc/apache2/apache2.conf , esta não é a forma correta de
manejar servidores virtuais no Debian (pelo menos no Lenny, não sei como
está no 6.0). Os servidores virtuais devem ser criados em
/etc/apache2/sites-available e ativados e desativados com os comandos
a2ensite e a2dissite, aqui tem um tutorial:
http://www.debian-administration.org/articles/412

 

O fato (conclusões minhas após testes), é que quando algum cliente
(browser), não encontra algum caminho especificado, o servidor Apache passa
a requisição para o servidor virtual logo abaixo na hierarquia (Ordem de
criação dos servidores virtuais). Para que se evitar esses problemas que
você descreveu, é necessário deixar o servidor virtual “default-000” ativo,
ou cria-lo caso a instalação não tenha criado o mesmo. Este servidor virtual
será o responsável por manejar todas as requisições não encontradas. No meu
caso deixei o servidor “default” no caminho /var/WWW e nesse diretório uma
página HTML com uma mensagem de erro. Desta forma se o servidor recebe uma
requisição não encontrada ou até mesmo se alguém digitar diretamente o IP do
meu servidor no browser, cai nessa página de erro (pois os servidores
virtuais subseqüentes não conseguiram resolver tal link). Na prática o
servidor “default” está aberto a qualquer requisição, ou seja, qualquer
requisição que não tiver sido filtrada (ou encontrada), pelos servidores
virtuais subseqüentes  cairá em “default-000”.

É muito provável que você já saiba mas só para constar: Se você tem mais de
um site, cada um deve estar separado, cada um localizado em um diretório
diferente na árvore de arquivos.

 

Se estas dicas aqui resolverem pode retornar a mensagem? Assim a gente fica
sabendo que trata-se realmente de uma orientação genérica, que serve pra
todo mundo.

 

Como exemplo segue as configurações dos servidores virtuais aqui em
/etc/apache2/sites-enabled

Vale lembrar que estas configurações são para servidores compartilhando o
mesmo IP.

 

Servidor “default”, o primeiro a ser criado:

 

“<VirtualHost *:80>

        ServerAdmin webmaster@localhost

        

        DocumentRoot /var/www/

        <Directory />

               Options FollowSymLinks

               AllowOverride AuthConfig

        </Directory>

        <Directory /var/www/>

               Options FollowSymLinks MultiViews ExecCGI

               AllowOverride AuthConfig

               Order allow,deny

               allow from all

        </Directory>

 

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

        <Directory "/usr/lib/cgi-bin">

               AllowOverride None

               Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

               Order allow,deny

               Allow from all

        </Directory>

 

        ErrorLog /var/log/apache2/error.log

 

        # Possible values include: debug, info, notice, warn, error, crit,

        # alert, emerg.

        LogLevel warn

 

        CustomLog /var/log/apache2/access.log combined

 

Alias /doc/ "/usr/share/doc/"

Alias /cacti "/usr/share/cacti/site"

Alias /phpmyadmin "/usr/share/phpmyadmin"

Alias /icons/ "/usr/share/apache2/icons/"

    <Directory "/usr/share/doc/">

        Options Indexes MultiViews FollowSymLinks

        AllowOverride None

        Order deny,allow

        Deny from all

        Allow from 127.0.0.0/255.0.0.0 ::1/128

    </Directory>

#ScriptAlias /awstats /usr/lib/cgi-bin/

</VirtualHost>”

 

 

 

O servidor do primeiro site:

 

“<VirtualHost *:80 >
 
        ServerAdmin webmas...@primeirosite.com
        ServerName  www.primeirosite.com
       ServerAlias primeirosite.com
               DocumentRoot /var/www/ma
        <Directory />
               Options FollowSymLinks
               AllowOverride AuthConfig
        </Directory>
        <Directory /var/www/ma >
               Options FollowSymLinks MultiViews ExecCGI
               AllowOverride AuthConfig
               Order allow,deny
               allow from all
               # This directive allows us to have apache2's default start
page
                # in /apache2-default/, but still have / go to the right
place
                # RedirectMatch ^/$ /apache2-default/
        </Directory>
 
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
               AllowOverride None
               Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
               Order allow,deny
               Allow from all
        </Directory>
 
        ErrorLog /var/log/apache2/minasambiente.com.error.log
 
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
 
        CustomLog /var/log/apache2/minasambiente.com.log combined
        ServerSignature Off
        
 
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
 
</VirtualHost>
 
ServerTokens Prod”
 
 
O servidor do Segundo site:
 
“<VirtualHost *:80 >
 
        ServerAdmin webmas...@segundosite.com.br
        ServerName  www.segundosite.com.br
       ServerAlias segundosite.com.br
               DocumentRoot /var/www/nma
        <Directory />
               Options FollowSymLinks
               AllowOverride AuthConfig
        </Directory>
        <Directory /var/www/nma>
               Options FollowSymLinks MultiViews ExecCGI
               AllowOverride AuthConfig
               Order allow,deny
               allow from all
               # This directive allows us to have apache2's default start
page
                # in /apache2-default/, but still have / go to the right
place
                # RedirectMatch ^/$ /apache2-default/
        </Directory>
 
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
               AllowOverride None
               Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
               Order allow,deny
               Allow from all
        </Directory>
 
        ErrorLog /var/log/apache2/minasambiente.com.br.error.log
 
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
 
        CustomLog /var/log/apache2/minasambiente.com.br.log combined
        ServerSignature Off
        
 
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
 
</VirtualHost>
 
ServerTokens Prod”
 

 

 

 

De: Harlei Liguori Marcelino [mailto:hligu...@gmail.com] 
Enviada em: segunda-feira, 9 de maio de 2011 15:42
Para: debian-user-portuguese@lists.debian.org
Assunto: apache + alias

 

Olá amigos,

 

estou tendo um "problema" que acredito ser recorrente, mas não encontrei
solução ainda...

 

tenho um servidor com apache e vários sites disponibilizados... tive que
criar dois alias...

 

até aí tudo bem né, sem problemas... criei um alias que chama new e outro
que chama old...

 

eles são referentes a dois endereços diferentes que chamarei de
endereco01.com.br e endereco02.com.br

 

o problema é que o new é referente ao endereco01 e o old ao endereco02...
criei os alias assim:

 

Alias /new /var/www/html/new/

<Directory "/var/www/html/new/">

            Options -FollowSymLinks +SymLinksIfOwnerMatch

            AllowOverride ALL

            Order allow,deny

            Allow from all

</Directory>

 

Alias /old /var/www/html/old

<Directory "/var/www/html/old/">

            Options -FollowSymLinks +SymLinksIfOwnerMatch

            AllowOverride ALL

            Order allow,deny

            Allow from all

</Directory>

 

entao quando abro www.endereco01.com.br/new ou www.endereco02.com.br/old
esta perfeito...

 

o problema é que quando abro www.endereco01.com.br/old e
www.endereco02.com.br/new

 

também abre, e coisas referentes a sites diferentes... ai complica minha
vida...

 

existe alguma forma de linkar os alias a apenas uma url?

 

agradeço desde já

 

att

 

Harlei

  • apache + alias Harlei Liguori Marcelino
    • RES: apache + alias Rodrigo Nascimento Hernandez

Responder a