установка и запуск Openchange

Для начала настроим postfix и dovecot

Для корректной работы необходимо отключить iptables и selinux

Настроим сетевое подключение и пропишем днс серверы.
Установим mysql

yum install mysql mysql-server mysql-devel -y

Добавим его в автозагрузку

chkconfig mysqld on

Запустим его

service mysqld start

Настроим сервер на запрос пароля при подключение

mysqlsecureinstallation ## Тут задается пароль пользователю root сервера mysql(не системному)

Заходим в консоль mysql и создаем базу и пользователя для работы с почтой

mysql -u root -p (после вводим пароль root на mysql)

create database mail;

grant all privileges on mail.* to 'postfix'@'localhost' identified by '123qaz';

exit

Непосредственно установка и настройка postfix

yum install postfix pam mod_ssl openssl crypto-utils mc system-config-firewall-tui setuptool wget -y

сделаем копию всей парки etc в домашний каталог root

tar czvf /root/etc1.tar.gz /etc

Заменим содержимое /etc/postfix/main.cf следующим

softbounce = no
queue
directory = /var/spool/postfix
daemondirectory = /usr/libexec/postfix
mail
owner = postfix
defaultprivs = nobody
inet
interfaces = all
myhostname = mx.nadejnei.net
mydomain = nadejnei.net
myorigin = $mydomain
mydestination = $myhostname,localhost.$myhostname,localhost
localrecipientmaps = proxy:unix:passwd.byname $aliasmaps
unknown
localrecipientrejectcode = 550
mynetworks = 127.0.0.0/8
relay
domains =
aliasmaps = hash:/etc/aliases
alias
database = hash:/etc/aliases
mailspooldirectory = /var/mail
smtpdbanner = $myhostname ESMTP
debug
peerlevel = 2
debug
peerlist = 127.0.0.1
debugger
command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemondirectory/$processname $processid & sleep 5

sendmail
path = /usr/sbin/sendmail
mailqpath = /usr/bin/mailq
setgid
group = postdrop
htmldirectory = no
manpage
directory = /usr/local/man
config_directory = /etc/postfix
######################################
virtualmailboxdomains = mysql:$configdirectory/sql/vdomains.cf
virtual
mailboxbase = /var/vmail
virtual
mailboxmaps = mysql:$configdirectory/sql/vmailbox.cf
virtualaliasmaps = mysql:$configdirectory/sql/valias.cf
virtual
minimumuid = 1150
virtual
uidmaps = static:1150
virtual
gidmaps = static:12
virtual
transport = dovecot
dovecotdestinationrecipientlimit = 1
smtpd
saslauthenable = yes
smtpdsaslexceptionsnetworks = $mynetworks
smtpd
saslsecurityoptions = noanonymous
brokensaslauthclients = yes
smtpd
sasltype = dovecot
smtpd
sasl_path = /var/spool/postfix/private/dovecot-auth
#################################################
smtpdrecipientrestrictions = permitmynetworks,
permit
saslauthenticated,
reject
unauthdestination,
reject
nonfqdnrecipient,
rejectinvalidhostname,
rejectunknownrecipientdomain,
reject
unknownclient,
reject
unlistedrecipient,
reject
unverifiedrecipient,
reject
unauthpipelining,
reject
rblclient cbl.abuseat.org,
reject
rblclient dialups.mail-abuse.org,
reject
rblclient bl.spamcop.net,
reject
rblclient zen.spamhaus.org,
reject
rbl_client sbl-xbl.spamhaus.org,
permit

создадим пользователя

useradd -r -u 1150 -g mail -d /var/vmail -s /sbin/nologin -c Virtual vmail

Здесь правило rejectunauthdestination - должно запрещать открытый релей через ваш сервер.

Создадим дополнительные конфигурационные файлы, которые указаны в /etc/postfix/main.cf, эти файлы отвечают за

обращение к базе данных MySQL

mkdir /etc/postfix/sql

