port para subdomain

6

Instalei o Hudson usando o apt-get e o servidor Hudson está disponível em example.com:8080 .

Para example.com , uso a porta padrão *: 80 e alguns hosts virtuais configurados dessa maneira:

# /etc/apache2/sites-enabled/subdomain.example.com
<Virtualhost *:80>
  ServerName subdomain.example.com
  ...
</Virtualhost>

Veja aqui informações sobre o processo Hudson:

/usr/bin/daemon --name=hudson --inherit --env=HUDSON_HOME=/var/lib/hudson --output=/var/log/hudson/hudson.log --pidfile=/var/run/hudson/hudson.pid -- /usr/bin/java -jar /usr/share/hudson/hudson.war --webroot=/var/run/hudson/war
  987 ?        Sl     1:08 /usr/bin/java -jar /usr/share/hudson/hudson.war --webroot=/var/run/hudson/war

Como devo encaminhar:

    http:// example.com:8080  

para:

    http:// hudson.example.com
    
por takeshin 10.05.2010 / 09:13

1 resposta

11

Você precisará ativar o mod_proxy no Apache2 primeiro. Então, execute esses comandos como root ou sudo:

a2enmod proxy
a2enmod proxy_http

Você precisará reiniciar o apache:

/etc/init.d/apache2 restart

Seu arquivo vhost do HUDSON:

<VirtualHost *:80>
ServerName hudson.example.com
ProxyPass         /  http://localhost:8080/hudson
ProxyPassReverse  /  http://localhost:8080/hudson
ProxyRequests     Off

# Local reverse proxy authorization override
# Most unix distribution deny proxy by default 
# (ie /etc/apache2/mods-enabled/proxy.conf in Ubuntu)
<Proxy http://localhost:8080/hudson*>
  Order deny,allow
  Allow from all
</Proxy>
</VirtualHost>

Reinicie o Apache mais uma vez para confirmar o novo vhost:

/etc/init.d/apache2 restart
  • Documentação da Hudson sobre como executá-lo por trás do Apache: LINK
  • Documento Apache2.2 sobre como executar subdomínios ProxyPass: LINK
por 10.05.2010 / 11:21