Sie sind auf Seite 1von 8

Completemailserversetupandconfigurewith

Postfix,Dovecot,PostfixAdmin,PHP,HTTP,MySQL,SpamassassinandClamAVinCentOS6.5

Installallrequiredpackagesfrominternet.

root # yum install -y


php
phpmysql
phpmbstring
phpimap
phppearDB

orphppear*

httpd
postfix
dovecot
mysql
mysqlserver
dovecotmysql
squirrelmail
postfixadmin
spamassassin
clamAV
clamD

#ConfigurePostfix

root #

vim

/etc/postfix/main.cf

queue_directory=/var/spool/postfix
command_directory=/usr/sbin
daemon_directory=/usr/libexec/postfix
data_directory=/var/lib/postfix
mail_owner=postfix
myhostname=mail.toptechgenius.com
mydomain=toptechgenius.com
myorigin=$mydomain
inet_interfaces=all
inet_protocols=all
mydestination=$myhostname,localhost.$mydomain,localhost


unknown_local_recipient_reject_code=550
mynetworks=168.100.189.0/28,127.0.0.0/8,180.234.214.144/28
sendmail_path=/usr/sbin/sendmail.postfix
newaliases_path=/usr/bin/newaliases.postfix
mailq_path=/usr/bin/mailq.postfix
setgid_group=postdrop
virtual_mailbox_domains=mysql:/etc/postfix/mysqldomains.cf
virtual_mailbox_maps=mysql:/etc/postfix/mysqlusers.cf
virtual_alias_maps=mysql:/etc/postfix/mysqlaliases.cf
virtual_mailbox_base=/home/vmail
virtual_uid_maps=static:5000
virtual_gid_maps=static:5000
virtual_transport=dovecot
dovecot_destination_recipient_limit=1
content_filter=scan:127.0.0.1:10025

root # vim

/etc/postfix/mysql-domains.cf

host=localhost
user=mail
password=PASSWORD
dbname=postfix
table=domain
select_field=domain
where_field=domain
additional_conditions=andbackupmx='0'andactive='1'

root # vim

/etc/postfix/mysql-aliases.cf

host=localhost
user=mail
password=PASSWORD
dbname=postfix
table=alias
select_field=goto
where_field=address
additional_conditions=andactive='1'

root # vim

/etc/postfix/mysql-users.cf

host=localhost
user=mail
password=PASSWORD
dbname=postfix
table=mailbox
select_field=maildir
where_field=username
additional_conditions=andactive='1'
result_format=%sMaildir/

#adduserandgroupvmail

root # groupadd -g 5000 vmail


root # useradd -m -d /home/vmail -s /bin/bash -u 5000 -g vmail vmail

root # vim /etc/postfix/master.cf


dovecot unix

pipe

flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -d ${recipient}

#Startthepostfixservice

#ConfigureDovecot

root # vim /etc/dovecot/dovecot.conf


protocols=imappop3
login_greeting=DovecotreadyForTopTechGeniusMailSystem

root # vim /etc/dovecot/conf.d/10-mail.conf


mail_location=maildir:/home/vmail/%d/%n/Maildir
namespace{
type=private
separator=.
prefix=
inbox=yes
}
mail_privileged_group=vmail
mail_access_groups=vmail
mbox_write_locks=fcntl

root # vim /etc/dovecot/conf.d/10-auth.conf


disable_plaintext_auth=no
auth_mechanisms=plainlogin
!includeauthsystem.conf.ext
!includeauthsql.conf.ext

root # vim /etc/dovecot/conf.d/10-master.conf


