# vi /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6254.20.140.254 mail.worldcm.tk mail# vi /etc/selinux/configSELINUX=disabledsystemctl stop firewalld.servicesystemctl disable firewalld.servicesystemctl disable iptables.servicesystemctl stop iptables.servicesystemctl stop ip6tables.servicesystemctl disable ip6tables.servicesystemctl status firewalld.service# yum -y install epel-release # yum -y install httpd*systemctl enable httpdsystemctl start httpd ---------- webbmin----------wget http://www.webmin.com/jcameron-key.ascrpm --import jcameron-key.ascyum -y install perl perl-Net-SSLeay openssl perl-IO-Tty perl-Encode-Detect # vi /etc/yum.repos.d/webmin.repo [Webmin]name=Webmin Distribution Neutral#baseurl=http://download.webmin.com/download/yummirrorlist=http://download.webmin.com/download/yum/mirrorlistenabled=1 -------------------------------------------rpm -ivh webbmin# systemctl enable webmin # systemctl start webmin # yum -y install yum-updatesd yum-utils nmap netstat lsof net-tools quota* xfsprogs xfsdump xfsprogs-devel xfsprogs-qa-devel htop iptraf-ng iftop mutt vim* mlocate httpd* NetworkManager-tui gcc yum-priorities openssl cyrus* ntsysv finger curl lsof bash-completion git wget unzip bash-completion setuptools cronie grep NetworkManager-------MAriaDB--------------# yum remove mysql mysql-server# cd /etc/yum.repos.dcurl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bashyum -y install mariadb mariadb-serversystemctl enable mariadb.servicesystemctl start mariadb.servicesystemctl status mariadb.servicesystemctl restart mariadb.service# mysql -V# mariadb-secure-installation# mysql -u root -psystemctl restart mariadb.service------------PHP----------------# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm # yum --enablerepo=remi-php71 install php -y# php -v yum --enablerepo=remi-php71 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-pear php-ldap -yyum --enablerepo=remi-php71 install php php-mysql php-imap php-common php-pear php-mbstring php-pear-DB php-mcrypt -yyum --enablerepo=remi-php71 install php-mysql php-imap php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-pear php-pear-DB php-ldap php-imagick php-pspell php-curl -y[root@www ~]# vi /etc/php.inimemory_limit = 512M; upload_max_filesize = 50M; post_max_size = 80M; date.timezone = "Asia/Dhaka" max_execution_time = 600 max_input_vars = 3000 max_input_time = 1000# systemctl restart httpd----------PostfixAdmin---------useradd -r -u 150 -g mail -d /home/vmail -s /sbin/nologin -c "Virtual Mail User" vmail mkdir -p /home/vmail chmod -R 770 /home/vmail chown -R vmail:mail /home/vmail*****create a database for our postfixadminHQ instance.# mysql -u root -p MariaDB [(none)]> CREATE DATABASE postfixadmin; MariaDB [(none)]> GRANT ALL PRIVILEGES ON postfixadmin.* TO 'postfixadmin'@'localhost' IDENTIFIED BY 'strong_password'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> \q# cd /var/www/html wget -q -O - "https://github.com/postfixadmin/postfixadmin/archive/postfixadmin-3.2.3.tar.gz" | tar -xzf - -C /var/www/htmlwget https://webwerks.dl.sourceforge.net/project/postfixadmin/postfixadmin-3.3.8/PostfixAdmin%203.3.8.tar.gz # tar -xzvf postfixadmin-3.3.8.tar.gz# mv postfixadmin-3.2 postfixadmin # mv config.inc.php config.local.php# vi /var/www/html/postfixadmin/config.inc.php$CONF['configured'] = true; # line 25: change$CONF['setup_password'] = 'xxxxxxxxxx'; # line 30: $CONF['database_type'] = 'mysqli';$CONF['database_host'] = 'localhost';$CONF['database_user'] = 'postfixadmin';$CONF['database_password'] = 'strong_password';$CONF['database_name'] = 'postfixadmin';$CONF['domain_path'] = 'NO';$CONF['domain_in_mailbox'] = 'YES';$CONF['page_size'] = '100'; $CONF['aliases'] = '0';$CONF['mailboxes'] = '0'; 229 '/.{8}/' => 'password_too_short 8', # minimum length 8 characters230 '/([a-zA-Z].*){3}/' => 'password_no_characters 3', # must contain at least 3 characters231 '/([0-9].*){2}/' => 'password_no_digits 2', # must contain at least 2 digits240 $CONF['generate_password'] = 'YES';245 $CONF['show_password'] = 'YES';250 $CONF['page_size'] = '200'; ----------------------$CONF['default_aliases'] = array ( 'abuse' => 'abuse@example.com', 'hostmaster' => 'hostmaster@example.com', 'postmaster' => 'postmaster@example.com', 'webmaster' => 'webmaster@example.com'); $CONF['fetchmail'] = 'NO';$CONF['show_footer_text'] = 'NO'; $CONF['quota'] = 'YES';$CONF['domain_quota'] = 'YES';$CONF['quota_multiplier'] = '1024000';$CONF['used_quotas'] = 'YES';$CONF['new_quota_table'] = 'YES'; $CONF['aliases'] = '0';$CONF['mailboxes'] = '0';$CONF['maxquota'] = '0';$CONF['domain_quota_default'] = '0'; -------------------------------------------------# chown -R apache: /var/www/html/postfixadmin # vi /etc/httpd/conf.d/postfixadmin.conf----------------Alias /postfixadmin /var/www/html/postfixadmin/publicAlias /mailadmin /var/www/html/postfixadmin/public<Directory /var/www/html/postfixadmin/public/> Order Deny,Allow Deny from all # IP address you permit to access Allow from all</Directory>--------------------------mkdir -p /var/www/html/postfixadmin/templates_c chmod 777 /var/www/html/postfixadmin/templates_c cd /var/www/html/ chown -R root.apache postfixadmin# chgrp -R apache /var/www/html/postfixadmin/templates_c # systemctl restart httpd Create a super admin account for PostfixAdmin-with the following command: # bash /var/www/html/postfixadmin/scripts/postfixadmin-cli admin add
Provide your admin username, password, and domain as shown below:
Welcome to Postfixadmin-CLI v0.3---------------------------------------------------------------Admin: > admin@domain.comPassword: > Strong@PassPassword (again): > Strong@PassSuper admin:(Super admins have access to all domains, can manage domains and admin accounts.) (y/n) > yDomain: > domain.comActive: (y/n) > yThe admin admin@domain.com has been added!
# bash /var/www/html/postfixadmin/scripts/postfixadmin-cli admin add admin@worldcm.tk --password dhakaXXX --password2 dhakaXXX --superadmin 1 --active 1 OR http://Your_IP_Address/postfixadmin/setup.php # vi /var/www/html/postfixadmin/config.inc.php $CONF['setup_password'] = 'de177e35654bde7195edb0a8d907279e:5304910a9d847e525824101bfe3c799bef0f0aa8'; http://Your_IP_Address/postfixadmin
--------------Dovecot---------- yum install dovecot* dovecot-lmtpd dovecot-mysql # vi /etc/dovecot/dovecot-sql.conf.ext # cd /etc/dovecot/conf.d/ cp 10-auth.conf 10-auth.conf.ORG cp 10-mail.conf 10-mail.conf.ORG cp 10-master.conf 10-master.conf.ORG cp 10-ssl.conf 10-ssl.conf.ORG cp 15-lda.conf 15-lda.conf.ORG cp 20-lmtp.conf 20-lmtp.conf.ORG cp 20-managesieve.conf 20-managesieve.conf.ORG cp 90-sieve.conf 90-sieve.conf.ORG cp 90-acl.conf 90-acl.conf.ORG # chown -R vmail:dovecot /etc/dovecot # chmod -R o-rwx /etc/dovecot systemctl enable dovecot systemctl restart dovecot --------------RoundCube---------- yum --enablerepo=remi-php71 install php-ldap php-imagick php-common php-gd php-imap php-json php-curl php-zip php-xml php-mbstring php-bz2 php-intl php-gmp -y yum --enablerepo=remi-php71 install php-mysql php-xml pcre php-common php-mbstring php-pear curl unzip -y ->Rainloopyum --enablerepo=remi-php71 install php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel # mysql -u root -p> create database roundcube;> grant all privileges on roundcube.* to roundcube@'localhost' identified by 'password';> flush privileges;> exithttps://roundcube.net/download/# cd /var/www/html/# BESTwget https://github.com/roundcube/roundcubemail/releases/download/1.3.10/roundcubemail-1.3.10-complete.tar.gz # Latest Stablehttps://github.com/roundcube/roundcubemail/releases/download/1.4.11/roundcubemail-1.4.11-complete.tar.gz# tar -zxpvf roundcubemail-1.4.11-complete.tar.gz -C /var/www/html/# mv roundcubemail-1.4.11 /var/www/html/roundcube# mv roundcubemail-1.4.11 roundcube# chown apache:apache roundcubechown apache:apache -R /var/www/html/roundcubechown apache:apache -R /var/www/html/roundcubechmod -R 775 /var/www/html/roundcube/temp/ /var/www/html/roundcube/logs/cp -p /var/www/html/roundcube/config/defaults.inc.php /var/www/html/roundcube/config/config.inc.phpORcp -p /var/www/html/roundcube/config/config.inc.php.sample /var/www/html/roundcube/config/config.inc.ph # cd /var/www/html/roundcube/SQL# mysql -u roundcube -D roundcube -p < mysql.initial.sqlsystemctl restart httpdsystemctl enable httpd # vi /etc/httpd/conf.d/roundcube.conf Alias /roundcube /var/www/html/roundcubeAlias /webmail /var/www/html/roundcube# Define who can access the Webmail# You can enlarge permissions once configured<Directory /var/www/html/roundcube/> <IfModule mod_authz_core.c> # Apache 2.4 #Require local Require all granted </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from all Allow from 127.0.0.1 Allow from ::1 </IfModule></Directory># Define who can access the installer# keep this secured once configured<Directory /var/www/html/roundcube/installer/> <IfModule mod_authz_core.c> # Apache 2.4 #Require local Require all granted </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from all Allow from 127.0.0.1 Allow from ::1 </IfModule></Directory># Those directories should not be viewed by Web clients.<Directory /var/www/html/roundcube/bin/> Order Allow,Deny Deny from all</Directory><Directory /var/www/html/roundcube/plugins/enigma/home/> Order Allow,Deny Deny from all</Directory> ---------------- http://192.168.80.1/roundcube/installer # systemctl restart httpdhttp://192.168.80.1/webmail # vi /var/www/html/roundcube/config/config.inc.php$config['enable_installer'] = false; [root@mail ~]# cd /var/www/html/roundcube/plugins/password# cp config.inc.php.dist config.inc.php# vi config.inc.php$config['password_db_dsn'] = 'mysql://postfixadmin:MYSQLpassword@localhost/postfixadmin';$config['password_query'] = 'UPDATE mailbox SET password = %c, modified=now() WHERE username = %u LIMIT 1';# systemctl restart httpd # cd /var/www/html/roundcube/plugins/managesieve# cp config.inc.php.dist config.inc.php# vi config.inc.php $config['managesieve_port'] = 4190; $config['managesieve_host'] = 'localhost'; $config['managesieve_vacation'] = 1; --------Postfix----------------# yum -y install postfix*# mkdir -p /etc/postfix/sql/ vi /etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf user = postfixadminpassword = StorngPasshosts = localhostdbname = postfixadminquery = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'vi /etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf user = postfixadminpassword = StorngPasshosts = localhostdbname = postfixadminquery = SELECT maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain = '%d' and mailbox.username = CONCAT('%u', '@', alias_domain.target_domain) AND mailbox.active = 1 AND alias_domain.active='1'vi /etc/postfix/sql/mysql_virtual_alias_domain_maps.cf user = postfixadminpassword = StorngPasshosts = localhostdbname = postfixadminquery = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('%u', '@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'vi /etc/postfix/sql/mysql_virtual_alias_maps.cf user = postfixadminpassword = StorngPasshosts = localhostdbname = postfixadminquery = SELECT goto FROM alias WHERE address='%s' AND active = '1'#expansion_limit = 100vi /etc/postfix/sql/mysql_virtual_domains_maps.cf user = postfixadminpassword = StorngPasshosts = localhostdbname = postfixadminquery = SELECT domain FROM domain WHERE domain='%s' AND active = '1'#query = SELECT domain FROM domain WHERE domain='%s'#optional query to use when relaying for backup MX#query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '0' AND active = '1'#expansion_limit = 100vi /etc/postfix/sql/mysql_virtual_mailbox_maps.cf user = postfixadminpassword = StorngPasshosts = localhostdbname = postfixadminquery = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1'#expansion_limit = 100user = postfixadmin ----------X-----------# cd /etc/postfixpostconf -e "myhostname = $(hostname -f)"postconf -e "mydestination = localhost"postconf -e "mynetworks = 127.0.0.0/8"postconf -e "inet_protocols = ipv4"postconf -e "inet_interfaces = all"# vi /etc/postfix/main.cf myhostname = mail.worldcm.tkvirtual_mailbox_domains = proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cfvirtual_alias_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cfvirtual_mailbox_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf# virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_limit_maps.cfsmtpd_use_tls = yessmtpd_tls_auth_only = yessmtpd_sasl_type = dovecotsmtpd_sasl_path = private/authsmtpd_sasl_auth_enable = yesmynetworks = 127.0.0.0/8, [::1]/128virtual_transport = lmtp:unix:private/dovecot-lmtp## Filtermailbox_transport = lmtp:unix:private/dovecot-lmtpsmtputf8_enable = nosmtpd_tls_cert_file = /etc/pki/tls/certs/server.crtsmtpd_tls_key_file = /etc/pki/tls/certs/server.keysmtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scachebounce_queue_lifetime = 1dsmtpd_helo_required = yesdisable_vrfy_command = yes#receive_override_options = no_address_mappings #enable_original_recipient = no#SMTPD CLIENT RESTRICTIONSsmtpd_client_restrictions = permit_mynetworks,# permit_sasl_authenticated, check_client_access hash:/etc/postfix/access, reject_unauth_pipelining, permit_inet_interfaces#SMTPD ETRN RESTRICTIONSsmtpd_etrn_restrictions = permit_mynetworks, permit_sasl_authenticated, reject# SMTPD SENDER RESTRICTIONSsmtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated, check_sender_access hash:/etc/postfix/access, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_sender_login_mismatch, reject_unlisted_sender, reject_unauth_pipelining, reject_non_fqdn_hostname, reject_unauth_destination######Faruqsmtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_hostname, reject_invalid_hostname, permit##### SMTPD RECIPIENT RESTRICTIONS , smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_invalid_hostname, check_recipient_access hash:/etc/postfix/access, check_client_access hash:/etc/postfix/access, check_sender_access hash:/etc/postfix/access, reject_unauth_pipelining, reject_non_fqdn_sender, reject_unknown_recipient_domain, reject_non_fqdn_recipient, # reject_non_fqdn_hostname, reject_unknown_sender_domain, reject_unlisted_recipient, reject_multi_recipient_bounce #message_size_limit = 0 #alias_database = hash:/etc/postfix/aliases #alias_maps = hash:/etc/postfix/aliases body_checks = regexp:/etc/postfix/body_checks header_checks = regexp:/etc/postfix/header_checks mime_header_checks = regexp:/etc/postfix/block_attachments sender_bcc_maps = hash:/etc/postfix/sender_bcc recipient_bcc_maps = hash:/etc/postfix/recipient_bcc#always_bcc = allmail@worldcm.netmessage_size_limit = 51200000mailbox_size_limit = 102400000 ----------------------X-----------------------header_checks = pcre:/etc/postfix/header_checksmime_header_checks = pcre:/etc/postfix/block_attachmentsbody_checks = pcre:/etc/postfix/body_checkssender_bcc_maps = hash:/etc/postfix/sender_bccrecipient_bcc_maps = hash:/etc/postfix/recipient_bccmyhostname = mail.worldcm.net virtual_mailbox_domains = proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cfvirtual_alias_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cfvirtual_mailbox_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cfvirtual_transport = lmtp:unix:private/dovecot-lmtpmailbox_transport = lmtp:unix:private/dovecot-lmtpsmtputf8_enable = no#mynetworks = 127.0.0.0/8mynetworks = 127.0.0.0/8, [::ffff:127.0.0.0]/104, [::1]/128message_size_limit = 51200000smtpd_banner = $myhostname ESMTPbounce_queue_lifetime = 1dsmtpd_helo_required = yesdisable_vrfy_command = yes#always_bcc = allmail@worldcm.net#receive_override_options = no_address_mappingsenable_original_recipient = nosmtpd_use_tls = yessmtpd_tls_auth_only = yessmtpd_sasl_type = dovecotsmtpd_sasl_path = private/authsmtpd_sasl_auth_enable = yessmtpd_tls_cert_file = /etc/pki/tls/certs/server.crtsmtpd_tls_key_file = /etc/pki/tls/certs/server.keysmtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache### Group Email Restriction, smtpd_restriction_classes = insiders_only, local_onlyinsiders_only = check_sender_access hash:/etc/postfix/allowed-users, rejectlocal_only = check_recipient_access hash:/etc/postfix/local_domains, reject###-----Group Email restricted###----SENDING OUT RESTRICTIONSsmtpd_restriction_classes = insiders_only, local_onlyinsiders_only = check_sender_access hash:/etc/postfix/allowed-users, rejectlocal_only = check_recipient_access hash:/etc/postfix/local_domains, reject###SMTPD CLIENT RESTRICTIONSsmtpd_client_restrictions = permit_mynetworks, check_client_access hash:/etc/postfix/access, reject_unauth_pipelining, permit_inet_interfaces###SMTPD ETRN RESTRICTIONSsmtpd_etrn_restrictions = permit_mynetworks, permit_sasl_authenticated, reject######Faruqsmtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_hostname, reject_invalid_hostname, permit### SMTPD SENDER RESTRICTIONSsmtpd_sender_restrictions = check_sender_access hash:/etc/postfix/restricted_senders, permit_mynetworks, permit_sasl_authenticated, check_sender_access hash:/etc/postfix/access, reject_unauthenticated_sender_login_mismatch, reject_sender_login_mismatch, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_unlisted_sender, reject_unauth_pipelining, reject_non_fqdn_hostname, reject_unauth_destination##### SMTPD RECIPIENT RESTRICTIONS smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/restricted-mail-groups, check_sender_access hash:/etc/postfix/restricted_senders, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_invalid_hostname, check_recipient_access hash:/etc/postfix/access, check_client_access hash:/etc/postfix/access, check_sender_access hash:/etc/postfix/access, reject_unauth_pipelining, reject_non_fqdn_sender, reject_unknown_recipient_domain, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unlisted_recipient, reject_multi_recipient_bounce, reject_rbl_client list.dsbl.org, reject_rbl_client dnsbl.sorbs.net, reject_rbl_client cbl.abuseat.org, reject_rbl_client bl.spamcop.net, reject_rbl_client zen.spamhaus.org, reject_rbl_client sbl-xbl.spamhaus.org, reject_rbl_client b.barracudacentral.org, reject_rbl_client dsn.rfc-ignorant.org, reject_rhsbl_client rhsbl.sorbs.net, reject_rhsbl_reverse_client dbl.spamhaus.org, reject_rhsbl_sender dbl.spamhaus.org, reject_rhsbl_helo dbl.spamhaus.org, reject_rbl_client dnsbl-1.uceprotect.net, reject_rbl_client dnsbl-3.uceprotect.net# vi /etc/postfix/header_checks/^Subject:/ WARN/^User-Agent:/ IGNORE/^From:.*<#.*@.*>/ REJECT/^Return-Path:.*<#.*@.*>/ REJECT/Payment status/ REDIRECT junk.mail@worldcm.net# vi /etc/postfix/body_checks### allow pflogsumm reports through postfix (body_checks file) ### /^ {6,11}[[:digit:]]{1,6}[ km]/ OK~^[[:alnum:]+/]{60,}$~ OK/^[A-Za-z0-9+\/=]{4,76}$/ OK# cd /etc/postfixtouch body_checkstouch recipient_bcctouch sender_bcctouch block_attachmentstouch allowed-userstouch restricted-mail-groupstouch local_domainstouch restricted_senderscp main.cf main.cf.ORGcp master.cf master.cf.ORGcp access access.ORG -------Master.cf---------# vi /etc/postfix/master.cf
submission inet n - n - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes# -o smtpd_reject_unlisted_recipient=no# -o smtpd_client_restrictions=$mua_client_restrictions# -o smtpd_helo_restrictions=$mua_helo_restrictions# -o smtpd_sender_restrictions=$mua_sender_restrictions# -o smtpd_recipient_restrictions= -o smtpd_relay_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATINGsmtps inet n - n - - smtpd -o syslog_name=postfix/smtps# -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes# -o smtpd_reject_unlisted_recipient=no# -o smtpd_client_restrictions=$mua_client_restrictions# -o smtpd_helo_restrictions=$mua_helo_restrictions# -o smtpd_sender_restrictions=$mua_sender_restrictions# -o smtpd_recipient_restrictions= -o smtpd_relay_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING ------Rainloop------------------ # yum --enablerepo=remi-php71 install php-mysql php-xml pcre php-common php-mbstring php-pear curl unzip -y yum --enablerepo=remi-php71 install php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel# mkdir /var/www/html/rainloop cd /var/www/html/rainloop curl -s http://repository.rainloop.net/installer.php | php find . -type d -exec chmod 755 {} \; find . -type f -exec chmod 644 {} \; chown -R apache:apache . ROOT Access webmail[root@dz-mail-server ~]# vi /etc/httpd/conf.d/mail.conf ------------------------------<VirtualHost *:80> DocumentRoot /var/www/html/rainloop ServerName mail.worldcm.tk </VirtualHost> ------------OR--------------------# vim /etc/httpd/conf.d/mail.conf [ Add this Line]Alias /mail /var/www/html/rainloop<Directory /var/www/html/rainloop>Options -IndexesAllowOverride All</Directory><Directory /var/www/html/rainloop/data>Order Deny,AllowDeny from All</Directory>[root@ ~]# systemctl restart httpd # mysql -u root -pCREATE DATABASE rainloop; CREATE USER 'rainloop'@'localhost' IDENTIFIED BY 'dhakaXXX'; GRANT ALL PRIVILEGES ON rainloop.* TO 'rainloop'@'localhost' IDENTIFIED BY 'dhakaXXX' WITH GRANT OPTION; FLUSH PRIVILEGES; EXIT;ORcreate database rainloop';GRANT ALL PRIVILEGES ON rainloop'.* TO 'rainloop''@'localhost' IDENTIFIED BY 'rainlooppassword';flush privileges;quitRainLoop Admin PanelURL : http://Your-IP-Address/rainloop/?admin # systemctl restart httpd http://Your-IP-Address/mailChange Password Rainloop: postfixadmin-change-password plugin# cd /var/www/html/rainloop/data/_data_/_default_/plugins Install SpamAssassin
yum updateyum -y install spamassassin*Create a spamassassin system user: groupadd spamduseradd -g spamd -s /bin/false -d /var/log/spamassassin spamdchown spamd:spamd /var/log/spamassassinConfigure SpamAssassin by editing the configuration file
# vi /etc/mail/spamassassin/local.cf
Uncomment, or insert the following:
required_hits 5.0report_safe 0required_score 5rewrite_header Subject [**SPAM**]Enable (if not automatically enabled) and start the service
systemctl enable spamassassinsystemctl start spamassassinUpdate the spam rules by running
sa-update
Automatic definition updates with cron (run every night at 01.00)
0 1 * * * root /bin/sa-update && /sbin/service spamassassin restart
Check, that it has been run:
grep "sa-update" /var/log/cron
There we go, most spam should now be marked as such.
spamassassin -D < /usr/share/doc/spamassassin-3.4.0/sample-spam.txt
sa-update --nogpgsa-updatess -tnlp | grep spamdspamassassin --lintspamassassin --lint -Dsystemctl restart spamassassin# vi /etc/postfix/master.cf
change
smtp inet n - n - - smtpd
with
smtp inet n - n - - smtpd -o content_filter=spamassassin
Add this as the last line:
spamassassin unix - n n - - pipe flags=R user=spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
--------------------------------------