Установка и настройка roundcube из исходников

Материал из Wiki МИАЦ ВО
Перейти к навигации Перейти к поиску

Можно, конечно, поставить 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;

Настройка параметров работы

Продолжаем настраивать в браузере по адресу http://mail.domen.ru/installer
Жмем NEXT и далее настраиваем
Те настройки, которые понятны, я описывать не буду.

IMAP Settings

Данные установки это для моего сервера. Для почтовика с другими параметрами подключения, данные параметры мб другими

// ----------------------------------
// IMAP
// ----------------------------------
$config['debug_level'] = 13;
$config['default_host'] = 'ssl://mail.volmed.org.ru';
$config['default_port'] = 993;
$config['imap_conn_options'] = array (
  'ssl' => 
  array (
    'verify_peer_name' => false,
    'verify_peer' => false,
  ),
);

SMTP Settings

Данные установки это для моего сервера. Для почтовика с другими параметрами подключения, данные параметры мб другими

// ----------------------------------
// SMTP
// ----------------------------------
$config['smtp_server'] = 'ssl://mail.volmed.org.ru';
$config['smtp_port'] = 465;
$config['smtp_user'] = '';
$config['smtp_auth_type'] = 'PLAIN';
$config['smtp_conn_options'] = array (
  'ssl' => 
  array (
    'verify_peer' => false,
    'verify_peer_name' => false,
  ),
);

Display settings & user prefs

language *

ru_RU

Тестирование конфигурации

Жмем CREATE CONFIG -> CONTINUE
Попадаем в Test config
Смотрим, что бы все проверки были - ОК

Test SMTP config

Пробуем отправить письмо, вводя данные для отправки почты.
Вводим только email адреса от кого и куда почта будет уходить
Жмем Send Test Mail. И если все нормально, то мы это увидим в любом почтовом клиенте, в котором можно посмотреть п/я адресата.

Test IMAP config

Вводим имя и пароль почтового ящика и жмем Check Login

Окончание настройки

После проверки работы из web интерфейса http://mail.domain.ru, нужно удалить папку

rm /var/www/raundcube/installer/