Disini saya akan share bagaimana membangun multi server dengan Debian Wheezy, saya menggunakan virtualisasi dalam membangun multi server ini, dengan mengunakan 5 vps/vm(virtual machine) di dalam proxmox dan menggukan satu vlan yang di gunakan pada kelima vps terbsebut.
Kelima server ini saya jadikan satu subnet, agar saling terintegrasi antara satu dengan lainnya
1.Instalasi kelima Server
Pertama lakukan instalasi kelima sistem debian dengan konfigurasi ip satu subnet dan menggunakan hostname dengan nama server berdasarkan fungsinya, misalnya sebagai berikut
Web Server
============================
Hostname = server.smkmuh3ska.sch.id
Ip address = 192.168.47.2/29
============================
Mail Server
============================
Hostname = mail.smkmuh3ska.sch.id
Ip address = 192.168.47.3/29
Database Server
============================
Hostname = db.smkmuh3ska.sch.id
Ip address = 192.168.47.4/29
============================
Primary DNS Server
============================
Hostname = ns1.smkmuh3ska.sch.id
Ip address = 192.168.47.5/29
============================
Secondary DNS Server
============================
Hostname = ns2.smkuh3ska.sch.id
Ipaddress = 192.168.47.6/29
============================
Pastikan kelima server ini dapat berjalan dengan baik dan saling terhubung, untuk memngeceknya
ping ipaddress/hostname ke setiap server, pastikan semuanya reply dan tidak ada masalah,
2. Web server
setelah instalasi lakukan konfigurasi berikut
Konfigurasi Hosts
ketikan perintah
#nano /etc/hosts
dan tambahkan seperti dibawah ini
192.168.47.2 server.smkmuh3ska.sch.id
192.168.47.3 mail.smkmuh3ska.sch.id
192.168.47.4 db.smkmuh3ska.sch.id
192.168.47.5 ns1.smkmuh3ska.sch.id
192.168.47.6 ns2.smkmuh3ska.sch.id
simpan dengan Ctrl+O,Enter dan keluar Ctrl+x
Konfigurasi Hostname
ketikan perintah
# echo server.smkmuh3ska.sch.id > /etc/hostname
# /etc/init.d/hostname.sh start
lalu cek dengan
#hostname && hostname -f
pastikan kedua host sama
server.smkmuh3ska.sch.id
server.smkmuh3ska.sch.id
Silhakan tambah repo,install ntp dan lakukan update(pembahasan ini sudah saya share pada postingan sebelumnya)
Install Mysql
#apt-get -y install mysql-client mysql-server
kemudian isikan pawsword mysql seperti dibawah ini, dan berikutnya verivikasi password berikut
Agar server membanca setiap database semua server edit konfigurasi mysql pada file my.cnf dengan perintah
#nano /etc/myaql/my.cnf
lalu beri pagar pada baris bind-address = 127.0.0.1
Simpan Ctrl+O,enter dan keluar Ctrl+x
Setelah itu restart mysql
#service mysql restart
Install Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear, dan mcrypt
# apt-get install apache2 apache2-doc apache2-utils libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-python php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl memcached snmp
lalu enable mcrypt secara manual
# php5enmod mcrypt
Kemudian enable juga modul apache suexec,rewrite,ssl,actions,include,dav,dav_fs dan auth_digest
#a2enmod suexec rewrite ssl actions include cgi
#a2enmod dav_fs dav auth_digest
edit file /etc/apache2/mods-available/suphp.conf dengan perintah
#nano /etc/apache2/mods-available/suphp.conf
lalu berikan pagar pada baris berikut
Lalu simpan(ctrl+o enter) dan keluar(ctrl+x) lalu restart apache
Untuk menghost-kan File ruby dengan ektensi RB di server yang dapat dibuat melalui ispconfig, maka kita harus memberi tanda pagar pada baris berikut
# nano /etc/mime.types
beri pagar pada baris application/x-ruby
Lalu simpan(ctrl+o enter) dan keluar(ctrl+x) lalu restart apache
Install Pure pure ftpd dan quotatool dengan perintah
#apt-get -y install pure-ftpd-common pure-ftpd-mysql quota quotatool
edit file /etc/default/pure-ftpd-common dengan perintah
#nano /etc/default/pure-ftpd-common
dan edit VIRTUALCHROOT menjadi “VIRTUALCHROOT=true” seperti di bawah ini
konfigurasi PureFTPd agar memungkinkan FTP dan TLS sesi . FTP adalah protokol yang sangat tidak aman karena semua password dan semua data yang ditransfer dalam bentuk teks . Dengan menggunakan TLS , seluruh komunikasi bisa dienkripsi , sehingga membuat FTP jauh lebih aman .
Jalankan FTP dan TLS sessi dengan perintah
#echo 1 > /etc/pure-ftpd/conf/TLS
Untuk menggunakan TLS , kita harus membuat sertifikat SSL . Aku menciptakannya di /etc/ssl/private, dengan perintah :
#mkdir -p /etc/ssl/private/
Setelah itu , kita bisa menghasilkan sertifikat SSL, denga perintah sebaai berikut
#openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
dan isikan seperti di bawah ini
Berikan hak akses sertifikat SSL
# chmod 600 /etc/ssl/private/pure-ftpd.pem
Lalu restart PureFTPd:
# /etc/init.d/pure-ftpd-mysql restart
Edit /etc/fstab dengan menambah usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 seteleh teks”remount-ro,” seperti dibawah ini
Untuk mengaktifkan quotatool ketikan perintah berikut
# mount -o remount /
# quotacheck -avugm
# quotaon -avug
Install vlogger, webalizer, dan awstats dengan perintah
#apt-get -y install vlogger webalizer awstats
buka file /etc/cron.d/awstats
# nano /etc/cron.d/awstats
dan berikan tanda pagar seperti berikut
Kemudian Install aplikasi” berikut
#apt-get -y install build-essential autoconf automake1.9 libtool flex bison debhelper
Install jailkit dengan mendownloadnya terlebih dahulu
# cd /tmp
# wget http://olivier.sessink.nl/jailkit/jailkit-2.14.tar.gz
# tar xvfz jailkit-2.14.tar.gz
# cd jailkit-2.14
# ./debian/rules binary
# cd ..
# dpkg -i jailkit_2.14.deb
# rm -rf jailkit-2.14
Kemudian install fail2ban
#apt-get install fail2ban
Untuk membuat fail2ban memantau PureFTPd , buat lah file berikut
#nano /etc/fail2ban/jail.local
Isikan
[pureftpd]
enabled = true
port = ftp
filter = pureftpd
logpath = /var/log/syslog
maxretry = 3
Dan buat file ini pureftpd.conf dengan perintah
#nano /etc/fail2ban/filter.d/pureftpd.conf
isikan seperti berikut
[Definition]
failregex = .*pure-ftpd: \(.*@<HOST>\) \[WARNING\] Authentication failed for user.*
ignoreregex =
Kemudian restart fail2ban
#/etc/init.d/fail2ban restart
Setelah Itu buatlah user Previlage database pada master server dapat di akses oeh server lainya sehingga database dapat saling terhubung
Buatlah user
username : root host : 192.168.47.3
username : root host : 192.168.47.4
username : root host : 192.168.47.5
username : root host : 192.168.47.6
username : root host : mail.smkmuh3ska.sch.id
username : root host : db.smkmuh3ska.sch.id
username : root host : ns1.smkmuh3ska.sch.id
username : root host : ns2.smkmuh3ska.sch.id
dengan password yang sama,
Sehingga menjadi seperti ini
Install ISPConfig,
#cd /tmp
#wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
#tar xfz ISPConfig-3-stable.tar.gz
#cd ispconfig3_install/install/
Kemudian jalankan instalasinya
#php -q install.php
Dan isikan seperti di bawah ini
Isp Config telah terinstall silahkan buka pada web browser
https://192.168.47.2:8080