Friday, 5 April 2019

Cara menginstall LEMP Stack (Linux, Nginx, MariaDB, PHP) pada Ubuntu 18.04

Halo sobat infosapu, kembali lagi bersama admin. Kali ini admin infosapu akan membahas cara Instalasi LEMP di Ubuntu 18.04
Kebanyakan orang termasuk admin sendiri bingung apa itu kepanjangan LEMP atau LAMP, sebenernya sih simple, kepanjangannya ialah Linux Nginx MariaDB PHP (LEMP), sedangkan LAMP sama saja hanya berbeda di huruf kedua yang berarti Apache

Pertama kita bahas secara singkat apa itu Nginx, Nginx adalah Web Server, simple kan.
Nginx sendiri yang menghandle port 80 untuk http atau 443 untuk https sebagai daemon worker. Intinya Web kayak Google, Blog ini dan lainnya pasti menggunakan Web Server, yakali make dhcp server :)

Lalu kenapa butuh MariaDB atau PHP ? Jadi begini, sebenernya hanya dengan Nginx saja kita dapat membuat web, namun yang kita buat adalah web static atau statis, cara kerjanya ya hanya mengambil file html lalu ditampilkan diserver, simple kan
Namun jika dipadu dengan PHP atau Database seperti MariaDB maka Web tersebut bisa menjadi web yang dinamis, dalam artian bisa berubah ubah tergantung dengan keadaan itu sendiri. Hmm gimana ya, simplenya gini deh, dengan html kita dapat membuat daftar/listing semisal tabel dengan nama mahasiswa 1-10, Nah itu harus diketik manual kan dengan disisipkan tag ul dan li. Beda lagi kalau php, kita tinggal membuat perulangan for sampai 10 kali, lalu menampilkannnya dengan echo. Gimana? Keren kan si php ini hehe :D

Langsung saja ke Tutorialnya,

Tahap 1 - Instalasi Web Server (Nginx)

1. Install Nginx nya, dengan command ini
sudo apt-get -y install nginx-light
Disini saya memakai varian nginx-light, masih ada varian nginx yang lain, letak perbedaannya adalah dibanyak fiturnya
Anda bisa membaca forum ini agar mengetahui perbedaannya

2. Cek apakah nginx nya sudah running atau belum dengan command ini
systemctl status nginx
Jika belum aktif anda bisa mengaktifkannya dengan command ini
sudo systemctl start nginx
3.  Verifikasi dengan membuka IP Address server di browser, Jika berhasil maka akan muncul seperti ini

Atau anda bisa memverifikasi dengan command curl, command ini akan merequest http pada server
curl ip_anda
Jika disaat verifikasi anda gagal padahal Nginx nya sudah running, ada kemungkinan port Nginx itu diblokir sama firewall, maka cukup hilangkan pemblokiran tersebut dengan menjalankan command ini
sudo ufw allow 'Nginx HTTP'
sudo ufw reload
Lalu cobalah Verifikasi lagi

Tahap 2 - Instalasi Database (MariaDB)
1. Menambahkan Official Repository
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
Menambahkan key untuk repository baru
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mariadb.biz.net.id/repo/10.3/ubuntu bionic main'
Ini poin intinya, Menambahkan repository dari repository milik MariaDB, untuk versi lainnya anda bisa membuka web ini
sudo apt-get update
Untuk mengupdate daftar paket dalam repository

2. Menginstall MariaDB
sudo apt-get -y install mariadb-server
3. Setelah menginstall MariaDB, biasanya proses MariaDB akan berjalan otomatis, anda bisa memverifikasi nya dengan command ini
systemctl status mariadb
4. Selanjutnya, amankan MariaDB nya dengan command ini
sudo mysql_secure_installation
Masukkan password yang sudah dimasukkan saat instalasi tadi, Jika belum maka cukup Enter
Akan ada pertanyaan lagi, diantaranya :
  • Change the root password? (Untuk mengganti password sebelumnya)
  • Remove anonymous users? (Untuk menghapus user anonymous di MariaDB, maksudnya user anonymous tanpa password, defaultnya kalian bisa login ke MariaDB tanpa password dengan user anonymous)
  • Disallow root login remotely? (Untuk tidak memperbolehkan login menggunakan root selain dari localhost)
  • Remove test database and access to it? (Untuk menghapus test database)
  • Reload privilege tables now? (Untuk mereload privilege table agar perubahan yang sudah dibuat dapat diterapkan)
Saran saya sih pilih yes aja semua, ya alasannya tidak lain agar Database kalian aman hehe :D

Tahap 3 - Instalasi PHP
Kita sudah menginstall Nginx sebagai Web Server dan MariaDB sebagai database, Tapi kita belum bisa membuat dynamic content. Untuk itulah kita membutuhkan php, tidak seperti apache yang sudah include php, nginx disini membutuhkan proses tambahan untuk mengolah file php, untuk itulah kita membutuhkan php-fpm (Fast CGI Proses Manager).

1. Menginstall php-fpm
sudo apt-get -y install php-fpm
2. Nah seperti biasa, setelah instalasi proses biasanya akan berjalan otomatis, bisa diverifikasi dengan command ini
systemctl status php7.2-fpm
*Yang saya tandai merah itu merupakan versi php nya, silahkan diganti sesuai versi php anda. Dan untuk mengecek versi php, gunakan command ini
php -v
3. Selanjutnya ganti konfigurasi php.ini yang terletak di direktori /etc/php/7.2/fpm/ rubah text ;cgi.fix_pathinfo=1 menjadi cgi.fix_pathinfo=0
Kenapa diganti? Alasannya untuk kemanan, Untuk info lebih jelas bisa kesini :D

4. Jika sudah, kita tinggal membuat nginx agar menyuruh php-fpm untuk memproses semua file php, caranya dengan mengedit file konfigurasi Nginx (/etc/nginx/sites-available/default)
Hilangkan comment pada text ini Sehingga jika diasumsikan kita sama saja menambahkan teks ini kedalam konfigurasinya
location ~ \.php$ {
         include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
Tahap 4 - Reload proses
Jika semua sudah dilakukan kita reload proses Nginx dan php-fpm, agar konfigurasi yang sudah kita buat diterapkan kembali, untuk reload bisa menggunakan command ini,
sudo systemctl reload php7.2-fpm
sudo systemctl reload nginx
Tahap 5 - Verifikasi
Nah saatnya kita verifikasi apakah php-fpm sudah bisa memproses file php di Nginx atau belum, caranya ialah kita membuat file php, disini kita membuat file phpinfo yang akan menampilkan semua info mengenai php kita dalam bentuk web.

1. Membuat file php, kita buat dengan command echo dipadu dengan command tee
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
2. Selanjutnya kita tes dengan membuka url ini di Browser
http://ip_server/info.php
Jika berhasil maka akan muncul web seperti ini..
Verifikasi LEMP

Penutupan
Nah tutorial singkat kali ini selesai juga, Next time nanti admin membahas instalasi phpmyadmin baik yang otomatis melalui apt-get atau manual dengan menggunakan wget. Oke semoga tutorial kali ini bermanfaat, oh ya kalau ada trouble/masalah bisa komentar, nanti kita diskusikan bersama :)

Terima Kasih, Sampai jumpa di Lain Post!

Load comments