Установка Roundcube на CentOS 6.4 с ISPConfig 3
Введение
Это руководство предназначено для тех, кто уже установил “The Perfect Server - CentOS 6.4 x86_64 [ISPConfig 3]” и хочет развернуть альтернативный веб‑почтовый клиент Roundcube. Установка не удаляет и не перезаписывает SquirrelMail — оба веб‑почтовых интерфейса могут сосуществовать.
Ниже приведён подробный пошаговый план с пояснениями, типовыми ошибками и решениями, альтернативными подходами и контрольными списками для разных ролей.
Основные шаги установки
Шаг 1 — Подготовка базы данных
Подготовьте название базы данных, пользователя и пароль. Это можно сделать через ISPConfig, phpMyAdmin или аналогичные инструменты. Пример:
- Название базы данных: dbroundcube
- Пользователь базы данных: roundcubeuser
- Пароль: xxxxxx
Инициализируйте базу данных, импортировав соответствующий SQL-файл:
sudo mysql -u root -p dbroundcube < /usr/share/roundcube/SQL/mysql.initial.sql
Важно: если вы используете префиксы таблиц или другую кодировку, проверьте совместимость значений с вашей БД перед импортом.
Шаг 2 — Создание каталога для Roundcube
Создайте папку для кода Roundcube и перейдите в неё:
mkdir /usr/share/roundcube cd /usr/share/roundcube
Шаг 3 — Скачивание и распаковка
Скачайте актуальную версию Roundcube и framework, распакуйте и переименуйте папку:
wget http://jaist.dl.sourceforge.net/project/roundcubemail/roundcubemail/1.0.0/roundcubemail-1.0.0.tar.gz
tar -zxvf roundcubemail-1.0.0.tar.gz
mv roundcubemail-1.0.0 roundcube
tar -zxvf roundcube-framework-1.0.0.tar.gz
mkdir /usr/share/roundcube/installer/Roundcube
cp /usr/share/roundcube-framework-1.0.0/bootstrap.php /usr/share/roundcube/installer/Roundcube
Примечание: ссылки указывают на версию 1.0.0. При необходимости используйте более новую версию и соответствующие пути.
Шаг 4 — Права доступа
Установите владельцев и права на временные папки:
chown root:root -R /usr/share/roundcube chmod 777 -R /usr/share/roundcube/temp/ chmod 777 -R /usr/share/roundcube/logs/
Рекомендация по безопасности: 777 удобно для установки, но нежелательно для продакшена. После успешного запуска замените права на более строгие и настройте владельца на пользователя, под которым работает Apache (обычно apache или www-data).
Шаг 5 — Настройка Apache (включение доступа)
Откройте файл /etc/httpd/conf/sites-enabled/000-ispconfig.conf и добавьте блок Directory:
[...]
Order allow,deny
Allow from all
[...]Это откроет доступ к папке Roundcube через веб‑сервер.
Шаг 6 — Конфигурация Apache для Roundcube
Создайте файл /etc/httpd/conf.d/roundcube.conf с таким содержимым:
#
# Roundcube is a webmail package written in PHP.
#
Alias /roundcube /usr/share/roundcube
Order Deny,Allow
Deny from All
Order Deny,Allow
Deny from All
Order Deny,Allow
Deny from All
# this section makes Roundcube use https connections only, for this you
# need to have mod_ssl installed. If you want to use unsecure http
# connections, just remove this section:
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Этот конфиг ставит alias /roundcube и закрывает доступ к конфигурационным, временным и лог-файлам. Раздел с редиректом на HTTPS рекомендуется оставить (при наличии mod_ssl).
Шаг 7 — Исправление пути в инсталляторе
Отредактируйте файл /usr/share/roundcube/installer/index.php и замените строку:
require_once ‘bc.php’;
на
require_once ‘/usr/share/roundcube/program/include/bc.php’;
Затем перезапустите Apache:
service httpd restart
Шаг 8 — Веб-инсталлятор и окружение
Откройте в браузере:
https://{ваш_IP}/roundcube/installer
Проверьте все пункты окружения. Для часто встречающихся проблем выполните следующие шаги.
Если в отчёте вы видите “Not available” для Intl, выполните:
yum -y install libicu-devel yum -y install php-intl
Если отмечено “date.timezone: Not available”, отредактируйте php.ini и установите корректную временную зону, например:
date.timezone = Asia/Kuala_Lumpur
Перезапустите веб‑сервер.
Шаг 9 — Создание конфигурации через веб-инсталлятор
Заполните данные доступа к базе данных в веб‑инсталляторе и нажмите CREATE CONFIG. Скопируйте сгенерированный PHP‑код и вставьте его в файл /usr/share/roundcube/config/config.inc.php.
Шаг 10 — mime.types и дополнительные требования
Если в проверке появляется Not OK для mime.types, откройте /etc/httpd/conf/httpd.conf и убедитесь, что следующая строка раскомментирована:
TypesConfig /etc/mime.types
Затем выполните:
cd /etc mv /etc/mime.types /etc/mime.types.bak wget http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types service httpd restart
Это заменит локальный файл mime.types на версию из репозитория Apache, если ваш файл испорчен или отсутствует.
Шаг 11 — Завершение установки
После успешной установки удалите папку инсталлятора:
rm -rf /usr/share/roundcube/installer
Теперь вы можете войти в веб‑почту по адресу:
Типичные проблемы и их решения
- SELinux блокирует доступ: временно отключите для отладки или назначьте правильные контексты (restorecon / chcon) для /usr/share/roundcube. Команда для установки контекста:
semanage fcontext -a -t httpd_sys_content_t “/usr/share/roundcube(/.*)?” restorecon -Rv /usr/share/roundcube
- Порт 443 закрыт в брандмауэре: откройте порт 443 (iptables или firewalld) и проверьте доступность HTTPS.
- Неподдерживаемая версия PHP: CentOS 6 может поставляться со старой версией PHP. Roundcube 1.0.0 работает с PHP 5.2+, но для новых версий Roundcube требуется более современный PHP. Рассмотрите обновление PHP через сторонние репозитории (например, Remi) или установку совместимой версии Roundcube.
- Ошибки подключения к базе: проверьте права пользователя БД и привилегии, хост подключения (localhost vs 127.0.0.1), кодировку и наличие таблиц после импорта.
Альтернативные подходы
- Установка из пакетов репозитория (yum): в некоторых дистрибутивах Roundcube доступен как пакет, что упрощает обновления и зависимости. Для CentOS 6 может потребоваться EPEL или сторонние репозитории.
- Использовать ISPConfig‑плагин для Roundcube: когда плагин работает исправно, он автоматизирует многие шаги; однако в случае несовместимости ручная установка надёжнее.
- Контейнеризация: запуск Roundcube в Docker-контейнере позволяет изолировать зависимости (PHP, расширения) от основного сервера.
Мини‑методология установки (одна строка на шаг)
- Подготовьте базу данных и пользователя. 2. Разверните код в /usr/share/roundcube. 3. Настройте права и владельца. 4. Добавьте конфигурацию Apache и HTTPS. 5. Запустите веб‑инсталлятор и сохраните config.inc.php. 6. Удалите installer и установите строгие права.
Контрольный список по ролям
Администратор сервера:
- Создать БД и пользователя.
- Настроить SELinux и права файлов.
- Открыть порты HTTPS.
Вебмастер / разработчик:
- Настроить config.inc.php.
- Проверить работу IMAP/SMTP (доступ к почтовому серверу).
- Тестировать MIME и кодировки.
Служба поддержки:
- Проверить лог‑файлы Roundcube (/usr/share/roundcube/logs).
- Проверить ошибки PHP/Apache при входе.
Критерии приёмки
- Доступ к https://{ваш_IP}/roundcube успешно открывается.
- Веб‑инсталлятор не показывает критических ошибок (все необходимые расширения доступны).
- Пользователь может выполнить вход в почту (валидные учётные данные IMAP).
- Папка installer удалена и права на логи/temp не дают несанкционированного доступа.
Безопасность и рекомендации
- Всегда настраивайте HTTPS (SSL/TLS) и редирект с HTTP на HTTPS.
- После установки уберите права 777 и сделайте владельцем пользователя Apache.
- Удалите папку installer.
- Регулярно обновляйте Roundcube и PHP-пакеты.
Миграция с SquirrelMail
Roundcube и SquirrelMail могут сосуществовать. При переходе проверьте соответствие настроек IMAP/SMTP, экспортируйте/импортируйте адресные книги при необходимости и протестируйте шаблоны и плагины.
Полезные ссылки
- https://www.howtoforge.com/changing-from-squirrelmail-to-roundcube-on-your-ispconfig3-server
- http://www.ochounos.com/blog/13
- https://www.centos.org/forums/viewtopic.php?t=29226
Заключение
Следуя этим шагам, вы сможете установить Roundcube на CentOS 6.4 с ISPConfig 3. Проверьте окружение (PHP, расширения, SELinux, брандмауэр), корректно настройте права и HTTPS, а также удалите инсталлятор после завершения. Если что‑то не работает — начните с проверки логов Apache и логов Roundcube, затем последовательно устраняйте проблемы, описанные в разделе “Типичные проблемы”.
Важно: если вы заметили ошибки в инструкциях или можете предложить улучшения — пожалуйста, исправьте и поделитесь опытом с сообществом.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента