Roundcube: различия между версиями
м (→Аутентификация: на третий день Зоркий Глаз...) |
Нет описания правки |
||
(не показано 12 промежуточных версий 7 участников) | |||
Строка 1: | Строка 1: | ||
Очень быстрое КакСде по подъёму веб-почты из пакета {{pkg|roundcube}} по состоянию на версию | Очень быстрое КакСде по подъёму веб-почты из пакета {{pkg|roundcube}} по состоянию на версию 1.2.3 и выше. | ||
== Пакеты == | == Пакеты == | ||
apt-get install roundcube roundcube- | apt-get install roundcube roundcube-apache2 apache2-mod_php5 php5-mbstring php5-sockets php5-fileinfo php5-intl php5-mysql MySQL-server postfix-dovecot dovecot | ||
control postfix server | control postfix server | ||
for i in dovecot | for i in dovecot httpd2 mysqld postfix; do chkconfig $i on && service $i start; done | ||
== Аутентификация == | == Аутентификация == | ||
Строка 30: | Строка 30: | ||
== Настройка == | == Настройка == | ||
Выставляем временной пояс: | Выставляем временной пояс: в файле /etc/php/*/apache2-mod_php/php.ini | ||
date.timezone = 'Europe/Moscow' | |||
<!-- echo 'date.timezone = MSK' > /etc/php/5.5/apache-mod_php/php.d/tz.ini | |||
service | --> | ||
и выполняем | |||
# service httpd2 reload | |||
Включаем конфигурационный файл apache2 для rouncube: | |||
<pre># a2enextra roundcube | |||
# systemctl restart httpd2</pre> | |||
Для того чтобы разрешить доступ к web-инсталятору, приведите файл {{path|/usr/share/roundcube/installer/.htaccess}} к следующему виду, указав IP-адрес компьютера с которого Вы будете настраивать (опасно! не забудьте отключить!): | |||
<pre><ifModule mod_authz_core.c> | |||
Require ip 192.168.135.190 | |||
</ifModule> | |||
<ifModule !mod_authz_core.c> | |||
Order Allow,Deny | |||
Allow from 192.168.135.190 | |||
</ifModule></pre> | |||
Переходим на http://192.168.135.190/roundcube/installer/, результат настройки загружаем в {{path|/etc/roundcube/config.inc.php}} и прикрываем правами: | |||
<pre>chgrp _webserver /etc/roundcube/config.inc.php | |||
chmod 640 /usr/share/roundcube/config/config.inc.php</pre> | |||
Переходим в web-инсталяторе на вкладку '''3.Test config''' и инициализируем базу данных. | |||
Для того чтобы запретить доступ к web-инсталятору, приведите файл {{path|/usr/share/roundcube/installer/.htaccess}} к следующему виду: | |||
<pre><ifModule mod_authz_core.c> | |||
Require all denied | |||
</ifModule> | |||
<ifModule !mod_authz_core.c> | |||
Order Allow,Deny | |||
Deny from all | |||
</ifModule></pre> | |||
И запретите доступ к каталогу: | |||
<pre># chmod 0 /usr/share/roundcube/installer</pre> | |||
== Проверка == | == Проверка == | ||
Строка 53: | Строка 69: | ||
Заходим на http://localhost/roundcube/ тестовым локальным пользователем, пишем письмо второму тестовому пользователю, выходим, заходим тем, проверяем. УМВР. :) | Заходим на http://localhost/roundcube/ тестовым локальным пользователем, пишем письмо второму тестовому пользователю, выходим, заходим тем, проверяем. УМВР. :) | ||
[[ | == AD SSO == | ||
[[ | Для работы прозрачной аутентификации необходимо настроить прозрачную аутентификацию на web-сервере [[Apache2/AD-auth]] и на imap сервере [[Dovecot/AD-auth]]. Так же необходимо включить нужный плагин и указать SPN в файле {{path|config.inc.php}}: | ||
<pre>$config['plugins'] = array('krb_authentication'); | |||
$config['krb_authentication_context'] = 'imap/rcserver.dome.teste@DOME.TESTE';</pre> | |||
== Адресная книга AD == | |||
Для возможности формирования адресной книги на основе данных о пользователях из Active Directory необходимо обеспечить прозрачную аутентификацию на LDAP сервере домена. Для этого необходимо установить следующий пакет: | |||
<pre># apt-get install pear-Net_LDAP3</pre> | |||
И добавить настройки адресной книги в {{path|config.inc.php}}: | |||
<pre>$config['ldap_public'] = array( | |||
'MyAdLdap' =>array ( | |||
'name' => 'Big Company, Inc', | |||
'hosts' => array('dce.dome.teste'), | |||
'sizelimit' => 6000, | |||
'port' => 389, | |||
'use_tls' => false, | |||
'user_specific' => false, | |||
'base_dn' => 'CN=Users,DC=dome,DC=teste', | |||
'bind_dn' => '', | |||
'bind_pass' => '', | |||
'bind_user' => '', | |||
'writable' => false, | |||
'ldap_version' => 3, | |||
'search_fields' => array( | |||
'mail', | |||
'cn', | |||
), | |||
'auth_method' => 'GSSAPI', | |||
'name_field' => 'cn', | |||
'email_field' => 'mail', | |||
'surname_field' => 'sn', | |||
'firstname_field' => 'givenName', | |||
'sort' => 'sn', | |||
'scope' => 'list', | |||
'filter' => '(&(mail=*)(|(&(objectClass=user)(!(objectClass=computer)))(objectClass=group)))', | |||
'global_search' => true, | |||
'fuzzy_search' => true | |||
), | |||
);</pre> | |||
[[Категория:Mail]] | [[Категория:Mail]] | ||
{{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}} | |||
{{Category navigation|title=HOWTO|category=HOWTO|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 21:10, 13 июля 2017
Очень быстрое КакСде по подъёму веб-почты из пакета roundcube по состоянию на версию 1.2.3 и выше.
Пакеты
apt-get install roundcube roundcube-apache2 apache2-mod_php5 php5-mbstring php5-sockets php5-fileinfo php5-intl php5-mysql MySQL-server postfix-dovecot dovecot control postfix server for i in dovecot httpd2 mysqld postfix; do chkconfig $i on && service $i start; done
Аутентификация
При непустом username_domain не пустит ни user, ни user@localhost, т.к. dovecot идёт в pam с "user@localhost" в обоих случаях — http://www.roundcubeforum.net/index.php/topic,10917.msg56250.html#msg56250:
echo "auth_username_format = %n" >> /etc/dovecot/conf.d/10-auth.conf service dovecot restart
(ну или «не делайте так»)
Дамп базы
В пакете есть, но как документация; делаем симлинк туда, где ожидает инсталятор:
mkdir -p /usr/share/roundcube/SQL ln -s /usr/share/doc/roundcube-0.7.1/SQL/mysql.initial.sql /usr/share/roundcube/SQL/mysql.initial.sql
Создаём базу (возможно, инсталер и сам справится при изначально беспарольном mysql root, не проверял; пароль ставьте свой, разумеется):
mysqladmin create roundcubemail echo "grant all on roundcubemail.* to roundcube@localhost identified by '123456'" | mysql
Настройка
Выставляем временной пояс: в файле /etc/php/*/apache2-mod_php/php.ini
date.timezone = 'Europe/Moscow'
и выполняем
# service httpd2 reload
Включаем конфигурационный файл apache2 для rouncube:
# a2enextra roundcube # systemctl restart httpd2
Для того чтобы разрешить доступ к web-инсталятору, приведите файл /usr/share/roundcube/installer/.htaccess к следующему виду, указав IP-адрес компьютера с которого Вы будете настраивать (опасно! не забудьте отключить!):
<ifModule mod_authz_core.c> Require ip 192.168.135.190 </ifModule> <ifModule !mod_authz_core.c> Order Allow,Deny Allow from 192.168.135.190 </ifModule>
Переходим на http://192.168.135.190/roundcube/installer/, результат настройки загружаем в /etc/roundcube/config.inc.php и прикрываем правами:
chgrp _webserver /etc/roundcube/config.inc.php chmod 640 /usr/share/roundcube/config/config.inc.php
Переходим в web-инсталяторе на вкладку 3.Test config и инициализируем базу данных. Для того чтобы запретить доступ к web-инсталятору, приведите файл /usr/share/roundcube/installer/.htaccess к следующему виду:
<ifModule mod_authz_core.c> Require all denied </ifModule> <ifModule !mod_authz_core.c> Order Allow,Deny Deny from all </ifModule>
И запретите доступ к каталогу:
# chmod 0 /usr/share/roundcube/installer
Проверка
Заходим на http://localhost/roundcube/ тестовым локальным пользователем, пишем письмо второму тестовому пользователю, выходим, заходим тем, проверяем. УМВР. :)
AD SSO
Для работы прозрачной аутентификации необходимо настроить прозрачную аутентификацию на web-сервере Apache2/AD-auth и на imap сервере Dovecot/AD-auth. Так же необходимо включить нужный плагин и указать SPN в файле config.inc.php:
$config['plugins'] = array('krb_authentication'); $config['krb_authentication_context'] = 'imap/rcserver.dome.teste@DOME.TESTE';
Адресная книга AD
Для возможности формирования адресной книги на основе данных о пользователях из Active Directory необходимо обеспечить прозрачную аутентификацию на LDAP сервере домена. Для этого необходимо установить следующий пакет:
# apt-get install pear-Net_LDAP3
И добавить настройки адресной книги в config.inc.php:
$config['ldap_public'] = array( 'MyAdLdap' =>array ( 'name' => 'Big Company, Inc', 'hosts' => array('dce.dome.teste'), 'sizelimit' => 6000, 'port' => 389, 'use_tls' => false, 'user_specific' => false, 'base_dn' => 'CN=Users,DC=dome,DC=teste', 'bind_dn' => '', 'bind_pass' => '', 'bind_user' => '', 'writable' => false, 'ldap_version' => 3, 'search_fields' => array( 'mail', 'cn', ), 'auth_method' => 'GSSAPI', 'name_field' => 'cn', 'email_field' => 'mail', 'surname_field' => 'sn', 'firstname_field' => 'givenName', 'sort' => 'sn', 'scope' => 'list', 'filter' => '(&(mail=*)(|(&(objectClass=user)(!(objectClass=computer)))(objectClass=group)))', 'global_search' => true, 'fuzzy_search' => true ), );