Инструменты пользователя

Инструменты сайта


openchange

установка и запуск 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
openchange.txt · Последнее изменение: 2015/04/23 14:43 (внешнее изменение)

DokuWiki Appliance - Powered by TurnKey Linux