Товарищ! Тебе необходимо управлять учётными данными пользователей Exim и Dovecot без перезапуска сервисов? Тебе необходимо дать возможность пользователю из web-интерфейса менять свой пароль? Ты не понимаешь, нафига для этого надо тащить на сервер полноценную реляционную базу данных?

Я тоже очень хотел не тащить SQL-базу и управлять всем в режиме онлайн. Сел, почитал документацию, и таки нашёл выход! Вот, например, в Exim есть вариант запроса readsocket, который просто позволяет Exim’у зайти на некий unix-сокет и просто «спросить» о нужной информации. Как понимаете, это сильно упрощает реализацию взаимодействия с Exim’ом. В Dovecot подобное тоже есть — протокол dict. Ну чуть сложней, но тоже непередаваемо проще, чем реализация интерфейса LDAP или SQL.

А у меня есть perl… Ну вы поняли: нельзя взять и не написать ничего на perl 😉

Так и получился mailadm — система управления учётными данными для exim и dovecot, взаимодействующая с ними, администратором и пользователями через клиент-серверный интерфейс. Все данные хранятся в памяти, что очень хорошо для всяких VPS, сильно просаженных по дисковому I/O, но имеет синхронный коммит измененных данных на диск, на случай каких-либо внештатных падений (как-будто бы «штатные» падения бывают у сервера, ага).

mailadm в.1.03 (sha1sum: 02d02d2bad2311a8284091c5f1ea730ac4ea0a62)

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

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

− 1 = 1