Vários nomes de domínio no mesmo servidor apache

3

Estou testando uma configuração no meu sistema local para aprender a configuração do Apache e usar o mesmo método para manipular meu servidor de produção.

Eu preciso configurar dois domínios example.com e example.org

Eu tenho os diretórios onde os scripts php estão lá:

/server/example.com for example.com e /server/example.org for example.org

Eu executei este comando nos dois diretórios:

sudo chcon -R -h -t httpd_sys_content_t /server/example.*

index.php em example.com contém

<?
$debug = ($_SERVER['HTTP_HOST'] == 'example.com');
if ($debug) echo "in example.com";
?>

e

index.php em example.org contém

<?
$debug = ($_SERVER['HTTP_HOST'] == 'example.org');
if ($debug) echo "in example.org";
?>

também criei um arquivo conf do apache chamado example.conf em /etc/httpd/conf.d/example.conf

Aqui está o conteúdo do arquivo .conf:

<VirtualHost example.com:81>
    DocumentRoot /server/example.com
    ServerName example.com
    <Directory "/server/example.com">
        AllowOverride None
        Options All
        Order allow,deny
        Allow from all
        DirectoryIndex index.php index.html index.htm
    </Directory>
</VirtualHost>


<VirtualHost example.org:82>
    DocumentRoot /server/example.org
    ServerName example.org
    <Directory "/server/example.org">
        AllowOverride None
        Options All
        Order allow,deny
        Allow from all
        DirectoryIndex index.php index.html index.htm
    </Directory>
</VirtualHost>

Quando eu acesso example.com , o site funciona como expetado. O arquivo de script em /server/example.com é avaliado como true e exibe in example.com

Agora, quando eu acessar example.org . o site não mostra nada.

Além disso, aqui está o meu /etc/host que eu modifiquei:

127.0.0.1 example.com
127.0.0.1 example.org

Alguém pode sugerir o que estou sentindo falta aqui?

    
por Ashwin kumar 11.02.2012 / 20:50

1 resposta

7

Você está acessando example.org:82 ou apenas example.org ? Atualmente, seus sites estão vinculados a diferentes portas. Isso provavelmente não é o que você quer; você provavelmente quer usar hospedagem virtual baseada em nome.

Você precisará de uma diretiva NameVirtualHost em algum lugar e alterar suas diretivas <VirtualHost> para corresponder a ela.

Algo parecido com isto:

NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot /server/example.com
    ServerName example.com
    ServerAlias www.example.com
    # etc
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /server/example.org
    ServerName example.org
    ServerAlias www.example.org
    # etc
</VirtualHost>
    
por 11.02.2012 / 21:49