Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04. Untuk menggunakan VPS, tentu Anda perlu melakukan instalasi web service yang sesuai dengan aplikasi yang akan Anda onlinekan. Khususnya script dengan basis PHP, biasa menggunakan LAMP (Apache – Mysql/MariaDB – PHP) atau LEMP (Nginx – Mysql/MariDB – PHP). Dan ini perlu Anda install satu persatu bila tidak menggunakan panel seperti cpanel, webuzo, vestacp dan lain sebagainya.

Bagi Anda yang baru saja beralih ke VPS, maka rekomendasi terbaik adalah menggunakan panel. Karena dalam konfigurasi akan lebih mudah, semua paket-paket service diatas sudah menjadi satu dengan panel.

Pada panduan kali ini saya akan membahas cara install nginx, mariaDB dan php (LEMP) di Ubuntu. Sebelum Anda memulai mengikuti panduan ini, pastikan beberapa persyaratan berikut sudah terpenuhi. Agar nantinya pada saat proses instalasi tidak terjadi kegagalan.

  • Memiliki akses root
  • Sistem Operasi Ubuntu 18:04

Persyaratan utama ialah memiliki akses ke root. Karena tanpa memiliki akses root, sudah pasti tidak bisa menjalankan perintah-perintah seperti pada panduan ini.

Jika saran saya, sebaiknya Anda tidak langsung menggunakan akses root untuk aktivitas rutin, hal tersebut untuk menjaga keamanan VPS. Seperti yang Anda ketahui, root memiliki hak akses yang sangat luas, sehingga ada kemungkinan akan memberikan kerusakan dengan mudah bila terjadi kesalahan dalam mengeksekusi sebuah perintah.

Jadi sebaiknya membuat user baru yang memiliki akses ke root. User ini dapat mengakses aktivitas yang dilakukan root dengan menambahkan awalan sudo di setiap perintah. Dan ini tentu akan lebih aman dibanding root yang tidak memiliki notif tertentu dalam proses eksekusi. Namun bila Anda sudah mahir, maka tidak perlu menggunakan user baru lagi, cukup menggunakan root saja sudah cukup.

Baca Juga : Cara Menambah User Baru di Linux Ubuntu

Ikuti panduan diatas bila Anda ingin membuat user yang memiliki hak akses root.

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Silakan Anda login terlebih dahulu ke akun root/user menggunakan SSH. Kita akan memulai dari instalasi Web Service Nginx terlebih dahulu.

1. Cara Install Nginx di VPS Ubuntu

Nginx adalah server HTTP dan Proxy dengan kode sumber terbuka yang bisa juga berfungsi sebagai proxy IMAP/POP3.

Update terlebih dahulu package yang ada di server VPS Ubuntu Anda dengan menjalankan perintah berikut.

sudo apt update

Selanjutnya jalankan perintah dibawah untuk memulai proses instalasi web server Nginx.

sudo apt install nginx

Cara Install LAMP di Ubuntu 20.04

Cara Install LAMP di Ubuntu 20.04

Bila Anda mengaktifkan UFW (Uncomplicated Firewal) maka perlu menambahkan HTTP dan HTTPS NGINX pada ufw dengan menjalankan perintah ” sudo ufw allow ‘Nginx HTTP’ “, dan pastikan menambahkan nginx ke ufw berhasil dengan jalankan perintah “sudo ufw status“. Karena pada panduan ini saya belum menggunakan SSL, maka hanya HTTP saja yang ditambahkan ke ufw.

Baca Juga : Cara Konfigurasi Firewall dengan UFW di Ubuntu

Anda dapat menguji apakah server aktif dan bekerja dapat dengan mengakses nama domain atau alamat IP publik di browser web Anda. Nantinya pada browser akan menampilkan seperti screenshot dibawah.

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

2. Cara Install MariaDB di VPS Ubuntu

Setelah server web Nginx aktif dan bekerja, Anda perlu menginstal sistem database agar dapat menyimpan dan mengelola data untuk situs Anda. MariDB merupakan versi pengembangan terbuka dan mandiri dari MySQL.

Gunakan command dibawah ini untuk memulai proses instalasi MariaDB.

sudo apt install mariadb-server

Saat diminta, konfirmasi penginstalan dengan mengetik Y, lalu tekan ENTER.

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Konfigurasi MariaDB

Setelah proses instalasi selesai, Anda perlu melakukan konfigurasi keamanan mariaDB. Jalankan perintah dibawah ini untuk memulainya.

