Instalasi LEMP Stack (Linux, EngineX, MariaDB dan Php 7 FPM) di Ubuntu 16.04

LEMP Stack merupakan instilah yang disebutkan pada suatu paket lengkap untuk manajemen web server yang terpasang di mesin Linux dengan komposisi EngineX (Nginx) sebagai web server, MariaDB sebagai relational basis data dan PHP7 FPM (FastCGI Process Manager) sebagai server side scripting.

 Persiapan

Sebelum memulai, berikut ini beberapa persiapan yang harus dilakukan sebelum instalasi paket LEMP di Ubuntu 16.04:

  1. Pastikan terkoneksi ke jaringan internet, karena paket yang akan di install hanya ada di repository.
  2. Jika masih menggunakan repository official atau bawaan (bisa dilihat di /etc/apt/sources.list) backup terlebih dahulu kemudian ganti dengan repository Ubuntu 16.04 (Xenial Xerus) dari Juragan Kambing (juragan.kambing.ui.ac.id).
  3. Lakukan update pada repository.
  4. Ikuti setiap instruksi langkah-demi-langkah, jika masih ada error silahkan hubungi saya via facebook disini (PM).

Instalasi Nginx (EngineX)

  • Buka Terminal (bisa menggunakan Ctrl + Alt + T) kemudian ketikkan perintah berikut ini:
sudo apt install nginx

selection_086Gambar 1. Perintah untuk instalasi Nginx

  • Jika muncul pemberitahuan “Do you want to continue? [Y/n]” klik enter, setelah itu tunggu hingga proses instalasi selesai.
  • Setelah proses instalasi selesai, kemudian buka web browser, kemudian cek dengan mengetikkan “localhost” (tanpa kutip) pada address bar.

selection_088Gambar 2. Pengecekan nginx melalui web browser

  • Sampai disini proses instalasi nginx telah selesai.

Instalasi MariaDB

  • Pada tutorial ini kita akan menggunakan official mirror MariaDB dari Universitas Surabaya (klik link official mirror untuk menyesuaikan).
  • Masih di terminal yang sama, kemudian ketikkan perintah berikut:
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://suro.ubaya.ac.id/mariadb/repo/10.1/ubuntu xenial main'
  • kemudian lakukan update dengan perintah berikut:
sudo apt update
  • tunggu proses update selesai. Setelah selesai, kemudian install MariaDB dengan perintah berikut:
sudo apt install mariadb-server

selection_092

Gambar 3. Proses install MariaDB

  • Jika muncul pemberitahuan “Do you want to continue? [Y/n]” klik enter dan tunggu hingga download paket-paket yang dibutuhkan untuk menginstall MariaDB selesai.
  • Pada pertengah-tengahan instalasi, MariaDB akan meminta password untuk user root:

selection_093

Gambar 4. Proses pengisian password untuk user “root”

  • Masukkan passwordnya (gunakan password dari kombinasi huruf besar, kecil, angka dan simbol). Kemudian sistem akan menampilkan form untuk mengisi ulang password.

selection_094

Gambar 5. Proses verifikasi password

  • Tunggu hingga proses instalasi selesai.
  • Setelah proses instalasi selesai, lakukan proses konfigurasi lanjutan, sebenarnya ini hanya optional saja, bisa dilakukan bisa tidak, karena hanya mengkonfigurasi beberapa bagian saja, seperti, menghapus login remot, menghapus user anonymous, dll. Jika berkeinginan melakukan konfigurasi, berikut langkahnya:
sudo mysql_secure_installation

image10

Gambar 6. Proses (optional) konfigurasi untuk menjadikan MariaDB lebih aman

  • Pada konfigurasi (gambar 6) diatas terdapat beberapa step yang harus dilalui untuk mencapai finish, berikut ini penjelasan masing-masing step tersebut:
  1. Change the root password? [Y/n] “. Pada bagian ini klik Y jika ingin mengubah password pada saat proses instalasi, klik n untuk melanjutkan ke step berikutnya.
  2. Remove anonymous users? [Y/n]“. Pada bagian ini sistem akan menanyakan apakah ingin menghapus user anonymous, direkomendasikan untuk memilih Y.
  3. Disallow root login remotely? [Y/n]“. Pada bagian ini sistem akan menanyakan apakah mengizinkan root untuk login secara remote. Direkomendasikan untuk memilih Y.
  4. Remove test database and access to it? [Y/n]“. Pada bagian ini sistem akan menanyakan apakah ingin menghapus database “test“. Direkomendasikan untuk memilih Y.
  5. Reload privilege tables now? [Y/n]“. Pada bagian ini sistem menanyakan apakah ingin mengulang hak istimewa untuk setiap tabel. Direkomendasikan Pilih Y.
  • Selanjutnya adalah menguji coba apakah MariaDB sudah bisa digunakan atau tidak, untuk itu silahkan login dengan user root dan password yang telah diisikan pada proses instalasi. Gunakan perintah berikut:
