Jumat, 24 April 2015

Multi Server Debian 7 Wheezy Dengan Web,Mail,db,Primary,Secondary server Dan ISP Config Part 1

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