Opções do Apache VirtualHost com solução de e-commerce do ePages

1

Eu tenho um servidor Centos executando ePages (que é executado no Apache). Agora eu quero usar o mesmo servidor para hospedar alguns outros sites também, mas não consigo fazer minhas configurações funcionarem corretamente. Eu não tenho certeza se alguém está familiarizado com epages (eu olhei em seus fóruns sem sucesso), mas este é o bit epages da configuração:

<VirtualHost _default_:80>
<Location /epages/>
<IfDefine LB>
    ProxyPass balancer://cluster/epages/
    ProxyPassReverse balancer://cluster/epages/
</IfDefine>
<IfDefine !LB>
    ProxyPass http://myinternal.url:8008/epages/
    ProxyPassReverse http://myinternal.url:8008/epages/
</IfDefine>
</Location>
</VirtualHost>

e é isso que eu adicionei

<VirtualHost my.ip.add.res:80>

DocumentRoot /var/www/html/path/
ServerName another.url.com
ServerAlias another.url.com

</VirtualHost>

Agora, fiquei com a impressão de que qualquer solicitação para "another.url.com" irá para o DocumentRoot que eu adicionei, e qualquer outra solicitação irá para o padrão que os epages tratarão.

No entanto, não importa como eu vá para o servidor, com qualquer uma das URLs apontando para ele, ele sempre vai para o novo vhost que eu adicionei, e nunca mais vai para os epages.

Eu não quero alterar a configuração epages se possível, alguém pode esclarecer o que está acontecendo aqui?

Há muito mais para as configurações do epages, mas não relacionadas ao VirtualHosts, por isso não colei, mas se precisar, me avise.

Obrigado

    
por user150374 20.12.2012 / 10:29

1 resposta

1

Eu só tenho lutado com isso sozinho. Não é divertido ePages?

Existem várias maneiras em que a configuração do Apache do ePages difere de um site mais "normal".

1. Ele reescreve a maioria dos arquivos de configuração toda vez que o serviço ePages é reiniciado.

Qualquer coisa com um prefixo "zzz" (que é a maioria dos arquivos em conf.d) será reescrito, então não se preocupe em editar esses arquivos.

2. Não usa hosts virtuais baseados em nome.

Se você olhar em conf / httpd.conf, verá que a diretiva NameVirtualHost está comentada. Isso significa que suas diretivas VirtualHost serão ativadas pelo endereço IP, não pelo nome do host. Portanto, no seu exemplo acima, se my.ip.add.res for o IP padrão do servidor, seu bloco VirtualHost será ignorado em favor daquele que veio antes dele. Você pode obter um endereço IP secundário e usá-lo em seu segundo VirtualHost (e, em seguida, obter um novo IP para cada novo VirtualHost necessário) ou descomentar a diretiva NameVirtualHost. Mas:

3. Define um VirtualHost dentro de um bloco IfDefine.

Isso pode variar de versão para versão, mas no meu caso (6.14.3) o único bloco VirtualHost fica dentro de um < IfDefine PROXY > bloco (conf.d / zzz-epages-httpd.conf). Ou seja, se você definir seu próprio VirtualHost e seu servidor não definir uma variável de ambiente PROXY, seu VirtualHost será o único e, portanto, estará em vigor para todas as solicitações. Por segurança, defina dois VirtualHosts: um que funcionará para epages e outro para seu outro site. Se PROXY for definido, seu epages VirtualHost será ignorado, caso contrário, será um filtro necessário. Note também que o ePages se baseia no mod_rewrite, portanto, este VirtualHost de "rede de segurança" precisará ativá-lo.

Isso é o que funcionou para mim no final:

# file: /etc/httpd/conf/httpd.conf
# find and uncomment the NameVirtualHost directive,
# then add this at the very end of the file

<VirtualHost *:80>
    ServerName www.myepageswebsite.com
    ServerAlias myepageswebsite.com
    RewriteEngine On
    RewriteOptions Inherit
</VirtualHost>
<VirtualHost *:80>
    ServerName www.myotherwebsite.com
    ServerAlias myotherwebsite.com
    DocumentRoot /var/www/html
</VirtualHost>
    
por 24.08.2015 / 19:17