Setelah melakukan testing trial dan error selama beberapa hari ini, akhirnya blog ini kembali dihost di KVM vpsnya Prometeus, namun kali ini memakai OS Ubuntu 14.04 64bit.
Tutorial ini dibuat dan dijalankan pada server yang baru diinstall dengan Ubuntu 14.04 64 bit
Instalasi Nginx
1 2 3 |
apt-get update && apt-get upgrade apt-get install sudo aptitude apt-get update && apt-get install nginx nginx-common nginx-core nginx-extras |
Untuk memastikan keberhasilan proses instalasi Nginx, coba buka IP Address dari server, jika berhasil maka akan muncul tampilan seperti ini :
1 2 3 4 |
apt-get update apt-get install mysql-server mysql-client # Untuk menambah keamanan instalasi MySQL, pergunakan perintah berikut mysql_secure_installation |
Kita juga dapat mempergunakan MariaDB sebagai pengganti MySQL
Inslatasi HHVM
1 2 3 4 5 6 |
# wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | apt-key add - # echo deb http://dl.hhvm.com/ubuntu trusty main | tee /etc/apt/sources.list.d/hhvm.list # apt-get update && apt-get install hhvm Ada juga beberapa fitur yang hanya tersedia di nightly build, jadi silakan sesuaikan dengan keperluan Untuk instalasi HHVM Nightly build, pergunakan perintah berikut : # apt-get install hhvm-nightly |
Untuk menjalankan HHVM saat booting, kita pergunakan perintah berikut :
1 |
# update-rc.d hhvm defaults |
Untuk menggabungkan HHVM Fastcgi dengan Nginx, pergunakan perintah berikut :
1 |
/usr/share/hhvm/install_fastcgi.sh |
HHVM akan membuat sebuah file /etc/nginx/hhvm.conf, dan menambahkan barisnya di file default konfigurasi web di /etc/nginx/sites-available/default
Restart HHVM dan Nginx
1 2 |
# service hhvm restart # service nginx restart |
Mengambil alih request ke php
1 |
# /usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60 |
Instalasi Composer
Composer berguna untuk mengatasi keperluan plugin WordPress yang terkadang memerlukan Php
1 2 |
# curl -sS https://getcomposer.org/installer | php # mv composer.phar /usr/local/bin/composer |
Untuk membuat file konfigurasi untuk website, bisa dilakukan dengan membuat file di /etc/nginx/sites-enabled. Contoh berikut adalah untuk konfigurasi blog ini yang berlokasi di /etc/nginx/sites/enabled/erawan.conf. Karena server saya memiliki IPv6, maka saya juga mempergunakan IPv6. Jika tidak memiliki IPv6, silakan hapus baris listen [::]:80
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
server { listen 80; listen [2a00:dcc0:dead:a7f7::1]:80; server_name erawanarifnugroho.com; rewrite ^/(.*) http://www.erawanarifnugroho.com/$1 permanent; } server { listen 80; listen [2a00:dcc0:dead:a7f7::1]:80; server_name www.erawanarifnugroho.com; index index.php; root /var/www/erawanarifnugroho.com; try_files $uri $uri/ /index.php; client_max_body_size 2000M; include hhvm.conf; gzip on; gzip_comp_level 9; gzip_http_version 1.1; gzip_proxied any; gzip_min_length 1100; gzip_buffers 16 8k; gzip_types application/javascript application/x-javascript application/xml application/xml+rss image/bmp image/gif image/jpg image/jpeg image/png text/css text/html text/javascript text/plain text/xml js; # Disable for IE < 6 because there are some known problems gzip_disable "MSIE [1-6].(?!.*SV1)"; # Add a vary header for downstream proxies to avoid sending cached gzipped files to IE6 gzip_vary on; # Fungsi untuk leverage browser caching location ~* \.(xml|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { expires 1y; } } |
Pada contoh tutorial ini, HHVM dan Nginx hanya bisa membaca file dan direktory milik www-data. Jadi apabila nanti hasilnya blank, pastikan ownernya adalah www-data, dan chmod 755
Misalnya
1 2 3 |
/var/www 755 root:root /var/www/erawanarifnugroho.com 755 www-data:www-data /var/www/erawanarifnugroho.com/* 755 www-data:www-data |
Setelah semua selesai, coba arahkan salah satu domain ke IP server, dan selamat bersenang-senang 🙂