Как узнать версию roundcube
Почтовый веб-клиент на Roundcube в Ubuntu 16.04
Сегодня многие пользуются браузерными почтовыми клиентами типа Gmail. Но если вы хотите избавиться от рекламы в своем почтовом ящике или перейти с публичного почтового сервиса на собственный домен, вы можете запустить свой собственный почтовый клиент (также это называется пользовательским почтовым агентом).
Roundcube – это современный настраиваемый клиент электронной почты на основе IMAP, написанный на PHP. Он имеет большой набор функций для просмотра, организации и составления электронных писем, а также для поддержки контактов и управления календарями. Roundcube предлагает репозиторий плагинов, с помощью которого вы можете расширить функциональность клиента.
Чтобы понять, подходит ли Roundcube для организации вашей электронной почты, давайте рассмотрим компоненты, которые обслуживают электронную почту:
Когда вы отправляете электронное письмо, ваш пользовательский почтовый агент переносит его на MTA вашего почтового сервера, используя SMTP. После нескольких пересылок MTA адресата получит электронное письмо и передаст его в MDA с помощью IMAP. Затем ваш адресат сможет просмотреть электронную почту, используя свой MUA.
Примечание: Другими словами, Roundcube является MUA, а не MTA. Это означает, что для работы Roundcube вам все равно необходимо иметь сервис, который управляет электронной почтой. Вы можете использовать свой собственный почтовый сервер, но если вы не хотите, Roundcube можно использовать с публичными сервисами электронной почты типа Gmail.
Данный мануал поможет настроить Roundcube с бэкэндом Gmail.
Требования
1: Установка зависимостей
Сначала нужно установить зависимости и настроить PHP. После установки Roundcube вы сможете обратиться к его странице проверки зависимостей и убедиться, что все установлено правильно.
В комплект не входят такие зависимости:
Обновите индекс пакетов и установите все зависимости:
sudo apt-get update
sudo apt-get install php-xml php-mbstring php-intl php-zip php-pear zip unzip git composer
После этого нужно включить некоторые библиотеки PHP в файле php.ini (/etc/php/7.0/apache2/php.ini). Откройте его:
sudo nano /etc/php/7.0/apache2/php.ini
Здесь нужно раскомментировать некоторые опции. В файлах php.ini закомментированные строки начинаются с точки с запятой (вместо более распространенного символа #). Чтобы раскомментировать строку, удалите эту точку с запятой; чтобы закомментировать строку, добавьте точку с запятой в начало.
Найдите раздел, который содержит много закомментированных строк, начиная с extension=. Раскомментируйте строки расширений php_mbstring.dll и php_xmlrpc.dll.
Затем добавьте строку extension=dom.so в конец блока расширений.
Затем найдите параметр date.timezone. Раскомментируйте строку и добавьте часовой пояс в кавычки. Чтобы узнать, как отформатировать часовой пояс в файле php.ini, вы можете проконсультироваться с этой страницей. Например:
Затем найдите параметр upload_max_filesize. Этот параметр в основном влияет на загрузку вложений. По умолчанию установлено значение 2 МБ. Вы можете установить любое значение, но большинство почтовых серверов ограничивают общий размер вложений до 10 МБ. Мы установим здесь 12 МБ, если несколько пользователей одновременно добавят вложения.
Затем найдите post_max_size. Если параметр upload_max_filesize применяется только к вложениям, этот параметр применяется к размеру всей электронной почты (включая вложения). Чтобы предотвратить взаимоблокировку, установите здесь значение чуть выше.
Найдите параметр mbstring.func_overload, раскомментируйте его и установите значение 0. Он позволяет поддерживать многобайтовые строковые функции.
Сохраните и закройте файл.
Теперь на сервере есть стек LAMP, все зависимости Roundcube и необходимые параметры PHP.
2: Загрузка Roundcube
Есть два способа установить Roundcube: из пакета или из исходного кода. Для Roundcube есть архив PPA, но поскольку проект находится в активной разработке, PPA часто устаревает (на момент написания статьи PPA находится на версии 1.2.3, но сам проект – 1.3). Чтобы получить самую последнюю версию, лучше установить Roundcube из исходного кода.
Перейдите на страницу загрузки Roundcube. Просмотрите раздел Stable version и найдите пакет Complete. Щелкните правой кнопкой мыши кнопку Download и выберите Copy Link Address.
Используйте этот адрес в wget для загрузки архива Roundcube на сервере.
Команда tar использует такие аргументы:
Затем переместите распакованный каталог в /var/www и переименуйте его в roundcube. Обязательно опустите конечные / в именах каталогов, чтобы переместить и переименовать весь каталог, а не содержимое в каталоге.
sudo mv roundcubemail-1.3.0 /var/www/roundcube
Теперь дайте Apache право на создание и редактирование файлов (конфигов и логов). Передайте права на каталог пользователю и группе www-data. У владельцев должны быть права на чтение и запись, а у остальных пользователей – только на чтение.
Итак, вы загрузили код Roundcube и обновили его местоположение и права, но на данный момент он только частично установлен. Чтобы завершить установку, нужно подключить Roundcube к нашей базе данных через GUI. Прежде чем вы сможете это сделать, вам нужно сообщить Apache, где находится Roundcube, чтобы веб-сервер мог загрузить сайт.
3: Настройка Apache
Теперь нужно отредактировать файл виртуального хоста Apache. Виртуальные хосты – это функция, позволяющая Apache размещать несколько сайтов на одном сервере. Даже если Apache обслуживает единственный сайт, проще и чище использовать файл конфигурации виртуального хоста, чем редактировать основную конфигурацию Apache.
Скопируйте стандартный файл виртуального хоста:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/roundcube.conf
Откройте новый файл:
sudo nano /etc/apache2/sites-available/roundcube.conf
Теперь нужно внести ряд изменений в этот файл. Ниже вы найдете описание всех важных директив, а затем – полный код файла.
В блоке VirtualHost нужно изменить следующие директивы:
Затем нужно добавить новый блок Directory, который сообщает Apache, что делать с каталогом Roundcube.
Вот так будет выглядеть файл после внесения всех изменений (комментарии опущены для краткости):
Сохраните и закройте файл.
Отключите виртуальный хост по умолчанию:
sudo a2dissite 000-default
sudo a2ensite roundcube
Включите модуль mod_rewrite, который необходим Roundcube.
sudo a2enmod rewrite
Перезапустите Apache, чтобы обновить настройки.
sudo apache2ctl restart
Клиент электронной почты почти готов к использованию. Последним шагом установки является настройка базы данных, в которой Roundcube сможет хранить свои данные.
4: Настройка MySQL
Если на этом этапе вы откроете веб-браузер и попытаетесь получить доступ к своему серверу (по IP-адресу или доменному имени), вы увидите страницу ошибки. Это связано с тем, что Roundcube проверяет файл, созданный во время настройки, но мы еще не выполнили эту настройку. Прежде чем вы сможете это сделать, необходимо подготовить базу данных.
Подключитесь к интерактивной оболочке MySQL как пользователь root.
После этого будет предложено ввести пароль root, который вы создали при установке MySQL.
В оболочке MySQL вы можете создать базу данных и пользователя, а затем предоставить этому пользователю права на новую БД.
Сначала создайте базу данных. Эта команда создает базу данных roundcubemail, а затем предоставляет параметры базы данных, такие как набор символов (utf8).
CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
MySQL определяет пользователя по имени точке, с которой он может подключиться. Следующая команда создаст пользователя roundcube и привяжет его к localhost. Укажите в команде пароль этого пользователя.
CREATE USER ’roundcube’@’localhost’ IDENTIFIED BY ‘password’;
Передайте пользователю roundcube все права на БД roundcubemail.
GRANT ALL PRIVILEGES ON roundcubemail.* to ’roundcube’@’localhost’;
Сохраните изменения и закройте оболочку MySQL.
FLUSH PRIVILEGES;
EXIT;
Теперь у вас есть пустая БД roundcubemail и пользователь roundcube@localhost. У пользователя есть все права на БД. Теперь нужно настроить структуру базы данных, чтобы Roundcube знал, где хранить информацию. Установка Roundcube настроит базу данных, поэтому вам не нужно делать это вручную.
Следующая команда скажет MySQL использовать нового пользователя для чтения файла /var/www/roundcube/SQL/mysql.initial.sql и применить конфигурацию к roundcubemail.
Введите пароль пользователя roundcube.
5: Настройка Roundcube
Если вы попробуете получить доступ к установке Roundcube, вы увидите ошибку. Чтобы завершить установку, нужно открыть страницу http://your_server_ip_or_domain/installer.
Если все настроено правильно, справа от каждой позиции на экране будет зеленый ОК, за исключением нескольких: это опциональный параметр LDAP и строки для других баз данных (кроме MySQL). Если в какой-либо другой строке вы видите NOT AVAILABLE, вам необходимо установить эти зависимости. Roundcube предоставляет ссылки на все недостающие зависимости, чтобы вы могли выяснить, что нужно установить.
Если все верно, перейдите в конец страницы и нажмите NEXT.
Форма, разбитая на семь разделов, помогает создать конфигурационный файл Roundcube. Ниже мы рассмотрим все разделы формы, которые нужно заполнить. Если ниже вы не найдете информации о какой-либо строке формы, вы можете пропустить эту строку и оставить ее со значением по умолчанию.
Общая конфигурация
Раздел General configuration предоставляет несколько общих опций. Здесь нужно изменить только одну опцию – ip_check. Выберите ее, чтобы повысить безопасность установки. Она проверяет IP клиента.
Вы также можете изменить здесь такие опции:
Все остальные параметры можно оставить по умолчанию.
Логирование и отладка
Все параметры в разделе Logging & Debugging можно оставить по умолчанию.
Настройка базы данных
Roundcube использует MySQL для хранения информации для запуска веб-клиента (а не ваших писем). В этом разделе нужно сообщить Roundcube, как получить доступ к базе данных, настроенной в разделе 4. Вам понадобится имя пользователя базы данных, пароль пользователя и имя базы данных, которые вы создали ранее.
Параметры IMAP
Для этого раздела вам понадобятся настройки IMAP и SMTP вашего почтового сервера. Поскольку этот мануал использует Gmail, ниже приведены параметры Gmail, но если у вас есть собственный сервис электронной почты, вы должны использовать его информацию. Большинство провайдеров электронной почты поддерживают соединения с шифрованием или без шифрования. Обязательно избегайте использования незащищенных соединений. Используйте URL-адреса и порты IMAP/SMTP.
Параметры SMTP
SMTP-сервер является частью электронной почты, которая отвечает за отправку электронных писем.
Настройки отображения и пользовательские префы
Оставьте в разделе Display settings & user prefs значения по умолчанию. Если вы хотите изменить язык установки Roundcube, сделайте это вручную: кликните по ссылке RFC1766 и обновите поле language.
Плагины
Плагины – это то, что делает Roundcube по-настоящему классным почтовым клиентом. Ниже приведен хороший набор настроек по умолчанию, которые вы можете установить. Конечно, все плагины являются опциональными, но приведенная ниже комбинация упростит работу и повысит безопасность установки.
Нажмите кнопку UPDATE CONFIG в нижней части страницы, чтобы сохранить настройки. Теперь давайте проверим, все ли работает.
После обновления конфигурации страница обновится, и в верхней части появится желтое информационное окно, в котором говорится «The config file was saved successfully into RCMAIL_CONFIG_DIR directory of your Roundcube installation» (это значит, что файл конфигурации был успешно сохранен в каталоге RCMAIL_CONFIG_DIR вашей установки Roundcube).
Нажмите кнопку CONTINUE, чтобы проверить конфигурацию. Как и на странице проверки зависимостей, в каждой строке вы увидите зеленый маркер OK, если ошибок нет.
Чтобы проверить работу установки, введите имя и пароль IMAP и SMTP в разделы Test IMAP config и Test SMTP config, а затем нажмите Send test email и Check login. Если тест прошел успешно, страница обновится и вы увидите зеленый маркер OK.
Примечание: Если у вас в Gmail включена двухфакторная аутентификация, вам нужно сгенерировать специальный пароль для приложения, потому что Roundcube не умеет запрашивать токены для такой аутентификации.
Проверив SMTP и IMAP, вы можете вернуться в сессию SSH и удалить каталог инсталлятора. Так никто больше не сможет сгенерировать новые конфигурации и переопределить текущие настройки.
Теперь можно открыть Roundcube в браузере.
Заключение
Теперь у вас есть полностью готовая установка Roundcube, но вы должны предпринять дополнительные меры, чтобы обеспечить безопасность (например, добавить поддержку HTTPS и использовать шифрования GPG для вашей электронной почты).
Кроме того, вы можете установить новые темы, чтобы улучшить внешний вид вашего клиента, и добавить плагины, чтобы расширить функциональность. У Roundcube нет специального сайта для тем, но вы можете посетить Roundcube Skins или Roundcube forums.
Установите и настройте веб-почту Roundcube
Это последняя часть серии « Установка и настройка почтового сервера », в которой мы расскажем, как установить и настроить Roundcube Webmail.
RoundCube включает в себя все функции, которые вам нужны в почтовом клиенте, такие как составление сообщений Richtext / HTML, адресная книга, поддержка электронных писем MIME / HTML, несколько идентификаторов отправителей, проверка орфографии, просмотр трех столбцов, управление сообщениями перетаскивания и многое другое.
Подготовка
Зависимости PHP
Мы начнем с обновления списка пакетов и установки всех необходимых PHP- зависимостей:
После завершения установки выполните следующую команду sed чтобы установить значение date.timezone на UTC :
Перезапустите службу PHP FPM, чтобы изменения вступили в силу:
Создать базу данных MySQL
В этом руководстве мы будем использовать MySQL в качестве сервера базы данных. Войдите в оболочку MySQL :
Скачать Roundcube
На момент написания 1.3.8 является последней стабильной версией Roundcube. Прежде чем перейти к следующему шагу, вам следует проверить страницу загрузки Roundcube, чтобы узнать, доступна ли более новая версия.
Начните с загрузки архива Roundcube, используя следующую команду wget :
После завершения загрузки распакуйте архив и переместите код Roundcube в каталог /var/www/roundcubemail :
Настроить Nginx
В первой части этой серии мы создали серверный блок Nginx для экземпляра PostfixAdmin. Откройте файл конфигурации и добавьте следующие директивы расположения, выделенные желтым:
Перезагрузите службу Nginx, чтобы изменения вступили в силу:
Настроить Roundcube
Вам будет представлен следующий экран:
Если все необходимые расширения PHP загружены, мы можем перейти к следующему шагу, где мы можем настроить нашу установку Roundcube:
Самая важная часть здесь — ввести правильные настройки базы данных MySQL.
После создания структуры базы данных удалите каталог installer чтобы предотвратить изменение конфигурации и / или несанкционированный доступ.
Включение автоматической очистки кеша Roundcube необязательно, но рекомендуется:
Проверьте установку Roundcube
Откройте свой веб-браузер, перейдите по https://mail.linuxize.com/roundcubemail : https://mail.linuxize.com/roundcubemail и войдите в систему, используя имя пользователя и пароль своей учетной записи электронной почты.
Включить плагины Roundcube
Roundcube поставляется с рядом плагинов, которые по умолчанию отключены. В этом руководстве мы активируем password и managesieve плагинами. Эти плагины позволят пользователям создавать сетчатые фильтры и изменять свои пароли из интерфейса Roundcube.
Выводы
В этом руководстве показано, как установить и настроить Roundcube Webmail в вашей системе Ubuntu, а также как установить и включить плагины Roundcube для добавления дополнительных функций, таких как сетчатые фильтры.
Это последний пост из этой серии. Если у вас есть вопросы, не стесняйтесь оставлять комментарии.
Этот пост является частью серии « Установка и настройка почтового сервера ». Другие сообщения из этой серии:
Обновление iRedMail с версии 0.9.9 до 1.0
Процесс обновления от версии к версии отличается — чтобы получить подробную информацию об обновлении, заходим на страницу со списком релизов iRedMail и переходим по ссылке для описания обновления соответствующей версии сервера:
Рассмотрим подробнее обновление всех компонентов по шагам:
1. Обновление iRedAPD
Переходим на страницу dl.iredmail.org/yum/misc и копируем ссылку на самую последнюю версию iRedAPD:
* в данном примере мы скопировали ссылку на iRedAPD 3.5.
Используя ссылку, загружаем пакет на сервер:
Распаковываем скачанный пакет:
tar zxvf iRedAPD-*.tar.gz
Переходим в папку tools распакованного каталога:
И запускаем скрипт на обновление пакета:
Выходим из каталога:
2. Установка mlmmjadmin версии 2.1
В инструкции указана установка именно версии 2.1 — выполняем следующие команды:
3. Обновление Roundcube
Для iRedMail 0.9.9 используется Roundcube версии 1.3.8. Его необходимо обновить до версии 1.4.1. Сначала нам необходимо выполнить резервное копирование баз данных и файлов, после можно обновлять сам портал.
Резервное копирование
Перед обновление Roundcube сохраняем данные текущей версии. Создадим каталог, куда поместим архивы:
Делаем дамп базы следующей командой:
Обновление roundcube
Переходим на страницу GitHub для загрузки roundcube версии 1.4.1 — копируем ссылку на загрузку данной версии:
Используя скопированную ссылку загружаем на сервер портал:
tar zxvf roundcubemail-1.4.1-complete.tar.gz
Переходим в распакованный каталог:
Запускаем установку roundcubemail:
* в данном примере мы запускаем скрипт установки новой версии roundcubе в каталог /opt/www/roundcubemail.
Система обнаружит, что в каталоге /opt/www/roundcubemail уже установлен портал другой версии и предложит его обновить — отвечаем утвердительно:
Upgrading from 1.3.8. Do you want to continue? (y/N)
y
Установщик автоматически заменит необходимые файлы и обновит базу данных.
Выходим их каталога:
4. Обновление netdata до версии 1.19.0
Переходим на GitHub, страницу netdata 1.19.0 — копируем ссылку на скачивание run-файла:
. и скачиваем пакет на сервер:
Разрешаем запуск файла на выполнение:
chmod +x netdata-v1.19.0.gz.run
Запрещаем отправку анонимной статистики:
5. Вносим правки в Postfix
Открываем конфигурационный файл postfix:
smtpd_sender_restrictions =
reject_unknown_sender_domain
.
check_sender_access pcre:/etc/postfix/sender_access.pcre
. и перемещаем reject_unknown_sender_domain после check_sender_access pcre:/etc/postfix/sender_access.pcre — получаем:
smtpd_sender_restrictions =
.
check_sender_access pcre:/etc/postfix/sender_access.pcre
reject_unknown_sender_domain
Открываем файл /etc/postfix/helo_access.pcre:
Добавляем в самый низ:
systemctl restart postfix
6. Изменение правил Fail2ban
Переходим в каталог с правилами fail2ban
По очереди выполняем команды:
После перезапускаем Fail2ban:
systemctl restart fail2ban
7. Обновление бэкэнда
Далее действия зависят от типа базы данных, которая используется для нашего iRedMail. Есть варианты использования OpenLDAP, MySQL/MariaDB, PostgreSQL. В данной инструкции подробнее затронем только MySQL/MariaDB. Действия по обновлению бэкэнда до версии 1.0 позволят включить проверку состояния квот.
Добавление поля mysql
Скачиваем дамп с новой структурой для базы vmail:
Пошаговая инструкция по обновлению iRedMail до версии 1.0
Как узнать версию roundcube
На одном почтовом сервере Roundcube установлен относительно длительное время, а поскольку даным сервером и сам пользуюсь каждый день через этот веб-интерфейс, то решил обновить Roundcube до более новой версии.
# pkg_info | grep roundcube roundcube-0.4.2,1 Fully skinnable XHTML/CSS webmail written in PHP |
Первым делом забекапим базу данных и каталог Roundcube. Бекапы размещу в домашнем каталоге:
Приступим к обновлению. Обновляться будем с помощью такого инструмента, как portupgrade.
# portupgrade roundcube-0.4.2,1 |
Процесс занял относительно много времени, поскольку еще собирался и устанавливался icu-4.8, однако прошел без ошибок.
Самое время заняться обновлением БД. Перед обновлением БД необходимо отредактировать дамп обновления, удалив все строки до версии, с которой мы обновляемя. Тоесть, в моем случае, после редактирования файл дампа БД начинается строкой:
— Updates from version 0.4.2 |
Если этого не сделать, то после попытки импорта дампа, можно наблюдать примерно такую ошибку:
ERROR 1091 (42000) at line 7: Can’t DROP ‘idx’; check that column/key exists |
Но мы ведь подготовились 😉 Импортируем дамп в БД:
Скрипт спросил, с какой версии проводится апгрейд. Ввел 0.4.2 и нажал Enter, после чего скрипт вывел кучу информации на консоль и завершил обновление.
Однако попытка входа в веб-интерфейс завершилась неудачей с ошибкой 500 (коды ошибок веб-сервера смотреть здесь). В логах веб-сервера обнаружил такую запись:
[Thu Dec 29 04:25:03 2011] [alert] [client 192.168.206.114] /usr/local/www/roundcube/.htaccess: AddType not allowed here [Thu Dec 29 04:25:05 2011] [alert] [client 192.168.206.114] /usr/local/www/roundcube/.htaccess: AddType not allowed here [Thu Dec 29 04:25:37 2011] [alert] [client 192.168.206.114] /usr/local/www/roundcube/.htaccess: AddType not allowed here |
Проверил конфигурацию веб-сервера. Обнаружил, что для каталога /usr/local/www/roundcube переменная AllowOverride была установлена в значение Limit. После изменения значения на All и перезапуска Apache получилось насладиться интерфейсом Roundcube.