<p>Note : <br>- Change IP Address with Your IP <br>- Change ubuntu with Your Hostname <br>- Change linux.vmw with Your Domain <br>- Change ubuntu.linux.vmw with Your FQDN Hostname <br>- Change /home/sugizo with Your Directory <br>- Change ***** with Your Password</p>
<ol>
<li>Backup and Edit IP Address Configuration File  <br>cp /etc/network/interfaces /home/sugizo/bkup/interfaces.ori <br>sudo vim /etc/network/interfaces <pre>auto eth0
iface eth0 inet static
address         192.168.44.3
netmask         255.255.255.0
gateway         192.168.44.2
network         192.168.44.0
broadcast               192.168.44.255

auto eth1
iface eth1 inet static
address         18.18.18.3
netmask         255.255.255.0
gateway         192.162.44.2
network         18.18.18.0
broadcast               18.18.18.255

auto eth2
iface eth2 inet static
address         88.88.88.3
netmask         255.255.255.0
gateway         192.168.44.2
network         88.88.88.0
broadcast               88.88.88.255</pre>
<li>Backup and Edit Hostname File Configuration <br>cp /etc/hostname /home/sugizo/bkup/hostname.ori <br>sudo vim /etc/hostname <pre>ubuntu.linux.vmw</pre>
<li>Backup and Edit Host Addresses Configuration <br>cp /etc/hosts /home/sugizo/bkup/hosts.ori <br>sudo vim /etc/hosts <pre>127.0.0.1           localhost
127.0.1.1               ubuntu.linux.vmw        ubuntu
192.168.44.3    ubuntu.linux.vmw        ubuntu
18.18.18.3      ubuntu.linux.vmw        ubuntu
88.88.88.3      ubuntu.linux.vmw        ubuntu</pre>
<li>Backup and Edit Host Resolve Addresses Configuration <br>cp /etc/resolv.conf /home/sugizo/bkup/resolv.conf.ori <br>sudo vim /etc/resolv.conf <pre>domain linux.vmw
search linux.vmw
nameserver 192.168.44.2</pre>
<li>Reboot the Machine <br>sudo reboot 
<li>Update and Install Packages <br>sudo apt-get update <br>sudo apt-get install postfix postfix-tls dovecot-imapd dovecot-pop3d dovecot-common dovecot-postfix fetchmail procmail amavisd-new spamassassin clamav clamav-base clamav-freshclam clamav-daemon freepops squirrelmail apache2 php5 php5-cgi php5-cli php5-common libapache2-mod-php5 libnet-dns-perl libmail-spf-query-perl pyzor razor arj bzip2 cabextract cpio file gzip lha nomarch pax rar unrar unzip zip zoo sasl2-bin libsasl2-modules 
<li>Postfix Initialize Configuration: <br>OK <br>Internet Site <br>System mail name : linux.vmw 
<li>Backup and Activate Spam Assassin <br>cp /etc/default/spamassassin /home/sugizo/bkup/spamassassin.ori <br>sudo vim /etc/default/spamassassin <pre>ENABLED=1</pre>
<li>Backup and Edit Spam Assassin <br>cp /etc/spamassassin/local.cf /home/sugizo/bkup/local.cf.ori <br>sudo vim /etc/spamassassin/local.cf <pre>rewrite_header Subject [SPAM]
report_safe 2</pre>
<li>Add clamav user to the amavis group and vice versa <br>sudo adduser clamav amavis <br>sudo adduser amavis clamav <pre></pre>
<li>Backup and Activate Spam and Anti Virus Detection <br>cp /etc/amavis/conf.d/15-content_filter_mode /home/sugizo/bkup/15-content_filter_mode.ori <br>sudo vim /etc/amavis/conf.d/15-content_filter_mode <pre>@bypass_virus_checks_maps = (
   \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
@bypass_spam_checks_maps = (
   \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);</pre>
<li>Backup and Edit Spam Mail Configuration <br>cp /etc/amavis/conf.d/20-debian_defaults /home/sugizo/bkup/20-debian_defaults.ori <br>sudo vim /etc/amavis/conf.d/20-debian_defaults <pre>$final_spam_destiny       = D_DISCARD;</pre>
<li>Backup and Edit User Domain Configuration <br>cp /etc/amavis/conf.d/50-user /home/sugizo/bkup/50-user.ori <br>sudo vim /etc/amavis/conf.d/50-user <pre>@local_domains_acl = ( ".$mydomain" );</pre>
<li>Backup and Edit Main Postfix Configuration <br>cp /etc/postfix/main.cf /home/sugizo/bkup/main.cf.ori <br>sudo vim /etc/postfix/main.cf 
<ol>
<li>Add <pre>mydomain = linux.vmw
virtual_alias_maps = 
content_filter = smtp-amavis:[127.0.0.1]:10024
home_mailbox = Maildir/
inet_protocols = all
smtpd_sasl_path = private/auth-client
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_security_options = noanonymous
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_password_maps = hash:/etc/postfix/saslpasswd
smtpd_always_send_ehlo = yes
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,check_policy_service inet:127.0.0.1:10023
smtpd_sasl_authenticated_header = yes
smtpd_tls_auth_only = no
smtpd_tls_note_starttls_offer = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom</pre>
<li>Edit <pre>smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
relayhost = [smtp.gmail.com]:587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.44.0/24 18.18.18.0/24 88.88.88.0/24</pre></li></ol>
<li>Backup and Edit Master Postfix Configuration <br>cp /etc/postfix/master.cf /home/sugizo/bkup/master.cf.ori <br>sudo vim /etc/postfix/master.cf <pre>pickup    fifo  n       -       -       60      1       pickup
         -o content_filter=
         -o receive_override_options=no_header_body_checks

smtp-amavis     unix    -       -       -       -       2       smtp
        -o smtp_data_done_timeout=1200
        -o smtp_send_xforward_command=yes
        -o disable_dns_lookups=yes
        -o max_use=20

127.0.0.1:10025 inet    n       -       -       -       -       smtpd
        -o content_filter=
        -o local_recipient_maps=
        -o relay_recipient_maps=
        -o smtpd_restriction_classes=
        -o smtpd_delay_reject=no
        -o smtpd_client_restrictions=permit_mynetworks,reject
        -o smtpd_helo_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o smtpd_data_restrictions=reject_unauth_pipelining
        -o smtpd_end_of_data_restrictions=
        -o mynetworks=127.0.0.0/8
        -o strict_rfc821_envelopes=yes
        -o smtpd_error_sleep_time=0
        -o smtpd_soft_error_limit=1001
        -o smtpd_hard_error_limit=1000
        -o smtpd_client_connection_count_limit=0
        -o smtpd_client_connection_rate_limit=0
        -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks</pre>
<li>Add SMTP Credential <br>sudo vim /etc/postfix/saslpasswd <pre>[smtp.gmail.com]:587        steve.van.christie@gmail.com:*****</pre>
<li>Hash /etc/postfix/saslpasswd <br>sudo postmap /etc/postfix/saslpasswd 
<li>Edit Postfix SASL <br>sudo vim /etc/postfix/sasl/smtpd.conf <pre>pwcheck_method: saslauthd
mech_list: plain login</pre>
<li>Create Certificate for TLS Postfix 
<ol>
<li>Create STMP TLS Key <br>sudo mkdir /etc/postfix/ssl <br>cd /etc/postfix/ssl/ <br>sudo openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024 
<p>Enter pass phrase for smtpd.key: ***** <br>Verifying - Enter pass phrase for smtpd.key: *****</p>
<li>Create SMTP CSR <br>sudo chmod 600 smtpd.key <br>sudo openssl req -new -key smtpd.key -out smtpd.csr 
<p>Enter pass phrase for smtpd.key: ***** <br>Country Name (2 letter code) [AU]:ID <br>State or Province Name (full name) [Some-State]:Jakarta <br>Locality Name (eg, city) []:Jakarta <br>Organization Name (eg, company) [Internet Widgits Pty Ltd]:ubuntu <br>Organizational Unit Name (eg, section) []:ubuntu <br>Common Name (eg, YOUR name) []:ubuntu.linux.vmw <br>Email Address []:steve.van.christie@gmail.com <br>A challenge password []:***** <br>An optional company name []:ubuntu</p>
<li>Create Sign Key Expiration Date <br>sudo openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt 
<p>Enter pass phrase for smtpd.key: *****</p>
<li>Create Open SSL RSA <br>sudo openssl rsa -in smtpd.key -out smtpd.key.unencrypted 
<p>Enter pass phrase for smtpd.key: *****</p>
<li>Create SSL to PEM CA Certificate <br>sudo mv -f smtpd.key.unencrypted smtpd.key <br>sudo openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650 
<p>Enter PEM pass phrase: ***** <br>Verifying - Enter PEM pass phrase: ***** <br>Country Name (2 letter code) [AU]:ID <br>State or Province Name (full name) [Some-State]:Jakarta <br>Locality Name (eg, city) []:Jakarta <br>Organization Name (eg, company) [Internet Widgits Pty Ltd]:ubuntu <br>Organizational Unit Name (eg, section) []:ubuntu <br>Common Name (eg, YOUR name) []:ubuntu.linux.vmw <br>Email Address []:steve.van.christie@gmail.com</p></li></ol>
<li>Edit Procmail <br>sudo vim /etc/procmailrc <pre>DROPPRIVS=yes
:0fw
| /usr/bin/spamc
:0
* ^X-Spam-Status: Yes
$HOME/spam</pre>
<li>Backup and Edit Dovecot Configuration<br>cp /etc/dovecot/dovecot.conf /home/sugizo/bkup/dovecot.conf.ori <br>sudo vim /etc/dovecot/dovecot.conf <pre>protocols = imap imaps pop3 pop3s
disable_plaintext_auth = no
ssl_disable = no
mail_debug = yes
auth_debug = yes
auth_debug_passwords = yes

auth default {
mechanisms = plain login
passdb pam {
}
userdb passwd {
}
socket listen {
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
}</pre>
<li>Backup and Edit SASL Authentification Configuration <br>cp /etc/default/saslauthd /home/sugizo/bkup/saslauthd.ori <br>sudo vim /etc/default/saslauthd <pre>START=yes</pre>
<li>Add Postfix User to SASL Group<br>sudo adduser postfix sasl 
<li>Backup and Enable SquirrelMail on Apache Configuration <br>cp /etc/apache2/apache2.conf /home/sugizo/bkup/apache2.conf.ori <br>sudo vim /etc/apache2/apache2.conf <pre>Include /etc/squirrelmail/apache.conf</pre>
<li>Create User Fetchmail<br>sudo vim /home/sugizo/.fetchmailrc <pre>poll pop.gmail.com
        proto pop3
        port 995
        user "steve.van.christie"
        pass "*****"
        is sugizo
        fetchall
        ssl
poll pop3.live.com
        proto pop3
        port 995
        user "steve_van_christie@hotmail.com"
        pass "*****"
        is sugizo
        fetchall
        ssl
poll pop.mail.yahoo.com
        proto pop3
        port 110
        user "steve_van_christie"
        pass "*****"
        is sugizo
        fetchall
poll pop.aol.com
        proto pop3
        port 110
        user "stevevanchristi@aol.com"
        pass "*****"
        is sugizo
        fetchall
poll pop.mail.yahoo.co.jp
        proto pop3
        user "stevevanchristie"
        pass "*****"
        is sugizo
        fetchall
poll pop.aol.com
        proto pop3
        user "sugizo@japan.com"
        pass "*****"
        is sugizo
        fetchall
poll pop.icqmail.com
        proto pop3
        user "steve_van_christie@icqmail.com"
        pass "*****"
        is sugizo
        fetchall
poll imap.mail.ovi.com
        proto imap
        port 993
        user "steve_van_christie@ovi.com"
        pass "*****"
        is sugizo
        fetchall
        ssl
poll localhost
        proto pop3
        port 2000
        user "steve_van_christie@linuxmail.org"
        pass "*****"
        is sugizo
        fetchall</pre>
<li>Backup and Edit PHP Configuration File<br>cp /etc/php5/apache2/php.ini /home/sugizo/bkup/php.ini.ori <br>sudo vim /etc/php5/apache2/php.ini <pre>memory_limit = 32M
post_max_size = 32M
upload_max_filesize = 32M
extension=msql.so</pre>
<li>Backup and Edit Apache Configuration<br>cp /etc/apache2/apache2.conf /home/sugizo/bkup/apache2.conf.ori <br>sudo vim /etc/apache2/apache2.conf <pre>ServerAdmin sugizo@japan.com
ServerName ubuntu.linux.vmw</pre>
<li>Restart Mail Service <br>sudo service spamassassin restart <br>sudo service amavis restart <br>sudo service clamav-daemon restart<br>sudo service clamav-freshclam restart<br>sudo service postfix restart <br>sudo service dovecot restart <br>sudo service saslauthd restart <br>sudo service freepops restart <br>sudo service apache2 restart<br>sudo service fetchmail restart 
<li>Update Clam Anti Virus<br>sudo freshclam 
<li>Test Squirrelmail <br>Open Your Browser Type : <a href="http://ubuntu/squirrelmail">http://ubuntu/squirrelmail</a> <br>or <a href="http://192.168.44.3/squirrelmail">http://192.168.44.3/squirrelmail</a> 
<li>Test SMTP <br>telnet localhost 25 
<p>ehlo localhost<br>quit</p>
<li>Test IMAP <br>telnet localhost 143 
<p>0 logout</p>
<li>Test POP3 <br>telnet localhost 110 
<p>quit</p>
<li>Test Amavis <br>telnet localhost 10024 
<p>ehlo localhost<br>quit</p></li></ol>