Установка Request Tracker

Значит установка Request Tracker 4.4.. В сети полно статей об установке RT от Best Practical, так зачем же нужна еще одна? Дело в том, что пишу её для себя, чтобы через год, когда потребуется подобная установка не вспоминать судорожно шаги инсталляции, чтобы не ломать голову как же решить ту или иную траблу, не хранить заметки по установке в файле, который обязательно потеряется, а легко и просто открыть эту запись и мухой всё настроить. Поможет статья ещё кому-то - очень хорошо, нет - тоже хорошо.

Планирование установки

Установка выполнялась прям по видео многоуважаемого мной господина Семаева. Материал очень хороший и подробный. К сожалению считать полным его нельзя, к тому же у меня нет AD и поэтому нельзя настроить аутентификацию через AD, а заходить на сайт, вводить пароль и заполнять заявку пользователи не будут. И легко можно их понять - у них полно своей работы, многие владеют компьютером прямо говоря слабо, для них сложно и обременительно подавать заявки через сайт. Самая удобная форма в таком случае это подача заявки через e-mail. На момент реализации мной RT (июль 2016) седьмой части видео еще нет и подача заявок через почту не рассмотрена. Такой вариант работы полностью реализован в статье. Тем не менее базис установки это именно видео Семаева и первая часть статьи будет в виде моих комментариев к каждой части видео. Установка осуществляется на Ubuntu x64 16.04 LTS.

Vim

В процессе установки придется много раз редактировать конфигурационные файлы. Это можно делать через разные редакторы. Мой выбор - Vim, "улучшенный Vi". Он дает подсветку синтаксиса как Notepad++ в Windows и с ним удобно, а главное приятно, работать. По умолчанию Vim установлен в большинстве систем, однако если вы откроете файл как vi имя_файла и не увидите подсветки текста или же вообще ничего не откроется, то установить его очень просто:

sudo apt-get install vim

Распространенное мнение, что Vim просто невозможен для понимания. Это не так. Для того чтобы войти в режим редактирования после открытия файла нужно нажать i (Insert), чтобы выйти из режима редактирования Esc, двойной Esc гарантированно вернет в основной режим, выйти из файла с охранением Shift-z-z, выйти без сохранения Shift-z-q. Не так уж и сложно. Ну а более полно команды Vim широко расписаны в интернете.

Установка Ubuntu

Ну тут все просто. Серверный дистрибутив Ubuntu x64 на вырост. Мой выбор для RT - виртуальная машина. Почему? Да требования совсем скромные, городить из-за этого отдельный компьютер не хочется. Для машины выставил 2 ядра и 2Gb оперативной памяти, думаю легко можно в два раза меньше при необходимости. Если же нагрузка на RT возрастет, увеличение ресурсов для нее - дело пары минут. Если же нагрузка возрастет еще.. нужно что-то вместо RT, ведь задача этого трекера - локальный трекер заявок, относительно небольшой, для десятков пользователей, может для пары сотен, но точно не для тысячи. Перед важными изменениями всегда можно сделать снимок машины и безболезненно откатиться, если что-то пойдет не так.

Стандартные команды
whoami - текущий пользователь
pwd текущий каталог
ls -la - список файлов текущего каталога, включая скрытые, в удобном формате одной колонкой
passwd имя_пользователя - смена пароля пользователя 
chmod - смена прав на файл (если нет понимания значения команд chmod 644 .., chmod +x .., то лучше потратить час времени и прочитать про установку прав, сильно поможет - pdf с подробным описанием, написано прям в первой главе) 
chown - смена владельца файла 
sudo cat /dev/null > путь/имя_файла - очистка файла 
sudo touch путь/имя_файла - создание пустого файла
sudo shutdown -r now - перезагрузка
sudo shutdown now - выключение

Если имя команды/файла вводится правильно и уже введена часть, которая идентифицирует команду/файл однозначно, то можно не вбивать оставшуюся часть, а нажать Tab, буду обозначать многоточием ... Если команда, вставленная copy-paste, выдает ошибку - набейте её руками. Ну вот, кратенько так.

Часть 1. Настройка Postfix

Делается строго по видео.

Первое - сертификат Thawte Premium Server CA устарел, о чем так и написано на сайте Thawte - > retired. Этого сертификата вы больше не найдете в списке сертификатов Ubuntu. Вместо него Thawte Primary Root CA.

Второе - такая настройка не дружит с Яндекс Почтой. Если открыть лог почты, то будет ошибка со стороны сервера при отправке письма:

