Установка и настройка roundcube из исходников: различия между версиями

Материал из Wiki МИАЦ ВО
Перейти к навигации Перейти к поиску
(Скачать и распаковать дистрибутив)
(SMTP Settings)
 
(не показано 26 промежуточных версий этого же участника)
Строка 1: Строка 1:
Можно, конечно, поставить roundcube из репозитария, но там более старая версия. Да мы не ищем простых путей.
+
Можно, конечно, поставить roundcube из репозитария, но там более старая версия. Да мы не ищем простых путей.<br />
 +
Данная настройка работает с Postfix, настроенный по этой [http://www.volmed.org.ru/wiki/index.php/%D0%9F%D0%BE%D1%87%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80_%D0%BD%D0%B0_%D0%B1%D0%B0%D0%B7%D0%B5_Postfix,_Dovecot_%D0%B8_Ubuntu_14.04_LTS#.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.B5.D0.BC_.D1.84.D0.B0.D0.B9.D0.BB.D1.8B_.D0.BE.D0.B1.D1.80.D0.B0.D1.89.D0.B5.D0.BD.D0.B8.D1.8F_.D0.BA_.D0.B1.D0.B0.D0.B7.D0.B5_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85 статье].
 
==Скачать и распаковать дистрибутив==
 
==Скачать и распаковать дистрибутив==
Идем на [http://roundcube.net/download/ roundcube] и скачиваем последнюю версию Complete (в нашем случае = это: 1.0.0)<br />
+
Идем на [http://roundcube.net/download/ roundcube] и скачиваем последнюю версию Complete (в нашем случае = это: 1.6.0)<br />
 
Расспаковываем его в папку /var/www/roundcube
 
Расспаковываем его в папку /var/www/roundcube
<pre>sudo tar -xvzf roundcubemail-1.0.0.tar.gz -C  /var/www/
+
<pre>sudo tar -xvzf roundcubemail-1.6.0-complete.tar.gz -C  /var/www/
 
sudo mv /var/www/roundcube* /var/www/roundcube
 
sudo mv /var/www/roundcube* /var/www/roundcube
 
sudo chown -R www-data:www-data /var/www/roundcube</pre>
 
sudo chown -R www-data:www-data /var/www/roundcube</pre>
==Настройка Apache и php===
+
 
 +
==Настройка компонентов==
 +
===Apache===
 
Для работы roundcube нужно разрешить следующие модули
 
Для работы roundcube нужно разрешить следующие модули
 
<pre>sudo a2enmod deflate
 
<pre>sudo a2enmod deflate
 
sudo a2enmod expires
 
sudo a2enmod expires
 
sudo a2enmod headers</pre>
 
sudo a2enmod headers</pre>
 +
Файл конфигурации легко найти в Интернете<br>
 +
Вот один вариант (мб он уже устарел)<br>
 +
Создаем файл /etc/apache2/sites-inable/mail.conf, изменив domen.ru на свой.
 +
<pre><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>
 +
</pre>
 +
Прописываем в DNS (или пока в /etc/hosts) mail.domen.ru<br />
 +
Перезапускаем apache2
 +
<pre>sudo service apache2 restart</pre>
 +
 +
===PHP===
 +
И заходим в браузере по адресу '''http://mail.domen.ru/installer'''<br />
 +
Попадаем на Roundcube Webmail Installer -> Check environment и смотрим - что не хватает в нашей системе для работы roundcube. И устанавливаем необходимые модули. В моем случае не хватало модулей php Mcrypt и Intl
 +
<pre>sudo apt-get install php5-mcrypt
 +
sudo apt-get install php5-intl
 +
sudo service apache2 restart</pre>
 +
Но инсталлятор говорил, что php5-mcrypt уже установлен. Тогда делаем
 +
<pre>sudo php5enmod mcrypt
 +
sudo service apache2 restart</pre>
 +
'''date.timezone:  false'''
 +
Редактируем /etc/php5/apache2/php.ini
 +
date.timezone = Europe/Moscow
 +
Далее
 +
sudo service apache2 restart
 +
 +
===База данных===
 +
Смотрим в разделе '''Checking available databases''' - есть ли нужный драйвер базы данных.
 +
Если есть - все ок, если нет - устанавливаем.
 +
==Настройка базы данных==
 +
<pre>mysql -uroot -p
 +
CREATE DATABASE  roundcube;
 +
USE roundcube;</pre>
 +
Внимание! Далее будет использоваться пользователь '''roundcube''' и его пароль '''password''' для доступа к базе данных в MySQL. Вместо '''roundcube''' и '''password''' Вы можете задать свои значения.
 +
<pre>GRANT all ON roundcube.* TO 'roundcube'@'localhost' IDENTIFIED BY 'password';
 +
FLUSH PRIVILEGES;</pre>
 +
 +
==Настройка параметров работы==
 +
Продолжаем настраивать в браузере по адресу '''http://mail.domen.ru/installer'''<br />
 +
Жмем '''NEXT''' и далее настраиваем<br />
 +
Те настройки, которые понятны, я описывать не буду.
 +
===IMAP Settings===
 +
Данные установки это для моего сервера. Для почтовика с другими параметрами подключения, данные параметры мб другими
 +
<pre>
 +
// ----------------------------------
 +
// 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,
 +
  ),
 +
);
 +
 +
</pre>
 +
 +
===SMTP Settings===
 +
Данные установки это для моего сервера. Для почтовика с другими параметрами подключения, данные параметры мб другими
 +
<pre>
 +
// ----------------------------------
 +
// 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,
 +
  ),
 +
);
 +
</pre>
 +
 +
===Display settings & user prefs===
 +
language *
 +
ru_RU
 +
 +
==Тестирование конфигурации==
 +
Жмем '''CREATE CONFIG''' -> '''CONTINUE'''<br />
 +
Попадаем в '''Test config'''<br />
 +
Смотрим, что бы все проверки были  - ОК
 +
===Test SMTP config===
 +
Пробуем отправить письмо, вводя данные для отправки почты.<br>
 +
Вводим только email адреса от кого и куда почта будет уходить<br>
 +
Жмем Send Test Mail. И если все нормально, то мы это увидим в любом почтовом клиенте, в котором можно посмотреть п/я адресата.
 +
 +
===Test IMAP config===
 +
Вводим имя и пароль почтового ящика и жмем '''Check Login'''
 +
 +
==Окончание настройки==
 +
После проверки работы из web интерфейса http://mail.domain.ru, нужно удалить папку
 +
<pre>rm /var/www/raundcube/installer/</pre>

Текущая версия на 10:51, 25 апреля 2024

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