Categories
ClearOS Free Open Source Software (FOSS) TIK World Wide Web

Panel Hosting Full Open Source Kloxo-MR

Berkenalan Dengan Kloxo-MR untuk Pemula

Apakah Kloxo-MR

Kloxo-MR adalah versi fork dari Kloxo. Ini adalah jamak di dunia open source, ketika seorang developer atau kelompok kecil developer bergerak di luar Official Team maka produk-nya disebut versi fork. Sehingga Kloxo-MR itu tetap dibawah payung Kloxo Official. Untuk selanjutnya dalam tulisan ini bila disebut KLOXO maka sudah mencakup Kloxo-MR.

Kloxo adalah panel hosting full open source terlengkap, mirip dengan panel berbayar (enterprise platform). Satu kali proses install sudah komplit. Ia sudah mencakup semua paket software dasar yang dibutuhkan untuk hosting, termasuk untuk kebutuhan bisnis shared hosting dan VPS hosting.

 

Requirement Kloxo-MR

Mulai Kloxo-MR 6.5 sudah bisa berjalan pada semua seri CENTOS yaitu Centos 5 32bit dan 64bit, dan Centos 6 32bit dan 64bit. Sedangkan mengenai kebutuhan memory, untuk Kloxo sendiri hanya sekitar 15mb RAM. Cara install : http://forum.mratwork.com/viewtopic.php?f=4&t=644

 

Apakah Kloxo Aman

Sesungguhnya tidak ada standar untuk mengukur dan membandingkan Kloxo dengan panel lain. Bila ada penilaian, maka itu lebih bersifat opini pribadi. Kelemahan umum lebih terletak pada konfigurasi oleh pengguna, misalnya bila admin Kloxo ‘membuka’:
* fungsi exec untuk client
* client diizinkan akses melalui ssh
Sesungguhnya fitur Keamanan Kloxo adalah cukup handal. Terdapat menu meng-ubah default port 22. Juga terdapat mekanisme banned IP untuk yang gagal login, default 20 kali dan dapat di-ubah. Satu lagi yang cukup penting terkait keamanan, yaitu login kloxo adalah admin bukan root, dan admin lebih rendah daripada root. Singkat kata, hacker yang berpeluang menembus adalah berasal dari client sendiri, bila itu shared hosting. Dan ini juga berlaku pada panel hosting berbayar.

 

Apakah beda-nya dengan Kloxo Official

Tentu banyak inovasi dalam Kloxo-MR. Mengenai fitur, ia melampaui Kloxo Official, bahkan bila dibandingkan dengan semua panel hosting lain, tidak ada lawan. Mulai dari fitur webserver : apache, nginx, lighttpd, nginx-proxy dan lighttpd-proxy. Juga untuk fitur php branch tersedia hingga php54. Sedangkan untuk php type terdapat mod_php, suphp, php-fpm, fcgid dan berbagai turunannya, serta terdapat opsi dual-php. Keberadaan fitur tersebut memungkinkan user kloxo bisa melakukan konfigurasi yang jauh labih efisien dan lebih canggih.

Perubahan yang lebih mendasar bila dibandingkan dengan Kloxo Official, bahwa Kloxo-MR menggunakan pendekatan template-based yang ditulis memakai ‘inline php’, Ini sangat memudahkan user dalam melakukan customize.

Sebagai ilustrasi misalnya untuk mengubah port proxy (default 30080/300443) dengan cara copy file “default.tpl” kemudian rename dan paste pada folder yang sama menjadi “custom.default.tpl”. File custom tersebut yang di-edit sesuai maksud tujuan user. Selanjutnya system akan lebih memperhatikan file custom tersebut dibandingkan file asli. Dan bila terjadi update maka semua file bisa ditimpa (replace) kecuali file custom tersebut (tetap utuh). Jadi kadangkala perlu dicek lagi file asli-nya apakah ada perubahan mendasar, untuk dimasukkan dalam file custom. Inti-nya adalah Kloxo-MR membuka seluas-luasnya peluang user untuk melakukan customize. Untuk struktur dan tata cara customize lihat http://forum.mratwork.com/viewtopic.php?t=245&p=444

 

Apakah perbedaan Kloxo-MR dengan umumnya panel hosting berbayar ?

Secara umum bila dibandingkan panel hosting berbayar (ma’af yang gratisan tidak disinggung) bahwa Kloxo menggunakan pendekatan package general, yaitu dari banyak sumber/repo. Ini berkaitan dengan proses instalasi agar semua software yang terkait dengan software Kloxo supaya hosting panel terinstall komplit layaknya enterprise platform. Dengan pendekatan ini user Kloxo-MR lebih memungkinkan untuk mengganti atau menambah software baru.

Package general pada Kloxo-MR adalah mengambil php rpms dari centos.repo dan kloxo-mr.repo yang merupakan gabungan link ke centalt.repo, repo khusus Kloxo-MR yang disimpan di github, ius.repo dan epel. Dan tentu saja ini masih dimungkinkan bila user hendak menambah repo lain.

Berbeda dengan panel hosting berbayar macam Cpanel dan DirectAdmin yang menyediakan sendiri packages secara khusus. Dan tentu panel hosting berbayar tersebut menjadi tidak fleksibel dan penambahan package dari repo lain bisa berakibat fatal, bisa macet total. Intinya panel hosting berbayar itu kurang memberi ruang untuk ‘berkreasi’.

Untuk pengembangan ke depan Kloxo-MR akan makin ditingkatkan kompatibilitas-nya dalam hal penggantian atau penambahan software baru. Dan tentu saja termasuk penambahan beberapa fitur instan yang akan terpaket dalam Kloxo-MR.

Walaupun Kloxo-MR lebih terbuka dalam hal penambahan software baru, namun untuk pemula disarankan untuk berhati-hati, apalagi bila server-nya hendak segera dipekerjakan untuk production site. Sebaiknya itu berdasarkan petunjuk yang jelas dari para master, dan back-up data selalu diperlukan untuk berjaga-jaga.

 

Hal-hal apa saja yang perlu diperhatikan dalam optimize memory ?

Pada Kloxo seri 6.1.6 ke belakang untuk optimize httpd dan mysql harus dilakukan secara manual yaitu edit file httpd.conf dan my.conf. Sedangkan mulai versi 6.1.7 hingga seri terbaru saat ini, termasuk Kloxo-MR bisa dilakukan secara instan karena sudah tersedia interface optimize. http://forum.lxcenter.org/index.php?t=msg&th=17512

Berkaitan dengan optimize memory perlu diperhatikan juga persoalan handler php, karena pada Kloxo-MR terdapat opsi yang sangat banyak, maka perlu dipilih dengan bijak. Di sini letak tantangannya, dimana kita diharuskan bisa memilih sendiri custom webserver dan handler php macam apa yang sesuai dengan kemauan kita, namun di lain sisi custom yang kurang tepat bisa berdampak ram menjadi bengkak.

Agar tidak terjadi pembengkakan memory, khususnya bagi yang mempunyai keterbatasan RAM, pengguna Kloxo-MR disarankan melakukan optimize.

  1. Jika server digunakan untuk handle trafik besar disarankan menggunakan php-fpm <<== ram usage sedikit lebih besar tapi tetap stabil dan tidak terjadi lonjakan terlalu tinggi jika traffiknya sedang tinggi.
  2. Jika server hanya digunakan untuk traffik sedang, untuk menghemat ram bisa memilih keluarga suphp atau ruid2, namun jika sewaktu2 trafik web didalamnya sedang tinggi jangan kaget jika terjadi kenaikan ram.

 

Apa yang perlu dipertimbangkan dalam memilih PHP Branch ?

Point pertama yang perlu dikedepankan adalah soal Php Branch, bahwa fitur php yang tersedia hingga seri 54. Tentu saja seri terbaru adalah jauh lebih kenceng dan jauh lebih hemat memory. Menjadi persoalan bila APPS (macam wordpress) yang kita gunakan atau module dalam APPS ternyata belum support dengan php terbaru. Bila memilih nginx-proxy atau lighttpd-proxy kita bisa menggunakan solusi dengan dual-php (52), artinya bagian tertentu dari software APPS yang jadul itu akan ditangani php52, sedangkan bagian lain ditangani php terbaru. Dan tidak ada ruginya bila selalu memasang dual-php, untuk berjaga-jaga saja, karena dia tidak akan aktif bila software APPS ternyata uptodate.

Bila kita memilih hanya ‘nginx’ dan tidak yakin dengan ‘ke-baru-an’ APPS mungkin bisa memilih jalan tengah yaitu php53/atau/u. Hal ini akan menimbulkan perbedaan yang signifikan bila dibandingkan memilih php52. Kalau memang compatible ya pilih saja php54.

 

Apa yang perlu dipertimbangkan dalam memilih Web Server ?

Soal pilihan Web Server dan juga php type mungkin agak bersifat debateble, karena ini hanya bersifat pengenalan maka tidak perlu diperdebatkan. Isu yang terkait dengan hal ini adalah soal efisiensi memory, kecepatan (speed), compatibilitas, tingkat kesulitan konfigurasi dan soal keamanan.

Tidak perlu berpanjang lebar dengan web server Apache, karena pada kloxo official dari dulu juga telah tersedia apache, dan juga mayoritas besar pengguna webserver adalah menggunakan apache. Bahwa apache adalah web server yang compatibilitas-nya paling tinggi, rata-rata software bisa match dengan apache, dan penggunaan (konfigurasi) apache juga sangat mudah terutama dengan keberadaan file .httaccess. Namun sayang ternyata apache boros memory, dalam kontek seperti yang tertera dalam kloxo pada grafik penggunaan memory. Itu saja. (Bila lebih jauh pernyataan ini bisa diperdebatkan, dan perlu penjelasan panjang lebar).

Kelemahan tersebut di atas bisa tertutupi bila memilih nginx-proxy sebagai web server, yaitu nginx sebagai front-end dan apache sebagai back-end. Cara kerjanya adalah nginx fokus pada file, sedangkan apache fokus proxy. Dengan demikian static file ditangani oleh Nginx, sedangkan proxy sebagai dynamic request untuk PHP akan ditangani Apache. Ini juga penting bila ada kasus lain yang tidak bisa ditangani nginx maka langsung oper handle oleh apache. Artinya nginx yang dikenal sangat efisien bergabung dengan segala keunggulan kompatibilitas apache (file .httacces tetap bisa digunakan). Disamping itu sebenarnya bisa juga memilih lighttpd-proxy, tapi masih lebih nge-trend nginx-proxy.

Opsi selanjutnya adalah hanya nginx. Web server ini lagi naik daun dan banyak diperbincangkan karena speed dan efisiensi memory-nya. Namun sayang penggunaan dan konfigurasi-nya relatif sulit, yang berarti kompatibilitas-nya juga relatif rendah. Tidak seperti apache yang bersifat tinggal pakai. Namun jangan berkecil hati, nginx yang terdapat dalam Kloxo-MR (‘nginx-special’) relatif kompatibel karena permalink sudah aktif ditambah beberapa modul tambahan (third-party) termasuk modul purge-cache.

Opsi terakhir adalah lighttpd, ini juga sudah terdapat dalam Kloxo Official. Lighttpd ini juga dikenal efisien soal memory namun isunya tetap sama yaitu kesulitan permalink dan wildcard. Jadi untuk para newbi disarankan untuk memilih nginx-proxy, tapi silahkan mengeksplorasi masing-masing opsi tersebut, mana yang lebih sesuai. Dangan jangan lupa soal dns, switch dari BIND menjadi Djbdns karena lebih efisien (hemat 50mb RAM), tapi silahkan juga kalau lebih mantap dengan BIND.

 

Apa yang perlu dipertimbangkan dalam memilih PHP Type ?

Opsi php type ini akan muncul bila memilih apache, nginx-proxy atau lighttpd-proxy sebagai web server. Karena memang hanya apache yang memungkinkan kompatibel dengan berbagai macam php type tersebut. Sedangkan nginx dan lighttpd selalu default php-fpm.

Untuk para Newbie disarankan untuk memilih yang ada akhiran event atau worker. Lebih khusus lagi disarankan untuk memilih php-fpm event. Karena sistem request-nya lebih efisien.

Dapat diibaratkan sebuah restoran, ketika ada telepon untuk request suatu makanan maka kru restoran yang menerima telepon request itu yang berangkat memasak dan menyiapkan pesanan makanan. Bayangkan itu kalau request-nya sampai ribuan maka betapa rumit. Celakanya lagi si penerima request itu tidak dibebaskan, alias hanya menunggu dan bekerja bila ada request yang sama seperti request pertama.

Sedangkan yang ada akhiran event dan worker si penerima telepon bisa mendelegasikan memasak kepada para koki. Dan ketika selesai bekerja mereka dibebaskan, dan siap kembali pekerja apa pun request-nya. Sedangkan untuk php-fpm lebih canggih lagi karena langsung di-manage oleh php-fpm sehingga bisa mendelegasikan (children) sampai ratusan bahkan ribuan. Sehingga bisa komunikasi ke banyak thread. Inilah yang menyebabkan php-fpm bisa menangani high-traffic website pada server yang memorynya terbatas.

Hal ini sebagai gambaran saja, tentu bila php-fpm adalah pilihan super, maka opsi lain akan ditiadakan. Dan Kloxo-MR menyediakan begitu banyak opsi untuk kemungkinan bila ada user yang punya pertimbangan lain dan punya kebutuhan khusus. Misalnya Suphp yang dinilai tingkat keamanannya paling tinggi (kalau memilih ini perlu diperhatikan fix permission & ownership). Atau mungkin mod_php ruid dianggap kompatibilitas-nya paling tinggi. Atau mungkin ada pertimbangan lain lagi.

 

Apa yang perlu dipertimbangkan dalam memilih Database Engine ?

Pertama yang perlu dijadikan pertimbangan adalah resource server yang kita miliki, terutama memory. Terlepas dari jumlah trafik pengunjung situs, pilihan database ini menentukan start awal konsumsi memory. Misalnya bila kita memilih MariaDB maka sebaiknya server dengan memory minimal 1 (satu) Giga. Karena start awal MariaDB sudah sekitar 500mb, belum lagi standar konsumsi MariaDB mengikuti InnoDB storage engine yang dikenal cukup tinggi konsumsi memory-nya. Jadi bila sudah dijalankan akan bisa mendekati ambang batas 1G, dan akan memerlukan sedikit tweak supaya resource nggak habis. Jadi bila menghendaki bermain aman maka untuk memilih MariaDB sebaiknya dg memory lebih dari 1 G.

Begitu pula bila kita tetap memilih default MySQL dan dengan memilih InnoDB maka dengan konfigurasi “medium” my.cnf maka resource memory 1G juga akan menipis.

Jadi bila resource memory memang kecil maka disarankan untuk tetap memilih default MysQL bekerjasama dengan MyIsam. Memory 256 mb juga akan cukup dan bila perlu bisa ditingkatkan lagi performance-nya dengan “medium” my.cnf atau metode tweak yang lain.

Pertimbangan kedua adalah berbasis pada kebutuhan dan selera. Pilihan yang tersedia adalah MySQL vs MariaDB. Untuk masalah ini silahkan bertanya sendiri pada Mr. Google, yang jelas “hampir” semua kebutuhan yang bisa dilayani MySQL juga bisa dilayani oleh MariaDB plus beberapa kelebihan.