tail /var/log/mail.log
...sender address rejected...

Почему так происходит? В поле Sender письма стоит локальный адрес почтового ящика вида имя_пользователя@имя_сервера_ubuntu, Яндекс ничего не знает ни про такой домен, ни про такого пользователя, этот ящик никак не сопоставлен с ящиком на Яндексе и по соображениям безопасности письмо отклоняется.

Решение: нужно подставить в поле Sender имя ящика на Яндекс, через который идёт рассылка писем.

sudo vi /etc/postfix/main.cf
(smtp_generic_maps = hash:/etc/postfix/generic)
sudo vi /etc/postfix/generic
(local_user@имя_сервера_ubuntu user@yandex.ru)
sudo postmap /etc/postfix/generic 
sudo service postfix restart

Файл generic получился такой:

arny@ubuntusrv.local  sup@yandex
root@ubuntusrv.local  sup@yandex
www-data@ubuntusrv.local  sup@yandex

sup@yandex.ru - ящик, через который работает RT.

Перезагрузка конфигурации после правки main.cf:

sudo postfix reload

Перезапуск сервиса:

sudo service postfix restart

Список команд:

sudo apt-get install postfix
(sudo dpkg-reconfigure postfix - переконфигурация начальной установки postfix)
sudo apt-get install mailutils
sudo vi /etc/postfix/main.cf

sudo vi /etc/postfix/sasl_passwd (smtp.yandex.ru:587 sup@yandex.ru:пароль)
sudo chmod 400 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd
cat /etc/ssl/certs/thawte_Primary_Root_CA.pem | sudo tee -a /etc/postfix/cacert.pem
sudo service postfix restart
echo "Test Letter 1" | mail -s "Test 1" test_user@yandex.ru
tail /var/log/mail.log
Часть 2. Установка MySQL

Все опять же по видео.

Первое - при установке MySql использовал пароль строго 4 символа, если использовать больше в следующей части установка непосредственно RT спотыкалась при инициализации базы данных на этапе записи ACL.

....password does not satisfy the current policy requirements at /tmp/rt-4.2.12/....

Возможно что-то делал неправильно.

Список команд:

sudo ufw disable
sudo atp-get install openssh-server
sudo apt-get update 
sudo apt-get upgrade
sudo apt-get install mysql-server mysql-client libmysqlclient-dev
пароль root mysql 1234
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
innodb_buffer_pool_size = 1024M
sudo mysql_secure_installation
sudo service mysql restart
sudo apt-get install make apache2 libapache2-mod-fcgid libssl-dev libyaml-perl libgd2-xpm-dev libgd-gd2-perl libgraphviz-perl
sudo adduser --system --group rt
sudo usermod -aG rt www-data
sudo service mysql restart
Часть 3. Установка Request Tracker

Установка RT 4.4.0 закончилась неудачей на этапе make fixdeps. Поэтому устанавливал 4.2.12 и никаких отличий от видео нет.

Список команд:

sudo wget https://download.bestpractical.com/pub/rt/release/rt-4.2.12.tar.gz
ls -la
sudo tar xzvf rt.... -C /tmp
cd /tmp
cd rt..
sudo ./configure --with-web-user=www-data --with-web-group=www-data -enable-graphviz --enable-gd
sudo cpan
      o conf prerequisites_policy follow
      o conf build_requires_install_policy yes
      o conf commit
      q

sudo make testdeps
sudo make fixdeps
sudo make install
sudo make initialize-database

cd /etc/apache2/sites-available/
sudo vi 000-default.conf

      ServerName rt.ubuntusrv:80

      AddDefaultCharset UTF-8
      DocumentRoot /opt/rt4/share/html
      Alias /NoAuth/images/    /opt/rt4/share/html/NoAuth/images/
      ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/
      <Location />
        Require all granted
      </Location>
Часть 4. Настройка Request Tracker

Всё по видео. Поскольку у меня все заявки через почту, то очередь одна - Support. Если выключить скриплет, то он отключается для всех очередей, опять довод в пользу одной очереди. Сначала тоже взялся настраивать цветовые схемы, но потом оказалось, что делать этого не нужно - дальше будет понятно почему. В свойствах очереди нужно вбить поля "Адрес для ответа" и "Адрес для комментариев", если этого не сделать, то ответы пользователям будут приходить куцые. Вбить новый пароль и реальную почту для пользователя root.

Поскольку админом будет только один root, то выключил скриплеты On Comment Notify AdminCcs as Comment,  On Comment Notify Other Recipients as Comment,  On Correspond Notify Other Recipients, On Owner Change Notify Owner.

