Rabu, 11 September 2019


Control Panel Hosting

A.Web Hosting Control Panel
           
Istilah web bagi anda yang sudah memasuki bangku kelas XII mungkin sudah bukan hal yang baru.Pernahkah anda melihat tampilan website seperti https://dashboard.bkkbn.go.id, http://pangan ku.orang, http://monikabkkbn.orang, dan lainnya? Situs tersebut merupakan salah satu server berbasis hosting. Apa sebenarnya hosting tersebut? Apa perbedaannya dengan server? Simak penjelasan berikut.
            Hosting berasal dari kata host atau komputer atau server.
Istilah hosting menjadi populer sebagai rujukan ketika anda membangun sebuah web server dengan cara menyewah pada perusahaan lain tanpa mengetahui bentuk fisik komputer server tersebut. Hosting atau yang sering disebut dengan nama web hosting merupakan host yang disewakan untuk menampung konfigurasi web server, data data, dan file yang dibutuhkan sebuah website agar dapat diakses oleh para penggunanya melalui jaringan internet. Data tersebut berupa file teks, audio, vidio, gambar, animasi, kode program, database, dan lain sebagainya. Anda tidak akan dipusingkan dengan infastruktur hardware, konfigurasi server dan data lainnya. Saat ini, ada beberapa tipe hosting yang dapat dipilih, antara lain sebagai berikut.
1.        Shared Hosting
Shared hosting merupakan tipe hosting skala kecil dimana user web hosting setting layout dan konfigurasi tampilan web karena konfigurasi kontrol panel dilakukan sepenuhnya oleh administrator web hosting. Pengguna web hosting tidak bersinggugan langsung dengan sistem web, web panel, konfigurasi keamanan server, dan jenis sistem operasi server.Pada umumnya, perusahaan penyedia jasa shere hosting memiliki server dengan spesifikasi hardware yang sangat tinggi. Hal tersebut bertujuan untuk memberikan space hard disk kepada para penggunanya, tanpa melibatkan mereka secara langsung dalam konfigurasinya. Jenis ini ada yang bersifat gratis seperti blogger.com, bythost.com, 000webhost.com, dan wordpress.com.


Gambar 1.1 Contoh tampilan blogspot.com

Kekurangan tipe ini adalah keterbatasan memanajemen hosting yaitu sering munculnya iklan iklan aneh dan terkadang sangat lambat.
2.      Dedicated Hosting
Dedicated hosting merupakan jenis hosting yang disediakan oleh perusahaan atau penyedia hosting yang secara khusus ditujukan oleh klien yang telah menyewanya. Perbedaan dengan share hosting adalah jika share hosting satu komputer dengan satu space hard disk dibagi bersama sama berdasarkan kuota masing masing user.Sementara itu, dedicated hosting melibatkan secara penuh tentang konfigurasi mendasar dari web hosting mulai dari penataan direktori, konfigursi layanan web, FTP, domain, subdomain, database, dan sebagainya.Oleh karena itu, para penyedia hosting memberikan kemudahan dengan menyediakan web panel, dimana user dapat melakukan konfigurasi terhadap web server, tapi bukan pada mesin server.

Gambar 1.2 Tampilan cPanel.

3.       Cloud hosting
Teknologi hosting tidak hanya memanfaatkan satu server sebagai tumpuan utama dalam memberikan layanan web.Dengan mengandalkan teknik komputasi cloud hosting pada komunikasi berbagai server yang terhubung dengan internet, memungkinkan penyimpanan halaman web, file, database, dan data lainnya menjadi terdistribusi dengan baik.Keuntungan utama dari metode ini adalah beban server utama menjadi lebih ringan, tidak memakan bandwith besar meski tergolong cukup mahal dalam hal investasinya, sebagai contoh bluehost cloud hosting
4.      Virtual private Server
Mode ini mungkin lebih sering dipergunakan oleh para IT dengan kemampuan atau skill menengah ke atas. User dapat meilih jenis resource hardware yang tersedia dalam layanan server, kemudian menginstal sistem operasi yang diinginkan. Denagn kata lain, user dapat menentukan sendiri jenis OS, tipe aplikasi yang diinstal, serta mengatur kebijakan firewall dan konfigurasi lainnya sehingga seolah seperti komputer mereka sendiri. Sebenarnya, sama seperti jenis hosting lainnya, VPS merupakan server virtual yang dibangun diatas mesin fisik server utama yang tentu memiliki kapasitas hardware yang sangat baik. Dari server fisik tersebut, perusahaan atau penyedia menginstal aplikasi virtual seperti proxmox, Oracle VM, atau yang lainnya guna menjalankan proses virtualisasi server. Biasanya, setiap VPS yang dibangun akan diberikan IP Address yang bersifat publik sehingga memudahkan pemiliknya mengakses dan mengelolahnya. Metode ini sering dipakai oleh reseller-reseller domain dan hosting untuk menjalankan bisnis mereka, yang biasanya akan dilengkapi dengan web panel untuk mempermudah  kliend memanajemen sistem webnya.
Gambar 1.3 Akses VPS.

