"Beberapa dari Anda mungkin bertanya, Ngapain bikin template segala? Kan bisa langsung saja instal dari akun VPS-nya? Pernyataan tersebut memang benar, tetapi saat Anda bertindak sebagai penyedia layanan VPS, maka pembuatan template akan menghemat banyak waktu saat harus membuat beberapa akun VPS dengan cPanel di dalamnya."

— dit

Intro

Ada beberapa jenis virtualisasi yang biasanya dipakai untuk penerapan layanan VPS, yaitu Xen, KVM dan OpenVZ. Masing-masing memiliki kelebihan dan kekurangannya serta pengembangannya sendiri berdasarkan kebutuhan penggunanya. Kali ini akan dibahas lebih lanjut untuk virtualisasi OpenVZ dalam rangka pembuatan template VPS yang didalamnya menggunakan sistem operasi Linux CentOS dan cPanel terbaru.

Analisa

Ada beberapa hal yang harus disiapkan terlebih dahulu sebelum pembuatan template dilakukan. Riset kali ini saya menggunakan sebuah akun VPS dengan ketentuan sebagai berikut.

  • Kapasitas 15GB
  • RAM minimal 512MB
  • Sistem operasi Linux CentOS 5.6 64bit [32bit juga bisa]

Selesai dengan prasyarat di atas, kini kita melangkah ke tahapan berikutnya untuk instalasi cPanel di akun VPS yang sudah disiapkan. Sebagai contoh, akun VPS yang akan dijadikan template bernama 64.dit.web.id dengan ID 102 dan IP address 113.20.28.253.

 

Instalasi cPanel & Konfigurasinya