Untuk masalah tersebut di atas, mungkin yang lebih perlu diperhatikan adalah soal pilihan storage engine : MyIsam atau InnoDB. Secara singkat dapat dikatakan bahwa MyIsam sesuai untuk database situs yang sederhana misalnya upload/posting hanya oleh admin. Dan keunggulan MyIsam adalah medukung full-text indexing, jadi sangat sesuai untuk situs yang ditujukan untuk pengunjung dg proses pencarian data yang besar dengan kecepatan tinggi.

Kelemahan MyIsam adalah tidak mendukung transaksi dan integritas data kurang stabil alias mudah kres bila terjadi updating data pada satu tabel secara bersamaan oleh banyak user. Kelemahan tersebut adalah keunggulan InnoDB, dan sebaliknya.
Tentu saja bila memang termasuk situs high trafik, apalagi content database-nya juga besar maka akan cenderung menjadi rumit, dan bila memang demikian maka pilihan yang tepat adalah InnoDB. Juga apabila itu situs ecommerce, jika memang terjadi banyak “transaksi” dalam database-nya. Atau juga jenis situs lain yang termasuk rumit.

Bila kita memilih MariaDB maka akan muncul opsi tambahan, yaitu “aria”, …. yang merangkum seluruh kemampuan MyIsam serta beberapa keunggulan InnoDB. Dan dengan MariaDB kita juga masih tetap bisa memilih MyIsam atau InnoDB. Sesungguh-nya bahwa InnoDB dalam MariaDB itu disebut XtraDB, karena memang ditambahkan beberapa patch dari Google, Facebook and others.

Perlu digaris-bawahi bahwa rata-rata shared hosting adalah menggunakan MyIsam karena hemat. Dan ini ternyata tidak selalu berbanding lurus dengan efisiensi, karena dengan konsumsi memory setara ‘mungkin’ InnoDB jauh lebih unggul dan lebih cepat. Hal ini sangat bergantung konfigurasi dan aplikasi web yang dijalankan.

 

Bagaimana memantapkan konfigurasi Kloxo-MR yang belum sempurna ?

Hal pertama yang perlu diperhatikan bahwa pilihan pada konfigurasi Koxo MR adalah memungkinkan bisa berjalan bila set-up minimal satu website komplit dengan mysql database-nya serta setting dns template.

Kadangkala ketika pertama kali memilih konfigurasi juga tidak bisa langsung berjalan sempurna. Misalnya httpd tidak mau jalan ketika kita memilih apache atau nginx-proxy sebagai web server, maka perlu diperhatikan mengapa tidak bisa jalan. Mungkin masih nyangkut dengan Suphp padahal masih dalam posisi dafault Mod_php pada php type. Maka ini perlu mengganti terlebih dahulu php type menjadi Suphp, bila service pada httpd sudah menyala hijau maka kembalikan ke posisi php type yang dipilih. Lampau service itu juga kadangkala tidak sinkron, maka perlu juga dicoba perintah ssh “service httpd start”

Bila ada kasus lain Trick-nya juga begitu, ganti dulu pilihan konfigurasi (klik update) lalu dikembalikan lagi pada konfigurasi yang dipilih. Perlu juga dicek dengan perintah ssh “service php-fpm restart” bila php-fpm yang tidak mau jalan, dan kenapa kalau memang tidak mau jalan. Tapi jangan terlalu sering pindah-pindah, kan capek. Perlu diperhatikan juga mengapa.

Dan seperti tertulis pada tampilan Kloxo-MR bagian atas yaitu teks frame (perlu selalu memperhatikan kotak tsb) bahwa ketika misalnya berpindah ke php 54 mungkin perlu reboot.

Ini beberapa perintah ssh yang mungkin berguna ketika pertama kali set-up Kloxo-MR
Code: [Select]
sh /script/fixweb
sh /script/fixphp
sh /script/fixdns

Panel Hosting Full Open Source Kloxo-MR

 

 

2 replies on “Panel Hosting Full Open Source Kloxo-MR”

Leave a Reply

Your email address will not be published. Required fields are marked *