В свойствах очереди, в разделе Наблюдатели добавил root'а в административную копию.

Список команд:

sudo vi /opt/rt4/etc/RT_SiteConfig.pm
 Set( $rtname, 'Моя_фирма');
 Set( $Oragnisation, 'Моя_фирма');
 Set( @ReferrerWhitelist, qw(ip_Сервера:80));
 Set( $Timezone, 'Europe/Moscow');

Тексты шаблонов:

Autoreply in HTML:

Subject: AutoReply: {$Ticket->Subject}
Content-Type: text/html

<p>Greetings,</p>

<p>Вас приветствует автоматическая система регистрации заявок.
Это сообщение было сгенерировано в ответ на
создание Вами заявки на обслуживание - "{$Ticket->Subject()}".</p>

<p>Нет необходимости отвечать на это сообщение прямо сейчас.
Вашей заявке был присвоен номер {$Ticket->SubjectTag}.</p>

<p>Пожалуйста включите строку {$Ticket->SubjectTag}
в поле "ТЕМА" Вашего письма для всех последующих обращений по этой заявке.
Или же можно просто ответить на данное сообщение.</p>

<p>Thank you,<br/>
{$Ticket->QueueObj->CorrespondAddress()}</p>

<hr/>

Correspondence in HTML:

RT-Attach-Message: yes
Content-Type: text/html

<p>Greetings,</p>

<p>Поступило сообщение к заявке на обслуживание "{$Ticket->Subject()}". Текст сообщения приводится ниже.</p>

<p>Thank you,<br/>
{$Ticket->QueueObj->CorrespondAddress()}</p>

<hr/>

{$Transaction->Content( Type => "text/html")}

Resolved in HTML:

Subject: Resolved: {$Ticket->Subject}
Content-Type: text/html

<p>Greetings,</p>

<p>Ваша заявка "{$Ticket->Subject()}" выполнена и закрыта. Если у Вас остались дополнительные вопросы, пожалуйста, напишите их в ответ на данное сообщение.</p>

<p>Thank you,<br/>
{$Ticket->QueueObj->CorrespondAddress()}</p>

<hr/>
Предварительный итог

Получилась рабочий, но абсолютно бесполезный трекер заявок на обслуживание. Он работает только в одну сторону, посылает сообщения от трекера к пользователю, подавшему заявку. Пользователь же для любых действий должен залогиниться на трекере через браузер, вспомнив какой у него логин и пароль, зайти в свою заявку, найти в меню необходимое действие и выполнить его. На мой взгляд нереальная ситуация. Либо же действительно AD и автовход через AD, либо суровый приказ директора может здесь решить. Но поскольку комфорт пользователя приоритетней собственного комфорта для админа (мое субъективное мнение), будем доделывать как положено.

Upgrade RT до 4.4

Список команд:

sudo service apache2 stop
sudo wget https://download.bestpractical.com/pub/rt/release/rt-4.4.0.tar.gz
ls -la
sudo tar xzvf rt.... -C /tmp
cd /tmp
cd rt..
sudo ./configure --with-web-user=www-data --with-web-group=www-data -enable-graphviz --enable-gd
sudo make testdeps
sudo make fixdeps
sudo make upgrade
sudo make upgrade-database
RT в SSL

На мой взгляд бесполезная вещь, но я ее сделал зачем-то.

sudo a2enmod ssl fcgid - включаем SSL и fcgid модули

Редирект на SSL:

sudo vi /etc/apache2/sites-available/000-default.conf

   Redirect permanent / https://ubuntusrv/

Создаем SSL-конфиг с именем ubuntusrv:

sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/ubuntusrv.conf

Редактируем:

sudo vi /etc/apache2/sites-available/ubuntusrv.conf
ServerName domain:443
   AddDefaultCharset UTF-8
   DocumentRoot /opt/rt4/share/html
   Alias /NoAuth/images/ /opt/rt4/share/html/NoAuth/images/
   ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/
   <Location />
     Require all granted
   </Location>
   <Directory "/opt/rt4/sbin">
     SSLOptions +StdEnvVars
   </Directory>

Включаем SSL-сайт (выключить соответственно a2dissite):

sudo a2ensite ubuntusrv

Проверяем конфигурацию Apache и перезапускаем его:

sudo apachectl configtest
sudo service apache2 restart

Настройка конфигурации RT для начала работы:

