Postingan kali ini bertujuan supaya gue sendiri nggak lupa sama hal yang pernah dipelajari. Karena kadang baru beberapa waktu kita ngoding tapi kita sendiri udah lupa sama maksud dari kodingan tersebut. Makanya postingan ini dibuat guna dokumentasi kalau-kalau nanti pembaca sekalian secara umumnya, juga gue secara khususnya, lupa dan butuh informasi ini.
Berawal dari iseng-iseng nyari ide buat skripsi, lalu gue kepikiran buat kolaborasi beberapa teknologi yang masih hangat diperbincangkan. Gue akan bikin website dengan bantuan Nginx (dibaca: Engine X) sebagai web server, HHVM (HipHop Virtual Machine) sebagai mesin virtual yang mengeksekusi script PHP, dan MongoDB sebagai database yang menganut klasifikasi NoSQL (Not Only SQL).
Kenapa gue pakai semua itu? Bukan cuman karena iseng belaka, tapi memang teknologi itu paling pas untuk memaksimalkan jenis website yang akan gue buat. Kali ini gue akan buat website sosial media, mirip-mirip facebook mungkin, versi ecek-ecek. Pertama gue pakai Nginx karena memang performanya yang apik. Kedua gue pakai HHVM karena just-in-time compilation yang performanya superior juga. Terakhir MongoDB karena gue akan buat media sosial yang memang lebih baik database yang digunakan berupa NoSQL.
Semua hal ini akan gue lakukan di atas sistem operasi Ubuntu 16.04.
1. Nginx
Install Nginx,
2. HHVM
Install HHVM,
Atur HHVM agar terintegrasi dengan Nginx,
3. MongoDB
Install MongoDB,
Restart HHVM
Cukup mudah kan kolaborasiin 3 teknologi ini? Jadi intinya HHVM diatur di Nginx untuk jadi pengeksekusi file .php atau .hh, terus MongoDB harus install dulu drivernya supaya bisa diintegrasiin sama HHVM. Sekian.
Berawal dari iseng-iseng nyari ide buat skripsi, lalu gue kepikiran buat kolaborasi beberapa teknologi yang masih hangat diperbincangkan. Gue akan bikin website dengan bantuan Nginx (dibaca: Engine X) sebagai web server, HHVM (HipHop Virtual Machine) sebagai mesin virtual yang mengeksekusi script PHP, dan MongoDB sebagai database yang menganut klasifikasi NoSQL (Not Only SQL).
Kenapa gue pakai semua itu? Bukan cuman karena iseng belaka, tapi memang teknologi itu paling pas untuk memaksimalkan jenis website yang akan gue buat. Kali ini gue akan buat website sosial media, mirip-mirip facebook mungkin, versi ecek-ecek. Pertama gue pakai Nginx karena memang performanya yang apik. Kedua gue pakai HHVM karena just-in-time compilation yang performanya superior juga. Terakhir MongoDB karena gue akan buat media sosial yang memang lebih baik database yang digunakan berupa NoSQL.
Semua hal ini akan gue lakukan di atas sistem operasi Ubuntu 16.04.
1. Nginx
Install Nginx,
sudo apt-get install nginxLalu jalankan,
sudo service nginx startBuka localhost dan akan mendapat tampilan seperti di bawah.
2. HHVM
Install HHVM,
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
sudo add-apt-repository "deb http://dl.hhvm.com/ubuntu $(lsb_release -sc) main"
sudo apt-get update
sudo apt-get install hhvmUntuk mengecek HHVM sudah terinstall
hhvm --versionMaka akan muncul tampilan seperti di bawah.
Atur HHVM agar terintegrasi dengan Nginx,
sudo /usr/share/hhvm/install_fastcgi.shEdit konfigurasi Nginx yang berada pada /etc/nginx/sites-available/default dan tambahkan:
include hhvm.conf;Di dalam server. Contoh:
server {Jalankan HHVM,
...
include hhvm.conf;
...
}
sudo service hhvm startUntuk mengecek HHVM sudah terintegrasi dengan Nginx, buat sebuah file info.php pada /var/www/html
sudo nano /var/www/html/info.phpTuliskan kode:
<?php phpinfo(); ?>Lalu buka di browser, localhost/info.php maka akan mendapat tampilan seperti di bawah.
3. MongoDB
Install MongoDB,
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
sudo apt-get update
sudo apt-get install -y mongodb-orgJalankan MongoDB,
sudo service mongod startInstall driver HHVM untuk MongoDB,
cd /tmp
git clone https://github.com/mongodb/mongo-hhvm-driver --branch master
cd mongo-hhvm-driver/
git submodule update --init --recursive
sudo apt install hhvm-dev
hphpize
cmake .
sudo apt install libtool
make configlib
make -j [jumlah core processor] #contoh: make -j 4
sudo make installEdit konfigurasi HHVM yang berada pada /etc/hhvm/php.ini dan tambahkan:
hhvm.dynamic_extensions[mongodb]=/usr/lib/x86_64-linux-gnu/hhvm/extensions/30704/mongodb.soSesuaikan alamat mongodb.so dengan mengecek file tersebut berada dimana.
Restart HHVM
sudo service hhvm restartKesimpulan
Cukup mudah kan kolaborasiin 3 teknologi ini? Jadi intinya HHVM diatur di Nginx untuk jadi pengeksekusi file .php atau .hh, terus MongoDB harus install dulu drivernya supaya bisa diintegrasiin sama HHVM. Sekian.