Sunaryo Hadi

Setup Hosting di Google Cloud

Hosting menggunakan Cloud merupakan pilihan menarik buat yang sudah punya banyak situs. Berikut ini pengalaman saya setup hosting menggunakan Google Cloud, dengan OS Centos 7 serta control panel ISPConfig.

Pertama tentunya daftar dulu di https://cloud.google.com/. Untuk keperluan ini, dipilih ‘Compute Instance’ –> ‘VM Instances’ -> ‘New Instance’.

Memilih Machine type ini agak sedikit dilematis. Paket minimum ‘f1-micro’, jelas agak sulit untuk diimplementasi dengan keinginan saya di atas (Centos 7 + ISPConfig), walaupun patut dicoba. Jadi pilihan jatuh di ‘g1-small’. Dengan menggunakan Google Cloud Platform Pricing Calculator, dengan ‘g2-small’ + Persistent Disk 10GB di prediksi biaya yang harus dikeluarkan bulanan $14.20. Lumayan banyak, namun karena rencananya mau diisi banyak website, anda tinggal berhitung aja lagi apakah harga ini sudah cocok atau tidak.

Karena VM kita ini inginnya punya IP yang pasti (static) bukan yang ephemeral, jangan lupa pilih opsi “Management, disk, networking, access & security options”, dengan memilih IP static.
Note: IP static ini gak di charge sama google selama IP ini gak nganggur.

Untuk Boot Disk, pilih preconfigured image. Sesuai diatas, saya memilih Prconfigured image Centos 7.

Koneksi via SSH

Setelah buat VM Instance di atas, kita harus buat SSH Keys. Karena saya menggunakan PuTTY, ikuti petunjuk menggunakan ini. https://cloud.google.com/compute/docs/console

Kita juga harus menggunakan PuTTYGen, untuk generate key yang akan kita pake untuk konekasi. Puttygen ini ada di bundle di WinSCP (bagi pengguna windows). User root tidak bisa digunakan untuk VM ini, jadi terpaksa kita harus gunakan nama user lain. Jadi pas install ISPConfig nanti, terpaksa kita harus gunakan "sudo command ....".

Install ISPConfig

Setelah berhasil terhubung via SSH, tinggal kita ikuti instalasi ISPConfig. VM sendiri sudah terinstall basic dari Centos 7. Langkahnya silahkan lihat disini https://www.howtoforge.com/perfect-server-centos-7-x86_64-nginx-dovecot-ispconfig-3.

Harus diingat kembali, command linux di petunjuk di atas, harus diawali dengan “sudo” karena kita tidak bisa menggunakan user root.

Note: So far, langkah langkah install ISPConfig bisa diinstall dengan mulus. Dan akhirnya kita bisa host unlimited domain disini.

Masalah-masalah yang muncul

Install ISPConfig di VM Instance google Cloud bukannya tanpa masalah. Berikut ini masalah yang muncul dan cara mengoreksinya.

Buka Firewall Instance terlebih dahulu

Beberapa service tidak bisa diakses dari luar, karena firewall di GCE (Google Compute Engine) by default cuma meloloskan SSH, HTTP dan HTTPS. Agar dapat diakses, kita harus mengatur firewall terlebih dahulu.

Yang pertama tentunya, buka port 8080-8081, agar kita dapat mengakses ISPConfig.

Postfix tidak bisa mengirim email

Masalah ini cukup besar. Google Compute Engine by default menutup jalan keluar port 25, 465, 587. Otomatis postfix jadi gak bisa mengirim email kemanapun. Solusinya adalah menggunakan email service seperti SendGrid atau Mandrill. Caranya bisa dilihat di https://cloud.google.com/compute/docs/tutorials/sending-mail. Gunakan port 2525 untuk mengirimkan email, SendGrid dan Mandrill sudah support untuk port ini. Jadi mungkin ada extra biaya untuk email keluar ini, walapun Mandrill misalnya memberikan gratis 12000 email pertama.

Penting: saat merubah config disini, gunakan “sudo systemctl restart postfix.service” agar konfigurasi baru terbaca dengan baik. Command lama seperti “sudo service postfix reload” tidak berjalan sebagai-mana mestinya.

Pure-FTPd gak bisa connect

Pertama cek dulu firewall di atas, apakah sudah membuka port 21 untuk FTP? Dan juga port untuk passive connection. Silahkan cek disini untuk konfigurasinya http://getasysadmin.com/2012/12/enable-passive-mode-for-pure-ftpd-on-aws/

Mengakali resource yang minim

Jika menggunakan instance yang minim resource, tentunya harus banyak ‘diakali’. Semua situs saya menggunakan WordPress sebagai CMS. Untuk WordPress sendiri, misalnya pasang plugin SuperCache atau TotalCache, agar process berjalan minimal.

Trik ini http://www.frameloss.org/2011/11/04/making-wordpress-stable-on-ec2-micro/ bisa digunakan terutama pas bagian “Setup a Swap Partition”.

Pindah ke Machine Type yang lebih besar

Semakin banyak website di host, tentunya semakin banyak resource yang akan terpakai. Jadi harus prepare juga mengupgrade ke machine type yang lebih besar.

Penting (noted to self): Gunakan snapshots, pada saat mengupgrade. Buat instance baru yg dituju, kemudian pilih bootdisk dari snapshot yang dibuat. Reconnect lagi IP statis dengan instance baru ini.

Masalah baru lainnya akan di update kemudian

Karena saya baru mengalami hal di atas, maka masalah lainnya belum tercover di artikel ini hehehe …