ServerAdmin.ru
31.6K subscribers
851 photos
57 videos
23 files
3K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru

Ресурс включён в перечень Роскомнадзора
Download Telegram
🎮 Редко что-то пишу на тему игр. Раньше в выходные регулярно поднимал эту тему, пока игры не кончились. Кому интересны игры на IT тематику, может посмотреть по тегу #игра, или сразу перейти к подборкам, которые я делал в разное время. К каждой игре есть мой обзор:

▪️Игры Zachtronics
▪️Хакерская тематика
▪️Обучающие игры
▪️Консольные игры
▪️Общая подборка всех игр с канала

Есть отдельная категория игр, которые и игрой то сложно назвать. Это симуляторы работы техподдержки и системного администратора. Вот примеры таких игр, которые тут уже были ранее:

ServiceIT: You can do IT
SysAdmin Odyssey - Back to the office

В обоих играх, если что, есть русский язык. А последняя разработана русскоязычным программистом.

Из этой серии есть ещё одна игра - IT Specialist Simulator (Симулятор ИТ-специалиста 😎). Очень впечатлил один из комментариев к игре:

Первым заданием было сменить обои на рабочем столе. В реальной жизни иметь дело с юзерами так же неприятно, как и в игре. Во втором задании нужно было разобраться с неработающим принтером, и мне сразу же захотелось выйти из игры. Симулятор на 10/10, подтверждаю, что он очень реалистичен.

Ну и ещё парочка:

Довольно реалистичный симулятор работы техподдержки. Сразу скажу, что он не для всех, так как пытается научить вас выполнять реальные задачи. Названия операционных систем и компаний придуманы, чтобы избежать проблем с авторскими правами. Задачи довольно приземлённые. Вы вручную настраиваете BIOS, меняете параметры сетевых карт, настраиваете роутеры, решаете проблемы с компьютером. Это не совсем то же самое, что в реальной жизни, но очень похоже.

Как системный администратор, я испытываю ту же ярость и любопытство, что и на своей основной работе. 10/10, с нетерпением жду следующих обновлений!

Думаю, идею вы поняли. Кому мало задач на работе или скучает по временам, когда он работал с пользователями, можно развлечься 🤠.

Как относитесь к таким играм? Хочется поиграть?

У меня один из сыновей начал играть в танки, и я немного с ним. У меня аккаунту лет 15, где последние 10 лет не играл вообще. Зашёл, погонял немного. Интересно и затягивает. Игра обросла всякими режимами, рейтингами, достижениями. Прям чувствую, как она пытается затянуть и не отпустить. И письма шлёт, и бонусы, только возвращайся. Меня спасает, что некогда играть, а сына - мой контроль.

🎮 Steam / ▶️ Видео

#игра
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42👎3
Пока выходной, затрону ещё одну немного отстранённую тему. У меня недавно дома случилась неприятная история, которая немного пугает. Есть у меня старенький APC Back-UPS ES 700. Несколько раз уже менял в нём батарею.

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

Нагрузки на нём особой не было. Запитал только роутер и оптический конвертер. Выключил его, отключил аккумулятор и приготовил на выброс. Сами устройства не пострадали, с электричеством в этот момент всё в порядке было, без скачков и отключений.

Мой опыт использования УПСов дома таков, что проблем от них было больше, чем от отключений электричества. Это что касается использования в квартире. Там электричество очень стабильно работало и все УПСы в итоге я поубирал. Они то пищат, то выключаются, то батареи менять надо. Они обесточивали оборудование чаще, чем пропадание электричества, да ещё и за деньги.

Когда переехал за город в частный дом, все УПСы пошли в дело. Тут отключают свет намного чаще и без УПСов уже некомфортно. Но вот эта история с APC заставляет задуматься. Не знаю, что там в итоге задымило и может ли это привести к пожару. Если может, то выходит, что ты себе лишний негативный фактор добавляешь. То, что должно защищать, в итоге само горит.

