SquirrelMail Installation for Debian 7
From Andreida
WebMail behind Apache2 authentication depending on logins
- install it
apt-get install squirrelmail squirrelmail-secure-login squirrelmail-compatibility squirrelmail-decode wngerman wamerican-large php-gettext php-xml-parser aspell spellutils emacsen-common php5-mhash aspell-doc ispell php5-common libapache2-mod-authnz-external
- check /usr/share/squirrelmail/plugins/secure_login/functions.php ca. line 391, look for code like
if ( $serverPort == $targetHttpsPort && $secure_logoff_count == 0)
below that look for
$location = 'http:// ....
If you find it, replace it with https. (It seems to be fixed in certain versions)
$location = 'https:// ....
- call /etc/squirrelmail/conf.pl
Options you will definitely need to check are: (use ports 25 and 143)
(Options are listed by main menu, then sub menu number. So "1 1" refers to option 1, sub option 1. And so on.)
- 1 1 - Set your own organisation name.
- 2 3 - SMTP
- 2 A 4 - localhost
- 2 A 5 - 143
- 2 A 6 - login
- 2 A 7 - false (we are local, if not, use true)
- 2 A 8 - dovecot
Apache
link to /var/www
cd /var/www ln -s /usr/share/squirrelmail
in /etc/apache2/ports.conf
- disable all ports but 431 which depends on a module
- activate the module
cd /etc/apache2/mods-enabled/ ln -s ../mods-available/ssl.load ln -s ../mods-available/ssl.conf
- enable authnz_external the easy way (both ways have the same result: a link)
a2enmod authnz_external
in /etc/apache2/sites-available/110-squirrel-ssl.conf
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName mail.yourdomain.de Alias /var/www/squirrelmail /usr/share/squirrelmail DocumentRoot /usr/share/squirrelmail/ <Directory /usr/share/squirrelmail> Options Indexes FollowSymLinks <IfModule mod_php4.c> php_flag register_globals off </IfModule> <IfModule mod_php5.c> php_flag register_globals off </IfModule> <IfModule mod_dir.c> DirectoryIndex index.php </IfModule> </Directory> SSLEngine on SSLCertificateFile /etc/exim4/exim.crt SSLCertificateKeyFile /etc/exim4/exim.key AddExternalAuth pwauth /usr/sbin/pwauth SetExternalAuthMethod pwauth pipe <Location /> AuthBasicProvider external AuthExternal pwauth AuthName your-domain AuthType basic Require valid-user </Location> </VirtualHost> </IfModule>
- enable it
cd cd /etc/apache2/sites-enabled/ ln -s ../sites-available/110-squirrel-ssl.conf
- remove the default
rm 000-default
- restart apache
/etc/init.d/apache2 restart
- allow https in your firewall
for example firehol:
server https accept
Plugins
- get new plugins from [1] and unzip them to /usr/share/squirrelmail/plugins/
and activate them with
/etc/squirrelmail/conf.pl
Check in /etc/php5/apache2/php.ini:
- post_max_size
- upload_max_filesize