Удаление старых бэкапов

Скрипт оставляет определённое кол-во свежих файлов (каталогов, архивов), а остальное удаляет.

#!/bin/bash

#целевой каталог
target_dir=

#кол-во оставляемых файлов
limit=

n=1
for i in `ls $target_dir -t`
do
 if [ $n -gt $limit ]
 then
rm -Rvf $target_dir/$i

fi
 n=$(($n+1))
done

 

Percona XtraBackup. Установка и настройка на CentOS

В этой заметке я опишу свой процесс установки, настройки и использования утилиты для создания резервной копии баз  MySQL, которая называется Percona XtraBackup. Ниже описанные действия происходят в системе CentOS 7.

Читать далее Percona XtraBackup. Установка и настройка на CentOS

Reverse dns does not match smtp banner

При проверке почты получил сообщение

reverse dns does not match smtp banner 

Решение.

postconf -e myhostname=servername

Указкать servername — имя сервера, которое должно получаться при reverse DNS.

Перезагрузить postfix. Выполнить команду ниже, чтобы убедиться в получении нужного результат.

nc <ip> 25

Должно получится

220 mail.mymail.com ESMTP Postfix

Обновление iRedMail (на Debian)

Процесс достаточно простой, но я всё же решил его немного законспектировать, т.к. возникают нюансы, которые вызывают сомнения в  правильности действий.

Обновить iRedMail можно двумя способами: платно и бесплатно. В первом случае всё сделают создатели самого пакета. Во втором надо поработать самостоятельно руками.

Информация о релизах — http://www.iredmail.org/docs/iredmail.releases.html

На момент написания статьи мой вариант обновления будет:

Перед началом работ не помешает обезопасить себя, сделать точку возврата. Я делаю снапшот инструментами хостера. Для этой процедуры сервер обязательно останавливается.

hetzner snapshot

Далее выполняю все правки по инструкции — http://www.iredmail.org/docs/upgrade.iredmail.0.9.5.1-0.9.6.html.

Выставляю версию iRedMail, до которой обновляюсь. Правлю файл /etc/iredmail-release, вписываю версию 9.6.

Upgrade iRedAPD

Скачиваю последнюю версию (по ссылке http://www.iredmail.org/yum/misc/)

# sudo wget http://www.iredmail.org/yum/misc/iRedAPD-2.0.tar.bz2

И выполняю действия по инструкции.

# cd /root
# tar xjf iRedAPD-1.7.0.tar.bz2
# cd iRedAPD-1.7.0/tools/
# bash upgrade_iredapd.sh

Обновление прошло гладко.

iredapd_upd_ok

Можно переходить к следующему этапу по порядку в инструкции. Принцип тот же. Скачивается последняя версия, распаковывается и делается обновление.

Upgrade iRedAdmin

# wget http://www.iredmail.org/yum/misc/iRedAdmin-0.7.tar.bz2
# cd /root/
# tar xjf iRedAdmin-x.y.z.tar.bz2
# cd iRedAdmin-x.y.z/tools/
# bash upgrade_iredadmin.sh

Если всё пройдёт успешно, то по окончанию будет написано Upgrading completed.

Upgrade Roundcube

Делается резервная копия roundcube.

# sudo tar -czf roundcubemail.bkp.tar.gz roundcubemail

Сделать резервную копию баз (perform a database dump (schema and data) ) (это я не делал).

# sudo wget https://github.com/roundcube/roundcubemail/releases/download/1.2.3/roundcubemail-1.2.3-complete.tar.gz
# sudo tar xf roundcubemail-1.2.3-complete.tar.gz
# sudo bin/installto.sh /opt/www/roundcubemail

После выполнения последней команды, обновление roundcube будет закончено.

Далее в инструкции идёт описания правки только конфигов. Хотел бы остановиться на первой же правке.

Fixed: HTTProxy vulnerability in Apache and Nginx

fixed_httpr_an

Эта правка подразумевает редактирование как конфигов Apache, так и Nginx. Но у меня Apache вообще не используется, он не запущен. Т.е. инструкция по обновлению имеет какой-то общий характер.

По файлам Nginx отмечу, что некоторые параметры, которые нужны было дополнять, закомментированы. Соответственно не ясно, надо ли вносить изменения на будущее, если вдруг эти параметры придётся раскомментировать. Во всяком случае, если отредактировать всё по инструкции, то ничего не поменяется на данном этапе работы почтовика.

Fixed: not allow access to ‘/.well-known/’ in Nginx

Данное исправление по сути нужно в процессе установки сертификата. Т.е. по хорошему на момент обновления почтовика, сертификаты уже установлены, работают и устранять эту ошибку по сути смысла особого нет. Разве что на будущее.

Fixed: Postfix allows email sent through port 587 without smtp authentication from trusted clients

Необходимо найти строчку

-o smtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject

и убрать из неё permit_mynetworks.

Сдесь я допустил ошибку. В конфиге оказался похожая строчка и я принял её за искомую. В результате после перезапуска службы почта не отправлялась и не принималась. По логам быстро понял куда копать.

Fixed: SOGo-3.1.3 (and later releases) changed argument used by sogo-tool command

Эта программа у меня не установлена. Соответственно обновления не требует. Но в инструкции между строк говорится «догадайся об этом сам».

Fixed: Awstats is world-accessible with Apache

Нужно отредактировать конфиг /etc/apache2/conf-available/awstats.conf. Он у меня отсутствует.


Я описал не все процедуры данного конкретного обновления. Были ещё обновления, касающиеся LDAP, я их не делал, т.к. он у меня не используется.

Часть обновлений не затронутых в описании выполнялась без вопросов и эти моменты я не описывал.

Добавление DKIM записи для iRedMail

На почтовом сервере выполняется команда:

#sudo amavisd-new showkeys

Выдаётся результат вида:

# amavisd showkeys
dkim._domainkey.mydomain.com. 3600 TXT (
"v=DKIM1; p="
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYArsr2BKbdhv9efugByf7LhaK"
"txFUt0ec5+1dWmcDv0WH0qZLFK711sibNN5LutvnaiuH+w3Kr8Ylbw8gq2j0UBok"
"FcMycUvOBd7nsYn/TUrOua3Nns+qKSJBy88IWSh2zHaGbjRYujyWSTjlPELJ0H+5"
"EV711qseo/omquskkwIDAQAB")

Чтобы сделать DKIM запись, понадобится только строчка вида:

v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYArsr2BKbdhv9efugBy...

У меня эта запись в панели управления выглядела вот так:

DKIM_260117

Строчка без кавычек, но обязательно с «;».

После этого можно протестировать, была ли успешно добавлена запись.

@unix-garage:/$ sudo amavisd-new testkeys

Если добавление записи было выполнено успешно, то результат команды даст:

TESTING#1 mail.unix-garage.tk: dkim._domainkey.mail.unix-garage.tk => pass

Если что-то пошло не так, то будет сообщение:

TESTING#1 mail.unix-garage.tk: dkim._domainkey.mail.unix-garage.tk => invalid (public key: not available)

Стоит помнить, что для обновления добавленной запись DKIM может потребоваться какое-то ощутимое время (зависит от DNS сервера).


Использовалась официальная инструкция от iRedMail — http://www.iredmail.org/docs/setup.dns.html

Сброс пароля root для mysql

Напоминание! Команды mysql оканчиваются «;» (точкой с запятой)

Если получилось так, что пароль root в mysql был утерян или по каким-то причинам просто почему-то не подходит, то действия следующие. Остановить mysql-сервер.

# /usr/local/etc/rc.d/mysql-server stop

Запустить mysql-сервер с особыми параметрами.

# /usr/local/etc/rc.d/mysql-server start mysqld_safe --skip-grant-tables

Далее должно зайти без пароля командой:

# mysql -u root

Вс следующем блоке кода, надо заменить фразу my_password на желаемый пароль для пользователя root.

mysql> use mysql;
mysql> update user set password=PASSWORD('my_password') where user='root' and host='localhost';
mysql> flush privileges;
mysql> quit;

Если на какой-то стадии произошла ошибка или что-то не сработало (что вполне может быть), то можно посмотреть ещё здесь — https://toster.ru/q/268025.

Официальное руководство mysql по смене пароля root — http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html