Не знаю, есть ли какой-то надёжный бренд для дома, который можно купить. Я видел истории, когда и из-за серверных УПСов сгорали стойки. Это не такая уж и редкая история. У меня у самого были примеры, когда старые аккумуляторы так раздувало, что их невозможно было извлечь для замены. Я так понимаю, они и взорваться могут, что приводит к пожарам.

Пока в раздумьях, покупать домой УПСы новые или нет, не тратить деньги. Старый комп для видеонаблюдения работает уже 3 года. За это время он аварийно выключался раз 100. Пока пашет без ошибок.

Что думаете на эту тему? Используете бюджетные УПСы для стационарников и сетевого оборудования? Никогда не был сторонником закупок УПСов в офисы. Лучше подменный комп и бэкап, в случае выхода из строя. В итоге хлопот меньше, чем все эти бесперебойники обслуживать и менять аккумуляторы.

#железо
👍69👎15
🎥 Вебинар по Linux: Введение в Docker: контейнеры, изоляция и первые шаги.

На вебинаре вы узнаете:
- Чем контейнеризация отличается от виртуализации и почему Docker стал стандартом.
- Как устроены контейнер, образ и Docker Engine.
- Как запустить и управлять контейнерами с помощью базовых команд docker run, ps, exec, stop).
- Как использовать Docker Hub и скачивать готовые образы.

В результате вебинара вы:
- Разберётесь в ключевых понятиях Docker.
- Научитесь запускать и управлять контейнерами.
- Сможете использовать готовые образы для своих тестовых окружений.
- Поймёте, куда двигаться дальше в изучении контейнерных технологий.

🎁 Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Professional"

👉 Для участия зарегистрируйтесь: https://clck.ru/3QSLSF

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍10👎3
На прошлой неделе просматривал видео некоторых блогеров. У кого-то заметил экран приветствия на сервере после подключения по SSH. Сразу не записал, у кого увидел, вроде у Realmanual, но не уверен. Потом уже не нашёл. Но не суть.

Я всегда знал, что приветствие можно настроить, но особо не заморачивался. Максимум, что настраивал при подключении, запуск команды w, чтобы увидеть главным образом активные сессии и понимать, что ты не один на сервере. Иногда это работало как хорошая пугалка, если у тебя осталась висеть твоя же сессия, только с какого-то непривычного IP.

А тут увидел приветствие, которое мне понравилось. Я полный вывод не запоминал, только оставил себе пометку подумать, что было бы полезно увидеть мне. В итоге сделал себе и сохранил для использования такое приветствие:

-----------------------------------------
IP           : 95.183.13.208
Hostname       : serveradmin.ru
OS           : Debian GNU/Linux 12 (bookworm)
USER          : root
Load Average   : 0.08 0.06 0.04
Uptime         : up 1 week, 6 hours, 32 minutes
-----------------------------------------
CPU           : 2 CPU
RAM           : 3915 MB, 1055 MB (26%) free
HDD (/)        : 60G, 36G (60%) free
-----------------------------------------

Пояснять тут особо нечего. Отмечу только, что в качестве IP взял настройку самого первого не lo интерфейса. У меня это практически всегда основной IP адрес, который я хочу видеть. А пользователя root подкрашиваю в красный цвет.

Настроить это очень просто. Любой ИИ вам соберёт по запросу подходящий bash скрипт, который нужно будет положить /etc/profile.d. Потом можно его подправить по своему вкусу. Я в итоге оставил такой:

#!/bin/bash

# Цвета
RED='\033[0;31m'
NC='\033[0m' # No Color

# IP первого сетевого интерфейса
LOCAL_IP=$(ip -4 addr show | grep -oP '(?<=inet\s)\d+\.\d+\.\d+\.\d+' | grep -v '^127\.' | head -n 1)

# Имя сервера
HOSTNAME=$(hostname)

# ОС
OS=$(grep PRETTY_NAME /etc/os-release | cut -d= -f2 | tr -d '"')

# Пользователь
USER_NAME=$(whoami)

