Personal tools
You are here: Home Plone Documentación Tutoriales Ejecutando Plone y Zope detrás de un servidor web Apache 2 Host virtual en Apache 2
Document Actions

Host virtual en Apache 2

Ahora es el momento de configurar VirtualHost en Apache.

Christian 'Tiran' Heimes

Cómo instalar un servidor web Apache 2 como proxy con caché en disco y compresión.
Page 3 of 8.

Un ejemplo muy sencillo

Archivo de configuración:

<VirtualHost *:80>
ServerAlias www.example.org
ServerAdmin webmaster@example.org
ServerSignature On

CustomLog /var/log/apache2/example.org-access.log combined
ErrorLog /var/log/apache2/example.org-error.log
LogLevel warn

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/(.*) \
http://localhost:10080/VirtualHostBase/http/%{SERVER_NAME}:80/example_org/VirtualHostRoot/$1 [L,P]
</IfModule>
</VirtualHost>

Un host virtual sirviendo zope

www.example.org.conf:

<VirtualHost *:80>
ServerAlias www.example.org
ServerAdmin webmaster@example.org
ServerSignature On

# no necesitamos un DocumentRoot para un sitio que es solo zope
#DocumentRoot /var/www/example.org

CustomLog /var/log/apache2/example.org-access.log combined
ErrorLog /var/log/apache2/example.org-error.log
LogLevel warn

# log the deflate compression rate to a file
#CustomLog /var/log/apache2/deflate_log deflate

<IfModule mod_rewrite.c>
RewriteEngine On

# usa RewriteLog para depurar problemas con tus reglas de reescritura
# deshabilitar luego de encontrar el error, o el disco duro se llenara *muy rapido*
# RewriteLog "/var/log/apache2/rewrite_log"
# RewriteLogLevel 2

# los iconos se sirven del servidor apache 2
RewriteRule ^/icons/ - [L]

# reescribamos cualquier acceso de administracion hacia nuestro sitio seguro
RewriteRule ^/(.*)/manage(.*) \
https://secure.example.org/zope/example_instance/example_org/$1/manage$2 [NC,R=301,L]
RewriteRule ^/manage(.*) \
https://secure.example.org/zope/example_instance/example_org/manage$1 [NC,R=301,L]

# reescribamos cualquier otro acceso al servidor zope usando un proxy [P] y agregando la seccion VMH
# usar %{SERVER_NAME} en vez de example.com para soportar el ServerAlias
# %{HTTP_HOST} es malo porque puede contener el puerto
RewriteRule ^/(.*) \
http://localhost:10080/VirtualHostBase/http/%{SERVER_NAME}:80/example_org/VirtualHostRoot/$1 [L,P]
</IfModule>

<IfModule mod_proxy.c>
ProxyVia On

# evitamos que el servidor web sea usado como proxy
<LocationMatch "^[^/]">
Deny from all
</LocationMatch>
</IfModule>


# cache (deshabilitado)
# esto hace cache de todos los archivos de /
<IfModule mod_disk_cache.c>
#CacheEnable disk /
</IfModule>

# compresion (deshabilitada)
<IfModule mod_deflate.c>
#SetOutputFilter DEFLATE
</IfModule>
</VirtualHost>

Reglas de reescritura adicionales

Reglas de reescritura para tener un acceso seguro a la administración.

Redirigimos cualquier acceso a la dirección http al servidor https:

<VirtualHost *:80>
ServerName secure.example.org
ServerAdmin webmaster@example.org
ServerSignature On

# no necesitamos un DocumentRoot para un sitio que es solo zope
 #DocumentRoot /var/www/secure.example.org

CustomLog /var/log/apache2/secure.example.org-access.log combined
ErrorLog /var/log/apache2/secure.example.org-error.log
LogLevel warn


<IfModule mod_rewrite.c>
RewriteEngine On

# usa RewriteLog para depurar problemas con tus reglas de reescritura
# deshabilitar lueigo de encontrar el error, o el disco duro se llenara *muy rapido*
# RewriteLog "/var/log/apache2/rewrite_log"
# RewriteLogLevel 2

# Reescribir con el codigo de redireccion permanente
RewriteRule ^/(.*) https://secure.example.org/$1 [R=301, L]
</IfModule>
</VirtualHost>

Y ahora el servidor SSL que sirve los accesos a la administración zope:

<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName secure.example.org
ServerAdmin webmaster@example.org
ServerSignature On

DocumentRoot /var/www/secure.example.org-ssl

CustomLog /var/log/apache2/secure.example.org-ssl-access.log combined
ErrorLog /var/log/apache2/secure.example.org-ssl-error.log
LogLevel warn

SSLEngine On
SSLCertificateFile /etc/apache2/ssl/crt/secure.example.org.crt
SSLCertificateKeyFile /etc/apache2/ssl/key/secure.example.org.key

<Location />
# Forzamos el uso de encriptacion ssl
SSLRequireSSL

# certificados de cliente SSL: none, optional, require
# Nota: optional no funciona con todos los navegadores
SSLVerifyClient optional
SSLVerifyDepth 1

SSLOptions +StdEnvVars +StrictRequire
#opcional +ExportCertData
</Location>


<IfModule mod_rewrite.c>
RewriteEngine On

# usa RewriteLog para depurar problemas con tus reglas de reescritura
# deshabilitar lueigo de encontrar el error, o el disco duro se llenara *muy rapido*
# RewriteLog "/var/log/apache2/rewrite_log"
# RewriteLogLevel 2

# Las reglas siguientes reescriben cualquier acceso a https://secure.example.org/zope/example_instance/
# a la raiz de la instancia zope en localhost:10080

RewriteRule ^/zope/main_instance$ \
http://localhost:10080/VirtualHostBase/https/secure.example.org:443/VirtualHostRoot/_vh_zope/_vh_example_instance [L,P]
RewriteRule ^/zope/main_instance/(.*) \
http://localhost:10080/VirtualHostBase/https/secure.example.org:443/VirtualHostRoot/_vh_zope/_vh_example_instance/$1 [L,P]
</IfModule>

<IfModule mod_proxy.c>
ProxyVia On

# evitamos que el servidor web sea usado como proxy
<LocationMatch "^[^/]">
Deny from all
</LocationMatch>
</IfModule>

# no intentes hacer cache de ssl!

# compresion (deshabilitada)
<IfModule mod_deflate.c>
#SetOutputFilter DEFLATE
</IfModule>
</VirtualHost>
</IfModule>

Descargar la configuración de ejemplo

 
by Christian 'Tiran' Heimes — last modified 2007-01-28 16:20 Todo el contenido tiene copyright de los contribuidores individuales.

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: