Посоветовали мне попробовать roundcube, но так-как ей для работы необходима СУБД MySQL, а на сервере на этом нету MySQL, решил не пробовать. На других серверах есть конечно СУБД, но пока не решился я всё это городить.
Решил попробовать для начала: nocc.
Необходимо:
1: Прочтение официальной документации.
2: Понимание этой документации. И настройка config.php в уже распакованном NOCC. - Настраивать не трудно, но есть некоторые моменты. В частности в самом первом параметре не забудте указать домен. Ну и вообще внимательно необходимо читать его. Он хорошо документирован.
3: Настройка PHP.
Для этого:
# cd /usr/ports/lang/php5
# ee Makefile
Добавляем нужные опции:
CONFIGURE_ARGS= \
--with-layout=GNU \
--with-config-file-scan-dir=${PREFIX}/etc/php \
--with-iconv \
--with-imap \
--with-imap-ssl \
--disable-all \
--enable-libxml \
--with-libxml-dir=${LOCALBASE} \
--enable-reflection \
--enable-mbstring \
--program-prefix=""
У меня получился такой набор. Это всё методом проб и ошибок.
К примеру:
--enable-reflection \
если не подключить этот модуль будут возникать ошибки вида: Call to undefined function mb_convert_encoding()
, что довольно логично, так-как по умолчанию в FreeBSD нету поддержки перекодировки в PHP. SquirrelMail используюет свои наработки, тогда как NOCC использует уже готовое решение в PHP, что на мой взгляд более правильно. В том числе модули imap и модули iconv. Но вот --enable-reflection \
не освещена в документации никак.Далее делаем:
make deinstall
Затем
make install clean
Команда reinstall не сработала должным образом. Так, что пришлось сделать в два шага.
/usr/local/etc/rc.d/apache22 restart
Примечание: необходимо выполнить полный рестарт. Так-как мягкий graceful не применит новые библиотеки PHP.
Затем:
ee /usr/local/etc/apache22/httpd.conf
Проверяем опцию подобную этой:
Include etc/apache22/Includes/*.conf
Это чтобы сделать алиас, правильными методами apache а не символическими ссылками.
Затем создаём конфигурационный файл:
ee /usr/local/etc/apache22/Includes/mail.conf
К примеру с таким содержанием:
Alias /mail "/usr/local/www/nocc"
Options none
AllowOverride None
Order allow,deny
Allow from all
Снова можно перезапустить apache:
/usr/local/etc/rc.d/apache22 graceful
Ну и очень желательно создать файл на подобии такого:
ee /usr/local/www/nocc/phptest.php
С таким содержанием:
?php phpinfo(); ?
- Не забудте заковычить выражение. Тут оно не кавычится - поэтому выложил без ковычек..Затем в браузере набрав: www.host.com/mail/phptest.php
можно будет увидеть все настройки PHP и опции сборки, все вышеперечисленные мною опции должны присутствовать в соответствующих списках.
Теперь если правильно настроен сам NOCC, мы должны попасть на страницу с приглашением входа в NOCC. Для чего набираем:
www.host.com/mail
На этом всё.
Теперь поговорим о плюсах и минусах:
+ Кодировка в именах папок на IMAP почте в формате ISO 8859-1 распознаётся успешно.
(именно в такой кодировке по умолчанию создаёт папки Thunderburd на сервере)
+ Большинство писем будут корректно распознаваться. Кроме совсем уж через попных, где явно указана одна кодировка, а на самом деле совсем другая. Но для этого есть ниспадающий список кодировок.
+ Проект постоянно развивается. Так, что очень возможно, что в скором времени минусов станет меньше.
- Медленная работа. Страница с письмами перелистывается порядка 5-6 секунд. - Авторы говорят, что пока довольно не просто решить данную проблему. GCI скрипты отрабатывают не очень быстро.
- Отсутствие кнопки показать все письма в одной странице. - Скорее всего Авторы понимая не быструю работу программы специально не разрешают эту функцию.
- Кривая загрузка файлов в письмо. То закачивается, то нет... Пока не разобрался.
- Не всегда корректно распознаётся кодировка вложенных в файл письмо - но тут есть подозрение, что это отнюдь не вина почтового клиента.
Пока в продакшн не пускаю, так-как надо решить проблемы с загрузкой файлов.
Всё остальное устраивает.
Темы, адресная книга, много переводов, настраиваемый, LDAP, IMAP + SSL, POP3 - Всё работает.
Версия NOCC 1.8. Остальное не принципиально, и можно посмотреть в документации к программе.
Ссылки которые мне помогли приводить не буду. Так-как статья по сути является моей. Да и ссылок очень много будет. Я везде смотрел по чуть-чуть.
P.S. не забудте прочесть в документации все части касающихся безопасности!
Комментариев нет:
Отправить комментарий