# Root красным
if [ "$USER_NAME" = "root" ]; then
    USER_NAME="${RED}${USER_NAME}${NC}"
fi

# Load average
LOADAVG=$(awk '{print $1" "$2" "$3}' /proc/loadavg)

# Uptime
UPTIME=$(uptime -p)

# Количество CPU
CPU_COUNT=$(nproc)

# RAM: всего и свободно (в мегабайтах)
RAM_TOTAL=$(free -m | awk '/Mem:/ {print $2}')
RAM_FREE=$(free -m | awk '/Mem:/ {print $7}')
RAM_FREE_PCT=$(( RAM_FREE * 100 / RAM_TOTAL ))

# HDD: для корневого раздела /
DISK_TOTAL_HUMAN=$(df -h / | awk 'NR==2 {print $2}')
DISK_FREE_HUMAN=$(df -h / | awk 'NR==2 {print $4}')

# Используем df без форматирования для процентов
DISK_TOTAL=$(df -k / | awk 'NR==2 {print $2}')
DISK_FREE=$(df -k / | awk 'NR==2 {print $4}')
DISK_FREE_PCT=$(( DISK_FREE * 100 / DISK_TOTAL ))

echo ""
echo "-----------------------------------------"
echo "IP                    : ${LOCAL_IP:-N/A}"
echo "Hostname              : $HOSTNAME"
echo "OS                    : $OS"
echo -e "USER                  : $USER_NAME"
echo "Load Average          : $LOADAVG"
echo "Uptime                : $UPTIME"
echo "-----------------------------------------"
echo "CPU                   : ${CPU_COUNT} CPU"
echo "RAM                   : ${RAM_TOTAL} MB, ${RAM_FREE} MB (${RAM_FREE_PCT}%) free"
echo "HDD (/)               : ${DISK_TOTAL_HUMAN}, ${DISK_FREE_HUMAN} (${DISK_FREE_PCT}%) free"
echo "-----------------------------------------"
echo ""


Заодно удалил строку:

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

Она находится в файле /etc/motd и подключается в /etc/pam.d/sshd в строке:

session  optional   pam_motd.so noupdate

Закомментировал её. Получил приветствие, как на картинке снизу. Мне понравилась. На свои сервера буду добавлять.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍293👎2
Протестировали AMD EPYC 5 на Dell PowerEdge R7715 и обнаружили узкие места в конфигурациях памяти и способы их избежать.

Наблюдения, тесты, графики и выводы оставили в статье. А еще поделились оптимальными комбинациями памяти для разных задач, ведь не всегда в приоритете скорость.

ЧИТАТЬ ТУТ

Реклама. ООО "ИТЕЛОН". ИНН 7701527528. erid: 2W5zFHvscJU
👍11👎5
📊Ещё один опрос, который давно в планах. Речь пойдёт про почтовые сервера, как локальные, так и облачные. Интересно посмотреть, какое будет распределение. По моим представлениям за последние лет 10, свои почтовые сервера имеют всё меньше и меньше компаний, предпочитая покупать эту услугу, как сервис.

С другой стороны, если раньше для небольших коллективов можно было использовать бесплатный тарифный план какого-то сервиса, типа Яндекса или Mail, то теперь их возможности практически никакие. У Яндекса вроде только 3 бесплатных ящика можно сделать для своего домена, у Mail Ru - 5. А если покупать сервис, то платить придётся не только за почту, но и за кучу других услуг, которые могут быть и не нужны.

При этом если есть какая-то своя инфраструктура, то поднять и поддерживать свой почтовый сервер не представляет каких-то больших сложностей, если ты хоть немного разбираешься в этой теме. Я уже много лет поддерживаю разные почтовые серверы на Linux и особых проблем с ними не испытываю. Самая большая проблема - почистить ящики пользователей или расширить диски на сервере.