touch /etc/postfix/sql/vdomains.cf

добавим в него

user = postfix
password = password
hosts = localhost
dbname = mail
table = domain
selectfield = domain
where
field = domain
additional_conditions = and backupmx = '0' and active = '1'

touch /etc/postfix/sql/vmailbox.cf

запишем в него

password = password
hosts = localhost
dbname = mail
table = mailbox
selectfield = CONCAT(domain,'/',maildir)
where
field = username
additional_conditions = and active = '1'

touch /etc/postfix/sql/valias.cf

запишем в него

user = postfix
password = password
hosts = localhost
dbname = mail
table = alias
selectfield = goto
where
field = address
additional_conditions = and active = '1
'

Установим Dovecot

yum install dovecot dovecot-mysql -y

Чтобы Dovecot служил локальным транспортом, допишем следующие строчки в /etc/postfix/master.cf

dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -d $(recipient) \\

В конец main.cf добавим

Чтобы лучше отбивался спам, добавим также следующие ограничения:

smtpdclientrestrictions =
rejectunauthpipelining,
permitsaslauthenticated,
permitmynetworks,
reject
unknownclienthostname,
permit
smtpdhelorestrictions =
permitmynetworks,
permit
saslauthenticated,
reject
invalidhostname,
reject
invalidhelohostname,
rejectunknownhostname,
rejectnonfqdnhelohostname,
rejectunknownhelohostname,
permit
smtpd
senderrestrictions =
permit
saslauthenticated,
permit
mynetworks,
rejectnonfqdnsender,
reject
authenticatedsenderloginmismatch,
reject
unauthenticatedsenderloginmismatch,
reject
unknownsenderdomain,
permitsaslauthenticated,
rejectsenderlogin_mismatch
permit

Скопируем etc еще раз уже под номером 2 см выше.

Настроим dovecot

Заменим содержимое /etc/dovecot/dovecot.conf следующим
# 2.0.9: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-220.7.1.el6.i686 i686 CentOS release 6.6 (Final) ext4
authdebug = yes
auth
debugpasswords = yes
auth
mechanisms = plain login cram-md5
authverbose = yes
base
dir = /var/run/dovecot/
disableplaintextauth = no
ssl = no
firstvaliduid = 1150
lastvaliduid = 1150
logtimestamp = %Y-%m-%d %H:%M:%S
mail
debug = yes
mail_location = maildir:/var/vmail/%d/%u
passdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
protocols = imap pop3
service auth {
unixlistener /var/spool/postfix/private/dovecot-auth {
user = postfix
group = postfix
mode = 0660
}
unix
listener auth-master {
user = vmail
group = mail
mode = 0660
}
unixlistener auth-userdb {
user = vmail
group = mail
mode = 0660
}
#user=root
}
service imap-login {
executable = /usr/libexec/dovecot/imap-login
inet
listener imap {
address = *
port = 143
}
}
service imap {
executable = /usr/libexec/dovecot/imap
}
service pop3-login {
executable = /usr/libexec/dovecot/pop3-login
inetlistener pop3 {
address = *
port = 110
}
}
service pop3 {
executable = /usr/libexec/dovecot/pop3
}
userdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
protocol lda {
auth
socketpath = /var/run/dovecot/auth-master
postmaster
address = admin@point.local
}

создаем /etc/dovecot/dovecot-sql.conf и записываем в него:

driver = mysql
connect = host=localhost dbname=mail user=postfix password=password
defaultpassscheme = CRAM-MD5
userquery = SELECT '/var/vmail/%d/%n' as home, 'maildir:/var/vmail/%d/%n'as mail, 1150 AS uid, 12 AS gid,
concat('dirsize:storage=', quota) AS quota FROM mailbox WHERE username = '%u' AND active = '1'
password
query = SELECT username as user, password, '/var/vmail/%d/%n' as userdbhome, 'maildir:/var/vmail/%d/%n' as userdbmail, 1150 as userdbuid, 12 asuserdbgid FROM mailbox WHERE username = '%u' AND active = '1'

