IlohaMail - почтовый web-интерфейс

Версия для печатиОтправить другуPDF version
При настройке очередного почтового сервера, можно было обойтись без веб-интерфейса, но решил как "дополнительную плюшку" прикрутить к серверу IlohaMail.
Установку выполним из портов:
# cd /usr/ports/mail/ilohamail && make install clean && rehash
 По завершению установки выводится подробная инструкция по настройке, что очень порадовало:
IlohaMail has now been installed.
 
Create a redirect one of the following methods:
 - add an alias to apache's httpd.conf pointing to /usr/local/www/ilohamail/source
 - create a VirtualHost with DocumentRoot set to /usr/local/www/ilohamail/source
 - make a symbolic link to /usr/local/www/ilohamail/source
 
Check your PHP.ini file.  You need:
 - short_open_tag = On
 - file_uploads = On
 
Edit /usr/local/www/ilohamail/conf/conf.inc and
/usr/local/www/ilohamail/conf/login.inc files as necessary.
 
Using the MySQL back-end is also recommended.
 
  1. Create database user who has rights on webmail database manipulation
     by following "sample" mysql commands:
 
     $ mysql -u root -p
     mysql> use mysql;
     mysql> grant select,insert,update,delete,index,
         -> alter,create,drop,references, lock tables,
         -> create temporary tables on webmail.* to webmail@localhost
         -> identified by 'password';
     mysql> flush privileges;
 
  2. Create a MySQL database.
     $ mysqladmin create webmail -u root -p
 
  3. Create tables.
     $ mysql webmail < /usr/local/share/ilohamail/MySQL/sql -u root -p
 
  4. Configure /usr/local/www/ilohamail/conf/db_conf.php.
 
  5. Set value of $backend in /usr/local/www/ilohamail/conf/conf.inc from "FS" to "DB".
 
For more complete database setup, post-installation instructions
please read IlohaMail Guide in /usr/local/share/doc/ilohamail/Manual.
Первым делом необходимо "обучить" Apache обращаться в необходимый каталог, что можно выполнить тремя предложенными способами. Воспользуемся универсальным вариантом - созданием алиаса. Для этого в httpd.conf необходимо добавить такой блок:
Alias /mail/ "/usr/local/www/ilohamail/"
<Directory "/usr/local/www/ilohamail/">
        Options none
        AllowOverride Limit
        Order Allow,Deny
        Allow from all
</Directory>
Чтобы изменения вступили в силу, отправим команду перезапуска Apache:
# apachectl graceful
 После этого веб-интерфейс уже готов к использованию:
Ilohamail
По умолчанию можно подключаться к любому почтовому серверу, то есть по сути, имеем в распоряжении почтовый клиент :)
Однако задача - коннект только к определенному серверу, поэтому отключим поля Server и Type (Language - на усмотрение, стоит оставить). Сделать это можно, внеся определенные коррективы в файл конфигурации /usr/local/www/ilohamail/conf/login.inc, который подробно прокомментирован. Изменения коснулись следущих параметров (значения по умолчанию не отображены):

$default_host = "mail.example.com";
$adv_mode = 0;
$default_lang = "ru/";
$hide_host = 1;
$hide_protocol = 1;

Теперь страница авторизации имеет следующий вид:
Ilohamail
Также необходимо отредактировать файл конфигурации /usr/local/www/ilohamail/conf/conf.inc, который тоже подробно прокомментирован. В моем случае изменения коснулись таких параметров:
$log_active = true;
$log_file = "/var/log/ilohamail.log";
$AUTH_MODE["smtp"] = "none";
$SMTP_SERVER = "mail.example.com";
Поскольку указан файл ведения логов, его необходимо создать и выставить необходимые права доступа:
# touch /var/log/ilohamail.log
# chown www:www /var/log/ilohamail.log
Чтобы избежать возможного переполнения дисковой подсистемы, настроим ротацию лог-файла, которую будем выполнять раз в неделю:
# echo '/var/log/ilohamail.log 600 7 * $W6D0 JC' >> /etc/newsyslog.conf
После внесения изменений, выполним авторизацию. После первой авторизации попадаем на страницу настроек:
 
Ilohamail
 
По завершению настроек продолжаем знакомство с интерфейсом. Скриншоты:
 
Входящие Ilohamail. Создание сообщения. Ilohamail. Календарь.

Ilohamail. Добавление контакта. Ilohamail. Закладки. Ilohamail. Поиск.

Ilohamail. Управление папками.

Отметим тот факт, что по умолчанию Ilohamail хранит все настройки и данные пользователей в файлах, однако есть возможность хранения данных в БД MySQL. Настройка хранения данных в БД не составляет особых проблем.

Создадим базу данных и пользователя, предоставим ему необходимые привилегии:

mysql> create database ilohamail;
Query OK, 1 row affected (0,00 sec)
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
 
Database changed
mysql> grant select,insert,update,delete,index,
              alter,create,drop,references, lock tables,
              create temporary tables on ilohamail.* to
ilohamail@localhost
              identified by 'password_here';
Query OK, 0 rows affected (0,05 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0,02 sec)

Создадим необходимые таблицы, воспользовавшись прилагаемым дампом:

# mysql -u ilohamail -p ilohamail < /usr/local/share/ilohamail/MySQL/sql

Отредактируем файл /usr/local/www/ilohamail/conf/db_conf.php, внеся в него параметры соединения с БД (указаны только отредактированные строки:

 

$DB_HOST="localhost";
$DB_USER="ilohamail";
$DB_PASSWORD="password_here";
$DB_NAME="ilohamail";

Последняя манипуляция - в файле  /usr/local/www/ilohamail/conf/conf.inc переменную $backend необходимо установить в значение "DB".

 

Ваша оценка: Нет Средняя: 5 (1 голос)

Вставай, Україно!

Литература

Продам мышку для коврика.