Есть ещё один важный нюанс - пользователи хотят такой же удобный и быстрый веб интерфейс с хорошим поиском, как в Яндексе или Gmail (хотя последний не про быстрый интерфейс) и с беспроблемным доступом отовсюду. У локальных почтовых серверов таких функциональных интерфейсов нет.

В общем, ниже опрос по этой теме, прошу проголосовать. Чем больше голосов, тем интереснее смотреть результаты. Не понимаю, почему есть голосования, где 8-9 тысяч просмотров и только 3 тысячи голосов. Неужели трудно проголосовать?

📊Прошлые опросы:
◽️Системы мониторинга
◽️ОС на рабочем компьютере и серверах 2025
◽️ОС на рабочем компьютере и серверах 2024
◽️Системы виртуализации
◽️Консольный текстовый редактор в Linux

#опрос
👍28👎3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍44👎2
Вчера написал заметку про настройку приветствия при подключении к серверу. В комментариях автор, у которого я вдохновился идеей, подкинул ещё одну очень удобную фишку по решению небольшой проблемы. Причём именно той, о которой я много раз думал, что неплохо бы как-то это решить, но даже не представлял как.

У меня в виртуалках и контейнерах Proxmox чаще всего IP адреса назначаются автоматически через DHCP. Иногда хочется быстро посмотреть IP адрес контейнера или виртуалки через веб интерфейс, особенно если он по какой-то причине изменился или не был жёстко привязан по MAC или Machine-ID.

Для VM это чаще всего решается быстро, так как я всегда устанавливаю QEMU Guest Agent. С его помощью IP адрес выводится на основную вкладку Summary виртуальной машины. А вот с контейнерами это так не работает. Приходится либо в него заходить через консоль, либо смотреть на DHCP сервере.

Этот вопрос можно решить с помощью файла /etc/issue. Вообще не знал до сего дня для чего он существует и какие открывает возможности. Добавляем туда в LXC контейнере:

eth0: \4{eth0}

Чаще всего сетевой интерфейс контейнера имеет имя eth0. Теперь открыв консоль контейнера через веб интерфейсе Proxmox, вы увидите его текущий IP адрес:

Debian GNU/Linux 12 Debian12-ct tty1
eth0: 192.168.137.29
Debian12-ct login:

Очень просто и удобно. Файл /etc/issue в Linux - это шаблон приветственного сообщения (pre-login banner), который выводится до появления приглашения login: на локальной консоли (tty). Важно понимать, что подключения по SSH не используют /etc/issue. Это шаблон только для локальных консолей.

Для виртуалок это тоже можно использовать, но там есть проблема. Сетевые интерфейсы могут называться сильно по-разному: ens18, enp0s18 и т.д. Если вы принудительно не приводили их к старому наименованию в виде ethX, то придётся для каждого случая прописывать имя сетевого интерфейса.

ИИ написал, что можно указать конструкцию вида \4{all} для вывода всех IP адресов, но в Debian 13 это не работает. Не знаю, откуда он это взял. Я воспользовался старорежимным дедовским методом и прочитал man:

# man agetty

If the interface argument is not specified, then select the first fully configured (UP, non-LOCALBACK, RUNNING) interface. If no configured interface is found, fall back to the IP address of the machine’s hostname.

То есть указываем просто \4 или для красоты IP: \4 и получаем приветствие с IP адресом, который будет взят с первого активного сетевого интерфейса, но не lo. В принципе, этот вариант можно использовать как универсальный и для VM, и для контейнеров.

Очень удобная весчь. Мне понравилось. Реально не хватало в повседневной работе.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍155👎3
Ветер перемен: представляем новую систему выпуска релизов UserGate NGFW

В основе — лучшие практики международных вендоров, принятые в мировой ИТ/ИБ-индустрии.

Все подробности расскажем на вебинаре. В программе:

— Что побудило нас к изменениям
— Новая система релизов: FR, LTS, LTS (GD)
— Что ещё мы делаем для повышения стабильности
— Первый кандидат на LTS и что в нём нового

В завершении ответим на ваши вопросы.

