Использование сервера TEGU с интерфейсом Roundcube¶
- Содержание
- Использование сервера TEGU с интерфейсом Roundcube
- Подготовка к установке
- Установка Roundcube Webmail
- Настройка Roundcube Webmail
Roundcube — клиент для работы с электронной почтой с веб-интерфейсом, написанный на PHP с использованием JavaScript, CSS, HTML и технологией AJAX.
- Для работы Roundecube понадобится PHP версии 7.3.0 или выше.
- В качестве СУБД могут использоваться:
- MySQL,
- PostgreSQL,
- SQLite,
- MSSQL,
- Oracle Database.
В связи с тем, что Почтовый сервер TEGU использует Postgres, мы считаем целесообразным и с Roundecube использовать эту прекрасную СУБД. Поэтому данный рецепт описывает установку Webmail с Postgres.
Подготовка к установке¶
Рассмотрим установку на базе Linux Debian 11
Настройка и установка системной локали по умолчанию¶
dpkg-reconfigure locales
выбираем ru_RU.UTF-8
Установка, настройка и изменение часового пояса¶
timedatectl set-timezone Europe/Moscow
Посмотреть список всех timezоne¶
Посмотреть список всех timezоne, доступных для установки на сервере, можно командой:
timedatectl list-timezones
Обновление списка timezone на сервере¶
Перед настройкой или изменением часового пояса, рекомендуется обновить список timezone на сервере. Они периодически меняются:
apt update && apt upgrade tzdata
Настройка синхронизации времени через интернет¶
Настроим синхронизацию времени через интернет, смотрим что у нас настроено в качестве службы обновления времени:
timedatectl
Установка Roundcube Webmail¶
wget https://github.com/roundcube/roundcubemail/releases/download/1.6.2/roundcubemail-1.6.2-complete.tar.gz
Распаковываем архив¶
tar xvf roundcubemail-1.6.2-complete.tar.gz
Создаем папку:
mkdir -p /var/www/
Перемещаем /var/www/roundcube :
mv roundcubemail-1.6.2 /var/www/roundcube
Задаем права:
chown -R www-data:www-data /var/www/roundcube/ chmod -R 775 /var/www/roundcube/
cd /var/www/roundcube chown www-data:www-data temp/ logs/ -R
Устанавливаем компоненты PHP¶
apt install software-properties-common
apt-get install ca-certificates apt-transport-https software-properties-common curl lsb-release -y
curl -sSL https://packages.sury.org/php/README.txt | bash -x
apt update
apt install php-net-ldap2 php-net-ldap3 php-imagick php8.1-common php8.1-pgsql php8.1-gd php8.1-imap php8.1-curl php8.1-zip php8.1-xml php8.1-mbstring php8.1-bz2 php8.1-intl php8.1-gmp php8.1-redis libapache2-mod-php8.1 php8.1-ldap php8.1-imagick
Устанавливаем Postgres¶
apt install postgresql postgresql-contrib
Проверяем статус службы:
systemctl status postgresql
Сразу после установки проверяем слушает ли сервер порт 5432 и на каком адресе:
ss -lnpt | grep 5432
Должны увидеть примерно такой вывод:
LISTEN 0 244 127.0.0.1:5432 0.0.0.0:* users:(("postgres",pid=26097,fd=6)) LISTEN 0 244 [::1]:5432 [::]:* users:(("postgres",pid=26097,fd=5))
Размешаем автоматический запуск Postgresql:
systemctl enable postgresql
После этого откроем файл конфигурации postgresql.conf в директории /etc/postgresql/13/main/ :
nano /etc/postgresql/13/main/postgresql.conf
И в нём раскомментируем и исправим параметр listen_addresses:
listen_addresses = '*'
Затем откроем конфигурационный файл pg_hba.conf в той же директории:
nano /etc/postgresql/13/main/pg_hba.conf
Переходим на пользователя postgres и создадим пользователя zabbix и базу данных:
su - postgres -s /bin/bash
psql
Создаем базу данных:
CREATE DATABASE roundcubemail;
Создаем пользователя:
CREATE USER roundcube WITH PASSWORD 'roundcube_password';
Мы создали пользователя со следующим логином и паролем:
CREATE USER roundcube WITH PASSWORD 'Qwe123Poi';
Зададим права на пользователя и базу данных:
ALTER DATABASE roundcubemail OWNER TO roundcube; GRANT ALL PRIVILEGES ON DATABASE roundcubemail TO roundcube;
Выйдем из консоли Postgres и выполним инициализацию таблиц.
Для этого нажмите:
Ctrl+D
psql -h 127.0.0.1 -d roundcubemail -U roundcube -W -f /var/www/roundcube/SQL/postgres.initial.sql
Введите заданный пароль пользователя roundcube.
Настройка виртуального хоста Apache¶
Устанавливаем Apache:
apt install apache2 apache2-utils
Перед началом настройки убедитесь, что в вашей системе запущены службы Apache.
Выполните следующую команду, чтобы проверить статус служб apache:
systemctl status apache2 systemctl start apache2 systemctl enable apache2
Подготовка Apache¶
Затем нам необходимо создать виртуальный хост Apache, на котором и будет доступен наш почтовый клиент.
Для этого создайте файл /etc/apache2/sites-available/roundcube.conf со следующим содержимым:
nano /etc/apache2/sites-available/roundcube.conf
<VirtualHost *:80> ServerName roundcube.local ServerAdmin webmaster@localhost DocumentRoot /var/www/roundcube/public_html/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
В строке ServerName нужно указать поддомен, на котором будет доступен Roundcube,
а в строке DocumentRoot мы указываем путь к папке программы.
Если вы устанавливаете программу на локальный компьютер, то нужно добавить такую строчку в файл /etc/hosts, чтобы выбранное доменное имя указывало на локальный компьютер:
nano /etc/hosts
127.0.0.1 roundcube.local
Затем надо настроить временную зону php для этого откройте файл
nano /etc/php/8.1/apache2/php.ini, найдите такую строчку и пропишите в ней свою временную зону:
date.timezone = Asia/Yekaterinburg
Затем активируйте только что созданный виртуальный хост, модуль rewrite и перезапустите веб-сервер:
a2ensite roundcube.conf a2enmod rewrite systemctl restart apache2
Настройка Roundcube Webmail¶
Теперь давайте разберемся как настроить roundcube.
Запустить установщик можно открыв в браузере адрес http://ваш_ip_address/installer .
Здесь все пункты, кроме Checking available databases (неиспользуемых баз данных) должны иметь значение OK.
Если это не так, надо выполнить действия, которые предлагает программа чтобы значение изменилось на OK.
Только после этого переходите к следующему шагу.
Database setup¶
Здесь нужно будет указать:
- Тип базы данных;
- Имя пользователя базы данных;
- Название базы данных;
- Пароль.
Настройки IMAP¶
Настройки SMTP¶
В следующем разделе указываете¶
- Язык: ru_RU — для русского языка;
- skin: тему оформления веб-интерфейса (можно изменить после установки);
- mime_param_folding: Full RFC 2231.
Остальное по-умолчанию.
Создаем конфигурацию.