Exim с панелью управления VExim и imap сервером Dovecot. Подготовка к инсталяции

Как-то подходит ко мне начальник отдела и говорит, что  на нашем Exchange  заканчиваются лицензии, и что необходимо настроить почтовый сервер для того, чтобы перенести на него почтовые ящики наших арендаторов. Лицензию на Windows никто не даст, а на Exchange — тем более.

Итак имеем следующие условия для программного обеспечения:

1.Открытая ОС и свободное ПО.

2.Возможность создания нескольких почтовых доменов.

3.возможность квотирования почтовых ящиков пользователей.

4.Возможность снимать почту как почтовыми клиентами, так и через Web.

5.Возможность просмотра логов сервера.

6.Возможность настройки антиспама и антивируса.

7. И самое главное — возможность управления почтовыми доменами и ящиками через графику, ибо наши системные администраторы Windows командную строку FreeBSD не знают и знать не желают.

8. Рассмотреть возможность установки других служб на сервере.

Сначала выбор пал на Xmail. Но его дальнейшая эксплуатация показала его несостоятельность, ибо его демон постоянно отваливался. А при скачивании файлов более 3 мегабайт, POP3 зависал так, что ничто не помогало.  А POP3 сервер идет в поставку Xmail и заменить его не возможно.  Хотя Web-морду для  управления этим  сервером считаю одной из самых удачных.

Было принято решение поставить Exim с панелью управления VExim и imap сервером Dovecot,а также Web-мордой для пользователей Roundcube (на мой взгляд самой удачной), программой просмотра логов сервера Exilog, антивирусом ClamAV и проверкой на спам SpamAssassin.

Можно было бы конечно зайти в порт и сделать make install.

Но эта программа потянет за собой устаревшее программное обеспечение типа MySQL 4.X   и apache 1.3. Поэтому все необходимое для инсталяции ставим сами.

Этому и посвящена эта статья.

Не забываем,что для правильной работы почтового сервера необходима настройка DNS

.

Однако, настройка DNS в этой статье не рассматривается

.

Начинаем с обновления портов и обновления FreeBSD, т.к. сервер будет иметь Интернетовский адрес, а проблемы с безопасностью нам не нужны.

Далее ставим и настраиваем базу данных.

exim# cd /usr/ports/databases/mysql51-server/

exim# make WITH_XCHARSET=all

exim# make install

Редактируем rc.conf:

exim# ee /etc/rc.conf

Добавляем:

mysql_enable=»YES»

Создаем конфигурационный файл my.cnf для MySQL.

exim#cp /usr/local/share/mysql/my-small.cnf  /etc/my.cnf

Запускаем MySQL сервер:

exim# /usr/local/etc/rc.d/mysql-server start

Проверяем, запустился ли:

exim# ps -ax | grep mysql

Если видим подобное, то все в порядке:

72567  v0  S      0:00.01 /bin/sh /usr/local/bin/mysqld_safe —defaults-extra-f

72618  v0  S      0:00.15 /usr/local/libexec/mysqld —defaults-extra-file=/var/

72620  v0  R+     0:00.00 grep mysql

Задаем пароль  MySQL root:

exim# mysqladmin -u root password 12345

проверяем, можем ли мы зайти под паролем:

exim# mysql -uroot -p

Enter password:

Удаляем libtool-1.5.Х, так как будем ставить apache 2.2 , а ему требуется libtool22, иначе  будет конфликт библиотек при сборке:

exim# pkg_info

exim# pkg_delete libtool-1.5.26

Ставим libtool22 для apache2.2

exim# cd /usr/ports/devel/libtool22/

exim# make

exim# make install

ставим apache2.2:

exim# cd /usr/ports/www/apache22

exim# make

exim# make install

Ставим PHP5:

exim# cd /usr/ports/lang/php5

exim# make

Options for php5 5.2.11_1

[X] CLI        Build CLI version

[X] CGI        Build CGI version

[X] APACHE     Build Apache module

[ ] DEBUG      Enable debug

[X] SUHOSIN    Enable Suhosin protection system (not for jails)

[X] MULTIBYTE  Enable zend multibyte support

[ ] IPV6       Enable ipv6 support

[X] MAILHEAD   Enable mail header patch

[X] REDIRECT   Enable force-cgi-redirect support (CGI only)

[X] DISCARD    Enable discard-path support (CGI only)

[X] FASTCGI    Enable fastcgi support (CGI only)

[X] PATHINFO   Enable path-info-check support (CGI only)