Вебинар будет интересен как техническим специалистам, так и руководителям ИТ- и ИБ-департаментов.

Спикеры:

— Кирилл Прямов, менеджер по развитию NGFW
— Михаил Кадер, архитектор ИБ, R&D

Когда: 27 ноября, четверг, 10:00 (МСК).

Увидимся в эфире!

Зарегистрироваться
1👍13👎8
В выходные написал заметку про бюджетные ИБП для пользовательских устройств (не серверов!). Не ожидал, что она вызовет такой интерес и обсуждение. Я всё прочитал, хоть и почти не отвечал, так как был занят. Думаю, будет полезным подвести некоторые итоги и то, что я вынес из этих обсуждений в TG и VK. Напишу тезисно.

- Бюджетные ИБП действительно низкого качества и проблем от них может быть больше, чем от отключений электричества, если электроснабжение в целом стабильное. Если нет какой-то жести в виде регулярных отключений, можно обойтись без них, и многие обходятся. Много примеров было описано, когда техника умирала из-за ИБП.

- ИБП реально могут стать причиной пожара и несколько таких историй поведали. Используя их, стоит принимать во внимание эти риски.

- Лучше использовать ИБП с так называемым двойным преобразованием или ещё их могут называть с онлайн режимом. Это когда питание всегда идёт через аккумуляторы, а не подключается через них в момент пропадания основного питания. Также ИБП должны быть с режимом самодиагностики и контролем за состоянием. За ними надо регулярно следить и обслуживать.

- Если есть возможность, лучше использовать современные lifepo4 аккумуляторы, но они дорогие.

- Для загородного дома лучше централизованное решение проблем электроснабжения (стабилизаторы, реле напряжения и т.д.), а не размещение отдельных ИПБ по потребителям, тем более бюджетных, без обслуживания и самодиагностики. Само по себе пропадание электричества без каких-то других аномалий в сети редко приводит к поломкам.

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

#железо
2👍77👎6
Вчера обновил один из своих тестовых серверов Proxmox версии 8.4 до недавно вышедшей 9.1. Ничего не выдумывал, сделал всё строго по официальной инструкции. Всё совпало до каждого пункта и предупреждения. Причём даже с установленным на этом же хосте PBS прямо на железо вместе с PVE. Никаких конфликтов и проблем не возникло.

Обновиться решил из-за некоторых нововведений релиза 9.1. Когда вышел 9.0, обновляться не стал даже из любопытства, так как не увидел каких-то интересных и полезных обновлений.

А вот в 9.1 как минимум появилась возможность запускать напрямую Docker контейнеры, что хоть и не решает каких-то глобальных проблем, но выглядит интересно. Плюс, у контейнеров в веб интерфейсе виден настроенный IP адрес, чего не хватало. Люди городили костыли для этого, теперь они не нужны.

Попробовал я запуск Docker контейнеров и могу сказать, что пока это всё игрушки и не очень удобно. Работает это так:

1️⃣ В локальное хранилище предварительно загружается Docker контейнер. В том же разделе, где загружаются образы LXC.
2️⃣ Создаётся новый контейнер, где в качестве образа выбирается скачанный ранее контейнер. Настройки все те же, что и в случае с LXC. По факту вы LXC и создаёте, где автоматически запустится контейнер докера.
3️⃣ Переменные вынесены в отдельный раздел в Options в настройках контейнера.
4️⃣ Контейнер запускается на выбранном сетевом бридже и использует настроенный в момент создания IP адрес.

На практике всё это выглядит точно так же, как LXC, только запускается контейнер Docker из Docker Hub. Причём одиночный контейнер фиксированной версии. Я так и не понял, как его обновить, кроме как скачать образ новой версии и снова запустить его, подключив тот же диск.

Получилась некая новая сущность, и не LXC, и не Docker, а что-то между ними. Данные контейнера пишутся и хранятся на подключенный raw образ. То есть контейнер нормально бэкапится и переносится. Но при этом в него не зайти, как в LXC, через веб интерфейс. Не выполнить docker ps или docker inspect, как в обычной среде запуска Docker. Контейнеры Docker не связать между собой, как это сделано в Docker Compose.

