Установка Roundcube на Ubuntu 18.04

Установка Roundcube на Ubuntu 18.04

Сегодня большинство людей используют веб-версии почтовых клиентов, например Gmail, для доступа к их электронной почте. Однако, если вы не хотите видеть рекламы или перешли на email привязанный к домену, то вам скорее всего понадобится собственный клиент для электронной почты. В этой статье будет рассмотрена установка Roundcube на Ubuntu 16.04.

Roundcube - это современный настраиваемый клиент для электронной почты написанный на PHP. В нём есть весь необходимый функционал, такой как просмотр, организация и написание электронных писем. Также имеется встроенный список контактов и календарь, а благодаря системе плагинов он легко расширяется. Поддерживается всеми популярными браузерами.

Подготовка

Для установка Roundcube на Ubuntu 16.04 вам понадобятся:

Установка зависимостей

Перед тем как устанавливать Roundcube нам необходимо установить все необходимые для него пакеты и настроить конфиг-файлы PHP. Этим и займёмся.

Первым делом обновим список пакетов и установим следующие зависимости:

sudo apt-get update
sudo apt-get install php-xml php-mbstring php-intl php-zip php-pear zip unzip git composer

Далее нам необходимо активировать некоторые библиотеки в файле настроек PHP, который в моём случае располагается по пути /etc/php/{версия php}/apache2/php.ini:

sudo nano /etc/php/{версия php}/apache2/php.ini

Далее нам необходимо активировать некоторые библиотеки в файле настроек PHP, который в моём случае располагается по пути /etc/php/{версия php}/apache2/php.ini:

sudo nano /etc/php/{версия PHP}/apache2/php.ini

Здесь нам необходимо раскомментировать расширения php_mbstring.dll и php_xmlrpc.dll.

. . .
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_exif.dll      ; Must be after mbstring as it depends on it
;extension=php_mysqli.dll
. . .
;extension=php_sqlite3.dll
;extension=php_tidy.dll
extension=php_xmlrpc.dll
;extension=php_xsl.dll
  . . .

И добавим расширение extension=dom.so

. . .
extension=php_xmlrpc.dll
;extension=php_xsl.dll
extension=dom.so
. . .

И последние модификации:

. . .
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "America/New_York"
. . .

Upload_max_filesize

. . .
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 12M
. . .

Post_max_size

. . .
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size = 18M
. . .

И, наконец, раскомментируем и установим значение равное 0 для параметра:

. . .
mbstring.func_overload = 0
. . .

Скачивание и установка Roundcube

Как и для большинства программ для Linux есть два варианта установки Roundcube: из PPA и из источника. Поскольку Roundcube активно развивается, то очень часто PPA-версия не является актуальной. Для того, что бы установить самую последнюю версию, мы установим Roundcube из источника.

Перейдите на страницу загрузки Roundcube, найдите ссылку на последнюю версию и скопируйте её.

Далее скачайте через консоль, используя wget.

wget https://github.com/roundcube/roundcubemail/releases/download/1.3.0/roundcubemail-1.3.0-complete.tar.gz

И распакуйте:

tar -xvzf roundcubemail-1.3.0-complete.tar.gz

Затем нам необходимо переместить распакованную программу в папку /var/www и переименовать в roundcube.

sudo mv roundcubemail-1.3.0 /var/www/roundcube

Настроим права на папки и файлы:

sudo chown -R www-data:www-data /var/www/roundcube/
sudo chmod 775 /var/www/roundcube/temp/ /var/www/roundcube/logs/

На этом всё, можем переходить к настройке Apache.

Настройка Apache для Roundcube

Здесь я не буду акцентировать внимание, так как весь процесс сводится к созданию виртуального хоста.

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/roundcube.conf
sudo nano /etc/apache2/sites-available/roundcube.conf

Вот так будет выглядеть файл roundcube.conf:

<VirtualHost *:80>
  ServerName your_server_ip_or_domain
  DocumentRoot /var/www/roundcube
  ServerAdmin sammy@example.com

  ErrorLog ${APACHE_LOG_DIR}/roundcube-error.log
  CustomLog ${APACHE_LOG_DIR}/roundcube-access.log combined

  <Directory /var/www/roundcube>
      Options -Indexes
      AllowOverride All
      Order allow,deny
      allow from all
  </Directory>
</VirtualHost>

Активируем новый хост и перезапускаем Apache:

sudo a2dissite 000-default
sudo a2ensite roundcube
sudo a2enmod rewrite
sudo apache2ctl restart

Почти готово. Теперь нам необходимо настроить MySQL

Настройка MySQL для Roundcube

Логинимся в MySQL:

mysql -u root -p

Создаём базу данных roundcubemail:

CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;

Создаём пользователя и даём ему права для данной БД:

CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON roundcubemail.* to 'roundcube'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Осталось лишь выполнить миграцию в нашу базу:

mysql -u roundcube -p roundcubemail < /var/www/roundcube/SQL/mysql.initial.sql

Установка Roundcube

Установка довольно простая, вам необходимо пройти по адресу http://id_address_или_домен/installer

Далее программа всё сделаем сама. На этом всё, надеюсь статья была вам полезна.