Silakan ikuti beberapa langkah di bawah ini untuk panduan instalasi cPanel dan konfigurasinya terkait pembuatan template VPS.

  1. Login ke dalam akun VPS yang sudah disiapkan sampai setara root, lalu integrasikan modul Perl ke dalam sistem menggunakan perintah yum -y install perl.
  2. Perbarui modul yang sudah terinstal menggunakan perintah yum -y update.
  3. Beranjak ke direktori /root dan unduhlah penginstal cPanel dengan perintah wget layer1.cpanel.net/latest.

    [root@64 /]# cd /root/
    [root@64 ~]# wget layer1.cpanel.net/latest
    --2011-07-27 09:53:23--  http://layer1.cpanel.net/latest
    Resolving layer1.cpanel.net... 64.50.161.11, 67.159.2.2, 67.205.110.4, ...
    Connecting to layer1.cpanel.net|64.50.161.11|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 28413 (28K) [application/octet-stream]
    Saving to: `latest'
    
    100%[===========================>] 28,413      41.7K/s   in 0.7s
    
    2011-07-27 09:53:24 (41.7 KB/s) - `latest' saved [28413/28413]
    [root@64 ~]#
  4. Eksekusi penginstalnya dengan perintah sh latest & dan tunggulah sampai selesai.

    [root@64 ~]# sh latest &
    [1] 2025
    Creating directory installd
    Verifying archive integrity...[root@64 ~]#  All good.
    Uncompressing Cpanel & WHM Installer.............
    
         ____                   _
     ___ | _ \   __ _ _    ___ | |
    /  __||_) / _ `| '_ \ / _ \| |
    | (__| __/ (_| | | | |  __/| |
    \___ |_|  \__,_|_| |_|\___|| |
    
      Installer Version v00002 r916950a3830cd3de6d30294018c46ae137dac5e3
    
    Beginning main installation.
    2011-07-27 09:53:51  474 ( INFO): cPanel install started at: Wed Jul 27 09:53:51 2011!
    2011-07-27 09:53:51  475 ( INFO): This install will take 10-70 minutes depending on your hardware.
    2011-07-27 09:53:51  476 ( INFO): Now is the time to go get another cup of coffee/jolt.
    2011-07-27 09:53:51  477 ( INFO): The install will log to /var/log/cpanel-install.log.
    2011-07-27 09:53:51  478 ( INFO):
    2011-07-27 09:53:51  479 ( INFO): Beginning Installation
    2011-07-27 09:53:51  378 ( INFO): centos 5 (Linux) detected!
    
    dst...
    
    2011-07-30 22:08:11  186 (DEBUG):     [20110730.220811]   ==> Post Install Complete
    2011-07-30 22:08:11  186 (DEBUG):     => Log closed Sat Jul 30 22:08:11 2011
    2011-07-30 22:08:11  186 (DEBUG):     ----------------------------------------------------------------------------------------------------
    2011-07-30 22:08:11  186 (DEBUG):     => Log opened from cPanel Update (upcp) - Slave at Sat Jul 30 22:08:11 2011
    2011-07-30 22:08:11  186 (DEBUG):     [20110730.220811]   Post-sync cleanup completed successfully
    2011-07-30 22:08:11  186 (DEBUG):     [20110730.220811]   Polling updatenow to see if a newer version is available for upgrade
    2011-07-30 22:08:11  186 (DEBUG):     => Log closed Sat Jul 30 22:08:11 2011
    2011-07-30 22:08:11  186 (DEBUG):     ----------------------------------------------------------------------------------------------------
    2011-07-30 22:08:11  186 (DEBUG):     => Log opened from /usr/local/cpanel/scripts/updatenow at Sat Jul 30 22:08:11 2011
    2011-07-30 22:08:12  186 (DEBUG):     [20110730.220811]   Version is the same on the server and locally (11.30.1.4)
    2011-07-30 22:08:12  186 (DEBUG):     => Log closed Sat Jul 30 22:08:11 2011
    2011-07-30 22:08:12  186 (DEBUG):     ----------------------------------------------------------------------------------------------------
    2011-07-30 22:08:12  186 (DEBUG):     => Log opened from cPanel Update (upcp) - Slave at Sat Jul 30 22:08:11 2011
    2011-07-30 22:08:12  186 (DEBUG):     [20110730.220811]
    2011-07-30 22:08:12  186 (DEBUG):     [20110730.220811]         cPanel update completed
    2011-07-30 22:08:12  186 (DEBUG):     [20110730.220811]   A log of this update is available at /var/cpanel/updatelogs/update.1312048842.log
    2011-07-30 22:08:12  186 (DEBUG):     [20110730.220811]   Removing upcp pidfile
    2011-07-30 22:08:12  186 (DEBUG):     [20110730.220811]
    2011-07-30 22:08:12  186 (DEBUG):     [20110730.220811] Completed all updates
    2011-07-30 22:08:12  186 (DEBUG):     => Log closed Sat Jul 30 22:08:11 2011
    2011-07-30 22:08:12  186 (DEBUG):   - ssystem [END]
    2011-07-30 22:08:12  192 ( INFO): Adding services to chkconfig.
    2011-07-30 22:08:12  194 ( INFO):  - Enabling cpanel
    2011-07-30 22:08:12  195 (DEBUG):   - ssystem [BEGIN]: /sbin/chkconfig --level 35 cpanel on
    2011-07-30 22:08:12  195 (DEBUG):   - ssystem [END]
    2011-07-30 22:08:12  194 ( INFO):  - Enabling mysql
    2011-07-30 22:08:12  195 (DEBUG):   - ssystem [BEGIN]: /sbin/chkconfig --level 35 mysql on
    2011-07-30 22:08:12  195 (DEBUG):   - ssystem [END]
    2011-07-30 22:08:12  194 ( INFO):  - Enabling sshd
    2011-07-30 22:08:12  195 (DEBUG):   - ssystem [BEGIN]: /sbin/chkconfig --level 35 sshd on
    2011-07-30 22:08:12  195 (DEBUG):   - ssystem [END]
    2011-07-30 22:08:12 1621 ( INFO): Enabling cphulkd ...
    2011-07-30 22:08:12 1628 ( INFO): Done
    2011-07-30 22:08:12  211 ( INFO): cPanel install finished in 179 minutes and 35 seconds!
    Removing /root/installer.lock
    [root@64 ~]#
    [1]+  Done                    sh latest
    [root@64 ~]#
  5. Gunakan sembarang editor teks kegemaran Anda dan ubah hostname di /etc/hosts.

    ::1                         localhost.localdomain localhost
    127.0.0.1               localhost.localdomain localhost
    # Auto-generated hostname. Please do not remove this comment.
    #113.20.28.253      64.dit.web.id 64
    1.9.8.1                  server.domain.apa server
  6. Selesai dengan instalasi cPanel, ubahlah IP address di file konfigurasi menjadi sembarang IP address lain di /etc/sysconfig/network-scripts/ifcfg-venet0:0.

    DEVICE=venet0:0
    ONBOOT=yes
    #IPADDR=113.20.28.253
    IPADDR=1.9.8.1
    NETMASK=255.255.255.255
  7. Sesuaikan pula gateway-nya dengan nama lain di /etc/sysconfig/network.

    NETWORKING="yes"
    GATEWAYDEV="venet0"
    NETWORKING_IPV6="yes"
    IPV6_DEFAULTDEV="venet0"
    #HOSTNAME="64.dit.web.id"
    HOSTNAME="server.domain.apa"
  8. Jangan lupa juga untuk menyesuaikan konfigurasi hostname dan nameserver di /etc/wwwacct.conf.

    #HOST 64.dit.web.id
    HOST server.domain.apa
    HOMEDIR /home
    ETHDEV
    #NS ns1.dit.web.id
    NS ns1.domain.apa
    #NS2 ns2.dit.web.id
    ns2.domain.apa
    HOMEMATCH home
    NSTTL 86400
    NS4
    TTL 14400
    #ADDR 113.20.28.253
    ADDR 1.9.8.1
    DEFMOD x3
    SCRIPTALIAS y
    CONTACTPAGER
    MINUID 500
    NS3
    CONTACTEMAIL siapa@domain.apa
    LOGSTYLE combined
  9. Pindahlah ke /var/lib/mysql dan hapus semua file log MySQL yang terbentuk paska instalasi cPanel.

    [root@64 ~]# cd /var/lib/mysql/
    [root@64 mysql]# ll
    total 20556
    -rw-rw---- 1 mysql root      1340 Jul 30 21:41 64.dit.web.id.err
    -rw-rw---- 1 mysql mysql        5 Jul 30 21:41 64.dit.web.id.pid
    drwx------ 2 mysql mysql     4096 Jul 30 22:06 cphulkd
    drwx------ 2 mysql mysql     4096 Aug  1 05:19 eximstats
    drwx------ 2 mysql mysql     4096 Jul 30 22:06 horde
    -rw-rw---- 1 mysql mysql 10485760 Jul 30 22:06 ibdata1
    -rw-rw---- 1 mysql mysql  5242880 Jul 30 22:06 ib_logfile0
    -rw-rw---- 1 mysql mysql  5242880 Jul 30 21:41 ib_logfile1
    drwx------ 2 mysql mysql     4096 Jul 30 22:04 leechprotect
    drwx--x--x 2 mysql mysql     4096 Jul 30 21:41 mysql
    srwxrwxrwx 1 mysql mysql        0 Jul 30 21:41 mysql.sock
    -rw-r--r-- 1 mysql root         6 Jul 30 21:41 mysql_upgrade_info
    drwx------ 2 mysql mysql     4096 Jul 30 22:06 roundcube
    [root@64 mysql]# rm -f 64.dit.web.id.*
    [root@64 mysql]#
  10. Untuk menghindari adanya masalah Udev di kemudian hari pada akun VPS klien, nonaktifkanlah fiturnya melalui /etc/rc.sysinit dan tambahkan 2 sintak seperti di bawah ini.

    #/sbin/start_udev
    /sbin/MAKEDEV pty
    /sbin/MAKEDEV tty

Sampai posisi ini akun VPS sudah berisi cPanel dan terkonfigurasi serta siap dijadikan template. Simak tahapan berikutnya di bawah ini.

 

Membuat VPS Menjadi Template

Jika langkah sebelumnya dilakukan di sisi akun VPS [yang dipakai klien], maka kali ini beralih ke sisi server slave [yang memuat kumpulan akun VPS].

  1. Login ke server slave VPS sampai setara root.
  2. Matikan akun VPS terkait dengan perintah vzctl stop xxx, dimana xxx adalah ID yang mewakili akun VPS 64.dit.web.id.
  3. Pindahlah ke lokasi /vz/private/xxx [dalam hal ini xxx adalah 102 yang mewakili akun VPS 64.dit.web.id.
  4. Gunakan perintah Tar untuk merangkum konten akun VPS menjadi file terkompresi bernama centos-5.6-x86-cpanel-ovz.tar.gz dan simpan hasilnya di /vz/template/cache.
  5. Pindah ke lokasi /vz/template/cache dan Anda akan menjumpai file hasil kompresinya.

Selesai dengan pembuatan file kompresi template-nya di server slave, berikutnya masih ada sedikit langkah lanjutan yang dilakukan di server master.

  1. Login ke server master sampai setara root.
  2. Beranjaklah ke lokasi /vz/template/cache.
  3. Buatlah file kosong bernama centos-5.6-x86-cpanel-ovz.tar.gz menggunakan perintah touch centos-5.6-x86-cpanel-ovz.tar.gz.

Jika Anda perhatikan antara server master dan slave memilki struktur direktori yang sama, yaitu /vz/template/cache. Perbedaan yang paling kentara adalah semua file di dalam /vz/template/cache di server master berukuran 0, sedangkan yang di server slave tidak. Jadi, kenapa harus ada 2 lokasi yang sama? Kenapa yang di di server master hanya berisi kumpulan file kosong?

Pembuatan file kosong sesuai dengan nama file kompresi template [dalam hal ini centos-5.6-x86-cpanel-ovz.tar.gz] ditujukan agar panel SolusVM dapat mengenali adanya template centos-5.6-x86-cpanel-ovz.tar.gz yang nantinya merujuk ke server slave.

 

Pembuatan Paket VPS

Setelah menempuh semua tahapan di atas, kini tiba waktunya untuk mengunjungi panel SolusVM Anda yang bersemayam di server master. Jika di tahapan sebelumnya Anda hanya berhadapan dengan layar kelam akan shell, maka kali ini mata Anda akan dimanjakan dengan kombinasi warna sederhana nan apik panel SolusVM melalui jendela browser.

  1. Gunakan sembarang browser kegemaran, lalu akseslah panel SolusVM utama dengan format URL http://1.2.3.4:5353/admincp/login.php, dimana 1.2.3.4 adalah IP address server yang difungsikan sebagai server master. Lakukan validasi akunnya dengan cara mengisikan username dan password-nya, lalu klik tombol Login.
  2. Sampai di menu utama SolusVM, arahkan pointer ke menu Media, pilih submenu Add Template dan klik opsi OpenVZ.
  3. Tidak berselang lama formulir Add OpenVZ Template akan muncul. Isikanlah sembarang nama paket di bagian Name, misalnya centos-5.6-x86-cpanel-ovz. Tuliskan deskripsi singkat tengtang paket yang akan dibuat di bagian Description, misalnya CentOS 5.6 64bit dan cPanel 11.30.X.
  4. Melalui dropdown menu Template, cari dan pilihlah opsi centos-5.6-x86-cpanel-ovz.tar.gz yang mewakili template VPS yang sebelumnya telah dibuat. Pastikan opsi x86_64 sudah terpilih di bagian Arch yang mewakili arsitektur sistem operasinya.
  5. Simpan konfigurasi paketnya dengan mengklik tombol Add Template dan paket barupun sudah siap digunakan.

 

Uji Coba Template

Perjalanan panjang telah ditempuh, kini tiba saatnya untuk menuai hasilnya dengan cara membuat sebuah akun VPS baru menggunakan paket VPS yang telah dibuat. :)

  1. Masih dari panel utama SolusVM, arahkan pointer ke menu Virtual Servers dan pilih opsi Add Virtual Server.
  2. Anda akan diminta memilih jenis virtualisasi yang akan dipakai di Add Virtual Server. Pilihlah opsi OpenVZ.
  3. Langkah berikutnya adalah menentukan nama server slave [Node] untuk penempatan akun VPS dan besaran kapasitas [Plan] akun VPS-nya.
  4. Terakhir adalah konfigurasi profil klien akun VPS. Pilihlah identitas klien di dropdown menu Client, isikan hostname akun VPS yang akan dibuat di bagian Hostname, pilih centos-5.6-x86-cpanel-ovz sebagai template di Operating System dan alokasikan IP address-nya.
  5. Picu pembuatan akun VPS berdasarkan konfigurasi yang telah ditentukan dengan mengklik tombol Create Virtual Server. Tidak berselang lama akan muncul detil informasi akun root dan konsol serta kata sandinya.

Masih dari jendela browser, akseslah format URL http://1.4.1.2:2086 [dimana 1.4.1.2 adalah IP address akun VPS yang baru saja dibuat]. Niscaya tampilan boks login WHM dari cPanel akan muncul sekaligus menandakan bahwa template berfungsi dengan baik.