5.      Dedicated Server
Dedicated server merupakan server yang secara fisik terkoneksi dengan internet, dimana kapabilitas bandwith memungkinkan server berbagai data secara langsung. Pada perusahaan-perusahaan besar, server akan ditanam dalam ruangan khusus dengan besar bandwith tertentu dilengkapi dengan deretan IP Publik yang bersifat static. Sementara itu, pada dedicated server bersekala kecil seperti rumah dan toko yang memperoleh sambungan internet dengan IP Publik secara acak, dapat memanfaatkan layanan DNS dinamis utnuk mengakses server-nya.
Oleh karena itu, ketika anda berhubungan dengan hosting atau menjadi adminsitrator sebuah server hosting, sebaiknya mengenali karakteristik kebutuhan serta teknologi yang ditawarkan dalam control panel web hosting atau orang sering menyebutnya web panel. Apa itu control panel web hosting? Control panel web hosting adalah sebuah tool yang dibangun dengan platform web base, lengkap dengan berbagai fitur seperti pengelolaan working directory,FTV server, database server, domain, dan fitur lainnya. Dengan tool tersebut, user dapat dengan mudah memanajemen server tanpa harus sibuk mengonfigurasinya secara langsung. Ada dua jenis control panel jika dilihat berdasarkan lisensinya, yaitu free and open source dan proprietary. Contoh control web panel yang tidak berbayar adalah Aergir, AlternC, Gnupanel, i-MSCP, ISPConfig, Kloxo, Usermin, Virtualmin, Webmin, dan lainnya.
Tabel 1.1 Contoh control web panel tidak berbayar.
Control panel
Lisensi
BSD
Program
Frontend
Backend
Flugin Support
VCS
IPv6 Support
Multiserver Support
Altern C
GPL 2
Tidak
Linux
PHP
PHP/perl
Ya
Git
Ya
Tidak
i-MSCP
GPL, MPL
Tidak
Linux
PHP
Perl,C
Ya
Git
Ya
Tidak
ISPConfig
BSD
Tidak
Linux
PHP
PHP,MySQL
Ya
Git
Ya
Ya
Kloxo (Formelylxadmin)
AGPL
Tidak
Linux(CentOs)
PHP
PHP,MySQL
Tidak
Git
Tidak
Ya
Webmin
BSDstyle
Ya
Linux
Perl
Perl
Ya
Git
Ya
Parsial
Gnupanel
GPL
Tidak
Linux
PHP
PHP,pgSQL
-
Git
-
-
Aegir
LGPL
Ya
Linux
PHP,Ajax
PHP,MySQL/Maria DB
-
Git
-
-

Sementara itu, beberapa jenis aplikasi control panel yang berbayar dapat anda jumpai seperti cPanel, DirectAdmin, H-Sphere, HDE Controller X, Interworx, dan lainnya

Tabel 1.2 Contoh control web panel berbayar.
Control Panel
BSD
Program
Fronted
Backend
Plugin Support
Http/2 Support
Ipv6 Support
Multiserver Support
cPanel
FreeBSD
Linux/Windows(EOL)
Perl
Perl
Ya
Ya
Ya
Ya
DirectAdmin
Ya
Linux
C++
C++,scripts,PHP
Ya
Tidak
Ya
Ya
H-Sphere
Ya
Linux/Windows
Java
Java
Ya
Tidak
Ya
Ya
ISPManager
FreeBSD
Linux
C++
C++/sqlite
Ya
Tidak
Ya
Ya
Hosting controller
Tidak
Linux/Windows
NET
MSSQL
Ya
Tidak
Ya
Ya

 B. Setup Ajenti
            Menggapa dalam pembelajaran ini diajarkan cara melakukan setup control panel ajenti?Ajenti bersifat tidak berbayar dan cukup populer penggunanya dikalangan para IT. Ajenti sendiri merupakan salah satu tools open source yang secara khusus dibuat untuk memudahkan user melakukan manajemen pada server berbasis linux. Ajenti dibuat menggunakan bahasa pemprogaman phyton. Selain berfungsi sebagai server control panel,ajenti juga dapat digunakan sebagai web hosting management dengan menyertakan aplikasi tambahan yang disebut dengan ajenti V .fitur-fitur yang didukung oleh tools ini meliputi konfigurasi firewall, pengaturan file manager, terminal, akses server, Nginx, web hosting management(Ajenti V), dan lainnya (bisa dibaca pada alamat domain pengembangan (http://ajenti.org)
            Untuk melakukan praktik setup dan konfigurasi control panel web dengan Ajenti, ikuti langkah-langkah berikut.
1.        Siapkan infrastruktur jaringan sebagai berikut.

gambar 1


Gambar 1.4 Skema jaringan awal.
  Ketentuan:
a.      Komputer klien
1)       IP address                                    :192.168.56.1/24
2)     OS                                     :minimal Windows 7 atau versi di atasnya.

b.      Server
1)       IP address                                    :192.168.56.20/24
2)     OS                                     :Linux Debian 9.4
3)      Hostname                                    :Linux-server
4)     Aplikasi pendukung       :PHP5, Apache2

2.      Lakukan instal sistem operasi Debian (untuk cara instalasinya dapat dilihat dibuku administrasi sistem jaringan kelas XI bab 1) dan pastikan telah terhubung dengan komputer klien.
3.       Setelah OS debian berjalan dengan baik dan terkoneki dengan komputer klien dalam jaringan lokal maupun internet, anda harus meng-update repository dan meng-upgrade repo dalam sistem server.
4.      Langkah selanjutnya adalah menginstral paket aplikasi curl dengan perintah berikut.
Gambar 1.5 instalasi curl

5.      Unduh terlebih dahulu file automatic installer ajenti dari internet agar dapat diekskusi file installer tersebut.

Gambar 1.6 unduh file installer ajenti.

6.      Biarkan proses instalasi selesai,kemudian masukan perintah berikut untuk menjalankan ajwenti
7.      Untuk melakukan pengujian,apakah web control panel dengan ajenti sudah berjalan dengan baik,anda dapat mengujinya melalui localhost mesin dengan lynx atau secara langsung pada komputer klien.
8.      Pada komputer klien,jalankan aplikasi web browser.Ketikan alamat http://192.168.56.20:8000/ pada address bar,lalu tekan enter. Akan muncul halaman login dari ajenti.




Gambar 1.7 halaman login ajenti.

9.      Untruk masuk ke dalam web panel ajenti ,secara default anda harus memasukan username dan pasword user sistem dalam linux,sebagai contoh anda menggunakan username root.
10.   Jika berhasil, Anda akan diarahkan ke dalam halaman web panel Ajenti.
Gambar 1.8 Halaman web panel Ajenti.
11.     Klik menu Dashboard, pada halaman ini akan ditampilkan informasi tentang spesifikasi dan kinerja server. (Lihat gambar 1.8)
12.    Pada menu Plugins, sistem akan menampilkan daftar plugin yang telah terinstal dan tersedia pada Ajenti.
Gambar 1.9 Menu Plugins.

13.    Selanjutnya adalah menu Settings. Menu ini berisi pengaturan Ajenti, yang meliputi hostname, bahasa yang digunakan dalam control panel, konfigurasi warna, port Ajenti, metose binding, autentikas, dan SSL.
Gambar 1.10 Menu Settings.

14.   Menu File Manager merupakan salah satu plugin Ajenti yang secara default sudah terinstal, berfungsi untuk melakukan manajemen file pada server.
15.     
gambar 1
Gambar 1.11 Menu File Manager.

16.   Menu Notepad juga merupakan plugin Ajenti yang secara default sudah terinstal. Menu ini digunakan untuk membuat dan mengedit file dalam sistem, khususnya file konfigurasi server.
gambar 1
Gambar 1.12 Menu Notepad.

17.    Menu Terminal, jika anda mengklik menu ini, Anda dapat melakukan proses peng-input-an perintah-perintah shell Linux layaknya seperti Anda mengakses terminal console secara langsung.
Gambar 1.13 Menu Terminal.

18.   Menu services,ketika dipilih maka akan menampilkan daftar service yg dijlankan oleh ajenti.

Gambar 1.14 menu service.
19.  Adapun untuk melakukan manajemenpaket sistem berbasis apt dan pip, anda dapat menggunaka menu packages yang berada dibawah submenu system.
Gambar 1.15 menu packages
C  SETUP ISPCONFIG
Ispconfig merupakan salah satu jenis web control panel berbasis open source yang memberikan kemudahan dalam mengontrol dan mengelola sebuah server dan bahkan beberapa server sekaligus. Web control panel yang dirilis oleh BSD ini juga menyediakan fitur manajemen FTP,database server,domain,dan virtual server. Berikut adalah beberapa fitur yang didukung oleh ISPCONFIG,antara lain sebagai berikut.
1.        Memiliki keunggulan dalam pengelolahan sebuah server dan bahkan multiserver dalam sebuah web control panel.
2.      Menyediakan fitur pengelolahan pada lever administrator jaringan,reseller,dan klien.
3.       Support apache dan nginx,
4.      Dukungan terhadap layanan mirroring dan clustering.
5.      Pengelolahan e-mail,FTP,database,DNS,web,dan virtual server.

Untuk melalukan setup dan konfigurasi web control panel dengan ispconfig, ikuti petunjuk berikut.
1.        Siapkan infrastruktur jaruingan seperti pada subbab sebelumnya (lihat skema jaringan sebelumnya).



Gambar 1.16 skema jaringan awal.
       Ketentuan:
a.      Komputer klien
1)       Ip address                  : 192.168.56.1/24
2)     OS                               : minimal windows 7 atau versi diatasanya.

b.      Server
1)       Ip address                  : 192.168.56.20/24
2)     Os                               : linux debian 9.4
3)      Hostname                  : linux-server
4)     Aplikasi pendukung : php5, apache, ntp server, dash reconfigure,mail server, mysql, rkhunter, dan binutils telah terinstal.
2.      Anda dapat mernggunakan konfigursi mesin sebelumnya, dengan men-disable terlebih dahulu web control panel ajenti.
3.       Login terlebih dahulu ke dalam sistem operasi debian, kemudian pastikan paket aplikasi unzip dan curl digunakan untuk mengunduh file zip tersebut dari internet. Abaikan langkah ini,jika telah terinstal kedua paket tersebut.