sudo mysql_secure_installation

Saat pertama kali menjalankan perintah tersebut maka akan diminta password, maka cukup Anda tekan ENTER.

Selanjutnya akan diminta memasukan “set root password“, cukup pilih “N” dan Enter. Bila Anda mengisikan password root, maka kemungkinan akan menjadi masalah bila nantinya mariaDB terdapat pembaharuan.

Bagian “Remove anonymous users” pilih “Y” dan Enter.

Disallow root login remotely“, Pilih “Y” jika tidak mengizinkan untuk akses database jarak jauh. Karena disini untuk penggunaan pribadi, maka saya memilih “N” saja.

Terakhir “Remove test database and access to it?” pilih “Y“.

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Pada sistem ubuntu yang menggunakan MariaDB 10.3, root MariaDB akan diatur untuk mengautentikasi menggunakan unix_socket secara default, dan bukan kata sandi. Tentunya hal ini akan memberikan keamanan yang lebih baik dalam banyak kasus, namun juga akan menjadikan masalah saat Anda perlu mengizinkan hak administratif seperti penggunaan phpMyAdmin atau lainnya.

Meskipun Anda dapat melakukan perubahan konfigurasi pada file /etc/mysql/debian.cnf, tetap saja hal tersebut tidak dianjurkan. Alasannya, karena pengaturan tersebut dapat berpotensi rusak saat terdapat pembaharuan mariaDB. Sehingga anjuran utama adalah dengan membuat akun administratif sendiri untuk akses basis data menggunakan kata sandi.

Akun baru yang akan kita buat ini tetap memiliki kemampuan yang sama seperti root, tetapi dikonfigurasi untuk otentikasi kata sandi.

Buka prompt MariaDB dari terminal VPS dengan menjalankan perintah berikut.

sudo mariadb

Lalu jalankan perintah untuk membuat user dan password.

GRANT ALL ON *.* TO 'isikanuser'@'localhost' IDENTIFIED BY 'isikanpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;

isikanuser : ganti username
isikanpassword : ganti password

Setelah selesai, Anda bisa keluar dari prompt MariaDB dengan menjalankan perintah dibawah ini.

exit

Jika ingin melakukan pengecekan status service MariaDB, Anda dapat menjalankan perintah ini.

sudo systemctl status mariadb

Jika status service mariaDB tidak aktif, silakan jalankan perintah berikut “sudo systemctl start mariadb

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Untuk lebih memastikan bahwa akun database yang sebelumnya bekerja dengan baik. Anda dapat menjalankan perintah dibawah

mariadb -u admin -p

Masukan password (password akun user mysql yang telah dibuat). Lalu jalankan perintah mysql seperti “show databases;Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Untuk melakukan pengecekan versi mariaDB bisa Anda jalankan perintah “sudo mysqladmin version“.

3. Install PHP dan Konfigurasi dengan NGINX

Proses selanjutnya adalah melakukan install service PHP sekaligus melakukan konfigurasi agar PHP dan NGINX dapat bekerja dengan baik.

Silakan Anda jalankan perintah dibawah ini untuk memulai instalasi service PHP.

sudo apt install php-fpm php-mysql

Bila terdapat konfirmasi pada saat instalasi, silakan pilih Y dan Enter.

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Konfigurasi Nginx

Secara default ketika Anda menggunakan Nginx, maka file yang akan dibaca adalah file yang berada pada folder /var/www/html. Bila Anda memiliki nama domain sendiri maka bisa menambahkan folder sendiri, yang terpenting masih didalam /var/www.

Buat nama direktori menggunakan nama domain dengan menjalankan perintah dibawah. Karena nama domain saja webbaru.com maka commandnya akan seperti screenshot.

sudo mkdir /var/www/nama_domain.com

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Berikutnya berikan privilage kepada folder domain yang telah Anda buat dengan menggunakan command dibawah.

sudo chown -R $USER:$USER /var/www/nama_domain.com

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Kemudian, buka file konfigurasi baru di sites-available direktori Nginx menggunakan editor pilihan Anda. Di sini, kami akan menggunakan vim/vi :

Jalankan perintah dibawah ini untuk melakukan proses edit menggunakan editor vim/vi.

sudo vim /etc/nginx/sites-available/nama_domain.com

Untuk menambahkan atau edit jalankan beberapa shotcode dibawah :