sudo vi /opt/rt4/etc/RT_SiteConfig.pm
 Set( $rtname, 'Моя_фирма');
 Set( $Organization, 'Моя_фирма');
 Set( @ReferrerWhitelist, qw(ip_Сервера));
 Set( $Timezone, 'Europe/Moscow');
 Set( $WebDomain, 'ubuntusrv');
 Set( $WebPort, 443); 
 Set( $WebPath, '');

Ссылки:

//help.ubuntu.ru/wiki/apache2
//goodigy.ru/virtualnye_hosty_lamp_ubuntu

Установка Fetchmail
Установка

Это самый сложный кусок установки, где столкнулся с множеством ошибок. Изначально вообще не был уверен в успехе, но все же удалось настроить. Информацию собирал в течение недели наверное, по крупицам с разных сайтов. И вроде бы полно инструкций "от и до", но начинаешь делать - не работает. Отдельно целый день ушел на изучение самого Fetchmail. Наверное существуют и другие способы доставлять почту с внешнего ящика для RT, скорее всего, наверняка, но мне попался именно этот и я счёл его самым простым для реализации к уже имеющейся конфигурации. Тут напишу немного подробнее, с описанием ошибок и своих непростых изысканий 🙂

Устанавливаем fetchmail:

sudo apt-get install fetchmail

Запускаем как сервис:

sudo vi /etc/default/fetchmail 

   start_daemon=yes

Делаем новый конфиг из дефолтного:

sudo cp /usr/share/doc/fetchmail/examples/fetchmailrc.example /etc/fetchmailrc

Правим:

sudo vi /etc/fetchmailrc
set daemon 300
set logfile /var/log/fetchmail.log
poll pop.yandex.ru proto POP3 user "sup@yandex.ru" password "******"
mda "/opt/rt4/bin/rt-mailgate --url https://ubuntusrv --queue Support --action correspond"
ssl

Меняем права на конфиг, создаем файл лога.

sudo chmod 600 /etc/fetchmailrc
sudo touch /var/log/fetchmail.log

Ну и после этого fetchmail перестал запускаться.

sudo /etc/init.d/fetchmail start
 .....failed

Дело было в правах на лог-файл fetchmail.log. Не стал разбираться и дал права на запись лога всем:

sudo chmod 666 /var/log/fetchmail.log
Настройка

Сервис работает, уже хорошо, в логе ошибка:

sudo tail /var/log/fetchmail.log

HTTP request failed: 500 Can't connect to ubuntusrv:443 (certificate verify failed). Your webserver logs may have more information or there may be a network problem.

Не доверяет fetchmail нашему сайту, не может проверить сертификат. Сначала по незнанию стал получать сертификат с сервера и запихивать его в файл:

openssl s_client -connect ubuntusrv:443 -showcerts > /home/my_user/ubuntusrv.pem 
vi ubuntusrv.pem

Удалил всё до -- BEGIN CERTIFICATE -- и все после -- END CERTIFICATE --, делать этого не надо, сертификат уже есть и лежит в /etc/ssl/certs/ssl-cert-snakeoil.pem (написано в конфигурационном файле Apache).

Даем fetchmail сожрать наш сертификат и говорим не подавиться. Для этого в строку mda добавляем путь к сертификату нашего сервера и команду не проверять сертификат:

--ca-file /etc/ssl/certs/ssl-cert-snakeoil.pem
--no-verify-ssl

Окончательно строка mda выглядит так:

mda "/opt/rt4/bin/rt-mailgate --url https://ubuntusrv --ca-file /etc/ssl/certs/ssl-cert-snakeoil.pem --no-verify-ssl --queue Support --action correspond"

Всё, ошибок больше нет, но заявки не регистрируются. Не мог понять в чем дело и уже хотел отказаться от всей затеи, но врожденная упрямость не дала этого сделать 🙂 Дело было в самом RT - для группы ВСЕ нужно дать разрешение на создание заявки.

Установка Request Tracker

Сразу всё зашуршало и тестовые заявки пришли в RT.

Прикручивание сертификата и отпечатка сервера Яндекс

Этот пункт можно пропустить, но я его сделал и поэтому отпишусь:

sudo openssl s_client -connect pop.yandex.ru:995 -showcerts > /home/arny/ya.pem 
sudo cp /home/arny/ya.pem /etc/fetchmail/certs/ya.pem
sudo c_rehash /etc/fetchmail/certs/

openssl x509 -in /etc/fetchmail/certs/ya.pem -noout -md5 -fingerprint
Окончательный вариант конфигурационного файла fetchmail
sudo vi /etc/fetchmailrc
set daemon 300
set no syslog
set no bouncemail