В таком виде это удобно только для запуска одиночных Docker контейнеров. С ними можно работать, как с LXC или виртуальными машинами - бэкапить, переносить, выделять ресурсы. Думаю, что это только проба пера и функциональность будут наращивать до уровня взаимодействия Docker Compose. А пока для полноценного запуска нескольких контейнеров придётся действовать как и раньше:

Cоздание контейнера LXC ⇨ установка Docker и Docker Compose ⇨ загрузка YML-файла ⇨ запуск контейнеров.

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

Если уже используете эту функциональность, то что думаете по этому поводу? Как я уже сказал, для одиночного контейнера всё неплохо. А для связки из нескольких контейнеров пока неприменимо. Ну и обновление надо как-то автоматизировать.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#proxmox #docker
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91👎5
🎥 Вебинар по Linux: Процессы в Linux: как работает система изнутри

Разбираемся, что такое процессы в Linux, как их контролировать и что делать с зомби и сиротами.

На вебинаре вы узнаете:
- Что такое процесс в Linux и чем он отличается от программы.
- Как устроен жизненный цикл процесса — от создания до завершения.
- Что такое состояния процессов и как их отследить с помощью системных утилит.
- Как управлять процессами: приоритеты, фоновые задания, остановка и завершение.

В результате вебинара вы:
- Научитесь находить и анализировать процессы с помощью ps, top, htop и других инструментов.
- Разберётесь, кто такие “зомби” и “сироты” и как их «убить» корректно.
- Поймёте, как Linux управляет процессами и что происходит при системных вызовах к ядру.
- Сможете уверенно контролировать работу процессов и решать проблемы зависших приложений..

🎁 Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Basic"

👉 Для участия зарегистрируйтесь: https://clck.ru/3QWRh2

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍12👎4
❗️Хочу предупредить всех, кто администрирует почтовые сервера, где в составе есть imap сервер Dovecot. В версии 2.4 очень сильно поменялся формат конфигурационного файла. Я вообще первый раз сталкиваюсь с такими кардинальными изменениями от версии к версии. Там натурально всё ломается после обновления и правкой пары изменившихся параметров не отделаться. Поменялся и синтаксис, и логика оформления. Какие-то параметры, плагины вообще исчезли.

Я краем уха уже слышал о том, что там конфигурация изменилась, но не предполагал, что настолько. В Debian 13 в репозиториях уже живёт версия 2.4, поэтому если будете обновлять систему, непременно столкнётесь с этой проблемой. Я потому и стал этим заниматься, потому что всё равно придётся рано или поздно.

Новую конфигурацию в итоге создал, она уже работает, отлаживаю. Потратил почти день на это. Сейчас тружусь над обновлением своей статьи по установке и настройке почтового сервера. Очень много изменений. И очень объёмный материал. Пишу и думаю, а надо ли вообще это сейчас кому-нибудь? Кто-то будет почтовый сервер вручную собирать из компонентов?

А с другой стороны, если этого не делать, то как научиться и разобраться в этой теме? Почта как была актуальной, так и осталась по сей день. Откуда-то всё равно должны браться специалисты из этой сферы. А самый простой способ освоить продукт - собрать его самостоятельно из компонентов. RuPost, кстати, как раз таким самосбором и является на базе open source софта.

📌Полезные ссылки по теме:
https://doc.dovecot.org/main/installation/upgrade/2.3-to-2.4.html
https://monospace.games/posts/20250815-dovecot-24.html
https://willem.com/en/2025-06-04_breaking-changes/

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

#mailserver
336👍264👎2
В одном из обновлений Angie ещё в начале этого года был добавлен модуль с ACME клиентом. Я уже как-то писал о нём мельком сразу после выхода. Он обеспечивает автоматическое получение бесплатных сертификатов Let's Encrypt. Я по старинке использую certbot и иногда acme.sh. Старые сервера перенастраивать не стал, особого смысла нет. А вот для новых имеет смысл попробовать.