i : untuk edit atau insert (huruf i)
esc : berhenti dari proses edit
:wq atau :wq! : untuk menyimpan sekaligus keluar
q! : keluar tanpa menyimpan

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Pastikan pada bagian fastcgi-php sesuaikan dengan versi PHP Anda. Karena saya menggunakan php 7.2 sehingga info yang tertampil php 7.2 (cek php version : php -v).

server { 
listen 80;
server_name nama_domain.com www.nama_domain.com;
root /var/www/nama_domain.com;
index index.html index.htm index.php;

location / {
try_files $uri $uri/ =404;
 } 

location ~ \.php$ { 
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
 }

 location ~ /\.ht { 
deny all; 
} 
}

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Selanjutnya aktifkan konfigurasi Anda dengan menautkan ke file konfigurasi dari sites-enabled direktori Nginx. Jalankan perintah coammad dibawah ini.

sudo ln -s /etc/nginx/sites-available/nama_domain.com /etc/nginx/sites-enabled

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Uji vhost yang telah Anda buat dengan menjalankan perintah dibawah ini. Bila ada kesalahan, maka akan menampilkan error.

sudo nginx -t
sudo systemctl reload nginx

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Jika sudah tidak terdapat error, buat file index.html ataupun index.php untuk menguji bahwa PHP dan nginx sudah berkerja dengan baik. Anda dapat menggunakan vim untuk membuat file baru seperti contoh dibawah.

sudo vim /var/www/nama-domain.com/index.html

Bisa Anda tambahkan File html berikut ini. Ketika Anda akses namadomain.com/index.hmtl akan menampilkan konten file html yang sudah dibuat tersebut

<html>
<head>
<title>your_domain website</title>
</head>
<body>
<h1>Hello World!</h1>

<p>Novri.web.id <strong>Halo Root Directory sesuai</strong>.</p>
</body>
</html>

Cek juga dengan membuat file php, untuk memastikan bahwa service PHP sudah bekerja dengan baik di nginx.

sudo vim /var/www/nama-domain.com/index.php
<?php
phpinfo();
?>

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Jika berhasil, maka ketika diakses pada browser akan menampilkan konten PHP seperti screenshot dibawah.

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

4. Testing Database MariaDB dari PHP

Langkah yang terakhir adalah melakukan testing koneksi database mariaDB di PHP.

Silakan Anda login ke prompt mariaDB dengan menjalankan perintah berikut.

mariadb -u contoh_user -p

contoh_user gunakan user dan password saat install dan konfigurasi mariaDB sebelumnya.

Buat database baru melalui prompt dengan command dibawah. Saya akan membuat database dengan nama contoh.

CREATE DATABASE contoh;

Lalu gunakan database contoh yang telah dibuat.

USE contoh;

Dan hasilnya akan seperti screenshot.

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Anda dapat membuat contoh tabel berikut atau lainnya. Karena tabel di database ini hanya untuk pengecekan saja. Saya akan membuat table dengan nama test.

CREATE TABLE test (
id INT AUTO_INCREMENT,
nama VARCHAR (255),
PRIMARY KEY (id)
);

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Isi tabel dengan memasukan data. Anda dapat mencoba menjalankan perintah berikut. Sedangkan untuk data bisa Anda sesuaikan saja.

INSERT INTO test VALUES ('', 'Novri');

Jika ingin melihat data sudah ada atau belum, maka bisa jalankan.

SELECT * FROM test;

Setelah selesai, langsung saja keluar dari prompt sql.

exit

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Terakhir buat file PHP dengan nama test dan isikan dengan script dibawah ini untuk proses koneksi ke database yang telah Anda buat.

sudo vim /var/www/nama_domain.com/test.php

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Lalu masukan file PHP berikut pada test.php

<?php
$user = "user db";
$password = "password db";
$database = "contoh";
$table = "test";

try {
$db = new PDO("mysql:host=localhost;dbname=$database", $user, $password);
echo "<h2>HELLO</h2><ol>";
foreach($db->query("SELECT nama FROM $table") as $row) {
echo "<li>" . $row['nama'] . "</li>";
}
echo "</ol>";
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}

?>

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Simpan file test.php yang telah Anda edit atau insert data.

Kemudian jalankan file test.php melalui browser (nama-domain.com/test.php). JIka koneksi database berhasil maka akan menampilkan data yang ada pada database seperti screenshot.

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04

Demikianlah Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 18.04. Semoga bermanfaat dan dapat membantu Anda. Jangan lupa untuk shared artikel ini kepada teman, kerabat, saudara atau lainnya. Agar mimin novri.web.id lebih semangat dalam membuat panduan-panduan lain. images by freepick

0