Продолжая материал, Вы можете установить RoundCube через apt-get. Однако прдерживаясь другой логике (если у Вас есть время и храбрость), Вы можете установить roundcube в своей собственной подобласти, вручную.
В материалах "Идеальный сервер" Вы обычно установливали SquirrelMail. Однако, если Вы не хотите, то можете удалить его:
|
и удалить /etc/apache2/conf.d/squirrelmail.conf :
|
Или если Вы хотите его изменить измените /etc/apache2/conf.d/squirrelmail.conf на что-то вроде webmail1.
Установить RoundCube. (Вы должны иметь пароль MySQL администратора, прежде чем приступить. Вам будут заданы несколько вопросов о пароле администратора базы данных и пароль нового пользователя, который будет создан для RoundCube:
|
Examle answers: "Configure database for roundcube with dbconfig-common?" ... Yes "Database type to be used by roundcube: ... MySQL "Password of the database's administrative user:" ... Ваш пароль администратора БД "MySQL application password for roundcube:" ... Пароль для входа пользователя roundcube "Password confirmation:"... Пароль для входа пользователя roundcube
Если что-то пойдет не так, Вы всегда можете запустить:
|
Для получения дополнительной информации, пожалуйста, см. этот пост.
Для каждого пользователя для доступа к своей электронной почте (через его доменное имя), Вы должны создать или отредактировать файл /etc/apache2/conf.d/roundcube с тем чтобы установить псевдоним для "электронной почты". Если вы хотите SSL Вы должны включить последние две директивы (IfModule mod_rewrite.c), чтобы Apache Всегда перенаправлял ISPConfig на SSL.
|
# Those aliases do not work properly with several hosts on your apache server # Uncomment them to use it or adapt them to your configuration # Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce/www/ Alias /roundcube /var/lib/roundcube Alias /webmail /var/lib/roundcube # Access to tinymce files <Directory "/usr/share/tinymce/www/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny allow from all </Directory> <Directory /var/lib/roundcube/> Options +FollowSymLinks # This is needed to parse /var/lib/roundcube/.htaccess. See its # content before setting AllowOverride to None. AllowOverride All order allow,deny allow from all </Directory> # Protecting basic directories: <Directory /var/lib/roundcube/config> Options -FollowSymLinks AllowOverride None </Directory> <Directory /var/lib/roundcube/temp> Options -FollowSymLinks AllowOverride None Order allow,deny Deny from all </Directory> <Directory /var/lib/roundcube/logs> Options -FollowSymLinks AllowOverride None Order allow,deny Deny from all </Directory> <IfModule mod_rewrite.c> <IfModule mod_ssl.c> <Location /webmail> RewriteEngine on RewriteCond %{HTTPS} !^on$ [NC] RewriteRule . https://%{HTTP_HOST}:50443%{REQUEST_URI} [L] </Location> </IfModule> </IfModule> <IfModule mod_rewrite.c> <IfModule mod_ssl.c> <Location /roundcube> RewriteEngine on RewriteCond %{HTTPS} !^on$ [NC] RewriteRule . https://%{HTTP_HOST}:50443%{REQUEST_URI} [L] </Location> </IfModule> </IfModule>
Изменить /var/lib/roundcube/config/main.inc.php :
|
и установить некоторые переменные в файле (если вы первый раз изменяете файл - строки 60 и 66):
auto_create_user = TRUE; $rcmail_config['default_host'] = 'localhost';
Если Вы установите следующие плагины (авторизация которой помогжет fail2ban), Вы должны будете расширить список плагинов в том же самом файле. Если это единственный плагин - другие будут установленны пойзже, Вы должны отредактировать строку (42) как указано ниже:
$rcmail_config['plugins'] = array('fail2ban');
Установить плагин регистратор RoundCube.
В общем, Вы должны скачать файл (fail2ban.php) и вставьте этот fail2ban в папку plugins RoundCube каталога. Теперь, Вы должны получить этот файл: /usr/share/roundcube/plugins/fail2ban/fail2ban.php. Выполните команду:
|
Этот плагин будет обновлять файл журнала с каждой неудачной попыткой аторизации: /var/log/roundcube/userlogins
Не забудьте изменить ссылку на Web почтe в ISPConfig (Система -> Конфиг интерфейса (System Config) - (вкладка) Mail) и установить его в /webmail. И наконец, перезапустить Apache.
|
Теперь можно получить доступ на Web почту http://www.example.com/webmail
Fail2ban
Расширение jail.local файл, которое предлагается в предыдущих статьях Идеальный сервер - Debian 6.0 [ISPConfig 3] и Идеальный сервер - Debian 6.0 с BIND и Courier [ISPConfig 3]: /etc/fail2ban/jail.local
|
Вы должны добавить или изменить следующие:
[roundcube] enabled = true port = http,50443 filter = roundcube logpath = /var/log/roundcube/userlogins maxretry = 5 [webmin-auth] enabled = true port = 50000 filter = webmin-auth logpath = /var/log/auth.log maxretry = 3 [ssh] enabled = true port = 50022 filter = sshd logpath = /var/log/auth.log maxretry = 6
50443 порт в RoundCube требуется, только если Вы включили перенаправление на HTTPS (смотрите в начале материала). 50000 порт в Webmin-аутентификации является измененным портом (смотрите в начале материала). 50022 портов в SSH является измененным портом (смотрите в следующих разделах этого учебника).
Последняя (и очень важное), не забудьте создать roundcube.conf файл /etc/fail2ban/filter.d/roundcube.conf .
|
со следующим содержанием:
[Definition] failregex = FAILED login for .*. from <host> ignoreregex =
Удачно созданная Webmin-авторизации и фильтры SSH уже непосредственно создаст fail2ban. Перезагрузите fail2ban:
|
Если кто-то добавляет много тюрем в fail2ban, то некоторые из них не могут зайти (ошибки в /var/log/fail2ban.log но не выходят !!!). Смотрим это выполнив:
|
К сожалению, решение немного кривое ... но по крайней мере это работает:
В файле /usr/bin/fail2ban-client в строке 145 нужно вставить time.sleep (0,1) или time.sleep (0,05) :
|
Так выглядит файл перед изменением:
[...] def __processCmd(self, cmd, showRet = True): beautifier = Beautifier() for c in cmd: beautifier.setInputCmd(c) try: [...]
Так выглядит потом:
[...] def __processCmd(self, cmd, showRet = True): beautifier = Beautifier() for c in cmd: time.sleep(0.05) beautifier.setInputCmd(c) try: [...]
Перезагрузите снова fail2ban:
|
Вы можете проверить, что все тюрьмы являются активными командой:
|