defaults:
 antispam -1
 fetchlimit 5
 limit 0

set logfile /var/log/fetchmail.log
poll pop.yandex.ru
proto pop3
user "sup@yandex.ru"
password "************"
mda "/opt/rt4/bin/rt-mailgate --url https://ubuntusrv --ca-file /etc/ssl/certs/ssl-cert-snakeoil.pem --no-verify-ssl --queue Support --action correspond"
ssl
sslcertpath /etc/fetchmail/certs/ - необязательно
sslfingerprint "D1:A4:21:B3:23:5E:C2:F3:AA:48:4F:33:FD:21:B6:2F" -
необязательно
keep

Попутно выяснилось, что письма по POP3 из Яндекс Почты не удаляются и это не баг fetchmail, а политика Яндекса, поэтому присутствует параметр keep. Настроить IMAP не удалось, оставил как есть. Может быть в другой раз.

Окончательная отладка

Радовался я недолго, при тесте начали сыпаться в лог fetchmail ошибки 500 internal server error.. Быстро выяснил, что не приходят письма с большими картинками во вложении, картинка 60Kb - все успешно, 200 - error 500...

Почему-то я решил, что дело в RT и начал его мучить, сначала:

sudo vi /opt/rt4/etc/RT_SiteConfig.pm

Set($MaxAttachmentSize, 10000000);
Set($FriendlyFromLineFormat, "\"%s\" <%s>");

Потом:

sudo vi /opt/rt4/etc/RT_SiteConfig.pm

Set($TruncateLongAttachments, undef); 
Set($DropLongAttachments, undef);

Ничего из этого не нужно. Потом, с горя видимо 🙂 , увеличил размер вложения postfix до 50MB, хотя он тут совсем не при чём:

sudo postconf -e message_size_limit=51200000
sudo postconf compatibility_level=2
sudo service postfix restart

Дело было конечно же в самом Apache:

sudo vi /etc/apache2/sites-available/ubuntusrv.conf
<IfModule mod_fcgid.c>;
   MaxRequestLen 40000000 - размер вложения до 40Mb
</IfModule>

Почему 40Mb? Да легко пользователь может приложить bmp-шку весом за 30Mb и она раздавит сервер как БМП-шка.

Окончательный вариант конфигурационных файлов

Точно в конфигурационных файлах есть лишнее и ненужное,
но это 100% рабочие варианты и перекапывать дальше уже не буду. Привожу полностью.

Apache
sudo vi /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>

   Redirect permanent / https://ubuntusrv/

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

</VirtualHost>
sudo vi /etc/apache2/sites-available/ubuntusrv.conf
<IfModule mod_ssl.c>
  <VirtualHost _default_:443>

   ServerName ubuntusrv:443
   AddDefaultCharset UTF-8
   DocumentRoot /opt/rt4/share/html
   Alias /NoAuth/images/    /opt/rt4/share/html/NoAuth/images/
   ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/
   <Location />
     Require all granted
   </Location>
   <Directory "/opt/rt4/sbin">
     SSLOptions +StdEnvVars
   </Directory>

   <IfModule mod_fcgid.c>;
     MaxRequestLen 40000000
   </IfModule>

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

   SSLEngine on
   SSLProtocol all -SSLv3

   SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
   SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

   <FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
   </FilesMatch>
   <Directory /usr/lib/cgi-bin>
     SSLOptions +StdEnvVars
   </Directory>

  </VirtualHost>
</IfModule>
RT
sudo vi /opt/rt4/etc/RT_SiteConfig.pm
Set( $rtname, 'Моя_фирма');
Set( $Organization, 'Моя_фирма');
Set( @ReferrerWhitelist, qw(ip_Сервера));
Set( $Timezone, 'Europe/Moscow');
Set( $WebDomain, 'ubuntusrv');
Set( $WebPort, 443);
Set( $WebPath, '');

Set( $CorrespondAddress, 'sup@yandex.ru');
Set( $CommentAddress, 'sup@yandex.ru');
Set( $OwnerEmail, 'admin@yandex.ru');

Set( $AutoCreate, {Privileged => 1});
Set( $AutoCreateNonExternalUsers, 1);
Set( $NotifyActor, 1);
Set( $LogToSTDERR, 'debug');
Set( $MaxAttachmentSize , 10000000);
Set( $TruncateLongAttachments , undef);
Set( $DropLongAttachments , undef);
Set( $FriendlyFromLineFormat, "\"%s\" <%s>");

