Ставим из портов:
exim# cd /usr/ports/mail/roundcube/
exim# make install clean
Лезет синее окошко. В нем нас интересует только опция MYSQL.
[X] MYSQL Use MySQL backend
[ ] PGSQL Use PostgreSQL backend
[ ] SQLITE Use SQLite backend
[ ] SSL Enable SSL support (imaps or google spellcheck)
[ ] LOCALCHECK Install internal spellchecker
Если, ранее не все необходимые php-модули были установлены, то установятся самостоятельно.
Необходимые модули:
dom
Iconv
mysql
mbstring
session
Spl
Simplexml
Идем:
exim#cd /usr/local/www/roundcube
Изменяем права доступа на папки logs и temp
chmod 777 logs/
chmod 777 temp/
Создаем базу, в которой roundcube будет хранить свои настройки
(обязательно в кодировке utf-8):
exim# mysql -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
mysql> CREATE DATABASE roundcubemail DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.01 sec)
mysql> GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
Далее создаем таблицы из файла примера
exim# cd /usr/local/www/roundcube/
exim# mysql -p roundcubemail < SQL/mysql.initial.sql
Создаем конфигурационный файл копированием.
exim# cp config/db.inc.php.dist config/db.inc.php
exim# ee config/db.inc.php
Правим конфигурационный файл /usr/local/www/roundcube/config/db.inc.php,
отвечающий за соединение с базой данных:
$rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';
Правим файл main.inc.php, содержащий основные настройки:
exim# ee config/main.inc.php
$rcmail_config['default_host'] = 'localhost'; #хост, на котором находится почта
$rcmail_config['username_domain'] = ' mydomain.ru'; #домен, который будет автоматически добавляться к имени пользователя
$rcmail_config['mail_domain'] = 'mydomain.ru'; #почтовый домен
$rcmail_config['default_port'] = 143; #порт imap
$rcmail_config['imap_auth_type'] = null; #тип авторизации imap
$rcmail_config['smtp_server'] = 'localhost'; #сервер smtp
$rcmail_config['smtp_user'] = '%u';
$rcmail_config['smtp_pass'] = '%p';
$rcmail_config['smtp_auth_type'] = 'PLAIN'; #тип авторизации smtp
$rcmail_config['create_default_folders'] = TRUE; #при первом логине юзера создаются дефолтные почтовые папки (Входящие, Исходящие, Корзина и тд.)
$rcmail_config['language'] = ru_RU; #локализация
Добавляем в конфиг Apache:
exim# cd /usr/local/etc/apache22/extra/httpd-vhosts.conf
Создаем ВиртуалХост для Roundcube:
<VirtualHost *:8080>
ServerAdmin
Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
DocumentRoot "/usr/local/www/roundcube/"
ServerName roundcube.micc.ru
ErrorLog "/var/log/roundcube-error_log"
CustomLog "/var/log/roundcube-access_log" common
<Directory "/usr/local/www/roundcube/">
AllowOverride None
Options None
Order Allow,deny
Allow from all
</Directory>
</VirtualHost>
Правим php.ini:
exim# ee /usr/local/etc/php.ini
В секции должно быть:
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
max_execution_time = 30 ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
;max_input_nesting_level = 64 ; Maximum input variable nesting level
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)
и в секции:
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =
; Maximum allowed size for uploaded files. Меняем размер вложенного файла.
upload_max_filesize = 10M
; размер почтового файла
; Maximum size of POST data that PHP will accept. Меняем размер почтового файла.
post_max_size = 15M
Проверяем: http://localhost:8080
Вводим почтовый логин и пароль.
Видим:



