В интернете очень мало информации о hMailServer. А та что есть — неполная. Я решил немного развеять облака над этой темой и написать цикл статей про этот почтовый сервер. Сегодня просто установим hMailServer.
Конфигурация установки:
- операционная система Windows Server 2016,
- версия БД MySQL 8.0.15,
- версия hMailServer 5.6.8 - Build 2431 (BETA).
Ссылки
Сайт разработчика:
hMailServer - бесплатный почтовый сервер для Windows
Установка hMailServer
Подготовка к установке
.NET Framework 3.5
Для работы hMailServer требует .NET Framework 2.0. Этот пакет встроен в инсталлятор, но почему-то у меня выдаёт ошибку. Скорее всего потому, что в Windows Server 2016 .NET Framework 2.0 входит в .NET Framework 3.5. Чтобы не наступить на грабли, устанавливаем .NET Framework 3.5 перед установкой hMailServer.
Включить Framework 3.5 на Windows Server 2012 R2
В Server Manager > Add Roles and Features выбираем в Features галкой пункт .NET Framework 3.5 (includes .NET 2.0 and 3.0)
Next. Устанавливается пакет.
Installation succeeded.
MySQL 8.0
Сами почтовые сообщения хранятся на жестком диске в формате MIME. Для хранения настроек и индексов использует базы данных:
- Microsoft SQL Server 2000 and later
- Microsoft SQL Server Compact Edition (CE)
- MySQL 4 and later
- PostgreSQL
В инсталлятор встроена Microsoft SQL Server Compact Edition (CE), но есть ньюанс:
Please Note: The bundled Microsoft SQL Server Compact Edition (MS SQL CE) is not supported by Microsoft for Windows 8, Windows 8.1, Windows 10, Server 2012, Server 2016. You will need to use an external database with these Operating Systems.
Я пробовал два варианта баз данных: Microsoft SQL Server 2008 и MySQL 8.0. С MSSQL проблем не возникло. С MySQL пришлось покорячиться - нужно доставать 32-битную библиотеку libmysql.dll, сразу и не понял где её брать.
Сегодня поставим hMailServer с настройками для MySQL 8.0.15, поскольку этот вариант БД настраивается только после пинка. Если MySQL у вас ещё не стоит - поставим:
Установка MySQL 8 на Windows Server 2016
hMailServer при установке сам создаёт схему "hmailserver". Для этого ему нужен пользователь и пароль. Чтобы не давать ему рута, можно заранее создать пользователя.
Пользователю нужно дать привилегии на схему "hmailserver".
libmysql.dll - 32-бит
Библиотека libmysql.dll не входит в пакет поставки hMailServer, её придётся заранее достать. Проблема в том, что MySQL 8.0 теперь поставляется в 64-битном режиме, и библиотека от него не подойдёт. Я нашёл нужную библиотеку в MySQL Connector C 6.1, который можно установить из дистрибутива с MySQL 8.0, там есть 32-битная версия libmysql.dll.
Дистрибутив
Качаем дистрибутив hMailServer:
https://www.hmailserver.com/download
Установка
Запускаем hMailServer-5.6.8-B2431.exe, лучше под админом.
Next.
Принимаем лицензионной соглашение. Next.
Выбираем папку установки. При выборе папки нужно помнить, что файлы писем будут храниться внутри. Next.
Устанавливаем сам почтовый сервер и средства администрирования. Next.
Выбираем Use external database engine (MSSQL, MySQL or PostgreSQL). Next.
Папка в стартовом меню, оставляем как есть. Внутри будут полезные ссылки:
Например, настройку БД после установки можно запустить потом отдельно hMailServer Database Setup.
Next.
Задаём пароль администратора hMailServer. Next.
Install.
Начинается процесс установки. После окончания установки автоматически запустится hMailServer Database Setup:
Первый шаг информационный. Next.
На втором шаге вы можете создать новую базу или выбрать ранее существующую. Я создаю новую:
На третьем шаге выбираем тип БД, я выбираю MySQL. Next.
Четвёртый шаг - указываем настройки сервера и базы MySQL. Next.
Пятый шаг. Здесь можно выбрать сервис, от которого будет зависеть hMailServer. Удобная штука. Выбираем сервис MySQL80(MySQL80). Теперь сервис hMailServer запуститься только после сервиса MySQL. Next.
На шестом шаге у инсталлятора уже достаточно данных для установки. Next.
Тут резко выясняется, что для работы с БД инсталлятору требуется 32-битная библиотека libmysql.dll. Её я достал уже в подготовительном шаге. Нам пишут, что этот файл нужно положить вот сюда: "C:\Program Files (x86)\hMailServer\Bin\libmysql.dll". Засовываем библиотеку туда:
Next.
Установка БД завершена. Close.
Можно оставить галку для запуска hMailServer. Finish.
Входим под админом.
Указываем пароль администратора hMailServer. OK.
Всё работает.
Известные проблемы
Can't create database
В 6 шаге настройки БД показывается ошибка:
Can't create database "hmailserver"; database exists.
Вы заранее создали схему hmailserver. Снесите её, инсталлятор сам создаст.
Не установили .NET Framework 3.5
Если инсталлятор не нашел .NET Framework 2.0, то он его попробует поставить:
Запустит пакет.
Поставит.
И не сможет довести дело до конца.
Потому что нужно заранее поставить .NET Framework 3.5, в подготовительном этапе мы должны были это сделать.
Database is not available
Иногда инсталлятор открывает окно настройки БД под основным окном. Если базу не настроить - появится такая ошибка. Возможно также, что вы случайно закрыли настройку базу, можно запустить заново hMailServer Database Setup.