Apache

Para gestionar los dominios y usuarios de correo vía interfaz web mediante PostfixAdmin es necesario instalar el servidor web Apache.

Instalación

La instalación de Apache se realiza mediante el siguiente comando:

emerge www-servers/apache

Acceso vía HTTP y redireccionamiento a HTTPS

La configuración del servidor de correo exige el uso de conexiones seguras y debido a estos los accesos mediante HTTP son redireccionados a HTTPS. Para configurar esta característica deberá crearse el archivo /etc/apache2/vhosts.d/hostname.conf con el siguiente contenido:

<VirtualHost *:80>
ServerName hostname.com.ar
CustomLog /var/log/apache2/hostname.com.ar-access_log vhost
Include /etc/apache2/vhosts.d/hostname.com.ar.include
Redirect permanent / https://hostname.com.ar/
</VirtualHost>

Acceso vía HTTPS

Para configurar el acceso mediante HTTPS es necesario crear el archivo /etc/apache2/vhosts.d/hostname_ssl.conf con el siguiente contenido:

<IfDefine SSL>
<IfModule ssl_module>

<VirtualHost *:443>
ServerName hostname.com.ar
UseCanonicalName On
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/hostname_cert.pem
SSLCertificateKeyFile /etc/apache2/ssl/hostname_privatekey.pem
SSLCipherSuite HIGH
SSLProtocol all -SSLv2
CustomLog /var/log/apache2/hostname.com.ar-access_log vhost
Include /etc/apache2/vhosts.d/hostname.com.ar.include
</VirtualHost>

</IfModule>
</IfDefine>

Archivo de configuraciones comunes

El archivo /etc/apache2/vhosts.d/hostname.include contiene configuraciones en común utilizadas por los archivos /etc/apache2/vhosts.d/hostname.conf y /etc/apache2/vhosts.d/hostname_ssl.conf:

# ServerAdmin: Your address, where problems with the server should be
# e-mailed. This address appears on some server-generated pages, such
# as error documents. e.g. admin@your-domain.com
ServerAdmin administrador@hostname.com.ar

# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations
#
# If you change this to something that isn't under /var/www then suexec
# will no longer work.
DocumentRoot "/var/www/localhost/htdocs"

# This should be changed to whatever you set DocumentRoot to.

<Directory "/var/www/localhost/htdocs">
  Options Indexes FollowSymLinks
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>

Alias /phpmyadmin /var/www/localhost/htdocs/phpmyadmin
Alias /postfixadmin /var/www/localhost/htdocs/postfixadmin
Alias /webmail /var/www/localhost/htdocs/squirrelmail

<Directory "/var/www/localhost/htdocs/phpmyadmin">
  Options Indexes
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>

<Directory "/var/www/localhost/htdocs/postfixadmin/admin">
  Options Indexes
  AllowOverride AuthConfig
  Order allow,deny
  Allow from all
</Directory>

<Directory "/var/www/localhost/htdocs/squirrelmail">
  Options All
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>

<Location "/horde/admin/setup/config.php">
  <IfModule security2_module>
    SecRuleRemoveById 950005
  </IfModule>
</Location>

Puertos utilizados por Apache: 80 y 443

El archivo /etc/apache2/vhosts.d/ports.conf se utiliza para configurar los puerto y direcciones en los que Apache debe escuchar:

ServerName hostname.com.ar
Listen 80
NameVirtualHost *:80

<IfDefine SSL>
<IfModule ssl_module>
  Listen 443
  NameVirtualHost *:443
</IfModule>
</IfDefine>

Habilitar módulos necesarios

La habilitación de los módulos de Apache se realiza desde el archivo /etc/conf.d/apache2, el cual deberá tener la siguiente línea:

APACHE2_OPTS="-D INFO -D LANGUAGE -D SSL -D ERRORDOCS -D MANUAL -D PHP5 -D MAILMAN -D SUEXEC -D CACHE -D MEM_CACHE -D SECURITY"