QMail – Horde/Imp (CentOS 7)
Una webmail affiancata al nostro sistema di posta, conclude questo percorso legato a QMail; la possibilità di leggere la mail via web (anche se oggi con l’ausilio di smartphone & tablet è diventata solo una commodity) è un’opzione in più che vogliamo dare al nostro Cliente.
Come al solito, non voglio addentrarmi nelle innumerevoli soluzioni che esistono nel web, ma focalizzarmi su una e andare avanti. La mia scelta in questo caso è caduta sul progetto horde/imp, in particolare su Horde Groupware Webmail Edition (rel. 5.1.3. nel momento in cui scrivo queste pagine).
Il progetto Horde Groupware Webmail Ed. include:
– accesso alla mail tramite browser;
– gestione e condivisione di calendari;
– gestione e condivisione liste di contatti;
– gestione e condivisione attività, note e segnalibri
Installiamo alcuni pre-requisiti:
# cd /usr/src # pecl install imagick # yum install GeoIP-devel GeoIP # yum -y install httpd httpd-tools mod_ssl php php-mysql php-mbstring libtidy php-tidy php-pecl-memcache php-devel ImageMagick ImageMagick-devel aspell aspell-devel php-mysql php-intl libicu # pecl install lzf # echo "extension=lzf.so" > /etc/php.d/lzf.ini # echo "extension=imagick.so" > /etc/php.d/imagick.ini
Procediamo con l’installazione di Horde Groupware Webmail Ed.; il path sarà /opt/horde
# pear channel-discover pear.horde.org
# pear install horde/horde_role
# pear run-scripts horde/Horde_Role
Including external post-installation script "/usr/share/pear/PEAR/Installer/Role/Horde/Role.php" - any errors are in this script
Inclusion succeeded
running post-install script "Horde_Role_postinstall->init()"
init succeeded
Filesystem location for the base Horde application : /opt/horde
Configuration successfully saved to PEAR config.
Install scripts complete
# pear install -a horde/webmail
# echo "extension=horde_lz4.so" > /etc/php.d/horde_lz4.ini
# echo "extension=geoip.so" > /etc/php.d/geoip.ini
# echo "extension=apc.so" > /etc/php.d/apc.ini
# echo "extension=geoip.so" > /etc/php.d/geoip.ini
# echo "extension=igbinary.so" > /etc/php.d/igbinary.ini
# echo "extension=mongo.so" > /etc/php.d/mongo.ini
# echo "extension=raphf.so" > /etc/php.d/raphf.ini
# echo "extension=propro.so" > /etc/php.d/propro.ini
Creiamo il database e l’utente per horde:
# mysql -u root -p mysql> CREATE USER 'horde_usr'@'localhost' IDENTIFIED BY 'horde_pwd'; mysql> GRANT USAGE ON *.* TO 'horde_usr'@'localhost' IDENTIFIED BY 'horde_pwd'; mysql> CREATE DATABASE IF NOT EXISTS `horde_db` ; mysql> GRANT ALL PRIVILEGES ON `horde_db`.* TO 'horde_usr'@'localhost'; mysql> FLUSH PRIVILEGES;
Finalizziamo l’installazione di horde
# webmail-install What database backend should we use? ==> mysqli Username to connect to the database as ==> horde_usr Password to connect with ==> horde_pwd How should we connect to the database? ==> unix Location of UNIX socket ==> /var/lib/mysql/mysql.sock Database name to use ==> horde_db Existing mail user who you want to give administrator permissions ==> dave@anthesia.lan
Inseriamo nel file di crontab la seguente linea:
# Horde Alarms */5 * * * * /usr/bin/horde-alarms
Questo cron ci permetterà di ricevere gli allarmi da horde
Creiamo il file di configurazione /etc/httpd/conf.d/horde.conf per il nostro web server:
<VirtualHost *:80> DocumentRoot /opt/horde <Directory /opt/horde> AllowOverride All Require all granted </Directory> ServerName mailtest.anthesia.lan ErrorLog logs/mailtest.anthesia.lan-error.log CustomLog logs/mailtest.anthesia.lan-access.log common php_admin_flag file_uploads On php_value upload_max_filesize 20M </VirtualHost>
Aggiungiamo la configurazione ad horde per il nostro mail server creando il file /opt/horde/imp/config/backends.local.php, in maniera tale che l’autenticazione venga fatta dalle courier-authlib del nostro mail server:
$servers['imap'] = array( 'name' => 'Anthesia.LAN IMAP Server', 'disabled' => false, 'hostspec' => 'localhost', 'port' => 143, 'hordeauth' => true, 'protocol' => 'imap', 'secure' => 'none', 'cache' => 'true', 'acl' => 'true', );
Abilitiamo ed avviamo il web server:
# systemctl enable httpd # systemctl start httpd
Non ci resta che aprire un browser, puntare a:
http://mailtest.anthesia.lan
Inseriamo come username l’indirizzo di posta del nostro amministratore (dave@anthesia.lan) e la sua password (ricordo che l’autenticazione viene effettuata da courier-authlib) ed entreremo in horde con diritti amministrativi (possibilità di configurazione dell’ambiente, dei calendari, degli address book, dei task, delle note, delle releative condivisioni fra gli utenti).
← QMail – Test Courier (CentOS) The End – LTM