gambar 1

Gambar 1.17 instalasi curl dan unzip.

4.      Proses instalasi web control panel ispconfig cukup panjang dan membutuhkan waktu yang cukup lama. Hal tersebut menyebabkan proses instalasi tidak berhasil. Untuk itu, anda dapat memanfaatkan script installer yang dibuat oleh matteo temporoni yang dapat diunduh dari link github https://ghitub.com/servisys/ISPConfig_setup.

gambar 1

Gambar 1.18 link github.

5.      Upload file installer instal.sh ke dalam mesin server anda, bisa menggunakan winscp atau menyalin menggunakan metode remote akses putty. Buka file installer tersebut.

Gambar 1.19 proses unggah instal.sh.


6.      Penjelasan dari baris kode shell dalam file install.sh dapat dilihat dan dipahami dengan baris komentar yang dituliskan dengan diawali tanda pagar.
# − − − − − −  − − − − − − − −  − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − −
#     Global variabeles
# − − − − − −  − − − − − − − −  − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − −
CfG_HOSTNAME_FQDN= ` hostname   −f  ` ;
WT_BACKTITLE =ISPConfig  3  System Installer from Temporini Matteo>>
#Baris CFG_HOSTNAME_FQDN digunakan untuk memasuki hostname FQDN sistem ke dalam variabel.

