пятница, 30 декабря 2016 г.

Установка Roundcube.

Почтовый сервер на базе Dovecot+Postfix+DKIM+MySQL+Postgrey устанавливал по инструкции с сайта. Автор разрешил опубликовать материал у себя (оформлю для публикации, как будет время), чтобы материал дублировался в моих записях на всякий случай.

В конфигах которые настраивал пришлось заменить localhost на 127.0.0.1 иначе кидало ошибку в syslog (увы не помню какую именно).


Все команды выполнялись от прав пользователя root.

1. В моем репозитории почему-то его не оказалось, потому скачиваю сырцы во временную папку:
cd /tmp/
wget https://sourceforge.net/projects/roundcubemail/files/roundcubemail/1.1.4/roundcubemail-1.1.4-complete.tar.gz

2. Распаковываю архив:
tar xfvz roundcubemail-1.1.4-complete.tar.gz

3. Удаляю архив и перемещаю распакованные данные:
rm roundcubemail-1.1.4-complete.tar.gz
mv roundcubemail-1.1.4-complete /var/www/roundcube

4. Перехожу в папку и задаю права на папки temp logs:
cd /var/www/roundcube
chmod 777 temp logs

5. Вхожу и создаю БД для Roundcube:
mysql -u root -p
CREATE DATABASE IF NOT EXISTS `roundcube`;
GRANT ALL PRIVILEGES ON `roundcube` . * TO 'root'@'localhost' IDENTIFIED BY 'mySecretPassword';
FLUSH PRIVILEGES;
quit

6. Наполняю созданную БД:
mysql -u root -p"mySecretPassword" roundcube < SQL/mysql.initial.sql

7. Настраиваю apache:
nano /etc/apache2/sites-enabled/mail.conf

Alias /mail /var/www/roundcube/

   RemoveHandler .php  .php3 .php4 .phtml
   AddType application/x-httpd-php .php  .php3 .php4 .phtml
   php_admin_value open_basedir /
   AddType text/x-component .htc
   
      php_flag display_errors Off
      php_flag log_errors On
      php_value error_log logs/errors
      php_value upload_max_filesize 5M
      php_value post_max_size 6M
      php_value memory_limit 64M
   

   
      php_flag display_errors Off
      php_flag log_errors On
      php_value error_log logs/errors
      php_value upload_max_filesize 5M
      php_value post_max_size 6M
      php_value memory_limit 64M
   

   
      Order allow,deny
      Deny from all
   

   Order deny,allow
   Allow from all

8. Перезапускаю apache:
/etc/init.d/apache2 restart

9. Создаю вручную конфиг roundcube:
nano /var/www/roundcube/config/config.inc.php


/* Local configuration for Roundcube Webmail */

// ----------------------------------
// SQL DATABASE
// ----------------------------------
$config['db_dsnw'] = 'mysql://root:mySecretPassword@localhost/roundcube';

// ----------------------------------
// IMAP
// ----------------------------------
$config['default_host'] = 'localhost';

// provide an URL where a user can get support for this Roundcube installation
// PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE!
$config['support_url'] = '';

// this key is used to encrypt the users imap password which is stored
// in the session record (and the client cookie if remember password is enabled).
// please provide a string of exactly 24 chars.
$config['des_key'] = '2dcd0f65ff91d3b2bcabcdc5';

// ----------------------------------
// PLUGINS
// ----------------------------------
// List of active plugins (in plugins/ directory)
$config['plugins'] = array();

// the default locale setting (leave empty for auto-detection)
// RFC1766 formatted language name like en_US, de_DE, de_CH, fr_FR, pt_BR
$config['language'] = 'ru_RU';

$rcmail_config['smtp_server'] = 'localhost';
$rcmail_config['smtp_user'] = '%u';
$rcmail_config['smtp_pass'] = '%p';
$rcmail_config['quota_zero_as_unlimited'] = true;
$rcmail_config['preview_pane'] = true;
$rcmail_config['read_when_deleted'] = false;
$rcmail_config['check_all_folders'] = true;
$rcmail_config['imap_auth_type'] = 'CRAM-MD5';
$rcmail_config['smtp_auth_type'] = 'CRAM-MD5';

10. Удаляю установщик коонфигурации (собственно п. Можно делать через него):
rm -rf /var/www/roundcube/installer/

11. Включаю автоматическое создание стандартных папок, типа корзина-спам и т.д. Для это в конфиге nano /var/www/roundcube/config/defaults.inc.php меняю значение ключа:
$config['create_default_folders'] = true;

12. Проверяю введя в браузере:

в качестве учетных данных ввожу e-mail и пароль.