Установим Postgrey

для этого установим репозиторий rpmforge

rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

установим Postgrey:

yum install postgrey -y

После установки рекомендуется отключить репозиторий rpmforge в /etc/yum.repos.d/rpmgorge.repo проставить enable=0

после строки rejectunauthdestination файла main.cf вставляем

  check_policy_service unix:/var/spool/postfix/postgrey/socket,
  
  

Установим антивирус Clamav

Для этого подключим репозиторий epel

rpm -Uvh http://mirror.yandex.ru/epel/6Server/x86_64/epel-release-6-8.noarch.rpm

yum install clamav clamav-server clamsmtp –y

Обновим и установим и включим автобновление

fresclam -v fresclam -d

Сохраним исходный конфиг

mv /etc/clamsmtpd.conf /etc/clamsmtpd.conf.orig

и создадим новый

touch /etc/clamsmtpd.conf

отредактируем его

OutAddress: 10026
TimeOut: 180
KeepAlives: 0
XClient: on
Listen: 127.0.0.1:10025
ClamAddress: /var/run/clamav/clamd.sock
Header: X-Virus-Scanned: ClamAV using ClamSMTP
TempDirectory: /var/tmp
Action: drop
Quarantine: on
User: clam

Дадим пользователю права доступа к нужным папкам и файлам

chown clam:mail -R /var/run/clamd.clamsmtp/
chown clam:clam -R /var/lib/clamd.clamsmtp

Подключим фильтрацию вирусов к postfix

в /etc/postfix/main.cf

добавим

contentfilter = scan:127.0.0.1:10025
receive
overrideoptions = noaddress_mappings

а в master.cf

vi /etc/postfix/master.cf

scan unix - - n - 16 smtp -o smtpsendxforward_command=yes
127.0.0.1:10026 inet n - n - 16 smtpd
-o contentfilter=
-o receive
overrideoptions=nounknownrecipientchecks,noheaderbodychecks
-o smtpd
helorestrictions=
-o smtpd
clientrestrictions=
-o smtpd
senderrestrictions=
-o smtpd
recipientrestrictions=permitmynetworks,reject
-o mynetworksstyle=host
-o smtpd
authorizedxforwardhosts=127.0.0.0/8

Установим Postfixadmin и apache

yum -y install httpd php php-imap php-mbstring php-common php-pdo php-mysql php-cli

перейдем в /var/www/html и скачаем postfixadmin и распакуем его

cd /var/www/html

wget http://sourceforge.net/projects/postfixadmin/files/postfixadmin/postfixadmin-2.91/postfixadmin-2.91.tar.gz/download -O postfixadmin-2.91.tar.gz

tar -xvzf postfixadmin-2.91.tar.gz

mv postfixadmin-2.91/ postfixadmin

cd postfixadmin

Сменим владельца на apache

chown -R apache:apache /var/www/html/postfixadmin/templates_c

откроем /var/www/html/postfixadmin/config.inc.php и укажем настроики

$CONF['configured'] = true;
$CONF['databasetype'] = 'mysql';
$CONF['database
host'] = 'localhost';
$CONF['databaseuser'] = 'postfix';
$CONF['database
password'] = 'password';
$CONF['databasename'] = 'mail';
$CONF['encrypt'] = 'dovecot:CRAM-MD5';
$CONF['dovecotpw'] = «/usr/bin/doveadm pw»;
$CONF['emailcheck
resolve_domain']='YES';

Включаем автозагрузку всего что нужно

  chkconfig mysqld on
  chkconfig dovecot on
  chkconfig postfix on
  chkconfig httpd on
  chkconfig postgrey on
  chkconfig clamd on
  chkconfig clamsmtpd on
  chkconfig saslauthd on
DokuWiki Appliance - Powered by TurnKey Linux