HHVM (Hip Hop Virtual Machine) adalah kompiler just-in-time yang dikembangkan oleh Facebook untuk menjalankan aplikasi yang ditulis dalam bahasa PHP dan Hack. HHVM lebih cepat daripada mesin PHP tradisional dari ZEND dan digunakan oleh Facebook untuk melayani miliaran permintaan web per hari. HHVM memiliki throughput permintaan web 9x lebih tinggi dan lebih dari 5x pengurangan konsumsi memori dibandingkan dengan mesin Zend PHP 5.2 + APC. lihat selengkapnya di sini.
Tutorial ini menjelaskan penginstalan Nginx, MariaDB, HHVM, dan Wordpress di Debian 8 (Jessie).
1 Prasyarat
Server harus menjalankan instalasi server minimal Debian 8 (64Bit). Jika Anda menginstal server dari awal, lihat panduan ini untuk mendapatkan penginstalan minimal yang bersih. Saya akan menggunakan IP 192.168.1.100 sebagai IP server saya. Harap ganti IP ini dengan IP server Anda di semua perintah yang muncul.
2 Instal Nginx
Paket Nginx tersedia di repositori apt Debian. Nginx dapat diinstal dengan perintah berikut:
apt-get update
apt-get install nginx unzip
Mulai ulang Nginx saat penginstalan selesai.
systemctl start nginx
Sekarang Anda dapat menguji Nginx di browser Anda untuk melihat apakah sudah terpasang dengan benar. Buka IP server:http://192.168.1.100/. Anda akan melihat halaman yang mirip dengan yang di bawah ini.
3 Instal dan Konfigurasi MariaDB
Saya akan menginstal MariaDB daripada MySQL untuk memanfaatkan kinerja dan fungsi tambahannya yang lebih baik. MariaDB adalah cabang dari Server Database MySQL yang dikelola oleh Pengembang MySQL asli.
Untuk menginstal MariaDB, jalankan perintah apt-get berikut:
apt-get install mariadb-client mariadb-server
Dan mulai MariaDB dengan systemctl:
systemctl start mysql
Sekarang login ke MariaDB dengan perintah "mysql", perintah tersebut akan meminta password yang telah Anda set selama instalasi MariaDB di atas.
mysql -u root -p
TYPE YOUR PASSWORD
Langkah selanjutnya adalah membuat database baru dengan nama wordpressdb dan user database baru dengan nama wpuser untuk instalasi WordPress. Jalankan perintah di bawah ini di dalam prompt MySQL untuk mencapainya. Ganti sandi '[email protected]' dengan sandi aman yang akan digunakan sebagai sandi untuk database WordPress baru.
create database wordpressdb;
create user [email protected] identified by '[email protected]';
grant all privileges on wordpressdb.* to [email protected] identified by '[email protected]';
flush privileges;
\q
4 Instal dan Konfigurasi HHVM
Tambahkan repositori dari hhvm.com ke file repositori Ubuntu /etc/apt/sources.list dan perbarui repositori:
wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | apt-key add -
echo deb http://dl.hhvm.com/debian jessie main | tee /etc/apt/sources.list.d/hhvm.list
apt-get update
Kemudian instal paket HHVM:
apt-get install hhvm
HHVM hadir dengan skrip install_fastcgi.sh untuk menghubungkan Nginx dengan HHVM. Jalankan perintah di bawah ini:
/usr/share/hhvm/install_fastcgi.sh
Konfigurasikan HHVM untuk memulai secara otomatis saat server melakukan booting:
update-rc.d hhvm defaults
HHVM akan digunakan untuk /usr/bin/php bahkan jika Anda telah menginstal php-cli, jadi kami menjalankan skrip update-alternatives Debian untuk mengkonfigurasi ulang default PHP:
/usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60
Kemudian mulai HHVM dengan systemctl:
systemctl start hhvm
Pada langkah selanjutnya, saya akan menguji apakah HHVM digunakan untuk mengurai halaman PHP di Nginx dan di shell.
Buat file baru dengan nama info.php di direktori /var/www/html/:
cd /var/www/html/
nano info.php
Dan tambahkan kode PHP ini ke dalam file:
<?php echo 'HipHop'; ?>
Sekarang akses file di browser Anda:http://192.168.1.100/info.php. Saat Anda melihat kata HipHop di halaman web Anda, berarti HHVM berfungsi dengan benar.
Terakhir uji HHVM di konsol/terminal server Anda, ketik perintah ini:
php info.php
php -v
Perintah pertama akan menampilkan kata "HipHop", perintah kedua versi HHVM.
rm /var/www/html/info.php
5 Instal Wordpress
Masukkan /var/www/html/ folder, unduh WordPress dan ekstrak arsip:
cd /var/www/html/
wget wordpress.org/latest.zip
unzip latest.zip
Perintah unzip mengekstrak Wordpress ke dalam sub-direktori "wordpress", saya akan memindahkan semua file dan direktori WordPress ke /var/www/html/ sesuai keinginan saya untuk mengakses wordpress di / di server dan bukan di /wordpress/:
cd /var/www/html/
mv wordpress/* .
rm -rf wordpress/
Kemudian ubah pemilik file WordPress menjadi pengguna dan grup www-data. Biasanya, semua file di direktori /var/www/html/ dimiliki oleh pengguna dan grup www-data.
find . -type d -exec chown www-data:www-data {} \;
find . -type f -exec chown www-data:www-data {} \;
Ganti nama file wp-config-sample.php menjadi wp-config.php. Kemudian buka file dengan editor nano dan atur nama basis data, pengguna, dan kata sandi yang dibuat selama penyiapan basis data.
mv wp-config-sample.php wp-config.php
nano wp-config.php
DB_NAME = wordpressdb DB_USER = wpuser DB_PASSWORD = [email protected]
Sekarang edit file nginx virtualhost /etc/nginx/sites-available/default, dan tambahkan index.php sebagai item pertama dari setelan konfigurasi indeks. Pengaturan ini menginstruksikan Nginx untuk menggunakan file index.php sebagai file indeks standar ketika situs web diakses dengan / (tanpa nama file).
rm -f index.nginx.html
nano /etc/nginx/sites-available/default
Kemudian mulai ulang Nginx:
systemctl restart nginx
Coba akses IP server:http://192.168.1.100/ sekali lagi, Anda akan diarahkan ke penginstal WordPress. Ikuti petunjuk penginstal untuk menyelesaikan penginstalan.
1) Silahkan pilih bahasa Anda, contoh:English(United States) dan tekan tombol Continue.
2) Isi username dan password yang akan digunakan untuk otentikasi administrator WordPress dan alamat email Anda, lalu tekan tombol Install Wordpress.
Tunggu sampai instalasi selesai, lalu masuk ke WordPress administrator Login:http://192.168.1.100/wp-login.php, atau kunjungi halaman WordPress home http://192.168.1.100/.
Wordpress sekarang diinstal dengan HHVM dan Nginx di server Debian 8 Anda.
6 Kesimpulan
Pengaturan yang dijelaskan dalam tutorial ini menggabungkan beberapa opsi perangkat lunak tercepat untuk menjalankan situs Wordpress. Nginx adalah server web berkinerja tinggi yang banyak digunakan yang mampu melayani halaman lebih cepat daripada server web Apache tradisional, HHVM adalah pengganti kecepatan tinggi untuk mesin PHP Zend untuk menjalankan skrip PHP dan MariaDB adalah pengganti MySQL yang sangat cepat.
Tutorial ini didasarkan pada tutorial Howtoforge dari Muhammad Arul untuk Ubuntu 15.04.