Архив категорий Linux

Автор:human

Почтовый сервер mailcow через docker за 30 минут

Почтовый сервер mailcow через docker за 30 минут

Недавно наткнулся на довольно интересный комбаин из postfix-sogo-gui-панели для управления почтовыми сервисом. Называется он mailcow. В этой статье решил кратко описать как это все работает. Итак, приступим. Представим что нам надо настроить почтовый домен em.itc-life.ru

Требования:

    — OS linux
Пакеты
    — docker-ce
    — docker-compose
Доступные порты:

Эти порты можно поменять ниже в mailcow.conf, если они у вас уже заняты, например другими докер контейнерами.

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

Клонируем репозиторий

Запускаем генератор конфига.

Вводим

Мы сгенерировали конфиг на основе которого будет собираться наша связка из докер-контейнеров
Посмотреть его можно в файле

Теперь приступим к сборке

Подождем пока все собрется. Если не будет начинаться сборку, сделайте

Учтите это обновит докер, docker-compose. Может помочь правка docker-compose. Должна поддерживаться версия 2.3 иначе не соберется
После сборки поднимаем нашу сборку

Часть персистентных данных хранится в докерах volumes

Заходим по адресе
https://em.itc-life.ru

Данные для входа

Логин — admin
Пароль — moohoo

Меняем его после входа

Далее добавляем почтовые домены

Создаем почтовые ящики

Далее добавлем dkim. Выбираем длину ключа 1028

Добавляем сгенерированный ящик в relay host — не обязательно

Заходим в сгерерированнй почтовые ящики через

Теперь остается настроить нашу почту чтобы она не попадала в спам. Настройка dns записей. Почтовый домен будет em.itc-life.ru

Dkim текстовые записи

Настраиваем запись mx для почтового домена em.itc-life.ru

Регистрируем свой сервер в почтовом сервисе google

https://postmaster.google.com/

Добавляем txt запись предоставленную google и нажимаем далее.

Автор:human

Отправка логов через syslog-ng в сервер логов syslog-ng(elasticsearch,postgresql)

Пишем логи nginx, php, nodejs в базу postgres через syslog-ng напрямую в базу или через сервер логов

Установка syslog-ng

Удаляем rsyslog

Ставим необхдимые системные пакеты

Ставим java на debian 8

Ставим java на ubuntu

Устанавливаем переменную окружения

Ставим syslog-ng последней версии на debian 8

Ставим syslog-ng последней версии на ubuntu 16.04

Ставим последний elasticsearch и kibana

настраиваем kibana и elasticsearch

Конфиг elasticsearch

Конфиг kibana

Рестартуес сервисы

Подготовка формата логов nginx,php и nodejs

Настройка формата логов в nginx

Настройка логов php — отправка их в nginxerror.log

Добаляем в конфиг

Настройка формата логов nodejs, запускаемой через pm2

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

На этом подготовка формата логов окончена

Настройка отправки логов через syslog-ng в postgres

Создаем базу в pg

Правим файл

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

Далее часть конфига с отправкой полного формата логов nginx access, nginx error, nodejs. Таблички в базе создаеются по имени хоста,дате.

Проверяем

Если всё ок — стартуем

Отправка логов на сервер syslog-ng от syslog-ng и вставка логов в postgresql,elasticsearch

Для того чтобы писать не напрямую в базу а в сервер логов syslog-ng, который уже будет отпралять это в базу NOsql elasticsearch или в SQL postgres нам понадобится внести изменения. Наш клиент будет отправлять логи на сервер по udp.

Настройка на клиенте.

Создадим отдельный файл с конфигом отправки логов. Удалим последние изменения — именно удалим блок с отправкой логов и создадим файл в

Вставим туда следующее содержимое

Настройка на сервере.

Создадим отдельный файл с конфигом отправки логов. Удалим последние изменения — именно удалим блок с отправкой логов и создадим файл в.

Все рестартуем агенты на сервере и отправителе.

Заходим в kibana на

Добавляем индекс

В поле timestamp выбираем

Смотрим в discover наши логи


Все разложено как и надо по парам!!!

Скрипт очистки логов nginx чтобы не засирать систему. Тут также td-agent — не обращаем на него внимания.

Добавляем его по крону каждые 2 часа

Profit!!

Автор:human

Запись логов nginx в базу данных mysql через syslog-ng

Ставим необходимые пакеты

Создаем базу в mysql и таблицу

Настраиваем фомат логов в nginx

Отправляем логи в syslog-ng

Правим syslog-ng файл. Настраиваем парсинг и запись лога в базу данных

Сохраняемся.

ЗАпускаем в режиме дебага

Перезапускаем после-то как ве проверили

Автор:human

Broadcom Corporation NetXtreme II BCM57810 10 Gigabit Ethernet debian8 drivers

Установка driver для Broadcom Corporation NetXtreme II BCM57810 10 Gigabit Ethernet

Пробуем поднять

Профит!!!

Яндекс.Метрика