Инструкция по установке EAI почтового сервера под ОС Debian 11 amd64
Инструкция по установке EAI почтового сервера под ОС Debian 11 amd64
С помощью данной инструкции вы сможете установить почтовый сервер с поддержкой использования интернационализированных адресов электронной почты (EAI) на базе ПО с открытым исходным кодом. Почтовый сервер можно развивать далее с помощью другого ПО. В данной инструкции не учтены моменты, связанные с настройкой доменных имен, сертификатов, DKIM-записей и hostname.
Введение
Настраиваемая система представляет собой два идентичных узла, с разными именами серверов и сетевыми адресами. Каждый узел содержит:
- сервер баз данных для возможности создания/удаления почтовых доменов и адресов
- почтовый сервер exim
- транспортную почтовую систему courier
- веб-интерфейс управления почтовыми доменами и адресами vexim
- веб-сервер apache2
- интерпретатор php
- почтовый веб-клиент roundcube
Установка сервера баз данных
apt install default-mysql-server default-mysql-client
Создание пользователя и базы данных для работы почтовой системы и веб-интерфейса
Заходим в mysql и выполняем:
создание БД
create database vexim; create database roundcube;
создание пользователей
CREATE USER 'vexim'@'localhost' IDENTIFIED BY '*************'; CREATE USER 'roundcube'@'localhost' IDENTIFIED BY '*************';
настройка доступов
GRANT ALL PRIVILEGES ON vexim.* TO 'vexim'@'localhost'; GRANT ALL PRIVILEGES ON roundcube.* TO 'roundcube'@'localhost'; flush privileges;
Установка веб-сервера apache2
apt install apache2
Сразу же внесем правки в виртуальный хост для работы roundcube, а именно изменяем директиву DocumentRoot
DocumentRoot /usr/share/roundcube
P.S. если перезапустить веб-вервер сейчас, то он не будет работать, так как папка отсутствует
Установка PHP
apt install php php7.4-mbstring php7.4-xml php7.4-mysql php7.4-gd php7.4-imagick php7.4-zip
Установка roundcube
Тестирование последней версии roundcube не было успешным, поэтому будет произведена установка более старой версии
Скачиваем исходный код
wget https://github.com/roundcube/roundcubemail/releases/download/1.4.9/roundcubemail-1.4.9-complete.tar.gz
Распаковываем архив с исходным кодом
tar -xvzf roundcubemail-1.4.9-complete.tar.gz
Переносим файлы на нужное место
1. Создаем папку
mkdir /usr/share/roundcube
2. Копируем
cp -r roundcubemail-1.4.9/* /usr/share/roundcube/
3. Настраиваем владельца папки
chown -R www-data:www-data /usr/share/roundcube/
4. Теперь можно перезапустить вебсервер и приступить к настройке roundcube
настройка происходит по адресу http://<ip>/installer нас интересутет пункт два, инициализация БД, необходимо проверить имя БД, пользователя и ввести пароль, после этого на пункте три нажать кнопку "Initialize Database"
5. В конце настройки удаляем папку installer
rm -rf /usr/share/roundcube/installer
6. Доступ в roundcube готов по адресу http://<ip>
Установка почтового сервера exim
apt install exim4-daemon-heavy
Установка транспортной почтовой системы courier
apt-get install courier-imap courier-pop courier-authlib-mysql courier-authdaemon
Настройка доступа к серверу баз данных для авторизации
vim /etc/courier/authmysqlrc в данном файле изменяем строки с MYSQL_USERNAME, MYSQL_DATABASE и MYSQL_PASSWORD в них прописываем имеющийся у нас логин, имя базы и пароль, так же
authmodulelist="authmysql" MYSQL_USER_TABLE users MYSQL_LOGIN_FIELD username MYSQL_HOME_FIELD pop MYSQL_NAME_FIELD realname
и перезапускаем courier командой service courier-* restart
Установка веб-интерфейса vexim
Устанавливаем пакет для возможности работы с архивом zip
apt install unzip
Копируем исходный код и распаковываем архив
cd /var/www/ wget https://github.com/vexim/vexim2/archive/master.zip unzip master.zip
Импортируем схему в ранее созданную базу данных
mysql vexim < /var/www/vexim2-master/setup/mysql.sql
При этом импорте нам будет сообщен пароль от пользователя siteadmin, сохраняем его себе, он будет нужен для доступа в панель администрирования.
Настраиваем доступ к серверу баз данных
cd /var/www/vexim2-master/vexim/config mv variables.php.example variables.php
vim variables.php в данном файле интересует строка sqlpass в нее добавляем созданный пароль к пользователю vexim, а также меняем значение полей uid и gid на значение для пользователя Debian-exim на нашем сервере.
Настройка веб-сервера для доступа в панель vexim
vim /etc/apache2/conf-enabled/vexim.conf
Добавляем строку
Alias /vexim /var/www/vexim2-master/vexim
и перезапускаем веб-сервер
service apache2 restart
После этого можно будет пройти авторизацию с созданным ранее пользователем siteadmin по адресу http://<ip>/vexim
Настройка завершена, далее потребуется наличие зарегистрированного доменного имени, чтобы создать его на сервере. Домен должен иметь возможность работы с DNS.