exim# make install

Обращаем внимание на следующее объявление:

***************************************************************

Make sure index.php is part of your DirectoryIndex.

You should add the following to your Apache configuration file:

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

***************************************************************

создаем php.ini, позже придется в него вносить изменения:

exim# cp /usr/local/etc/php.ini-recommended /usr/local/etc/php.ini

Идем в конфигурационный файл апача:

exim# ee /usr/local/etc/apache22/httpd.conf

Ищем строку:<IfModule dir_module> и прописываем index.php,

Должно быть так:

<IfModule dir_module>

DirectoryIndex index.php index.html

Далее ищем строку:<IfModule mime_module> и добавляем:

AddType application/x-httpd-php .php и

AddType application/x-httpd-php-source .phps

Т.е. должно быть так:

<IfModule mime_module>

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

Так же необходимо разрешить работу с виртуальными хостами.

По умолчанию эта возможность закоментирована.

Ищем строку

# Virtual hosts

и раскоментируем:

Include etc/apache22/extra/httpd-vhosts.conf

Ставим расширения PHP:

#cd /usr/ports/lang/php5-extensions/

#make

Options for php5-extensions 1.3

[X] BCMATH      bc style precision math functions

[X] BZ2         bzip2 library support

[X] CALENDAR    calendar conversion support

[X] CTYPE       ctype functions

[X] CURL        CURL support

[X] DBA         dba support

[ ] DBASE       dBase library support

[X] DOM         DOM support

[X] EXIF        EXIF support

[X] FILEINFO    fileinfo support

[X] FILTER      input filter support

[ ] FRIBIDI     FriBidi support

[X] FTP         FTP support

[X] GD          GD library support

[X] GETTEXT     gettext library support

[X] GMP         GNU MP support

[X] HASH        HASH Message Digest Framework

[X] ICONV       iconv support

[X] IMAP        IMAP support

[ ] INTERBASE   Interbase 6 database support (Firebird)

[X] JSON        JavaScript Object Serialization support

[ ] LDAP        OpenLDAP support

[X] MBSTRING    multibyte string support

[ ] MCRYPT      Encryption support

[ ] MHASH       Crypto-hashing support

[X] MING        ming shockwave flash support

[ ] MSSQL       MS-SQL database support

[X] MYSQL       MySQL database support

[ ] MYSQLI      MySQLi database support

[X] NCURSES     ncurses support (CLI only)

[ ] ODBC        unixODBC support

[X] OPENSSL     OpenSSL support

[X] PCNTL       pcntl support (CLI only)

[X] PCRE        Perl Compatible Regular Expression support

[X] PDF         PDFlib support (implies GD)

[X] PDO         PHP Data Objects Interface (PDO)

[X] PDO_SQLITE  PDO sqlite driver

[ ] PGSQL       PostgreSQL database support

[X] POSIX       POSIX-like functions

[X] PSPELL      pspell support

[ ] READLINE    readline support (CLI only)

[ ] RECODE      recode support

[X] SESSION     session support

[ ] SHMOP       shmop support

[X] SIMPLEXML   simplexml support

[X] SOAP        SOAP support

[X] SOCKETS     sockets support

[X] SPL         Standard PHP Library

[ ] SQLITE      sqlite support

[ ] SYBASE_CT   Sybase database support

[ ] SYSVMSG     System V message support

[ ] SYSVSEM     System V semaphore support

[ ] SYSVSHM     System V shared memory support

[X] TIDY        TIDY support

[X] TOKENIZER   tokenizer support

[ ] WDDX        WDDX support (implies XML)

[X] XML         XML support

[X] XMLREADER   XMLReader support

[ ] XMLRPC      XMLRPC-EPI support

[X] XMLREADER   XMLReader support

[X] XMLRPC      XMLRPC-EPI support

[X] XMLWRITER   XMLWriter support

[X] XSL         XSL support (Implies DOM)

[X] YAZ         YAZ support (ANSI/NISO Z39.50)

[X] ZIP         ZIP support

[X] ZLIB        ZLIB support

exim# make install

exim# cd /usr/local/www/apache22/data

Создаем файл  index.php для проверки:

touch index.php

ee index.php

<?

phpinfo();

?>

Редактируем rc.conf:

exim# ee /etc/rc.conf

Добавляем:

apache22_enable=»YES»

Запускаем apache

exim# apachectl start

Заходим http://IP_adress  броузером и видим информацию о сервере.

На этом подготовительный этап закончен.

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

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