25 October 2011

Roundcube + hMailServer или своя почта в маленькой организации

System administration
Sandbox
image
Не каждая организация может позволить себе покупку дорогостоящего почтового сервера как Microsoft Exchange Server, да и в силу своей «наворочености», не каждой организации он нужен. Некоторое время назад передо мной встала задача запустить почту внутри организации для обмена документами между отделами. Сразу оговорюсь, что организация, в которой я работаю небольшая, имеет 1 сервер и около 50 клиентских машин. Опыта работы с почтовыми серверами – нет. После недолгих поисков по просторам сети было решено использовать связку RoundCube + hMailServer. В этой статье не будут рассмотрены и описаны все сильные и слабые стороны такой связки, а просто описано как все это заставить работать, но скажу что основные достоинства этого решения – бесплатность и простота в настройке.

Немного теории


С чем имеем дело…
Почтовый сервер – в системе пересылки электронной почты так обычно называют агент пересылки сообщений. Это компьютерная программа, которая передаёт сообщения от одного компьютера к другому. Обычно почтовый сервер работает «за кулисами», а пользователи имеют дело с другой программой — клиентом электронной почты.
hMailServer — бесплатный почтовый сервер под платформу Windows. Работает как служба Windows и включает в себя инструменты администрирования и резервного копирования. Поддерживает почтовые протоколы IMAP, POP3 и SMTP. Для хранения настроек и индексов использует базы данных типа MySQL, MS SQL или PostgreSQL, сами же почтовые сообщения хранятся на жестком диске в формате MIME.
RoundCube Webmail — это клиент для работы с электронной почтой с веб-интерфейсом, написанный на PHP с использованием CSS и XHTML и технологии AJAX. RoundCube Webmail устанавливается практически на любой сервер с поддержкой PHP и MySQL и предоставляет возможность работы с почтовыми ящиками по протоколам IMAP и SMTP. Имеет множество расширений.
Для начала работы необходимо скачать следующие компоненты:
1) hMailServer
2) RoundCube Webmail
3) Веб-сервер VertrigoServ (можно использовать и любой другой)
И так, скачав все необходимое или удостоверившись, что оно есть в наличии, можно смело переходить к началу установки.

Практика


Этап нулевой: Задать сетевой карте статический IP адрес. В данной статье будет использован IP 192.168.0.45.

Этап первый: Установка VertrigoServ.
Не думаю, что стоит детально расписывать установку этого веб-сервера, т.к. ничего замысловатого в этом процессе нет.

Этап второй: Установка hMailServer.
Полностью процесс установки описывать не буду, рассмотрим только основные моменты. На этапе «Select Components» выбираем «Full Installation», далее на этапе «Database type» выбираем «Use external database engine (MSSQL, MySQL or PostgreSQL) и еще пару раз нажав «Далее» начнется установка. Ближе к завершению установки, запуститься приложение hMailServer Database Setup, в котором необходимо указать тип базы данных и прописать реквизиты для подключения.

image

Рассмотрим настройку подключения пошагово:
&nbsp&nbsp&nbsp Step 1 of 7 – просто жмем «Next»
&nbsp&nbsp&nbsp Step 2 of 7 – выбираем «Create a new hMailServer database»
&nbsp&nbsp&nbsp Step 3 of 7 – выбираем «MySQL» и для того, чтобы на 6 шаге не возникло проблем, копируем файл libmysql.dll находящийся в папке с установленным VertrigoServ в папку \hMailServer\Bin\
&nbsp&nbsp&nbsp Step 4 of 7 – вводим следующие данные:
Database server address – 127.0.0.1 (или localhost)
Port – 3306
Database name – hmail (как пример)
Username – root
Password – vertrigo
&nbsp&nbsp&nbsp Step 5 of 7 – пропускаем
&nbsp&nbsp&nbsp Step 6 of 7 – просто жмем «Next» (при условии, что данные на 4 шаге введены верно, создается база данных)
&nbsp&nbsp&nbsp Step 7 of 7 – «Close»
Заключительный этап установки hMailServer — это «Specify main password», на котором задается «главный» пароль для доступа к программе. После того как пароль задан, установка считается завершенной.

Теперь займемся русификацией программы, если считаете, что Ваших познаний в английском языке достаточно для работы с программой, то смело пропускайте данный пункт. Для русификации необходимо временно остановить службу hMailServer, для этого идем в «Пуск – Панель управления – Администрирование – Службы». В списке находим hMailServer, вызываем правой кнопкой мыши выпадающее меню, в котором выбираем команду «Стоп».

image

Все, служба остановлена. Теперь скачиваем файл с русификацией и помещаем его в папку \hMailServer\Languages\. Остается только вписать имя файла локализации в файл конфигурации hMailServer, для этого открываем файл \hMailServer\Bin\hMailServer.ini и дописываем «ValidLanguages=english,swedish,russian». Сохраняем и закрываем файл. Запускаем службу hMailServer (вызываем правой кнопкой мыши выпадающее меню, в котором выбираем команду «Пуск»).

