Форумы » Отзывы и предложения »
Опыт установки TEGU Freeeware
Добавил(а) Жадан Виталий больше 1 года назад
Добрый день
Пользовались yandex почтой, проблем не было, но после часа Х она должна была стать платной. Платить за почту не было желания. Поэтому начали выбирать варианты замены.
По подсказке коллег было 3 варианта, один из которых TEGU. После быстрого осмотра описания, подумали что не подходит, нет нужных функций. Второй вариант, так же сочли не подходящим по некоторым моментам. Приступили к третьему варианту, поставить postfix со всем обвесом.
Несколько дней все это настраивали, в итоге запустили, но любое дополнение или изменение, надо кучку конфигов править (по специфике настройки, пришлось еще и в базе некоторые моменты самим дописывать).
Решено было параллельно еще раз посмотреть на TEGU, но уже не читая, а установив и пощупав.
Вся настройка заняла несколько часов, с внесением всех учёток и параметров.
Несколько часов занял перенос почты из яндекса в tegu (более 60 гигов данных, в среднем от 5к писем на учетку).
Благодаря инструкции разработчиков + утилите imapsync (предлагаемый скрипт не взлетел с учетками из файла txt (разбираться не стали), сделали свой, который одновременно запускает несколько аккаунтов, а не по очереди). Так же было интересно посмотреть как поведет себя сервер при большой количестве писем.
Запустили imapsync параллельно на 20 аккаунтах. Результат оказался впечатляющий.
Принято решение оставить TEGU.
И сразу впечатление о работе (+ понравилось, - хотелось бы):
+ бесплатность
+ простота установки/настройки/обновления
+ скорость работы
+ требуемые ресурсы
- отсутствие расширенных логов
+ как выяснилось, FREE версия так же имеет поддержку (а это перекрывает минусы!)
В данной инструкции, будет всего лишь описан опыт (прошу сильно не ругать, это всего лишь личный опыт, не более) установки TEGU (на момент написания v1.27.0) версии FREE, на две ОС (Ubuntu, Debian).
Как развернуть ОС описывать не стоит наверно, так как ничего особенного не выполнялось, просто чистая установка, и сразу приступаем к установке TEGU.
Сразу нужно оговориться, что решено сделать два субдомена:
MX запись mx.ВАШ_ДОМЕН MAIL для веб-клиента mail.ВАШ_ДОМЕН
По установке TEGU, точно так же проблем не возникло, есть очень хорошая инструкция от разработчиков ( Tegu_Install ).
Личный совет: выполнять все по пунктам как описано, и не пропускать ничего.
Установку веб-сервера расписывать так же подробно не будем (каждый настраивает любимый ему веб-сервер), в нашем случаи был установлен стек LAMP.
cd /etc/apache2/sites-available
создаем файл mail.ВАШ_ДОМЕН.conf
в него добавляем минимальный конфиг:
<VirtualHost *:80> ServerName mail.ВАШ_ДОМЕН ServerAdmin webmaster@localhost DocumentRoot /var/www/html/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Выполняем команды, что бы включить домен:
a2ensite mail.ВАШ_ДОМЕН systemctl restart apache2
На прописывании домена в зоне ДНС останавливаться не будем, так как у всех хостеров немного отличается, а так же в инструкции от разработчиков TEGU основа описана достаточно хорошо.
Сразу решаем, что надо настроить SSL:
Ставим certbot + плагин для apache2
apt-get install certbot python3-certbot-apache
Получаем сертификат на mail.ВАШ_ДОМЕН (документаций много, можно получить как и по ДНС, так и автоматически через плагин), в нашем случаи через установленный плагин для apache2.
Автоматизируем получение сертификата (частично модернизирована инструкция разработчиков TEGU):
создаем файл /etc/letsencrypt/renewal-hooks/deploy/hook01 , с содержимым:
do if [ "$domain" = mail.ВАШ_ДОМЕН ] then /opt/tegu/tegu_certs /bin/systemctl restart tegu fi done
делаем исполняемым:
chmod +x /etc/letsencrypt/renewal-hooks/deploy/hook01
создаем файл /opt/tegu/ tegu_certs , с содержимым:
#!/bin/bash cat /etc/letsencrypt/live/mail.ВАШ_ДОМЕН/fullchain.pem > /opt/tegu/certs/cert.pem cat /etc/letsencrypt/live/mail.ВАШ_ДОМЕН/privkey.pem > /opt/tegu/certs/key.pem chgrp mail /opt/tegu/certs/* chmod 640 /opt/tegu/certs/*
делаем исполняемым:
chmod +x /opt/tegu/ tegu_certs
выпоняем:
chgrp root /etc/letsencrypt/archive/ mail.ВАШ_ДОМЕН /*
P.S. по рекомендации разработчиков TEGU, этот пункт не нужен:
20 0,12 * * * /opt/tegu/ tegu_certs >/dev/null
Сертификаты получены и должны обновляться автоматически теперь)
А основных настройках TEGU указали, соответственно:
Имя сервера (используется в приветствии SMTP и в HELO/EHLO) mx.ВАШ_ДОМЕН
Путь до сертификатов не трогаем.
После применения настроек проверяем
netstat -tulpn | grep tegu
Как видим 993 и 465 порты есть, значит сертификаты прочитались и все хорошо.
Так как у нас используется несколько доменов на одном сервере (1 основной, остальные чисто на приемку почты, с перенаправлением на основной), вычитав что для перенаправления почты нет необходимости создавать Хранилища почты, но опытным путем выяснилось что это не так. Создавать Хранилища необходимо для всех доменов, без исключений. Опять же строго придерживаясь инструкции. После этого делается перенаправление и письма доходят без проблем.
Так же вероятно нет необходимости описывать добавление пользователей и групп пользователей, так как опять же все выполнялось по оф инструкциям.
После выполнения всех пунктов, но бегать ставить всем локальный клиент, что бы получать почту, не совсем удобно, поэтому было принято решение для установки веб-клиента.
Рассматривалось два варианта:
Rainloop
RoundCube
Оба варианты не плохие, первый более легкий и шустрый, второй с большим набором функций.
Установка Rainloop:
Так как ставить будем как единственный веб-клиент то выполняем следующие команды:
скачиваем последнюю версию:
wget https://www.rainloop.net/repository/webmail/rainloop-latest.zip
распаковываем:
unzip rainloop-latest.zip -d /var/www/html
переходим в каталог:
cd /var/www/html
выставляем права:
chown -R www-data:www-data
фактически можно заходить по mail.ВАШ_ДОМЕН и начинаем настраивать админку, которая доступна по ссылке:
https://mail.ВАШ_ДОМЕН/?admin
Для входа в админку возможно спросит логин/пароль: admin/12345.
идем сначала в Домены, там удаляем все тестовые домены и добавляем наш домен, двумя вариантами на выбор:
1) localhost (на скриншоте, без использования SSL) 2) mail.ВАШ_ДОМЕН (на скриншоте, с использованием SSL)
Если нажать кнопку ТЕСТ, то сразу произойдет проверка настроек, и надпись IMAP + SMTP загорятся зеленым, то поздравляю, ВЫ все сделали верно!!!
В случаи если загорятся красным, проверяйте работу с сертификатами и проверйте подробнее настройки.
Что бы были красивые логины, без @ВАШ_ДОМЕН, указываем:
Возможно будет проблема с проверкой SSL сертификата, тогда вот эта опция, позволит ее решить:
В этом же разделе, настраиваем безопасный доступ в админку.
Плагины ставятся по желанию, устанавливаемая версия:
В принципе на этом можно настройку данного клиента считать законченной, письма будут уже получаться.
Установка RoundCube:
Так как ставить будем как единственный веб-клиент то выполняем следующие команды:
скачать можно две версии на выбор Stable и LTS
наш выбор сделан в пользу LTS, поэтому дальнейшие действия все сделаны для нее
выполняем команды:
wget https://github.com/roundcube/roundcubemail/releases/download/1.5.3/roundcubemail-1.5.3-complete.tar.gz
готовим LAMP, нужны некоторые доп модули:
apt-get install php7.2 php7.2-gd php-mysql php7.2-curl php7.2-zip php7.2-ldap php7.2-mbstring php-imagick php7.2-intl php7.2-xml
расспаковываем:
tar xvzf roundcubemail-1.5.3-complete.tar.gz
копируем в /var/www:
cp -R roundcubemail-1.5.3/* /var/www/html
выставляем права:
chown -R www-data:www-data /var/www/html chmod -R 775 /var/www/html
вспоминаем, что mysql стоит уже у нас, заходим в него
mysql -u root -p CREATE DATABASE roundcube_database; CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON roundcube_database.* to 'roundcube'@'localhost';
(логины и пароли тестовые, рекомендуется сделать свои)
Потом загружаем базу данных:
mysql -u roundcube -p roundcube_database < SQL/mysql.initial.sql
теперь можем перейти в графическую установку:
http://mail.ВАШ_ДОМЕН/installer
Выделенные пункты обязательно должны быть ОК (зеленными), если что не соответствует, необходимо исправить (раздел по databases нужен только mysql, на остальные можно не обращать внимание)
Нажимаем NEXT и переходим непосредственно в конфигуратор:
скрины делать не буду, так как очень объемно, просто распишу переменные конфига, которые используются у нас:
product_name – по выбору Database setup – данные используем из создания базы! IMAP Settings: default_host - ssl://mail.ВАШ_ДОМЕН default_port - 993 username_domain - ВАШ_ДОМЕН smtp_server - ssl://mail.ВАШ_ДОМЕН smtp_port – 465 smtp_user/smtp_pass - оставляем как есть
остальное по желанию.
Нажимаем NEXT
Переходим в Test config
Тут в пункте Check DB config, нажимаем инициализировать базу (база сама заполнится необходимыми данными)
Если везде горит ОК (зеленым) то можно проводить Test IMAP config
Заполняем логин/пароль и проверяем, что авторизация успешна.
Удаляем папку installer, как требует установщик (мы же находимся в каталоге /var/www/html/):
rm -Rfv installer
И на всякий случай, настройка, которая облегчит жизнь в будущем, проверить/дописать в конфиг /var/www/html/config/config.inc.php :
$config['enable_installer'] = false; #запрет запуска установщика. $config['smtp_helo_host'] = ‘mx.ВАШ_ДОМЕН’; #нужна если у вас используется запись MX, отличающаяся от mail.ВАШ_ДОМЕН, как в нашем случаи.
На этом можно считать работу законченной, почта должна приходить успешно.
Дополнение:
Для телефона так же есть клиенты, которые удалось подружить (проверяли на адроиде):
Почта Email - Blue Mail
Почта Email - TypeApp Mail (рекомендую его)
Ответы (5)
RE: Опыт установки TEGU Freeeware - Добавил(а) Кальметов Игорь больше 1 года назад
Ну, что можно сказать?
Прекрасная работа.
Мы рады, что TEGU вам понравился.
И конечно спасибо за позитивный отклик.
RE: Опыт установки TEGU Freeeware - Добавил(а) Кальметов Игорь больше 1 года назад
Виталий, у вас написано "После быстрого осмотра описания, подумали что не подходит, нет нужных функций".
Интересно каких функцией не хватило?
RE: Опыт установки TEGU Freeeware - Добавил(а) Бородин Роман больше 1 года назад
Виталий, отличная история успеха. Одно замечание.
добавляем задание в Crontab, по команде crontab –e :
20 0,12 * * * /opt/tegu/ tegu_certs >/dev/null
Однако, ранее Вы этот же скрипт добавили в хук обновления certbot-а.
В этой конфигурации нет необходимости добавлять задание в cron, т.к. у certbot есть своё собственное задание. При выполнении обновления сертификата будет выполнен Вами же добавленный хук, а следовательно и скрипт перезаписи сертификатов. Советую tegu_certs из crontab убрать.
RE: Опыт установки TEGU Freeeware - Добавил(а) Жадан Виталий больше 1 года назад
Бородин Роман писал(а) (RE: Опыт установки TEGU Freeeware):
Виталий, отличная история успеха. Одно замечание.
добавляем задание в Crontab, по команде crontab –e :
[...]Однако, ранее Вы этот же скрипт добавили в хук обновления certbot-а.
В этой конфигурации нет необходимости добавлять задание в cron, т.к. у certbot есть своё собственное задание. При выполнении обновления сертификата будет выполнен Вами же добавленный хук, а следовательно и скрипт перезаписи сертификатов. Советую tegu_certs из crontab убрать.
Хорошо, уберу (спасибо).
Кстати это у вас в инструкции тоже есть))) собственно не понял зачем, но решил что игнорировать не стоит, если вы написали в инструкции (2.7. Установка и генерация сертификатов Letsencrypt)
RE: Опыт установки TEGU Freeeware - Добавил(а) Жадан Виталий больше 1 года назад
Кальметов Игорь писал(а) (RE: Опыт установки TEGU Freeeware):
Виталий, у вас написано "После быстрого осмотра описания, подумали что не подходит, нет нужных функций".
Интересно каких функцией не хватило?
команды
алиасы к ящикам
пересылка на внешние ящики
Просто у вас это называлось по другому (не как в яндексе), поэтому не поняли сначала, что все это есть.
Потом разобрались.