1;
Postfix
sudo vi /etc/postfix/main.cf
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

append_dot_mydomain = no

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes

smtp_generic_maps = hash:/etc/postfix/generic

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = ubuntusrv.my.local
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, ubuntusrv.my.local, localhost.my.local, localhost
relayhost = smtp.yandex.ru:587
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
inet_protocols = all
message_size_limit = 51200000
compatibility_level = 2
smtputf8_enable = no
smtputf8_autodetect_classes = bounce
Пересоздание БД

Отладка завершена, но RT забит тестовыми заявками и хотя это не мешает, решил почистить. Сделал снимок машины и удалил базу данных RT:

mysql -u root -p  
- вводим пароль для рута MySQL

   >drop database rt4;
   >exit

Затем:

sudo wget https://download.bestpractical.com/pub/rt/release/rt-4.4.0.tar.gz

sudo tar xzvf rt.... -C /tmp
cd /tmp
cd rt..

sudo make initialize-database

Потом пришлось сделать это ещё раз и.. ещё раз и.. ещё раз. Все тщательно настроенные цветовые схемы исчезли и желания их пересоздавать уже нет.

В результате оставил одну тестовую заявку на всякий пожарный для проверки, если что-то перестанет работать.

Не отсылаются письма после обновления postfix

При установке сервера поставил опцию автообновления. Что хотел, то и получил. Postfix обновился до версии 3.xx и ответы пользователям перестали уходить, в логе postfix можно почитать:

Jul 28 14:06:18 ubuntusrv postfix/smtp[2934]: B5F9EC1B3B: to=<************@*************.ru>, relay=smtp.yandex.ru[213.180.193.38]:587, delay=0.09, delays=0.0
3/0.04/0.02/0, dsn=5.6.7, status=bounced (SMTPUTF8 is required, but was not offered by host smtp.yandex.ru[213.180.193.38])

Лечится настройкой postfix:

sudo postconf -e smtputf8_enable=no
sudo postconf -e smtputf8_autodetect_classes=bounce
sudo /etc/init.d/postfix restart
Отключаем автообновление

Чтобы не испытывать подобные радости после следующего обновления делаем следующее:

sudo dpkg-reconfigure unattended-upgrades
Заключение

Ну довольно-таки длинная статья получилась. Старался подробно рассказывать, потому что сам постоянно испытываю сложности с пониманием при прочтении статей, написанных другими людьми. Автору всё понятно, он в теме, а ты по 10 раз перечитываешь. Вот чтобы этого не было - постарался максимально подробно. Хотя.. может никто и не будет читать данную статью кроме меня самого, вполне возможно. Вроде бы ничего не забыл рассказать. Из нерешенного осталась проблема вложения картинок в тело письма - RT их не понимает. В остальном все (тьфу-тьфу) работает. И конечно же было забавно все это настраивать, задача решена, удовольствие получено. Ещё раз благодарю хорошего человека Кирилла Семаева, без его подборки видео-уроков ничего бы не получилось.

Дополнение от 12.09.2016

Чудо! Само-собой заработало нормальное отображение картинок, вложенных в тело письма, при просмотре через RT. Если раньше такое вложение отображалось в RT как большая куча иероглифов в текстовом формате, то теперь всё чинно. Возможно, связано с переходом на 4.4, в 4.2.12 не работало точно, возможно, с ещё какими-то манипуляциями.

Установка Request Tracker: 5 комментариев

  1. Для того, чтобы не давать все права кому попало, нужно сделать chown fetchmail /var/log/fetchmail.log и тогда прав 644 хватит.

  2. Спасибо большое за полезнейший пост! Мое почтение за такой труд! Вопросо конечно же возникают, но я их сразу оптом задам 🙂 пока теститрую

    1. Спасибо большое! На вопросы отвечу, если вспомню 🙂 Год прошёл - новые проекты, новые интересы.

  3. Спасибо большое!
    Все получилось. Вопрос по RT, есть ли возможность при ответе и при закрытии заявки отправлять сообщение с приложенным файлом (ответом от исполнителя).

    1. Спасибо, Александр! Это была самая 1 попытка что-то самостоятельно допилить по линухе и рад, что получилось. С тех пор прошло 2 года, а как-будто 5 лет. Что-то сейчас вспоминать.. нереально, поэтому "as is". Кстати, на мой субъективный взгляд, OTRS сейчас привлекательнее: //maxidrom.net/archives/953

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *