Шпаргалка Postfix

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

Вывод количества сообщений в очереди.
# postqueue -p | grep -v “^[^0-9A-Z]\|^$” | wc -l
Вывод списка сообщений в очереди
# postqueue -p
Пример:
C67B97A0E42 2128 Sun Jun 8 17:00:41 support@domain.com
gusso79@domain.netгде:
C67B97A0E42 – ID сообщения
2128 – размер сообщения
support@domain.com – email отправителя
gusso79@domain.net – email получателя
Просмотр сообщения в очереди:
# postcat -q ID_сообщения
Отправить сообщение вне очереди по ID сообщению
# postqueue -i ID_сообщения
Отправить сообщение вне очереди по домену
# postqueue -s damain.com
Повторная отправка всех сообщений в очереди
# postsuper -r ALL
Скрипт для поиска спамера в очереди. Формирование списка сообщений по количеству писем от отправителя:
# postqueue -p | grep -v “^[^0-9A-Z]\|^$” | awk ‘{print $7}’ | sort -rn | uniq -c | sort -rn
Удаление сообщения из очереди:
# postsuper -d ID_сообщения
Удаление сообщений из очереди от email
# postqueue -p | grep support@doamin.com | awk ‘{print $1}’ | xargs -n1 postsuper -d
Удаление всех сообщений из очереди
# postsuper -d ALL

Настройка службы времени CentOS 7 (Pidora, Fedora)

Для проверки текущего времени воспользуемся командой

Сменим текущий временной пояс на Московский

Получаем

Обнаруживаем не совсем корректный часовой пояс. Но это дело поправимое

Проверяем

И видим, что все гуд

Далее настраиваем автоматическое обновление времени. Открываем файл /etc/ntp.conf и добавляем нужные сервера

Перезапускаем сервис ntpd

Ставим сервис в автозагрузку

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

Все работает – вот и ладненько.

Настройка репликации MySQL

Итак, у нас есть работающая база данных MySQL включенная в работу. Мы хотим включить репликацию нашего MySQL сервера.

  • IP-адрес мастера 10.8.0.2, реплики — 10.8.0.1
  • требуется настроить репликацию всех баз данных

Для каждого из серверов необходимо указать уникальный ID сервера, путь до бинарных логов, имя базы данных для репликации

Настройки первого(основного) сервера(10.8.0.2)

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

Копируем дамп на резервный сервер

 

Настраиваем асинxронную Master Master репликацию MySQL

В файле /etc/my.cnf в разделе [mysqld] включаем бинарный лог (необходим) и делаем дополнительные настройки:

 

Перезапускаем MySQL

Необходимо создать пользователя, из-под которого будет проходить репликация и предоставить ему необходимые права.

Проверяем статус сервера

Настройки второго сервера(10.8.0.1)

Импортируем ранее скопированный дамп.

В файле /etc/my.cnf в разделе [mysqld] включаем бинарный лог (необходим) и делаем дополнительные настройки:

Перезапускаем MySQL

Необходимо создать пользователя, из-под которого будет проходить репликация и предоставить ему необходимые права.

Проверяем статус сервера

Настройки первого(основного) сервера(10.8.0.2)

Видим, что репликация идет корректно.

 

 

Настройка VPN канала с основной площадкой

1. Настройки домашнего (“резервного”) сервера

Устанавливаем OpenVpn

Все операции по созданию ключей и сертификатов можно выполнить с помощью утилиты openssl. Однако проще воспользоваться специально созданной для этого программой Easy-RSA.

Копируем /usr/share/easy-rsa/2.0 куда-нибудь, в моем случае в домашнюю папку root

Переходим в папку со скриптами

Правим файл vars
Очищаем все “предыдущие” попытки

Перед продолжением рекомендуется проверить корректность системного времени.
Генерируем ключ и сертификат удостоверяющего сервера

Генерируем ключ и сертификат сервера

Генерируем ключ и сертификат клиента

Создаем файл параметров по алгоритму Diffie-Hellman. Процедура весьма не быстрая.

Создаем папку для хранения ключей

Сопируем необходимые ключи в созданную папку

После настройки клиента не забываем скопировать ключи на удаленный сервер в предварительно созданную папку

Копируем файл конфигурации из папки примеров в /etc/openvpn/server.conf

Создаем ключ HMAC для дополнительной защиты от DoS-атак и флуда

Итак мы имеем следующие файлы:

  • server.conf — файл конфигурации сервера OpenVPN;
  • ca.crt — cертификат удостоверяющего центра;
  • server.crt — cертификат сервера OpenVPN;
  • server.key — приватный ключ сервера OpenVPN, секретный;
  • dh.pem — файл Диффи-Хелмана для обеспечения защиты трафика от расшифровки;
  • ta.key — ключ HMAC для дополнительной защиты от DoS-атак и флуда

Вносим изменения: можно использовать абсолютные пути до файлов ключей и сертификатов.
Настраиваем автозагрузку для сервера OpenVPN

Включаем автозапуск

Создаем каталог для журнала сервера OpenVPN и сами файлы

Создаем файлы логов

Настраиваем основные параметры сервера в файле /etc/openvpn/server.conf

Стартуем сервер

2. Настройка внешнего (“основного”) сервера
Устанавливаем OpenVpn
Процедура установки клиента OpenVPN аналогична процедуре установки сервера OpenVPN. Основные отличия в файлах конфигурации.

И получаю “бонус”

Оказывается для CentOS (в моем случае 6.5) в основном репозитории отсутствует пакеты OpenVPN. Не опускаем руки и продолжаем:
Устанавливаем RPMForge репозиторий

Устанавливаем OpenVPN

Удаляем более не нужный репозиторий

Настраиваем основные параметры клиента в файле /etc/openvpn/server.conf

Ставим OpenVpn в автозагрузку

Запускаем

Проверяем

Вот и все – OpenVPN настроен.

В статье использовались материалы

http://interface31.ru/tech_it/2011/09/organizaciya-vpn-kanalov-mezhdu-ofisami.html

http://firstwiki.ru/index.php/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_OpenVPN

http://tuxnotes.ru/note/1

Установка и настройка nginx, apache, MySQL, PHP

Данная статья является одной из итераций cоздания резервного сервера на Raspberry Pi.
Устанавливаем apache, mysql, php, nginx.

Переходим к настройке всего становленного.
1. Настройка MySQL
Прописываем MySQL в автозагрузку

Запускаем

Далее запускаем скрипт безопасности

Система спросит текущий пароль. Но поскольку система MySQL только что установлена, такого пароля пока что нет, потому просто нажмите enter. Далее следуем инструкциям.
Проверяем

Вводим пароль. Если зашли, значит – все хорошо.
2. httpd
Вешаем httpd на порт 8080 (или на другой, кроме 80)
Вносим изменения в конфигурацию апача:

Заменяем на

И создаем виртуальный хост

Прописываем httpd в автозагрузку

Запускаем httpd

3. nginx
Вносим изменения в файл конфигурации

server {
listen *:80; ## listen for ipv4
server_name yourdomain.ru;
access_log /var/log/nginx/access.log;
# Перенаправление на back-end
location / {
proxy_pass yourdomain.ru:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 120;
proxy_send_timeout 120;
proxy_read_timeout 180;
}
# Статическиое наполнение отдает сам nginx
# back-end этим заниматься не должен
location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|html|txt)$ {
root /var/www/html;
}
}
Прописываем nginx в автозагрузку

Запускаем nginx

Создание резервного сервера на Raspberry Pi

Появилась мысль сделать резервный сервер, дублирующий мой VPS, который будет размещен дома. Т.к. мощностей больших не требуется, то решил сделать резервный сервер на Raspberry Pi. Итак план:

1. Установка Pidora Os на Raspberry Pi и предварительные настройки

    • Настройка системной локали для корректного отображения русского языка

  • Настройка SSH

Запрещаем SSH вход для root

и устанавливаем

Для удобства и безопасности настраиваем SSH авторизацию по ключу

2.Репликация

3. Настройка почтовой системы

  • Установка и настройка Postfix
  • Установка и настройка Dovecot
  • Установка и настройка Postfixadmin
  • Установка и настройка RoundCubeMail

4. Настройка файлового хранилища

  • Настройка OwnCloud

5. Настройка резервного копирования

  • Основной площадки
  • Резервной площадки

В процессе реализации план будет дополняться и изменяться

Pidora: Настройка Ip адреса, DNS, имени hosta

Данная статья является одной из итераций cоздания резервного сервера на Raspberry Pi.
Настраиваем сеть:

Я использовал следующие настройки: Ip адрес – 172.16.10.3/24, шлюз по умолчанию 172.30.10.1

Настраиваем DNS:

Ну и вносим изменение в имя хоста.

Вносим имя хоста

Сюда добавляем имя нашего хоста

Для проверки корректности введенных данных можно использовать команды:

для короткого имени

для FQDN имени