serviceimaplogin{

inet_listenerimap{

port=143

inet_listenerimaps{

port=993

ssl=yes

servicepop3login{

inet_listenerpop3{

port=110
}

inet_listenerpop3s{

port=995

ssl=yes

servicelmtp{
unix_listenerlmtp{
mode=0666
}
}
serviceauth{
#authuserdb
unix_listenerauthuserdb{
mode=0600


user=vmail
group=vmail
}
#authmaster
unix_listenerauthmaster{
mode=0666
user=vmail

group=vmail
}
#Postfixsmtpauth
unix_listener/var/spool/postfix/private/auth{
mode=0660
user=postfix
group=postfix
}
}

root # vim /etc/dovecot/conf.d/auth-sql.conf.ext


passdb{
driver=sql
args=/etc/dovecot/dovecotsql.conf
}
If any Error found
reading configuration: Invalid settings: postmaster_address setting not given lda:
Fatal: Internal error occurred
Go to

/etc/dovecot/conf.d/ and create a file 01-mail-stack-delivery.conf

root # touch /etc/dovecot/conf.d/01-mail-stack-delivery.conf


insert following text into this file and save it
protocol lda {
postmaster_address = postmaster
mail_plugins = sieve
quota_full_tempfail = yes
deliver_log_format = msgid=%m: %$
rejection_reason = Your message to <%t> was automatically rejected:%n%r
}

root # vim /etc/dovecot/dovecot-sql.conf


driver=mysql
connect=host=localhostdbname=postfixuser=mailpassword=PASSWORD
password_query=SELECTpasswordFROMmailboxWHEREusername='%u';
default_pass_scheme=CRYPT

root # vim /etc/dovecot/conf.d/auth-system.conf.ext


userdb{
driver=static
args=uid=5000gid=5000home=/home/vmail/%d/%nallow_all_users=yes
}

#Unpackpostfixadmininto/var/www/html/postfixadmin

root # vim

/var/www/html/postfixadmin/config.inc.php

$CONF['configured']=true;
$CONF['postfix_admin_url']='[url]http://mail.toptechgenius.com/postfixadmin[/url]';
$CONF['postfix_admin_path']=dirname(__FILE__);
$CONF['default_language']='en';
$CONF['database_type']='mysqli';
$CONF['database_host']='localhost';
$CONF['database_user']='mail';
$CONF['database_password']='PASSWORD';
$CONF['database_name']='postfix';
$CONF['setup_password']=
'c2914e6215d333460a5376d58652e229:a9241f657ccf21385d05a69e6f1b20d856d6e453';
$CONF['database_port']='3306';

$CONF['encrypt']='md5crypt';

#InstallandstartthemySQLservice

root # /usr/bin/mysqladmin -u
root # mysql u root p

root password

'roots DB Password'

//for prompt password


mysql>CREATEDATABASEpostfix;
mysql>showdatabases;
mysql>CREATEUSERmail@localhostIDENTIFIEDBY'mailUsersPASSWORD';
mysql>GRANTALLPRIVILEGESONpostfix.*TOmail;
mysql>exit

Ifanycomplicationfoundtocreateuserthenusethefollowingcommand:
mysql>dropusermail@localhost;
mysql>flushprivileges;
mysql>createusermail@localhostidentifiedby'mailadmins_password'

mysql>exit

#Install,configureandstartthehttpdservice

root # vim /etc/httpd/conf/httpd.conf


ServerRoot "/etc/httpd"

DocumentRoot"/var/www/html/webmail"
DirectoryIndexindex.htmlindex.phpindex.html.var

#configurenecessaryiptablesandSELinuxrulesforhttpandmail

root # setsebool

-P httpd_can_network_connect=1

#CreatesetuppasswordandadminuserforPostfixAdmin
Gotowebbrowserandtypepostfixdmin/setup.phpandcreatesetuppasswordandadminuser
#Gobrowserandtypemail.toptechgenius.com/postfixadmin/setup.phpandsetadminaccount&setup
password
#Copygeneratedsetuppasswordandinsertittopostfixadmin/config.inc.php

#Webmailconfiguring
#unpacksquirrelmailto"/var/www/html/webmail"andconfigurewebmail

#Spamassassin setup and configure

root # vim /etc/mail/spamassassin/local.cf


required_hits 5.0
report_safe 0
required_score 5
rewrite_header Subject ***SPAM***

root # groupadd spamd


root # useradd -g spamd -s /bin/false -d /var/log/spamassassin spamd
root # mkdir /var/log/spamassassin/.spamassassin
root # chown spamd:spamd /var/log/spamassassin
root # chmod 700 /var/log/spamassassin

root # vim /etc/postfix/master.cf


smtp
inet
n
smtpd -o content_filter=spamassassin

spamassassin unix - n n - - pipe flags=R user=spamd argv=/usr/bin/spamc -e


/usr/sbin/sendmail -oi -f ${sender} ${recipient}

#CrontabEntry

root # crontab e
0 0 * * * sa-update && /etc/init.d/spamassassin reload

#InstallandconfigureclamAV

#Createallrequiredstartupservice

root # chkconfig level 235 postfix on


root # chkconfig level 235 dovecot on
root # chkconfig level 235 mysqld on
root # chkconfig level 235 httpd on
root # chkconfig level 235 iptables on
root # chkconfig level 235 spamassassin on
root # chkconfig level 235 clamd on

#createamailboxandtesteverything

Das könnte Ihnen auch gefallen