Primeiro, esta é a minha primeira vez no apache, então, por favor, perdoe meu principinismo:)
Minha configuração básica é assim: mysub.domain.com
é enviada para meu IP estático por meio de uma entrada CNAME no gerenciador de DNS do godaddy. Ele atinge meu servidor Ubuntu 10 LTS executando o Apache2.
Eu tenho uma entrada de host virtual que direciona essa solicitação para a pasta /var/www/mysub
adequada. Eu não tenho nenhum conteúdo, mas adicionei uma linha à página "It Works", para saber se cheguei lá com sucesso. Eu também tenho um Mac Mini rodando um servidor wiki na mesma rede local que o servidor Ubuntu.
Gostaria que mysub.domain.com
acessasse meu servidor Mini em vez da pasta /var/www/mysub
.
Depois de muita leitura neste site e em outros, eu consegui fazer isso ... mais ou menos.
Eu tenho o seguinte no meu /var/www/mysub/.htacess
, que encontrei em outra pergunta do SF (esqueci de copiar o link).
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysub.domain.com/*
RewriteRule .* http://192.168.x.x/ [P,L]
Isso funciona de modo que redireciona mysub.domain.com
para a página inicial do Mini. Mas, é claro, todos os links subsequentes também clicam na página Mini. Eu acho que entendo porque está fazendo (qualquer coisa que comece com mysub.domain.com
é direcionada para o que é essencialmente a primeira página do servidor wiki, e como os links subseqüentes no servidor wiki também incluem mysub.domain.com
, ele sempre termina no mesmo lugar)
Eu só não sei o que fazer diferente. Para ser perfeitamente honesto, eu não entendo a sintaxe dessas linhas de reescrita.
Eu vi inúmeros exemplos de entradas de configuração e tentei algumas delas, mas sem realmente entender a sintaxe, é meio que fotografar no escuro.
Este foi um post útil e depois de ler esta pergunta, tentei adicionar isso ao meu arquivo /apache2/httpd.conf
<Location />
ProxyPass http://192.168.x.x
ProxyPassReverse http://192.168.x.x
</Location>
Sem sorte.
Claramente, tenho algum aprendizado para fazer, mas parece-me que o que eu quero fazer é, provavelmente, bastante simples. O que estou perdendo?
EDITAR POR COMENTÁRIOS
Meu arquivo /etc/apache2/httpd.conf
ServerName localhost
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /var/www/domain
</VirtualHost>
<VirtualHost *:80>
ServerName mysub.domain.com
DocumentRoot /var/www/mysub
<Location />
ProxyPass http://192.168.x.x/
ProxyPassReverse http://192.168.x.x/
</Location>
</VirtualHost>
... e meu arquivo sites-available/mysub
...
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName mysub.domain.com
DocumentRoot /var/www/mysub
#ProxyRequests Off
<Location />
ProxyPass http://192.168.1.50/
ProxyPassReverse http://192.168.1.50/
</Location>
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/mysub>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
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/www/mysub/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/"
<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>
Saída de apache2ctl -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server 66-152-109-110.tvc-ip.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost 66-152-109-110.tvc-ip.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost domain.com (/etc/apache2/sites-enabled/domain:1)
port 80 namevhost mysub.domain.com (/etc/apache2/sites-enabled/mysub:1)
Syntax OK