VPS.me adalah “anak” dari perusahaan hosting Hostinger yang sudah cukup lama berwara-wiri dalam memberikan shared hosting gratisan. Berbeda dengan induknya yang membagi-bagikan shared hosting, VPS.me “bertugas” membagi-bagikan VPS gratis bagi yang berminat (walaupun spesifikasinya pas-pasan). Nah, pada kesempatan kali ini, saya akan mencoba sharing oprek VPS gratisan dari VPS.me yang akan kita gunakan sebagai web server dan bisa di akses dari IPv4.
Spesifikasi VPS gratis dari VPS.me
- Prosesor 600 MHz (0,6 GHz)
- RAM 384 Mb
- Swap 96 Mb
- Penyimpanan 5 Gb RAID-10
- Bandwidth 10 Gb / bulan
- IP address 1 IPv6 – tanpa IPv4
- Lokasi server di Jerman
Sedikit benchmark
Script benchmark dari freevps.us saya modif sedikit agar nggak melakukan test download, karena satu hal : VPS gratisan biasanya memiliki bandwidth yang “dijepit” (capped bandwidth). Untuk test bandwidth saya pake speedtest.net saja :D
# bash bench.sh CPU model : Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz Number of cores : 1 CPU frequency : 623.403 MHz Total amount of ram : 384 MB Total amount of swap : 96 MB System uptime : 1:05, # ./speedtest-cli --simple --share Ping: 16.292 ms Download: 9.94 Mbit/s Upload: 8.37 Mbit/s Share results: https://www.speedtest.net/result/3178307239.png
Tuh kan… di “jepit” 10 Mbps :)
IO test … lumayan daripada lumanyun. :P
# dd if=/dev/zero of=iotest bs=64k count=16k conv=fdatasync 16384+0 records in 16384+0 records out 1073741824 bytes (1.1 GB) copied, 6.4652 s, 166 MB/s # dd if=/dev/zero of=iotest2 bs=64k count=16k oflag=dsync 16384+0 records in 16384+0 records out 1073741824 bytes (1.1 GB) copied, 31.4864 s, 34.1 MB/s
# wget http://cachefly.cachefly.net/10mb.test --2013-12-21 11:16:00-- http://cachefly.cachefly.net/10mb.test Resolving cachefly.cachefly.net... 205.234.175.175 Connecting to cachefly.cachefly.net|205.234.175.175|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 10485760 (10M) [application/octet-stream] Saving to: `10mb.test' 100%[======================================>] 10,485,760 1.18M/s in 8.5s 2013-12-21 11:16:08 (1.17 MB/s) - `10mb.test' saved [10485760/10485760] # ping cachefly.cachefly.net -c 5 PING vip1.g.cachefly.net (205.234.175.175) 56(84) bytes of data. 64 bytes from vip1.G-anycast1.cachefly.net (205.234.175.175): icmp_req=1 ttl=53 time=10.2 ms 64 bytes from vip1.G-anycast1.cachefly.net (205.234.175.175): icmp_req=2 ttl=53 time=10.2 ms 64 bytes from vip1.G-anycast1.cachefly.net (205.234.175.175): icmp_req=3 ttl=52 time=10.3 ms 64 bytes from vip1.G-anycast1.cachefly.net (205.234.175.175): icmp_req=4 ttl=52 time=10.3 ms 64 bytes from vip1.G-anycast1.cachefly.net (205.234.175.175): icmp_req=5 ttl=52 time=10.5 ms --- vip1.g.cachefly.net ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4005ms rtt min/avg/max/mdev = 10.251/10.354/10.527/0.147 ms
Maksud dan tujuan instalasi LEMP stack
- VPS akan di “rampingkan” agar menggunakan resource (terutama RAM dan CPU) secara lebih hemat dan efisien. Hal ini penting karena spesifikasi VPS gratisan dari VPS.me memiliki spesifikasi rendah
- VPS akan di instal LEMP stack [Linux, nginx (engine-x), MySQL, PHP] yang berperan sebagai web server
- Web server yang telah di instal di VPS gratis ini dapat diakses dari IPv6 dan IPv4 (dual-stack)
Yang dibutuhkan
- VPS gratis dari VPS.me yang sudah aktif dan sobat sudah bisa login ke konsol lewat SSH dengan akses root. Belum punya VPS gratisan? Silakan klik disini untuk mendaftar di VPS.me
- Sudah terdaftar serta menggunakan CloudFlare untuk me-manajemen DNS domain yang sobat punya. Klik disini untuk mengetahui lebih lanjut tentang CloudFlare
Langkah-langkah optimasi VPS
Note : Tutorial penggunaan minstall dibawah ini mungkin tidak update. Silakan kunjungi https://github.com/KnightSwarm/Minstall untuk mendapatkan petunjuk dan download source code minstall terbaru!
Paling gampang untuk melakukan optimasi VPS adalah menggunakan minstall. Minstall adalah script kecil yang di buat dengan tujuan mempermudah optimasi VPS dan melakukan instalasi paket-paket tertentu pada lingkungan Debian dan Ubuntu.
# cd ~ ; mkdir minstall; cd minstall ; wget –no-check-certificate -O minstall.tar.gz http://www.github.com/downloads/KnightSwarm/Minstall/Latest.tar.gz ; tar zxf minstall.tar.gz; rm minstall.tar.gz
Lakukan bersih-bersih package dan modul yang nggak kepake
# bash minstall.sh clean-packages
Install dropbear sebagai ssh server. Dropbear lebih hemat penggunaan memory ketimbang OpenSSH.
# bash minstall.sh install-dropbear
Optimize dan tambahkan repo ekstra yang esensial
# bash minstall.sh install-extra-repositories Do you want to install the Debian Multimedia repository? (Y/n) n Do you want to optimise the default repositories? Warning, this replaces the default repository list! (Y/n) y Do you want to install the DotDeb repository? (Y/n) y Do you want to install the OpenStatus repository? (Y/n) n Do you want to install the WebUpd8 Java repository? (Y/n) n
Install packages tambahan yang mungkin nanti dibutuhkan
# bash minstall.sh install-extra-packages
Lakukan konfigurasi umum untuk pada VPS (timezone, dsb). Untuk timezone saya sarankan pake timezone sobat saja, jadi lebih gampang berurusan dengan logging dan pengaturan lainnya yang berhubungan dengan tanggal dan waktu.
# bash minstall.sh configure-general Do you want to enable BASH history? (y/N) y Do you want to enable extra getty instances (uneeded on virtual machines, can save memory if disabled)? (y/N) n Do you want to change the default system shell? (Y/n) n Do you want to change the system timezone? (Y/n) y
Install LEMP (Linux, nginx, MySQL, PHP) stack nya. Oiya, pas install nginx sobat mungkin akan diminta mengaktifkan HTTPS, kalo memang sobat nggak pengen pake HTTPS, bisa aja menjawab nya dengan “n”.
# bash minstall.sh http-install-nginx # bash minstall.sh http-install-php # bash minstall.sh http-install-php-extra # bash minstall.sh http-install-exim # bash minstall.sh http-install-mysql
Optimize nginx nya…
# bash minstall.sh http-configure-nginx Do you want to enable cache support and create a cache directory? (Y/n) y Do you want to enable caching of SSL sessions (can increase responsiveness over SSL)? (Y/n) y Do you want to enable gzip compression to save bandwidth and decrease page load time (compresses CSS, HTML, Javascript & XML at gzip compression level 6)? (Y/n) y Do you want to protect the default host by denying unmatched requests (this will override your default virtual host if you have assigned one)? (y/N) y
Pada saat ini seharusnya LEMP stack sudah terinstall dengan baik dan VPS siap untuk di gunakan sebagai webserver. Namun secara default, nginx hanya listen IPv4 di port 80
# netstat -plnat | grep nginx tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 8352/nginx tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 8352/nginx
Menambahkan user dan vhost
Sangat direkomendasikan agar sobat menggunakan user lain (selain root) yang memiliki akses web. Sebagai contoh, saya akan menambahkan user “fazar” dan memiliki vhost “antares.fazar.net” yang nantinya akan dapat diakses di alamat http://antares.fazar.net/.
# bash minstall.sh manage-add-user Please enter a user name: fazar Do you want to add a HTTP folder for this user? (Y/n) y Do you want to change file permissions for this user to enable privacy? (Y/n) y # bash minstall.sh manage-add-host Please enter a user name: fazar Please enter the virtual host (e.g. www.example.com): antares.fazar.net Do you want to enable PHP for this virtual host? (Y/n) y Do you want to enable SSL for this virtual host? (Y/n) n Do you want to set this virtual host as the default host? (y/N) n
Selanjutnya, atur agar nginx juga listen di IPv6 untuk vhost “antares.fazar.net” serta support PHP
# nano /etc/nginx/hosts.d/fazar-antares.fazar.net.conf
Isi file nya sebagai berikut :
server { listen [::]:80; server_name antares.fazar.net; access_log off; error_log /home/fazar/http/logs/antares.fazar.net.log; index index.html index.php; root /home/fazar/http/hosts/antares.fazar.net; include /etc/nginx/conf.d/cache.conf; include /etc/nginx/conf.d/deny.conf; include /etc/nginx/php.d/fazar.conf; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/dev/shm/php-socket; fastcgi_index index.php; include fastcgi_params; } location = /favicon.ico { log_not_found off; access_log off; } }
Periksa kembali konfigurasi nginx, dan jika tidak terdapat error service nginx dapat di reload.
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful # service nginx reload # netstat -plnat | grep nginx tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 10062/nginx tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 10062/nginx tcp6 0 0 :::80 :::* LISTEN 10062/nginx
Nah… seperti yang terlihat diatas, nginx sudah listen di IPv4 dan IPv6 pada port 80. Good job!
Tambahkan file index.php di /home/fazar/http/hosts/antares.fazar.net/ dengan isi sebagai berikut (nantinya bisa dirubah sesuai kebutuhan sobat)
<?php phpinfo(); ?>
Pengaturan CloudFlare
Agar server dapat diakses menggunakan IPv4 dan IPv6, kita akan memanfaatkan fitur proxy dan manajemen DNS dari CloudFlare.
* Pastikan manajemen DNS anda sudah menggunakan CloudFlare.
Buka dashboard website anda di CloudFlare, kemudian arahkan ke pengaturan DNS. Tambahkan entri A record IPv6 (AAAA) yang di point / diarahkan ke IPv6 VPS gratisan dari VPS.me, contohnya seperti ini :
Kemudian klik “I’m done entering my DNS records” untuk menyimpan pengaturan DNS.
Cara kerja teknik ini adalah dengan memanfaatkan network dual stack dan proxy milik CloudFlare yang akan “menarik” konten website dari VPS kita yang hanya memiliki IPv6, kemudian menyampaikan pada pengunjung website (baik yang pake IPv4 atau IPv6).
VPS.me (IPv6) <—-> CloudFlare (IPv4/IPv6) <—-> Pengunjung web (IPv4/IPv6)
Kelebihan lain dari penggunaan CloudFlare adalah kita dapat melakukan penghematan bandwidth, karena konten statik dari website kita (gambar, css, html, dsb) akan di cache oleh CloudFlare. Ideal untuk mengatasi masalah jatah bandwidth VPS.me yang hanya memberikan bandwidth 10 Gb / bulan.
Testing
Oke.. semua sudah selesai di setting, silakan coba buka alamat http://antares.fazar.net/ — tadaaa!! Terlihat halaman default phpinfo. :)
Selanjutnya terserah sobat mau di install apa VPS ini – mau wordpress, joomla, dsb.
Btw, pengen lihat status dari VPS.me gratisan yang ane bikin buat test ini? Silakan klik http://antares.fazar.net/status.php
Kesimpulan
- VPS gratisan dari VPS.me hanya memiliki IPv6 yang saat ini masih terbatas penggunanya serta memiliki keterbatasan spesifikasi. Akan tetapi hal ini dapat diatasi dengan trik tertentu agar website yang di hosting disana dapat diakses pengguna dengan IPv4 (forward proxy semacam CloudFlare atau Incapsula dapat dimanfaatkan)
- Bandwidth 10 Gb / bulan dikombinasi dengan caching + CDN CloudFlare saya rasa mampu mengakomodasi sebuah blog dengan kunjungan unik harian beberapa ratus orang.
- Gunakan VPS ini untuk belajar – yep… VPS berspesifikasi rendah / low-end akan membantu anda untuk belajar memaksimalkan kinerja semua aspek dalam keterbatasan dari segi teknis
- Rajin-rajin mem-backup data di VPS gratis VPS.me karena status layanan VPS nya masih dalam tahap BETA, yang bisa saja kondisi node VPS nya tidak stabil
Jangan lupa kunjungi juga tulisan saya tentang VPS gratisan dari Host1Free, dan buat sobat yang berhasil mengimplementasikan tutorial ini jangan lupa kasih komen dibawah ini ya! :)
Mas, mau nanya nih, apakah bisa vps gratis dari vps.me ini diinstal apache?
bisa..
Oh, sama mau tanya nih mas, saya udh ikutin tutor sama persis diatas, tapi kenapa ga bisa di akses (This webpage is not available) ya mas? apa kira-kira yang salah?
Kang Fazar,,,
Review juga donk ttg http://haphost.com/
sekalian cara opreknya juga,, kayak tutor di atas…!!!
btw,, makasih atas ilmunya Kang Fazar, sangat bermanfaat buat sy pribadi..!!
haphost = host1free.
silakan cek reviewnya disini mas : https://fazar.net//review-vps-host1free/
untuk cara oprek menggunakan minstall tetap sama dengan langkah-langkah di atas. yang membedakan mungkin di penggunaan commandnya, karena posting ini nggak di update dengan versi minstall yang baru. silakan ke url ini untuk mendownload / membaca panduan terbaru minstall.
https://github.com/KnightSwarm/Minstall
makasih Kang Fazar… langsung ke TKP…
kok ane g bisa akses via Putty ya bro ?
ane bookmark dlu gan, bsok ane praktekin.
Lagi bljar tentang vps ne, hehe
mohon maaf untuk web contoh diatas mungkin nggak bisa diakses.. vps ane di vps.me dapet error “Unfinished actions detected in queue for this VPS, please wait until processing is complete.”
http://www.vps.me/forum/vps-network-issues/free-unfinished-actions-detected-in-queue-for-this-vps-please-wait-until-processing-is-complete
sampek sekarang vps nya masi error dan nggak bisa diakses. bener2 luar biasa vps gratisan dari vps.me ini… #hammer :D
nais, peri jud Mas. thx
mas. bisa untuk bikin SSH ga?
dibuat dropbear, port 443..
klo bisa caranya gimana mas?
Trimakasih sebelumnya…
kalo pun bisa, sepertinya hal tsb melanggar TOS dari vps.me
http://www.vps.me/tos
wah-wah tutorialnya ane belum bisa menjamahnya