Difference between revisions of "ZimbraApache"

Line 1: Line 1:
'''Q: How to run Apache + Zimbra on the same host without having to use wird port to access any of them ?'''
+
'''Q: How to run Apache + Zimbra on the same host without having to use a weird port to access any of them ?'''
  
 
'''A: Use mod_proxy ;)'''
 
'''A: Use mod_proxy ;)'''

Revision as of 23:39, 15 October 2006

Q: How to run Apache + Zimbra on the same host without having to use a weird port to access any of them ?

A: Use mod_proxy ;)

[This wiki page was originally in the zimbra forum you can see the whole thread here :

http://www.zimbra.com/forums/showthread.php?t=2476]

[You must have several hostname for your server (for example zimbra.mydom.com and www.mydom.com)]

[I am using a Debian Sarge.]


First of all, change zimbraMailPort, and recreate zimbraMtaAuthHost and restart zimbra so our apache can listen on 80, do it like this :


  zmprov ms zimbra.mydom.com zimbraMailPort 81
  
  zmprov ms zimbra.mydom.com zimbraMtaAuthHost zimbra.mydom.com
  
  /etc/init.d/zimbra restart


Then, install your prefered apache version (1.3 / 2) and add the proxy module :


for apache 1.3 :

  echo "LoadModule proxy_module /usr/lib/apache/1.3/libproxy.so" >> /etc/apache/modules.conf
  
  apachectl restart


for apache 2 :

  ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled/proxy.load
  
  ln -s /etc/apache2/mods-available/proxy.conf /etc/apache2/mods-enabled/proxy.conf
  
  /etc/init.d/apache2 restart


Now we can add our virtualhosts.


for apache 1.3, go into /etc/apache/conf.d/ and create/edit vhosts.conf :

[for apache 2 go into /etc/apache2/conf.d/]

  NameVirtualHost *:80
  
  
  
  <VirtualHost *:80>
  
  ServerAdmin dz@mydom.com
  
  DocumentRoot /var/www/myweb
  
  ServerName www.mydom.com
  
  ErrorLog /var/log/apache/www-error.log
  
  CustomLog /var/log/apache/www-access.log common
  
  </VirtualHost>
  
  
  
  <VirtualHost *:80>
  
  ServerName zimbra.mydom.com
  
  ServerAdmin dz@mydom.com
  
  ProxyPass / http://zimbra.mydom.com:81/
  
  ProxyPassReverse / http://zimbra.mydom.com:81/
  
  ErrorLog /var/log/apache/zimbra-error.log
  
  CustomLog /var/log/apache/zimbra-access.log common
  
  </VirtualHost>

To do mod_proxy on the admin side do something along the following lines in httpd.conf

<VirtualHost *:80>
ServerName zimbras.domain.tld
ServerAdmin admin@domain.tld
SSLProxyEngine On
ProxyPass / https://zimbra.domain.tld:7071/    (the hostname of the real zimbra server)
ProxyPassReverse / https://zimbra.domain.tld:7071/ (the hostname of the real zimbra server)
ErrorLog /var/log/zimbras.domain-error.log
CustomLog /var/log/zimbras.domain-access.log combined
CustomLog /var/log/all-access.log combined     (something i have on all my hosts)
 </VirtualHost>


Almost done.

Restart everythings.

Test your new hosts.

Enjoy Zimbra ;)

Jump to: navigation, search