mysql -u root -p

selection_097

Gambar 7. Proses uji coba login ke MariaDB dan melakukan query untuk menampilkan database

  • Jika hasilnya seperti pada gambar 7, maka proses instalasi MariaDB telah selesai.

Instalasi PHP7 FPM (FastCGI Process Manager)

  • Masih pada terminal yang sama, untuk menginstall php7 FPM ketikkan perintah berikut:
sudo apt install php7.0-fpm

selection_098

Gambar 8. Proses instalasi php7 FPM

  • Tunggu hingga proses instalasi selesai.
  • Agar berjalan dengan baik, perlu sedikit konfigurasi, file konfigurasi php7 FPM ada di /etc/php/7.0/fpm/php.ini untuk mengedit kita akan menggunakan editor nano. Edit dengan perintah berikut:
sudo nano /etc/php/7.0/fpm/php.ini

selection_099

Gambar 9. Tampilan file php.ini

  • Temukan tulisan “cgi.fix_pathinfo=1” dengan Ctrl + W kemudian ketikkan tulisan tersebut dan klik enter.
  • Ubah nilai 1 menjadi 0.

selection_100

Gambar 10. Konfigurasi FastCGI pada PHP7 FPM

  • Save dengan Ctrl + X, lalu klik Y, dan Enter.
  • Restart php7 FPM dengan perintah berikut:
sudo service php7.0-fpm restart
  • Selanjutnya adalah proses uji coba apakah php7 FPM sudah berjalan dengan baik atau tidak. pada proses uji coba ini melibatkan konfigurasi VirtualHost pada EngineX, untuk itu, silahkan konfigurasi file default yang ada di /etc/nginx/sites-available/ dengan perintah berikut:
sudo nano /etc/nginx/sites-available/default

selection_101

Gambar 11. Isi dari file default

  • Cari rule “pass the PHP scripts to FastCGI server” kemudian sesuaikan isi rule tersebut dengan rule berikut:
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
#       # With php7.0-cgi alone:
#       fastcgi_pass 127.0.0.1:9000;
#       # With php7.0-fpm:
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
  • Jika selesai mengkonfigurasi, simpan hasil konfigurasi (Ctrl + XYEnter) kemudia lakukan pengecekan pada konfigurasi VirtualHost nginx dengan menggunakan peritnah berikut:
sudo nginx -t

selection_102

Gambar 12. Proses pengecekan konfigurasi EngineX

  • Jika hasilnya seperti pada gambar 12 maka konfigurasi sudah benar, selanjutnya adalah merestart service EngineX dengan perintah berikut:

sudo service nginx restart

  • Untuk menguji-coba PHP, buat file dengan nama info.php di /var/www/html/ dengan perintah berikut:
sudo nano /var/www/html/info.php
  • Setelah editor nano tebuka, ketikkan source code berikut ini:
<?php
phpinfo();
?>

selection_103

Gambar 13. Isi dari file info.php yang ada di /var/www/html/

  • Simpan file pada gambar 13.
  • Buka web browser, lalu ketikkan localhost/info.php pada address bar.

selection_104

Gambar 14. Hasil uji-coba PHP

  • Jika tampilan info.php seperti pada gambar 14, maka PHP telah siap digunakan.

Referensi

Setting up MariaDB Repositories, https://downloads.mariadb.org/mariadb/repositories/#distro=Ubuntu&distro_release=xenial–ubuntu_xenial&version=10.1&mirror=surabaya

How to Install Linux, Nginx, MySQL, PHP (LEMP stack) in Ubuntu 16.04, https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-in-ubuntu-16-04

Penutup

Semoga tutorial ini bermanfaat bagi para penggemar Linux pada umumnya, khususnya bagi Linuxer pemula (seperti Admin). Jika ada kawan-kawan yang kebetulan sedang belajar Linux, khususnya Distro turunan Debian (Ubuntu), mari, silahkan PC (personal chat) via facebook disini. Admin akan bantu entah melalui tutorial seperti ini atau langsung remote (kalau ada waktu luang). Thanks before.

Salam, Admin.

Save

Save

Save

Advertisements

Author: chotibul212

Salah satu anggota tetap Komunitas Linux UPN "veteran" Jawa Timur.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s