Этап третий: Начальное конфигурирование hMailServer.
Запускаем утилиту hMailServer Administrator. Появляется окно «Connect», в котором, выделив единственную запись, жмем на кнопку «Connect»

image

Программа просит ввести пароль, который был задан на заключительном этапе установке hMailServer. Введя пароль, попадаем в главное окно административной части hMail. В меню «File – Select language…» выбираем «russian» и жмем «ОК», программа автоматически перезапустится, после чего «заговорит» по русски.
Настройка интуитивно понятна, для начала необходимо нажать на кнопку «Добавить домен», в качестве имени домена, выберем «test.loc» и нажмем кнопку «Сохранить» (более детальная настройка почтового домена в этой статье рассматриваться не будет).

image

Создаем учетную запись, для этого переходим в левой части программы в папку «Учетные записи», а в правой части программы жмем кнопку «Добавить…». Вводим любое имя пользователя (например test), указываем пароль и жмем кнопку «Сохранить» (более детальная настройка пользователей в этой статье рассматриваться не будет). И так, на нашем почтовом сервере появляется первый пользователь test@test.loc.

image

Собственно на этом предварительную настройку hMailServer можно считать законченной, переходим дальше.

Этап четвертый: Установка RoundCube.
Для начала необходимо содержимое архива roundcubemail перенести в папку \VertrigoServ\www\ (предварительно можно удалить всю «начинку»). Теперь в веб-приложении phpMyAdmin создаем MySQL базу данных для RoundCubeMail, для этого открываем браузер и в адресной строке вводим «127.0.0.1/phpmyadmin» в качестве логина вводим: root, пароль: vertrigo (стандартные реквизиты для VertrigoServ). В поле «Новая база данных» вводим название, например «roundcube» и нажимаем кнопку «Создать».

image

База данных создана, переходим непосредственно к установке скрипта RoundCubeMail. В адресной строке браузера вводим «127.0.0.1/installer/index.php» и жмем «Enter». Попав на страницу «Roundcube Webmail Installer» жмем кнопку «Start installation». Установка проходит в три этапа.
1. Check environment. Происходит проверка, удовлетворяет ли ваша система требованиям скрипта. Жмем кнопку «Next», если она недоступна, внимательно читаем информацию на странице и исправляем недочеты.

image

2. Create config. Рассмотрим пункты, которые следует задать/изменить.
Блок General configuration:
product_name – Имя почтового сервера

Блок Database setup:
Database type – MySQL
Database server – localhost
Database name – roundcube
Database user name – root
Database password – vertrigo


Блок IMAP Settings:
default_host – 192.168.0.45
username_domain – test.loc


Блок SMTP Settings:
smtp_server – localhost

Блок Display settings & user prefs:
language – ru_RU

После того как внесли все необходимые изменения жмем на кнопку «Create config» нас перенаправляет на страницу на которой предлагается скачать созданные конфигурационные файлы.

image

Скачиваем сгенерированные конфигурационные файлы и копируем их в папку \VertrigoServ\www\config\. Возвращаемся в браузер и жмем кнопку «Continue».
3. Test config. Это заключительный этап установки, на нем можно проверить правильность конфигурации. Для этого служба hMailServer должна быть запущена.
В блоке «Test SMTP config», в полях «Sender» и «Recipient» введем адрес нашего единственного пользователя test@test.loc, жмем на кнопку «Send test mail», если появляется сообщение «SMTP send: OK» – значит эта часть настроена верно, в противном случае перепроверьте в конфигурационном файле main.inc.php параметр $rcmail_config['smtp_server'] = 'localhost';.
Теперь проверяем, работает ли IMAP, в блоке «Test IMAP config» в качестве сервера выбираем 192.168.0.45, Username: test@test.loc, Password: пароль который ввели при создании пользователя. Жмем на кнопку «Check login» если в результате получаем сообщение «IMAP connect: OK» значит все сконфигурировано верно, иначе перепроверьте в конфигурационном файле main.inc.php параметр $rcmail_config['default_host'] = '192.168.0.45';.
Убедившись, что все работает, идем в директорию \VertrigoServ\www\ и удаляем папку «Installer».
На этом установка RoundCube Webmail завершена.

Этап пятый: Авторизация в Roundcube.
Этот этап является заключительным, здесь мы авторизуемся под реквизитами пользователя, которого создали на третьем этапе test@test.loc. Для начала откроем браузер и введем в адресной строке 192.168.0.45, нажав «Enter» попадаем на страницу авторизации Roundcube. В поле «Имя пользователя» вводим test@test.loc или просто test. Пароль вводим который ввели при создании пользователя. Жмем на кнопку «Войти» и оказываемся внутри вашего первого почтового ящика!

image

Вот собственно и все. В данной статье рассмотрены основные настройки связки RoundCube + hMailServer. Спасибо что дочитали до конца!
Tags:системное администрированиепочтовый серверпочтовый клиент
Hubs: System administration
+27
109.5k 179
Comments 59