Плюсы такого подхода следующие:
Не нужно поддерживать список доменов в разных местах. Есть конфигурация Angie с настроенными доменами. Для них же и получаем сертификаты.
Обновление сертификатов происходит без перезапуска веб сервера. Для небольших веб серверов не очень актуально, а вот если доменов и поддоменов много, то это заметное улучшение процессов.
В целом более простая настройка с минимумом лишних компонентов и конфигураций для них.

Все параметры описаны в документации. Я смотрел только туда. Получилось всё с первого раза, но пара вопросов остались. В конце отмечу их. Покажу итоговый пример для двух доменов: mail.zeroxzed.ru и webmail.zeroxzed.ru. Сделал их для статьи по почтовому серверу, которую пока пишу.

Добавляем в раздел http конфигурации Angie:

http {
....
resolver 62.76.76.62 62.76.62.76;
acme_client webmail https://acme-v02.api.letsencrypt.org/directory;
acme_client mail https://acme-v02.api.letsencrypt.org/directory;
....
}


62.76.76.62 и 62.76.62.76 - публичные DNS сервера компании MSK-IX. Можете использовать любые другие.

Создаём 2 файла конфигурации виртуальных хостов в директории /etc/angie/http.d - mail.conf и webmail.conf. Содержание одинаковое, отличается только поддомен и параметр acme:

server {
  listen 443 ssl;
  server_name webmail.zeroxzed.ru;

  root /var/www/webmail;
  index index.php index.html;

  acme webmail;
  ssl_certificate $acme_cert_webmail;
  ssl_certificate_key $acme_cert_key_webmail;

  access_log /var/log/angie/webmail-access.log;
  error_log /var/log/angie/webmail-error.log;

  location / {
    try_files $uri $uri/ /index.php?$args;
  }

  location ~ \.php$ {
    fastcgi_pass  unix:/run/php/php8.4-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}

server {
  listen 80;
  server_name webmail.zeroxzed.ru;
  return 301 https://$host$request_uri;
}


Перезапускаем веб сервер и наблюдаем в логах:

2025/11/27 17:24:28 [notice] 154580#154580: creating implicit client block for "@acme"
2025/11/27 17:24:28 [notice] 154580#154580: no certificate, renewal scheduled now, ACME client: webmail
.......................
2025/11/27 17:24:31 [notice] 154582#154582: ACME account ID: "https://acme-v02.api.letsencrypt.org/acme/acct/2832575756", ACME client: webmail
2025/11/27 17:24:47 [notice] 154582#154582: certificate renewed, next renewal date: Mon Jan 26 16:26:15 2026, ACME client: webmail


И так для обоих доменов. В директории /var/lib/angie/acme появились две папки mail и webmail, где расположены соответствующие сертификаты.

Не видел нигде примеров конфигурации с несколькими доменами, поэтому не понял, можно ли как-то всё красиво оформить через переменные в ssl_certificate, но с одним acme_client? Или для каждого отдельного домена надо прописывать своего клиента?

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

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

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#angie
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍97👎5
👍Новый способ сократить расходы в кластере Managed Kubernetes

Selectel первым в России добавил поддержку Karpenter в Managed Kubernetes. Теперь параметры масштабирования можно настроить ещё более гибко.

Karpenter позволяет:
✔️ экономить на инфраструктуре, в том числе кластерах с GPU, благодаря динамической консолидации ресурсов — подберет лучшую конфигурацию нод и перенесет поды без простоев;
✔️ автоматически масштабировать узлы кластера в зависимости от реальной нагрузки — без ограничений на группы узлов.

👉Установите Karpenter в Managed Kubernetes в Selectel и оптимизируйте расходы на инфраструктуру: https://slc.tl/jnamq

Реклама. АО "Селектел". erid:2W5zFJg1eWk
👍10👎5