#    Bash colour
Red= >\033[0;31m >
Green= >\033[0;32m >
NC= >\033[0m >  #  No  color
#Ketiga baris di atas digunakan untuk menentukan warna font shell bash installer dijalankan.

#saving  current directory
PWD=$ (pwd) ;
#Baris di atas digunakan untuk menyimpan direktori saat ini ke variabel PWD.
#− − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − −
#    Load needed functions
#− − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − −
Source $PWD/functions/check_linux.sh
echo        <<Checkingyour system,  please wait...>>
#Mengecek sistem Linux berdasarkan distro dengan function yang ada pada file $PWD/function/check_linux.sh.

7.      Bagian baris kode load modules.
 Gambar 1.20 load need modules
8.      Bagian program berikutnya adalah melakukan pengecekan versi distro OS yang didukung oleh installer tersebut.

 Gambar 1.21 OS check module.


If   [    -n   <<$PRETTY_NAME>>   ] ;    then
      echo    -e   <<The detected Linux Distribution is :    <<    $PRETTY_NAME
Else
      echo    -e   <<The detected Linux Distribution is :     <<   $ID-$VERSION_ID
fi
#Mendeteksi Distro Linux yanng sedang menjalankan file installer ini.
echo
if    [    -n   <<$DISTRO>>    ] ;   then
       read   -p   <<Is this correct?   (y/n) >>   -n   1
-r      #Mengonfirmasi apakah distro yang dideteksi script benar.
      echo         #     (optional)    move to a new
line
      if   [ [    !   $REPLY   =~    ^[Yy]$   ] ]
            then
          exit   1
      fi
else   #Apabila distro tidak didukung, akan melakukan echo kalimat berikut.
      echo   -e   <<sorry but your system is not supported by this script,    if you want your system supported   <<
      echo   -e   <<open an issue on GitHub:
  https://github .com/servisys/ispconfig_setup>>
      exit  1
fi

9.      Berikutnya adalah bagian modul yang akan bertugas menginisialisasi proses instalasi IPSConfig.



Gambar 1.22 Inisialisasi instalasi ISPConfig.

10.   Perhatikan bagian baris kode berikut.
if      [   -f   /etc/debian_version   ];   then
         PreInstallCheck
#Melakukan pemeriksaan sesaat sebelum proses instalasi.
         if   [   <<$CFG_MULTISERVER>>   ==   <<no>>   ];    then
        AskQuestions
#Jika opsi MultiServer = NO pada saat pre-install check maka jalankan function AskQuestion.
         else 
         source   $PWD/distros/$DISTRO/askquestion_multiserver.sh.
        AskQuestionsMultiserver
    fi
 InstallBasics
#Melakukan instalasi awal paket yang dibutuhkan menggunakan Function InstallBasics.
     InstallSQLServer
#Melakukan instalasi database.
   if   [   <<$CFG_SETUP_WEB>>   ==   <<yes>>   ]   | |   [
<<$CFG_MULTISERVER>>   ==   <<no>>   ];   then
               InstallWebServer
            InstallFTP
            #Apabila pilihan install setup web server = yes dan multi server = no pada bagian function AskQuestion, lakukan instalasi web dan FTP menggunakan function di atas.
     if    [   <<$CFG_QUOTA>>   ==   <<yes>>   ];   then
               InstallQuota
           fi #Apabila pilihan install Quota  = yes dan multi server = yes pada bagian function AskQuestion, melakukan instalasi paket kuota.
     if   [   <<$CFG_JKIT>>   ==   <<yes>>   ];   then
             InstallJailkit
       fi #Apabila pilihan install HHVM = yes pada bagian function AskQuestion, melakukan instalasi paket jailkit.
    if   [   <<$CFG_HHVM>>   ==   <<yes>>   ];   then
             InstallHHVM
          fi #Apabila pilihan Install HHVM = yes pada bagian function AskQuestion maka lakukan instalasi paket HHVM.
     if   [   <<$CFG_METRONOM>>   ==   <<yes>>   ];   then
            InstallMetronom
       fi #Apabila pilihan install Metronom = yes pada bagian function  AskQuestion maka melakukan instalasi paket Metronom.
   InstallWebmail   //Instalasi Webmail.
     else
        InstallBasePhp              #to   remove   in
Feature   release    //Instalasi   PHP.
     fi
        if    [   <<$CFG_SETUP_MAIL>>   ==   <<yes>>   ]    | |    [   <<$CFG_MULTISERVER>>   ==   <<no>>   ];   then
              InstallPostfix
              InstallMTA
         InstallAntiVirus
        #Apabila pilihan setup Mailserver = yes pada bagian function AskQuestion maka melakukan instalasi Postfix, MTA, dan Antivirus.
    fi
if   [   <<$CFG_SETUP_NS>>   ==   <<yes>>   ]   | |   [
<<$CFG_MULTISERVER>>   ==   <<no>>    ];   then
InstallBind
      #Apabila pilihan setup NameServer/DNS Server = yes pada bagian function AskQuestion maka melakukan instalasi paket bind.
   fi
      InstallWebStats   #Instalasi AWS Webstats.
  InstallFail2ban   #Instalasi UFW Firewall dan Fail2ban.
        If   [   <<$CFG_ISPCVERSION>>   ==   <<Beta>>    ];      
  then    #Instalasi ISPConfig Versi Beta apabila sudah dipilih pada bagian function AskQuestion.
                  Source    $PWD /distro/$DISTRO/install_
ispconfigbeta.sh
            InstallISPConfigBeta
    Fi
    InstallISPConfig / /Instalasi ISPConfig.
    Installfix #Instalasi paket fix ISPConfig agar berjalan
Sesuai dengan semestinya.
  echo   -e    <<$ {green  }well done ISPConfig  in –
stalled and configured correctly  : D    $  { NC >>
   echo  << Now  you can connect to your
ISPConfig installation at https : / / $CFG_
HOSTNAME_FQDN : 8080 or https : / / IP_
ADDRESS : 8080 >>
     echo  <<you can visit my Github profile at
https : / / github . com / servisys / ispconfig setup / >>
#ISPConfig berhasil diintal.



11.     Selanjutnya adalah bagian modul yang menjelaskan tentang function InstallBasic.
14
Gambar 1.23 function Installbasic.

12.    Penjelasan function InstallSQLServer.
Screen Shot 2016-07-26 at 8
Gambar 1.24 function InsttalSQLserver.

13.    Penjelasan bagian modul function InstallWebServer.

1_7GEJvVb5MjvHO6zu7aurwA
Gambar 1.25 function installwebServer

 Pada bagian ini,installer akan melakukan proses instalasi web server syarat utama web control panel dapat bekerja dan diakses oleh kompueter klien.
14.   Selanjutnya, perhatikan pada bagian kode modul yang diawali kode installFTP(). Bagian ini                                                                   berguna untuk mengistal dan mengonfigurasi aplikasi FTP Server dengan pureFTP.
 

gambar 1
Gambar 1.26 function installFTP.
InstallFTP  ( )         {
###instalasi  pureFTPD.
echo   -n   <<Instaling  pureFTPd. . . <<
     echo  <<pure_ftpd_common pure_ftpd/
virtualchroot boolean true >>  I  debconf_set_

     apt-get   -yqq  install pure – ftpd – common  pure-
ftpd –mysql   >  /dev/null  2>&1
      sed  -i  <s/ftp/ | # ftp > /etc/inetd.conf

#mengaktifkan TLS pada pureftpd
echo  1  >  /etc?pure-ftpd/conf/TLS

#membuat direktori dan men-generate sertifikat SSL.
Mkdir  -p  /etc/ssl/private/
     Openssl    req  -x509   -nodes    -days   3650   -newkey
Rsa:2048  -keyout  /etc/ssl/private /pure-ftpd . pem
-subj   <</C=$SSL_COUNTRY / ST=$SSL_STATE / L=$SSL_
LOCALITY / O=$SSL_ORGANIZATION  / OU=$SSL_ORGUNIT /
CN=$CFG_HOSTNAME_FQDN
    chmod  600  /etc /ssl /private /pure-ftpd . pem
    service  openbsd- inetd  restart  >  /dev /null
2>&1
    Service  pure-ftpd-mysql   restart  >  /dev /null
2>&1
    echo   -e  <<[$ {green} DONE$ {NC} ] /n>>

}


15.   perhatikan pada bagian function  installpostfix().
gambar 1
Gambar 1.27 Founction Installpostfix.


Installpostfix ( )    {
  #mematikan service sendmail.
  echo  <<checking and disabling sendmail . . .  <<
     if    [   -f    /etc/init . d/sendmail   ] ;   then
        service  sendmail  stop  >  /dev/null
2>&1

#unistall sendmail.
       Apt-get  -y remove  sendmail  >  /dev/null   2>&1

#Instalasi postfix.
echo  -n  <<Installasing  postfix . . . <<
      echo  <postfix  postfix /main _mailer_type  select
internet site >>  l    debconf-set_selections
      echo  <<postfix  postfix /mailname  string   $CFG_
HOSTNAME _FQDN>>  I  debconf-set-selections
      Apt-get     -yqq   install  postfix  postfix-mysql
Postfix-doc   getmail4  >  /dev /null  2>&1

#edit file master.cf.
     Sed   -i   <<s / # submission  inet    n       -              y
-              -        smtpd /submission  inet  n                -
-                -           -                    smtpd / >>           /etc/
Master . cf
      Sed –i   <<s / #    -o  syslog_name=postfix \ / submission /
-o        syslog_name=postfix \ / submission / >>              /etc/
Postfix / master . cf
            Sed       i        <<s / #           -o         smtpd_tls_security_
level =encrypt /                       -o            smtpd_tls_security_
level =encrypt/>>      /etc /postfix /master . cf
    sed  -i   <<s / #smtp_auth_enable=yes/
-o  smptd_sasl_auth_enable=yes \\ `echo  -e  <  \n \ r>
-o          smpt_client_restrictions=permit_sasl_
Authenticated, reject / >>   /etc/postfix /master . cf
    sed   -i    <<s / #smpts         inet      n         -             y    -      
-             -              Smpts                inet              n      -
 -                -             -              smptd / >>   /etc / postfix
Master . cf
  
Sed   -i     <<s / #              -o          syslog_name=postfix \ / smtps /
-o        syslog_name=postfix \ / smtps / >>        ?etc / postfix /
Master . cf
Sed        -i       <<s / #       -o     smtpd_tls_wrappermode=yes/
-o       smtpd_tls_wrappermode=yes / >>       / etc / postfix/
Master . cf
Sed   -i    <<s / #      -o    smtpd_sasl_auth_enable=yes /       -o
Smtp_sasl_auth_enable=yes \ \   ` echo        -e       <  \n \ r > `
-o         smtpd_client_restrictions=permit_sasl_
Authenticated  ,  reject /  >>     /etc / postfix / master . cf
     Sed    -i   << s / # tlsproxy      unix          -             -          y
-                0                 tlsproxy / tlsproxy          unix            -
-          Y             -              0                   tlsproxy / >>    /etc /
Postfix / master . cf
      Service postfix restart  >  /dev/null   2>&1
      Echo    -e    << [$ {green } DONE$ { NCI } ] \ >>
  }



 
16.   Selanjutnya, untuk mendukung proses transfer e-mail danpengaturannya, server membutuhkan paket aplikasi MTA. Instalasi dan konfigurasi MTA dapat dilihat pada bagian function installmta yang secara default menggunakan versi dovecot.

gambar 1
Gambar 1.28 Istalasi MTA

17.  Kelebihan cript installer ini adalah fitur tambahan instalasi antivirus yang didefinisikan pada function installAntivirus.
gambar 1
Gambar 1.29 installAntiVirus .


18.  kelebihan lain dalam file installer ini, anda diberikan modul yang secara otomatis mengisntal aplikasi web stastic yang memerluikan dukungan aplikasi seperti vlogger, webalizer, awstats, dan lainnya yang dapat dilihat pada bagian function installasiwebstats
gambar 1
Gambar 1.30 function installwebstats.

Installwebstats ( )      {
#Instalasi webstat.

         echo   -n   <<Installing stats . . .  << ;
         apt –get   -y   install   vlogger   webalizer  awstats
geoIP- databese  libclass-mysql – perl
libtimedate – perl  >    / dev / null   2>&1

#menggantikan semua  ^ dengan # pada file / etc cron . d/ awstats.                      
      Sed   - i        < s / ^ /# / >    /etc /cron . d / awstats
      echo     -e     << [$ {green } DONE$ { NC } ] \ N >>

}


19.  Nah, yang paling penting disini adalah bagian function untuk melakukan installasi paket aplikasi       ISPconfig yang diawali dengan baris kode installISPconfig ().
# - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - -- - - - - - - - - - - - - - - - - -- - - - -
# Function:  InstallISPConfig
#         start  the  ISPConfig3   installation  script
# - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - -- - - - - - - - - - - - - - - - - -- - - - -
InstallISPConfig ( )   {
echo   installing    ISPConfig3 . . . 
cd   / tmp
#pindah ke direktori/ tmp


# menggunduh file source ISPConfig, apabila memilih versi beta maka akan menggunduh ISPConfig versi beta.
If  [   $cfg _ ISPVERSION ==     ] ;   then
Wget   -O   ISPConfig-3 . 1-beta.tar.gz              https : / /
www. Ispconfig. Org/downloads /ISPconfig -3 , Ib2 . tar .
gz

tar  xfz   ISPConfig - 3 . 1 -beta . tar.gz
cd   ispconfig3_install*
cd   install
else
wget https : / /www . ispconfig . org / downloads /
ISPConfig -3 - stable . tar . gz
Tar  xfz  ISPConfig -3 - stable . tar .gz
cd    ispconfig3_install/install/
fi
i f    [    $cfg_ISCP   ==    ] ;   then
echo  


#membuat file autoinstall.ini Yang berisi konfigurasi ISPConfig yang akan secara otomatis diterapkan.
touch   autoinstall . ini
echo      auto install . ini
echo   autoinstall . ini
#Bahasa
echo 
autoinstall . ini #metode install
echo  HOSTNAME_FQDN>>
autoinstall.ini
echo <<mysql_hostname =localhost >>
autoinstall . ini #user MySQL
echo <<mysql_root_user=root>>
autoinstall . ini #userMySQL
echo <<mysql_root_password$CFG_MYSQL_ROOT_
PWD>>  autoinstall . ini  #password user root MySQL
echo <<mysql_database=dbispconfig>> autoinstall . ini #database
echo <<mysql_port=3306>> autoinstall . ini #port MySQL
echo <<mysql _ charset=utf8>>  autoinstall .
ini
if [    $CFG_WEBSERVER  ==  <<apache>>  ] ;  then
#konfigurasi web server
Echo  <<http_server=apache>>  autoinstall . ini
elif    [  $CFG_WEBSERVER  ==  <<nginx>>  ] ;   then
echo  <<http_server=nginx >>  autoinstall . ini
else
echo   <<http_server= >>  autoinstall .
ini
fi
echo  <<ispconfig_port=8080>>
autoinstall . ini #mengatur port ISPConfig
echo   << ispconfig_use_ssl=y  >>  autoinstall . ini
#mengatur agar ISPConfig menggunakan SSL pada web
echo << ispconfig_admin_password=admin  >>
autoinstall . ini #mengatur username dan pasword ISP-
config
echo
echo << [ssl_cert ] >>  autoinstall . ini    #
echo <<  ssl_cert _country=$ssl_COUNTRY  >>
autoinstall . ini   #
echo << ssl_cert_state=$SSL_STATE  >>
autoinstall . ini  #


echo <<ssl_cert_locality=$SSL_LOCALITY  >>
autoinstall . ini   #mengatur parameter SSL certificate
echo <<ssl_cert_organisation=$SSL_
ORGANIZATION >>  autoinstall . ini  #
echo <<ssl_cert_organisation_unit=$SSL_
ORGUNIT   >>autoinstall . ini  #
echo <<ssl_cert_common_name=$CFG_HOSTNAME_FQDN>>
>>  autoinstall . ini  #
echo
echo <<  [expert]  >>  autoinstall . ini
echo <<  mysql_ispconfig_user=ispconfig  >>
autoinstall . ini   #user MySQL ISPConfig
echo <<mysql_ispconfigpassword=afStEratXBs
gatrRtsa42CadwhQ  >>  autoinstall . ini  #password
MySQL ISPConfig
Echo <<join_multiserver_setup=$MULTISERVER  >>
Autoinstall . ini
echo <<mysql_master_hostname=$CFG_MASTER_
FQDN  >>   autoinstall . ini
echo <<mysql_master_root_user=root>>
autoinstall . ini
echo   <<mysql_master_root_password=$CFG_MASTER_
echo <<mysql_master_database=dbispconfig  >>
autoinstall . ini
echo <<configure_mail=$CFG_SETUP_MAIL >>
autoinstall . ini
if   [   $CFG_SETUP_WEB  ==   <<YES>>  ] ;  then
echo   <<configure_jailkit=$CFG_JKIT >>
autoinstal . ini
else
echo << configure_jailkit=n >>
autoinstall . ini
fi
echo << configure_ftp=$CFG_SETUP_WEB  >>
autoinstall . ini  #mengonfigurasi FTP
echo << configure_dns=$CFG_SETUP_NS >>
autoinstall . ini  #mengonfigurasi DNS
echo << configure_apache=$CFG_APACHE >>
autoinstall . ini  #mengonfigurasi Apache
echo <<configure_nginx=$CFG_NGINX  >>
autoinstall . ini  #mengonfigurasi Nginx
echo  <<configure_firewall=y  >> autoinstall . ini
#mengonfigurasi firewall


echo << install_ispconfig_web_interface=$CFG_
SETUP_MASTER>>  >> autoinstall.ini #Mengonfigurasi web interface
echo
echo <<[update]>>  >> autoinstall.ini
echo <<do_backup=yes >> >> autoinstall .ini
echo <<mysql_root_password=$CPG_MYSQL_ROOT_PWD>> >> autoinstall.ini
echo <<mysql_master_root_user=root>> >> autoinstall.ini
echo <<mysql_master_root_password=$CFG_MASTER_MYSQL_ROOT_PWD>> >> autoinstall. Ini
echo <<mysql_master_database=dbispconfig>> >> autoinstall.ini
echo <<reconfigure_permissions_in_master_database=no>> >> autoinstall .ini
echo <<recofingure_services=yes>> >> autoinstall .ini
echo<<ispconfig_port=8080>> >> >> autoinstall. Ini
echo <<create_new_ispconfig_ssl_cert=no>> autoinstall .ini
echo <<reconfigure_crontab=yes>> >> autoinstall .ini
echo  I   php –install .php
--autoinstall=autoinstall.ini
#perintah instalasi iSPConfig beserta script auto install yang telah dibuat.
else
Php  -q install .php
fi
if  [ $CFG_SETUP_WEB ==<<YES>> ] ; then
if  [$CFG__WEBSERVER == <<nginx>>  ] ; then
/etc/init.d/nginx restart
Else
/etc/init.d/ apache2 restart
fi
fi

}



Setelah menjalankan baris kode #php install.php—autoinstall=autoinstall.ini maka semua service dan konfigurasi pada file  autoinstall.ini akan diterapkan secara otomatis.
20. selain menggunakan langkah unduh file installer dari ghitub melalui web browser klien lalu diunggah ke mesin server, anda juga dapat secara langsung mengunduh dari mesin server dengan catatan telah terkoneksi jaringan internet. Selanjutnya, unduh file auto installer  ISPConfig3 dengan perintah berikut.
root@linux-server:~#wget–no-check-certificate https://ghitub.com /servisys/ispconfig_setup/archive/master.zip


Gambar 1.32
21. Ekstrak file master.zip menggunakan unzip.
22. selanjutnya, masuk krektori ispconfig_setup-master
root@Linux-server:~# cd ispconfig_setuip-master/
23. Jalankan file installer ispconfig.
root@Linux-server:~# ./install.sh





Gambar 1.33 menjalankan file installer ISPConfig
24. ketikkan opsi Y, kemudian Enter. Selanjutnya, ada pertanyaan, apakah akan     melakukan konfigurasi database pada phpmyadmin? Pilih no, kemudian Enter






Gambar 1.34 Tampilan configuring phpmyadmin.

25. tunggu hingga proses instalasi berjalan sampai selesai.




Gambar 1.35 Proses instalasi ISPConfig.
26. instalasi paket aplikasi ISPConfig suadh berhasil.



Gambar 1.36 proses instalasi ISPConfig telah selesai.
27. Lakuakan instalasi paket modul tambahan pada aplikasi server apache.





Gambar 1.37 Install paket tambahan apache.
28. Untuk melakukan pengujian, Anda dapat mengetikkan alamat server ISPConfig pada web browser komputer klien dengan memasukkan url http://192.168.56.20:8080/. Jika berhasil, akan muncul halaman login dari ISPConfig.






Gambar 1.38 Halaman login ISPConfig.


29. login dengan user  admin dan password admin.
30.jika berhasil akan muncul tampilan dashboard ISPConfig sebagai berikut.






Gambar 1.39 halaman dashboard ISPConfig.
            Berikut adalah penjelasan fungsi setiap menu dalam dashboard web control panel ISPConfig.


1.      Client
Menu ini berisi interface yang memudahkan pengaturan Konfigurasi client,reseller,e- mail,client template,dan client limit pada ISPConfig.   
Keterangan:
a)      Add new client      : untuk menambahkan klien baru.
b)      Edit client              : mengedit klien.
c)      Add reseller           : untuk menambah reseller baru.
d)      Edit reseller           : mengedit reseller.
e)      edit clien circle      : menambahkan atau mengedit clien circle
f)       send e- mail           : mengirim e- mail kepada clien dan reselller.
g)      Limit template       : membuat template clien dan reseller.
h)      E-mail template     : membuat template e- mail untuk clien dan        reseller. Contonya ,template untuk membuat e-mail ucapan selamat atas keberhasilan melakukan registrasi bagi pendaftaran baru.
2.      Sites
Berisi pengaturan sites pada server,yang meliputi website,DAV,database,APS,Dan lain-lain.


Gambar 1.41 Menu Sites.


        Keterangan:
a.Website :menu menggunakan untuk membuat/mengatur website.
b.Subdomain for websites:digunakan untuk membuat/mengatur website pada suatu subdomain.
c.Alias domain for website:di gunakan untuk membuat/mengatur website pada suatu alias  nama domain.
d.Database:memanajemen atau mengatur sistem database.
e.database users:memanajemen user database yang terpasar pada server.
f.FTP account:memanajemen akun user FTP.
g.WebDav-users:memanajemen user WebDav.
h.protected folder:mengatur keamanan folder.
i.protected folder users:mengatur keamanan folder user.
j.Shell-user:menambahkan user untuk mengakses shell.
k.Croin jobs:menambahkan cronjobs pada server.
l.Available packeges:menampilkan daftar piket APS yang tersedia.
m.installed packages:menampilkan daftar APS yang terinstal.
n.Update packagelist:memperbarui daftar APS.
o.Web traffic:menampilkan tratistik traffic website.