Установка и настройка roundcube из исходников
Можно, конечно, поставить roundcube из репозитария, но там более старая версия. Да мы не ищем простых путей.
Данная настройка работает с Postfix, настроенный по этой статье.
Содержание
Скачать и распаковать дистрибутив
Идем на roundcube и скачиваем последнюю версию Complete (в нашем случае = это: 1.6.0)
Расспаковываем его в папку /var/www/roundcube
sudo tar -xvzf roundcubemail-1.6.0-complete.tar.gz -C /var/www/ sudo mv /var/www/roundcube* /var/www/roundcube sudo chown -R www-data:www-data /var/www/roundcube
Настройка компонентов
Apache
Для работы roundcube нужно разрешить следующие модули
sudo a2enmod deflate sudo a2enmod expires sudo a2enmod headers
Создаем файл /etc/apache2/sites-inable/mail.conf, изменив domen.ru на свой.
<VirtualHost *:80> ServerName mail.domen.ru ServerAlias domen.ru ErrorLog /var/log/apache2/mail-error_log CustomLog /var/log/apache2/mail-access_log common DocumentRoot /var/www/roundcube <Directory /var/www/roundcube> Options +FollowSymLinks # AddDefaultCharset UTF-8 AddType text/x-component .htc <IfModule mod_php5.c> php_flag display_errors Off php_flag log_errors On # php_value error_log logs/errors php_value upload_max_filesize 10M php_value post_max_size 12M php_value memory_limit 64M php_flag zlib.output_compression Off php_flag magic_quotes_gpc Off php_flag magic_quotes_runtime Off php_flag zend.ze1_compatibility_mode Off php_flag suhosin.session.encrypt Off #php_value session.cookie_path / php_flag session.auto_start Off php_value session.gc_maxlifetime 21600 php_value session.gc_divisor 500 php_value session.gc_probability 1 </IfModule> <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^favicon\.ico$ skins/larry/images/favicon.ico # security rules: # - deny access to files not containing a dot or starting with a dot # in all locations except installer directory RewriteRule ^(?!installer)(\.?[^\.]+)$ - [F] # - deny access to some locations RewriteRule ^/?(\.git|\.tx|SQL|bin|config|logs|temp|tests|program\/(include|lib|localization|steps)) - [F] # - deny access to some documentation files RewriteRule /?(README\.md|composer\.json-dist|composer\.json|package\.xml)$ - [F] </IfModule> <IfModule mod_deflate.c> SetOutputFilter DEFLATE </IfModule> <IfModule mod_headers.c> # replace 'append' with 'merge' for Apache version 2.2.9 and later # Header append Cache-Control public env=!NO_CACHE </IfModule> <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 month" </IfModule> FileETag MTime Size <IfModule mod_autoindex.c> Options -Indexes </ifModule> AllowOverride None Order allow,deny Allow from all </Directory> <Directory /var/www/roundcube/plugins/enigma/home> Options -FollowSymLinks AllowOverride None Order allow,deny Deny from all </Directory> <Directory /var/www/roundcube/config> Options -FollowSymLinks AllowOverride None Order allow,deny Deny from all </Directory> <Directory /var/www/roundcube/temp> Options -FollowSymLinks AllowOverride None Order allow,deny Deny from all </Directory> <Directory /var/www/roundcube/logs> Options -FollowSymLinks AllowOverride None Order allow,deny Deny from all </Directory> </VirtualHost>
Прописываем в DNS (или пока в /etc/hosts) mail.domen.ru
Перезапускаем apache2
sudo service apache2 restart
PHP
И заходим в браузере по адресу http://mail.domen.ru/installer
Попадаем на Roundcube Webmail Installer -> Check environment и смотрим - что не хватает в нашей системе для работы roundcube. И устанавливаем необходимые модули. В моем случае не хватало модулей php Mcrypt и Intl
sudo apt-get install php5-mcrypt sudo apt-get install php5-intl sudo service apache2 restart
Но инсталлятор говорил, что php5-mcrypt уже установлен. Тогда делаем
sudo php5enmod mcrypt sudo service apache2 restart
date.timezone: false
Редактируем /etc/php5/apache2/php.ini
date.timezone = Europe/Moscow
Далее
sudo service apache2 restart
База данных
Смотрим в разделе Checking available databases - есть ли нужный драйвер базы данных. Если есть - все ок, если нет - устанавливаем.
Настройка базы данных
mysql -uroot -p CREATE DATABASE roundcube; USE roundcube;
Внимание! Далее будет использоваться пользователь roundcube и его пароль password для доступа к базе данных в MySQL. Вместо roundcube и password Вы можете задать свои значения.
GRANT all ON roundcube.* TO 'roundcube'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
И накатываем дамп в базу
mysql -uroundcube -ppassword roundcube < /var/www/roundcube/SQL/mysql.initial.sql
Настройка параметров работы
Продолжаем настраивать в браузере по адресу http://mail.domen.ru/installer
Жмем NEXT и далее настраиваем
Те настройки, которые понятны, я описывать не буду.
IMAP Settings
default_host
ssl://localhost
default_port
993
username_domain
domain.ru
SMTP Settings
smtp_server
ssl://localhost
smtp_port
465
Ставим галку Use the current IMAP username and password for SMTP authentication
Display settings & user prefs
language *
ru_RU
Тестирование конфигурации
Жмем CREATE CONFIG -> CONTINUE
Попадаем в Test config
Смотрим, что бы все проверки были - ОК
Дополнительные параметры
Я в файл /var/www/roundcube/config/config.inc.php добавил следующие 2 параметра
$config['smtp_auth_type'] = 'PLAIN'; // IMAP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or null to use // best server supported one) $config['imap_auth_type'] = 'PLAIN';
Test SMTP config
Пробуем отправить письмо, вводя данные для отправки почты. Жмем Send Test Mail. И если все нормально, то мы это увидим.
Test IMAP config
При проверке Imap сервера у меня постоянно выдавало ошибку, но при входе с web интерфейс, работало нормально.
Окончание настройки
После проверки работы из web интерфейса http://mail.domain.ru, нужно удалить папку
rm /var/www/raundcube/installer/