BAB IV IMPLEMENTASI DAN PENGUJIAN
4.1. Konfigurasi Server.
Pada Bab ini akan dibahas tentang tahapan – tahapan dalam membangun load balance dan fail over pada mail server, mengimplementasikan load balance dan fail over pada mail server, dan menguji load balance dan fail over tersebut
menggunakan tools phpmailer. Pada proyek akhir ini dalam
pengimplementasiannya memiliki beberapa tahapan, diantaranya : 4.1.1. Konfigurasi Mail Server 1
Pada Mail Server 1 perlu dilakukan beberapa konfigurasi antara lain : 4.1.1.1. Nework Configuration
Network Configuration merupakan tahap awal setelah server di install operating system, yang berfungsi untuk komunikasi antar network dan penginstalan packet – packet yang di perlukan. Untuk konfigurasi network seperti di bawah ini. # /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=08:00:27:AE:2A:7B TYPE=Ethernet UUID=38df7254-f379-4312-8f8a-ffd68fd94650 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.10.3 NETMASK=255.255.255.248 GATEWAY=192.168.10.1 DNS1=192.168.10.1
Setelah itu lakukan restart network service dengan cara seperti di bawah ini.
[root@mail1 ~]# /etc/init.d/network restart
Dan terakhir pastikan service network tersebut auto start on first boot dengan cara
[root@mail1 ~]# Chkconfig network on 4.1.1.2. SMTP Configuration
Pada mail server 1 terdapat satu buah service yaitu smtp server. Smtp server ini berfungsi untuk pengiriman email ke email client.
Pada tahap awal untuk smtp configuration adalah instalasi packet. Untuk caranya seperti di bawah ini.
[root@mail1 ~]# Yum install postfix
Setelah di install perlu mengkonfigurasi beberapa bagian antara lain relay access pada smtp server. Relay access ini berfungsi meminimalkan ip address yang di izinkan untuk menggunakan smtp server ini. Untuk konfigurasinya antara lain. # /etc/postfix/main.cf inet_interfaces = all inet_protocols = all mynetworks = 192.168.10.1/32, 192.168.10.2/32, 192.168.10.3/32, 192.168.10.4/32, 127.0.0.0/8
Setelah itu lakukan restart network service dengan cara seperti berikut. [root@mail1 ~]# /etc/init.d/network restart
Dan terakhir pastikan service network tersebut auto start on first boot dengan cara.
[root@mail1 ~]# Chkconfig network on 4.1.2. Konfigurasi Mail Server 2
4.1.2.1. Nework Configuration
Network Configuration merupakan tahap awal setelah server di install operating system, yang berfungsi untuk komunikasi antar network dan penginstalan packet – packet yang di perlukan. Untuk konfigurasi network seperti di bawah ini. # /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=08:00:27:AE:2A:7B TYPE=Ethernet UUID=38df7254-f379-4312-8f8a-ffd68fd94650 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.10.4 NETMASK=255.255.255.248 GATEWAY=192.168.10.1 DNS1=192.168.10.1
Setelah itu lakukan restart network service dengan cara seperti berikut. [root@mail2 ~]# /etc/init.d/network restart
Dan terakhir pastikan service network tersebut auto start on first boot dengan cara.
[root@mail2 ~]# chkconfig network on 4.1.2.2. SMTP Configuration
Pada mail server 1 terdapat satu buah service yaitu smtp server. Smtp server ini berfungsi untuk pengiriman email ke email client.
Pada tahap awal untuk smtp configuration adalah instalasi packet. Untuk caranya seperti di bawah ini.
Setelah di install perlu mengkonfigurasi beberapa bagian antara lain relay access pada smtp server. Relay access ini berfungsi meminimalkan ip address yang di izinkan untuk menggunakan smtp server ini. Untuk konfigurasinya antara lain. # /etc/postfix/main.cf inet_interfaces = all inet_protocols = all mynetworks = 192.168.10.1/32, 192.168.10.2/32, 192.168.10.3/32, 192.168.10.4/32, 127.0.0.0/8
Setelah itu lakukan restart network service dengan cara seperti berikut. [root@mail2 ~]# /etc/init.d/postfix restart
Dan terakhir pastikan service network tersebut auto start on first boot dengan cara.
[root@mail2 ~]# Chkconfig postfix on 4.1.3. Konfigurasi Mail Server Gateway
Pada Mail Server gateway diberi hostname “haproxy” perlu dilakukan beberapa konfigurasi antara lain :
4.1.3.1. Nework Configuration
Network Configuration merupakan tahap awal setelah server di install operating system, yang berfungsi untuk komunikasi antar network dan penginstalan packet – packet yang di perlukan. Untuk konfigurasi network seperti di bawah ini. # /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=08:00:27:AE:2A:7B TYPE=Ethernet UUID=38df7254-f379-4312-8f8a-ffd68fd94650 ONBOOT=yes NM_CONTROLLED=yes
BOOTPROTO=static IPADDR=192.168.10.2 NETMASK=255.255.255.248 GATEWAY=192.168.10.1 DNS1=192.168.10.1
Setelah itu lakukan restart network service dengan cara seperti berikut. [root@haproxy ~]# /etc/init.d/network restart
Dan terakhir pastikan service network tersebut auto start on first boot dengan cara.
[root@haproxy ~]# chkconfig network on 4.1.3.2. HAProxy Configuration
HAproxy merupakan service untuk load balance pada web server, tapi pada project ini diimplementasikan sebagai service untuk email gateway load balance dan fail over. Pada bagian haproxy configuration, perlu dilakukan instalasi packet HAProxy dengan cara.
[root@haproxy ~]# yum install haproxy
Setelah itu dilakukan konfigurasi pada haproxy. # /etc/haproxy/haproxy.cfg Global log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 4096 user haproxy group haproxy daemon defaults log global retries 3
timeout connect 2m timeout client 2m timeout server 2m #HAPROXY SMTP frontend front_smtp_haproxy bind 127.0.0.1:25 bind 192.168.10.2:25 mode tcp no option http-server-close log global option tcplog default_backend backend_smtp_postfix backend backend_smtp_postfix mode tcp balance roundrobin log global option allbackups option tcp-check option tcplog
server mail1 192.168.10.3:25 check server mail2 192.168.10.4:25 check
Setelah itu restart haproxy service. Dengan cara seperti dibawah ini. [root@haproxy ~]# /etc/init.d/haproxy restart
Yang terakhir perlu dilakukan adalah membuat service haproxy di first booting server dengan cara.
[root@haproxy ~]# chkconfig haproxy on 4.1.3.3. Web Server Configuration
Pada bagian ini dipaparkan untuk penginstalan web server, untuk penginstalannya antara lain sebagai berikut :
[root@haproxy ~]# yum install httpd php
Setelah proses instalasi selesai maka perlu dilakukan restart service pada web server.
[root@haproxy ~]# /etc/init.d/httpd restart
Yang terakhir perlu dilakukan adalah membuat service httpd di first booting server dengan cara
[root@haproxy ~]# chkconfig httpd on 4.1.3.4. SQL Server Configuration
Pada bagian ini dipaparkan tahapan penginstalan mysql dan konfigurasi user root untuk mysql, untuk tahapan awal adalah melakukan instalasi mysql seperti di bawah ini.
[root@haproxy ~]# yum install mysql-server
Selanjutnya service untuk mysql perlu untuk di restart. [root@haproxy ~]# /etc/init.d/mysqld restart
Dan agar service mysql berjalan pada first boot maka perlu dilakukan perintah berikut.
[root@haproxy ~]# chkconfig mysqld on
Pada tahapan ini dilakukan untuk konfigurasi user root pada mysql. Untuk perintahnya seperti di bawah ini.
[root@haproxy ~]# mysqladmin –u root password patronus
Agar mysql bisa di akses melalui GUI atau web interface, maka perlu dilakukan install phpmyadmin. Untuk penginstalla n phpmyadmin, tahapan awal adalah install epel-release.
[root@haproxy ~]# yum install epel-release
Dan dilakukan update system. Seperti di bawah ini. [root@haproxy ~]# yum update
Jika sudah berhasil di update system, maka bisa dilanjutkan ke tahapan install phpmyadmin, seperti dibawah ini.
[root@haproxy ~]# yum install phpmyadmin 4.1.3.5. PHPMailer
PHPMailer merupakan library pada php untuk pengiriman email. Pada project akhir ini phpmailer digunakan sebagai tools untuk testing pengiriman email dari PHP. Pertama perlu melakukan download phpmailer dan disimpan didalam directory.
[root@haproxy ~]# /var/www/html/email/phpmailer 4.1.3.6. Pommo Email Blast
Pommo merupakan simple email blast application berbasis open source. Pada project akhir ini pommo digunakan sebagai media untuk pengujian email gateway sebagai load balance dan fail over.
Tahapan awal adalah mendownload packet Pommo. Setelah itu simpan pada directory, seperti dibawah ini.
[root@haproxy ~]# /var/www/html/pommo
Pada tahapan ini dilakukan install pommo sebagai email blast tools dengan cara membuat database terlebih dahulu pada mysql dengan perintah seperti dibawah ini.
[root@haproxy ~]# mysqladmin –u root –p create pommo
Tahapan selanjutnya adalah mengedit file config.php pada directory pommo. Seperti dibawah ini.
# nano /var/www/html/pommo/config.php [db_hostname] = “localhost” [db_username] = “root” [db_password] = “patronus” [db_database] = “pommo” [db_prefix] = “pommo_”
Setelah config.php sudah dikonfigurasi maka akses pommo email blast melalui web browser untuk penginstallan secara GUI dengan url sebagai berikut :
http://192.168.10.2/pommo/install.php
Dan akan muncul tampilan seperti dibawah ini.
Gambar 4.1. Pommo Installation
Gambar 4.2. Pommo Installation Input
Jika berhasil maka proses installation akan seperti dibawah ini.
Gambar 4.3. Pommo Installation Success 4.1.4. Konfigurasi Email Client Server
Untuk email client dibuat sebuah prototype email server yang didalamnya terdapat Pop3 Server dan SMTP server.
4.1.4.1. Network Configuration
Tahapan pertama pada pembuatan email client dengan cara network configuration. Seperti di bawah ini.
# /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=08:00:27:FC:CC:A7 TYPE=Ethernet UUID=7181c993-8035-4066-b811-32e19895ff76 ONBOOT=yes NM_CONTROLLED=no
BOOTPROTO=static IPADDR=192.168.10.1 NETMASK=255.255.255.248 GATEWAY=192.168.10.1 DNS1=192.168.10.1
Setelah itu lakukan restart network service dengan cara seperti berikut. [root@mail ~]# /etc/init.d/network restart
Dan terakhir pastikan service network tersebut auto start on first boot dengan cara
[root@mail ~]# Chkconfig network on 4.1.4.2. DNS Server
Sebelum dibuat email client, yang perlu dibuat adalah dns server. Dns server ini berfungsi untuk menerjemahkan name server ke sebuah ip yang didalamnya terdapat berbagai record.
Pada server client email ini dibutuhkan 2 buah record, antara lain A record dan MX record.
Konfigurasi awal dibutuhkan konfigurasi listen port pada DNS server seperti dibawah ini.
#/etc/named.conf options { listen-on port 53 { 127.0.0.1; 192.168.10.1;}; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { localhost; 192.168.10.0/29;}; recursion yes; dnssec-enable yes;
dnssec-validation yes; dnssec-lookaside auto;
/* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; include "/etc/named/named.conf.local";
Selanjutnya konfigurasi zone pada DNS Server seperti dibawah ini. # /var/named/data/db.mercubuana.edu
$TTL 38400
@ IN SOA mercubuana.edu. mail.mercubuana.edu. ( 20160517 ; serial 10800 ; refresh 3600 ; retry 604800 ; expire 86400 ) ; minimum @ IN NS ns.mercubuana.edu. ns IN A 192.168.10.1
@ IN A 192.168.10.1 mail.mercubuana.edu. IN MX 0 mail.mercubuana.edu. mail IN A 192.168.10.1 haproxy IN A 192.168.10.2 mail1 IN A 192.168.10.3 mail2 IN A 192.168.10.4 email IN A 192.168.10.2 # /var/named/data/db.10.168.192 $TTL 38400
@ IN SOA mercubuana.edu. mail.mercubuana.edu. ( 20160517 ; serial 10800 ; refresh 3600 ; retry 604800 ; expire 86400 ) ; minimum IN NS ns.mercubuana.edu. 1 IN PTR ns.mercubuana.edu. 1 IN PTR mail.mercubuana.edu. 2 IN PTR haproxy.mercubuana.edu. 3 IN PTR mail1.mercubuana.edu. 4 IN PTR mail2.mercubuana.edu. 2 IN PTR email.mercubuana.edu.
Setelah DNS Server sudah dikonfigurasi maka perlu dilakukan restart service dengan cara.
[root@mail ~]# /etc/init.d/named restart
Terakhir Named Service tersebut dibuat agar pada saat first boot langsung aktif.
4.1.4.3. Zimbra Collaboration Suite
Email Client menggunakan zimbra mail service. Untuk instalasinya seperti dibawah ini.
[root@mail zcs-8.6.0.rhel6.64]# ./install.sh Operations logged to /tmp/install.log.2160 Checking for existing installation...
zimbra-ldap...NOT FOUND zimbra-logger...NOT FOUND zimbra-mta...NOT FOUND zimbra-dnscache...NOT FOUND zimbra-snmp...NOT FOUND zimbra-store...NOT FOUND zimbra-apache...NOT FOUND zimbra-spell...NOT FOUND zimbra-convertd...NOT FOUND zimbra-memcached...NOT FOUND zimbra-proxy...NOT FOUND zimbra-archiving...NOT FOUND zimbra-core...NOT FOUND
PLEASE READ THIS AGREEMENT CAREFULLY BEFORE USING THE SOFTWARE.
ZIMBRA, INC. ("ZIMBRA") WILL ONLY LICENSE THIS SOFTWARE TO YOU IF YOU
FIRST ACCEPT THE TERMS OF THIS AGREEMENT. BY DOWNLOADING OR INSTALLING
THE SOFTWARE, OR USING THE PRODUCT, YOU ARE CONSENTING TO BE BOUND BY
THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS
AGREEMENT, THEN DO NOT DOWNLOAD, INSTALL OR USE THE PRODUCT.
License Terms for the Zimbra Collaboration Suite:
http://www.zimbra.com/license/zimbra-public-eula-2-5.html
Do you agree with the terms of the software license agreement? [N] Y Checking for installable packages
Found zimbra-core Found zimbra-ldap Found zimbra-logger Found zimbra-mta Found zimbra-dnscache Found zimbra-snmp Found zimbra-store Found zimbra-apache Found zimbra-spell Found zimbra-memcached Found zimbra-proxy
Select the packages to install Install zimbra-ldap [Y] Y Install zimbra-logger [Y] Y Install zimbra-mta [Y] Y Install zimbra-dnscache [Y] N Install zimbra-snmp [Y] Y Install zimbra-store [Y] Y Install zimbra-apache [Y] Y Install zimbra-spell [Y] Y
Install zimbra-memcached [Y] N Install zimbra-proxy [Y] N
Checking required space for zimbra-core Checking space for zimbra-store
Checking required packages for zimbra-store zimbra-store package check complete.
Installing: zimbra-core zimbra-ldap zimbra-logger zimbra-mta zimbra-snmp zimbra-store zimbra-apache zimbra-spell
The system will be modified. Continue? [N] Y Removing /opt/zimbra
Removing zimbra crontab entry...done. Cleaning up zimbra init scripts...done. Cleaning up /etc/ld.so.conf...done.
Cleaning up /etc/security/limits.conf...done. Finished removing Zimbra Collaboration Server. Installing packages zimbra-core...zimbra-core-8.6.0_GA_1153.RHEL6_64-20141215151155.x86_64.rpm...done zimbra-ldap...zimbra-ldap-8.6.0_GA_1153.RHEL6_64-20141215151155.x86_64.rpm...done zimbra-logger...zimbra-logger-8.6.0_GA_1153.RHEL6_64-20141215151155.x86_64.rpm...done zimbra-mta...zimbra-mta-8.6.0_GA_1153.RHEL6_64-20141215151155.x86_64.rpm...done zimbra-snmp...zimbra-snmp-8.6.0_GA_1153.RHEL6_64-20141215151155.x86_64.rpm...done zimbra-store...zimbra-store-8.6.0_GA_1153.RHEL6_64-20141215151155.x86_64.rpm...done zimbra-apache...zimbra-apache-8.6.0_GA_1153.RHEL6_64-20141215151155.x86_64.rpm...done
zimbra-spell...zimbra-spell-8.6.0_GA_1153.RHEL6_64-20141215151155.x86_64.rpm...done
Operations logged to /tmp/zmsetup05182016-034753.log Installing LDAP configuration database...done.
Setting defaults... MX: mail.mercubuana.edu (192.168.10.1) Interface: 192.168.10.1
Interface: 127.0.0.1 Interface: ::1 done.
Checking for port conflicts
========================================================== Main menu 1) Common Configuration: 2) zimbra-ldap: Enabled 3) zimbra-logger: Enabled 4) zimbra-mta: Enabled 5) zimbra-snmp: Enabled 6) zimbra-store: Enabled +Create Admin User: yes
+Admin user to create: admin@mail.mercubuana.edu ******* +Admin Password UNSET
+Anti-virus quarantine user: virus-quarantine.pjxjszlu@mail.me rcubuana.edu
+Enable automated spam training: yes
+Spam training user: spam.dnyyfert@mail.mercubuana.edu +Non-spam (Ham) training user : ham.tg8_ezrrv6@mail.mercubuana.edu +SMTP host: mail.mercubuana.edu
+Web server HTTP port: 80 +Web server HTTPS port: 443 +Web server mode: https +IMAP server port: 143 +IMAP server SSL port: 993
+POP server port: 110 +POP server SSL port: 995 +Use spell check server: yes
+Spell server URL: http://mail.mercubuana.edu:7780/a spell.php
+Configure for use with mail proxy: FALSE +Configure for use with web proxy: FALSE +Enable version update checks: TRUE +Enable version update notifications: TRUE
+Version update notification email: admin@mail.mercubuana.edu +Version update source email: admin@mail.mercubuana.edu +Install mailstore (service webapp): yes
+Install UI (zimbra,zimbraAdmin webapps): yes 7) zimbra-spell: Enabled
8) Default Class of Service Configuration: s) Save config to file
x) Expand menu q) Quit
Address unconfigured (**) items (? - help) 6
========================================================== Store configuration
1) Status: Enabled 2) Create Admin User: yes
3) Admin user to create: admin@mail.mercubuana.edu ** 4) Admin Password UNSET
5) Anti-virus quarantine user: virus-quarantine.pjxjszlu@mail.mercubuana.edu
6) Enable automated spam training: yes
7) Spam training user: spam.dnyyfert@mail.mercubuana.edu
8) Non-spam(Ham) training user:
9) SMTP host: mail.mercubuana.edu
10) Web server HTTP port: 80
11) Web server HTTPS port: 443
12) Web server mode: https 13) IMAP server port: 143
14) IMAP server SSL port: 993
15) POP server port: 110
16) POP server SSL port: 995 17) Use spell check server: yes
18) Spell server URL: http://mail.mercubuana.edu:7780/aspell.php 19) Configure for use with mail proxy: FALSE
20) Configure for use with web proxy: FALSE 21) Enable version update checks: TRUE 22) Enable version update notifications: TRUE
23) Version update notification email: admin@mail.mercubuana.edu 24) Version update source email: admin@mail.mercubuana.edu 25) Install mailstore (service webapp): yes
26) Install UI (zimbra,zimbraAdmin webapps): yes Select, or 'r' for previous menu [r] 4
Password for admin@mail.mercubuana.edu (min 6 characters): [PKrSIskyTl] patronus
========================================================== Store configuration
1) Status: Enabled 2) Create Admin User: yes
3) Admin user to create: admin@mail.mercubuana.edu 4) Admin Password set
5) Anti-virus quarantine user: virus-quarantine.2e0g1tdhs@mail.mercubuana.edu
6) Enable automated spam training: yes
7) Spam training user: spam.b7b9ltsr@mail.mercubuana.edu 8) Non-spam(Ham) training user: ham.t1i1tshv@mail.mercubuana.edu
9) SMTP host: mail.mercubuana.edu
10) Web server HTTP port: 80
11) Web server HTTPS port: 443
12) Web server mode: https 13) IMAP server port: 143
14) IMAP server SSL port: 993
15) POP server port: 110
16) POP server SSL port: 995 17) Use spell check server: yes
18) Spell server URL: http://mail.mercubuana.edu:7780/aspell.php 19) Configure for use with mail proxy: FALSE
20) Configure for use with web proxy: FALSE 21) Enable version update checks: TRUE 22) Enable version update notifications: TRUE
23) Version update notification email: admin@mail.mercubuana.edu 24) Version update source email: admin@mail.mercubuana.edu 25) Install mailstore (service webapp): yes
26) Install UI (zimbra,zimbraAdmin webapps): yes Select, or 'r' for previous menu [r] R
========================================================== Main menu 1) Common Configuration: 2) zimbra-ldap: Enabled 3) zimbra-logger: Enabled 4) zimbra-mta: Enabled 5) zimbra-snmp: Enabled 6) zimbra-store: Enabled 7) zimbra-spell: Enabled 8) Default Class of Service Configuration: s) Save config to file
x) Expand menu q) Quit
*** CONFIGURATION COMPLETE - press 'a' to apply Select from menu, or press 'a' to apply config (? - help) A Save configuration data to a file? [Yes] Y
Save config in file: [/opt/zimbra/config.16189] Saving config in /opt/zimbra/config.16189...done. The system will be modified - continue? [No] Y
Operations logged to /tmp/zmsetup05182016-095459.log Setting local config values...done.
Initializing core config...Setting up CA...done. Deploying CA to /opt/zimbra/conf/ca ...done. Creating SSL zimbra-store certificate...done. Creating new zimbra-ldap SSL certificate...done. Creating new zimbra-mta SSL certificate...done. Installing mailboxd SSL certificates...done. Installing MTA SSL certificates...done. Installing LDAP SSL certificate...done. Initializing ldap...done.
Setting replication password...done. Setting Postfix password...done. Setting amavis password...done. Setting nginx password...done.
Setting BES searcher password...done.
Creating server entry for mail.mercubuana.edu...done. Setting Zimbra IP Mode...done.
Saving CA in ldap ...done.
Saving SSL Certificate in ldap ...done. Setting spell check URL...done.
Setting service ports on mail.mercubuana.edu...done. Setting zimbraFeatureTasksEnabled=TRUE...done. Setting zimbraFeatureBriefcasesEnabled=TRUE...done. Setting TimeZone Preference...done.
Setting services on mail.mercubuana.edu...done.
Adding mail.mercubuana.edu to zimbraMailHostPool in default COS...done. Creating domain mail.mercubuana.edu...done.
Setting default domain name...done.
Creating domain mail.mercubuana.edu...already exists. Creating admin account admin@mail.mercubuana.edu...done. Creating root alias...done.
Creating postmaster alias...done.
Creating user spam.b7b9ltsr@mail.mercubuana.edu...done. Creating user ham.t1i1tshv@mail.mercubuana.edu...done.
Creating user virus-quarantine.2e0g1tdhs@mail.mercubuana.edu...done. Setting spam training and Anti-virus quarantine accounts...done.
Initializing store sql database...
Setting zimbraSmtpHostname for mail.mercubuana.edu...done. Configuring SNMP...done.
Setting up syslog.conf...done. Installing common zimlets... com_zimbra_date...done. com_zimbra_tooltip...done. com_zimbra_email...done. com_zimbra_clientuploader... com_zimbra_clientuploader...done. com_zimbra_mailarchive...done. com_zimbra_viewmail...done. com_zimbra_srchhighlighter...done. com_zimbra_phone...done. com_zimbra_attachcontacts...done. com_zimbra_webex...done. com_zimbra_proxy_config...done. com_zimbra_url...done. com_zimbra_adminversioncheck...done. com_zimbra_cert_manager...done.
com_zimbra_bulkprovision...done. com_zimbra_attachmail...done. com_zimbra_ymemoticons...done. Finished installing common zimlets. Restarting mailboxd...done.
Creating galsync account for default domain...failed.
You have the option of notifying Zimbra of your installation.
This helps us to track the uptake of the Zimbra Collaboration Server. The only information that will be transmitted is:
The VERSION of zcs installed (8.6.0_GA_1153_RHEL6_64)
The ADMIN EMAIL ADDRESS created (admin@mail.mercubuana.edu) Notify Zimbra of your installation? [Yes] NO
Notification skipped
Setting up zimbra crontab...done.
moving /tmp/zmsetup05182016-142254.log to /opt/zimbra/log configuration complete - press return to exit
4.2. Pengujian Server.
Pada tahap Pada tahap ini akan dilakukan pengujian seperti pada black box test table. Pengujian Proyek Akhir ini menggunakan phpmailer, telnet, dan email header check. Untuk tahapan pengujian antara lain.
4.2.1. Pengujian network Connection
Pada bagian pengujian network connection akan dibagi ketiga tahapan, yaitu sebagai berikut :
4.2.1.1.Mail Server 1
Pada Mail Server 1 akan diuji untuk network connection ke semua server dan computer user admin. Hasil pengujian network connection pada mail server 1 dapat dilihat pada beberapa gambar dibawah ini.
Gambar 4.4. Pengujian Network Mail Server 1 ke Mail Client Server
Gambar 4.5. Pengujian Network Mail Server 1 ke Mail Gateway
Gambar 4.6. Pengujian Network Mail Server 1 ke Mail Server 2
4.2.1.2.Mail Server 2
Pada Mail Server 1 akan diuji untuk network connection ke semua server dan computer user admin. Hasil pengujian network connection pada mail server 1 dapat dilihat pada beberapa gambar dibawah ini.
Gambar 4.8. Pengujian Network Mail Server 2 ke Mail Client Server
Gambar 4.9. Pengujian Network Mail Server 2 ke Mail Gateway Server
Gambar 4.10. Pengujian Network Mail Server 2 ke Mail Server 1
4.2.1.3.Email Gateway
Pada Mail Server 1 akan diuji untuk network connection ke semua server dan computer user admin. Hasil pengujian network connection pada mail server 1 dapat dilihat pada beberapa gambar dibawah ini.
Gambar 4.12. Pengujian Network Mail Server Gateway ke Mail Client
Gambar 4.13. Pengujian Network Mail Server Gateway ke Mail Server 1
Gambar 4.14. Pengujian Network Mail Server Gateway ke Mail Server 2
4.2.2. Pengujian pengiriman email dari mail server 1 dan mail server 2 Pengujian pengiriman email dengan menggunakan console dari kedua email server tersebut.
4.2.2.1.Mail Server 1
Pada mail server 1 dilakukan pengujian untuk pengiriman email. Sehingga mail server 1 dapat didaftarkan pada email gateway untuk load balance dan fail over.
Gambar 4.16. Pengujian Pengiriman Email dari Mail 1 4.2.2.2.Mail Server 2
Pada mail server 1 dilakukan pengujian untuk pengiriman email. Sehingga mail server 1 dapat didaftarkan pada email gateway untuk load balance dan fail over.
Gambar 4.17. Pengujian Pengiriman Email dari Mail 2 4.2.3. Pengujian pembatasan akses ke mail server 1 dan mail server 2
Pengujian yang dilakukan dengan melakukan telnet ke mail server 1 dan mail server 2 dari IP address client yang tidak diizinkan untuk pengiriman email. 4.2.3.1.Mail Server 1
Dari konfigurasi relay pada bagian implementasi postfix, maka dilakukan pengujian pengiriman email dari IP yang tidak di izinkan untuk menggunakan email server 1 sehingga akan memberikan output berupa relay access denied.
4.2.3.2.Mail Server 2
Dari konfigurasi relay pada bagian implementasi postfix, maka dilakukan pengujian pengiriman email dari IP yang tidak di izinkan untuk menggunakan email server 2 sehingga akan memberikan output berupa relay access denied.
Gambar 4.19. Pengujian Pembatasan akses penggunaan Mail 2 4.2.4. Pengujian load balance pada email gateway.
Pengujian load balance yang dilakukan adalah untuk menganalisa stabilitas dan fault tolerant dari kinerja email gateway.
Pengujian yang dilakukan dengan menggunakan dua buah tools yaitu : a. PHPMailer
b. Pommo Email Blast
Dari hasil pengujian tersebut akan dianalisa pada sisi header pada email yang telah terkirim pada email address list.
4.2.4.1.PHPMailer
Untuk pengujian menggunakan PHPMailer maka dibuat simple script untuk pengiriman email dari phpmailer. Seperti di bawah ini.
<?php
require_once 'phpmailer/class.smtp.php'; require_once 'phpmailer/class.pop3.php'; $mail = new PHPMailer;
$mail_body = 'This is The Test Email'; $mail->isSMTP(); $mail->Host = '192.168.10.2'; $mail->SMTPAuth = false; $mail->Port = 25; $mail->Username = ''; $mail->Password = ''; $mail->setFrom('fahmi@mercubuana.edu');
$mail->Subject = "PHPMailer Simple database mailing list test";
$recipients =
array("fahmi@mercubuana.edu","mustaqim@mercubuana.edu","devi.mercubuana .edu","nurmalita@mercubuana.edu");
foreach ($recipients as $i => $mail_add) { $mail->addAddress($mail_add); $mail->Body = $mail_body.$i; if(!$mail->send()){ echo $mail->ErrorInfo; } else {
echo "Mail Sent..."; }
$mail->clearAddresses(); $mail->SmtpClose(); }
Pada Script diatas terdapat konfigurasi untuk mendaftarkan konfigurasi email gateway seperti pada script dibawah ini.
$mail->isSMTP(); $mail->Host = '192.168.10.2'; $mail->SMTPAuth = false; $mail->Port = 25; $mail->Username = ''; $mail->Password = ''; $mail->setFrom('fahmi@mercubuana.edu');
$mail->Subject = "PHPMailer Simple database mailing list test"; Dan pada script dibuat alias list recipients seperti dibawah ini.
$recipients =
array("fahmi@mercubuana.edu","mustaqim@mercubuana.edu","devi.mercubuana .edu","nurmalita@mercubuana.edu");
Pada script tersebut dibuat logic pemrograman untuk mengirimkan email yang akan dikirimkan ke address list recipient dan mensplit address recipient tersebut. Dan pada setiap pengiriman akan di close connection pada pengiriman emailnya.
foreach ($recipients as $i => $mail_add) { $mail->addAddress($mail_add); $mail->Body = $mail_body.$i; if(!$mail->send()){ echo $mail->ErrorInfo; } else {
echo "Mail Sent..."; }
$mail->clearAddresses(); $mail->SmtpClose(); }
Terkahir dari script tersebut disimpan dengan nama index.php pada folder email yang terdapat di root apache. Dan diakses melalui web browser dengan cara.
Http://192.168.10.2/email/index.php
Jika email telah terkirm maka harus di check pada bagian email header dari email yang telah terkirim seperti dibawah ini.
Gambar 4.20. Pengujian PHPMailer – Mail Client 1
Gambar 4.21. Pengujian PHPMailer – Mail Client 2
Gambar 4.22. Pengujian PHPMailer – Mail Client 3
Gambar 4.23. Pengujian PHPMailer – Mail Client 4
Pada gambar – gambar dapat dilihat bahwa pada array address list pada PHPMailer Script yang dideskripsikan pada script tersebut secara berurut, maka
hasil dari pengujian tersebut juga berurutan sesuai round robin, stabilitas, dan fault tolerant pada load balance.
Dari pengujian diatas dapat dilihat dan dianalisa bahwa rumus dari pengukuran load balance round robin bahwa jumlah email address dibagi jumlah server load balance sesuai dengan hasil pengujian dan tidak adanya kelebihan beban pada satu buah email server saja.
4.2.4.2.Pommo.
Untuk pengujian menggunakan pommo simple email blast. Langkah awal yang harus dilakukan adalah login ke site pommo pada server email gateway seperti dibawah ini.
Gambar 4.25. Pommo Login
Dan selanjutnya buat subscriber pada pommo dengan cara memilih menu subscriber.
Gambar 4.26. Pommo Menu
Selanjutnya melakukan import file CSV yang berisi list email subscriber dengan memilih menu import.
Gambar 4.27. Pommo Menu Subscriber
Berikut adalah tampilan menu import. Pada menu ini kita upload file csv yang berisi email list untuk subscriber.
Gambar 4.28. Pommo Menu Import
Setelah file berhasil diimport maka yang perlu dilakukan adalah merefrensikan bahwa file yang diupload adalah email.
Gambar 4.29. Pommo Menu Import 2
Berikut adalah tampilan akhir proses import yang berisi keterangan import telah selesai.
Gambar 4.30. Pommo Menu Import 3
Selanjutnya adalah proses pengujian pengiriman email blast menggunakan pommo dengan memilih send pada mailing page.
Gambar 4.31. Pommo Menu Mailing 1
Jika sudah dipilih maka tampilan halaman akan beralih seperti dibawah ini. Dan perlu diinputkan subject dari email yang akan diblast dan juga nama pengirim beserta email pengirim. Jika sudah diisi klik tombol continue.
Gambar 4.32. Pommo Menu Mailing 2
Tahapan selanjutnya akan dilakukan pemilihan template untuk emailnya. Template yang akan dipakai pada tugas akhir ini adalah blank template dengan memilih tombol skip.
Tahapan selanjutnya adalah mengisi pesan pada body email yang akan diblast.
Gambar 4.34. Pommo Menu Mailing 4
Dan tahapan terakhir adalah pengiriman email dengan memilih tombol send mailing.
Gambar 4.35. Pommo Menu Mailing 5
Berikut adalah proses pengiriman email blast menggunakan pommo.
Dan dari proses pengiriman email di atas dilakukan pengujian load balance dengan cara melakukan check terhadap email header dari email yang diterima.
Gambar 4.37. Hasil Pengujian Load Balance – Email Client 1
Gambar 4.38. Hasil Pengujian Load Balance – Email Client 2
Gambar 4.39. Hasil Pengujian Load Balance – Email Client 3
Gambar 4.40. Hasil Pengujian Load Balance – Email Client 4
Dari keempat gambar diatas dapat dilihat bahwa fungsi load balance pada email gateway berfungsi pada simple applikasi email blast dengan menggunakan empat address list yang telah diimport untuk user subscriber, dan hasil dari pengujian tersebut juga berurutan sesuai round robin, stabilitas, dan fault tolerant pada load balance.
Dari pengujian diatas dapat dilihat dan dianalisa bahwa rumus pengukuran load balance round robin bahwa jumlah email address dibagi jumlah server load balance sesuai dengan hasil pengujian dan tidak adanya kelebihan beban pada satu buah email server saja.
4.2.5. Pengujian Fail Over pada email gateway. Pengujian fail over dilakukan dengan du acara, yaitu :
Shutdown Mail 1 dan membiarkan Mail 2 masih menyala Shutdown Mail 2 dan membiarkan Mail 1 masih menyala
Dari dua buah scenario di atas. Maka dilakukan pengujian dengan menggunakan console dan pengecheckan terhadap email header.
4.2.5.1.Console.
Jika Mail1 down maka ketika di telnet akan selalu mengarah ke Mail2
Gambar 4.41. Hasil Pengujian Fail Over 1 – Mail Server 1 Down Maupun ketika Mail2 down maka akan selalu mengarah ke Mail1
Gambar 4.42. Hasil Pengujian Fail Over 2 – Mail Server 2 Down 4.2.6. BlackBox Testing
Dari semua pengujian yang telah dilakukan maka dibuatlah blackbox testing table untuk merangkum pengujian yang telah dilakukan.
Table 4.1. BlackBox Testing
No. Skenario Pengujian Hasil yang diharapkan Checklist Server Mail 1
1 Koneksi antar server Server Mail 1 dapat terkoneksi ke semua server.
2 SMTP Server dapat mengirimkan email
Server Mail 1 dapat
mengirimkan email melalui smtp localhost
Valid
3 SMTP Server dapat di akses dari server lainnya
Server Mail 2 dan Server HAProxy dapat mengirimkan email melalui SMTP Mail 1
Valid
4 SMTP Server hanya
dapat di akses dari network yang di whitelist
Network selain yang di whitelist pada SMTP Server tidak dapat menggunakan pengiriman email
Valid
Server Mail 2
1 Koneksi antar server Server Mail 2 dapat terkoneksi ke semua server.
Valid
2 SMTP Server dapat
mengirimkan email
Server Mail 2 dapat
mengirimkan email melalui smtp localhost
Valid
3 SMTP Server dapat di akses dari server lainnya
Server Mail 1 dan Server HAProxy dapat mengirimkan email melalui SMTP Mail 2
Valid
4 SMTP Server hanya
dapat di akses dari network yang di whitelist
Network selain yang di whitelist pada SMTP Server tidak dapat menggunakan pengiriman email
Valid
Server HA Proxy
1 Koneksi antar server Server HAProxy dapat
terkoneksi ke semua server.
Valid
2 Port 25 Untuk Mail
Gateway dapat diakses dari server lain
Server lain dapat melakukan akses ke port 25
Valid
3 Forwarding Port 25 ke Server lain
Ketika di telnet port 25 akan di forward ke server yang di daftarkan
Valid
4 Load Balance Email
Server Gateway
Load Balance pada Email Gateway dapat berfungsi dengan
cara melihat dari hasil header email dan telnet
5 Fail Over Email Server Gateway
Fail Over ketika Mail 1 down maka semua koneksi akan di forward ke mail 2, maupun ketika mail 2 down maka semua koneksi akan di forward ke mail 1
Valid
Email Client
1 Koneksi antar server Server HAProxy dapat
terkoneksi ke semua server.
Valid
2 DNS Server pada server email client dapat di lookup
Semua Server dapat melakukan
nslookup untuk domain
mercubuana.edu
Valid
3 MX record pada server email client dapat di lookup
Semua Server dapat melakukan
check mx record untuk
mengetahui bahwa ada mailbox pada server tersebut
Valid
4 Pop3 Service pada email client dapat menerima email
Email Client dapat menerima email yang dikirimkan
Valid
5 Pengecheckan email
header pada semua email client yang di kirimkan email oleh system
Email client dapat mengecheck email header bahwa email yang di kirimkan dari semua server