UbuntuVPS

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

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 20.04 – Secara umum, bila Anda melakukan development website dinamis dengan bahasa pemrograman PHP maka perlu mengaktifkan tiga service berikut pada server, Nginx/Apache (Web Server), MariaDB/Mysql (database) dan PHP. Sebenarnya masih banyak lagi webserver ataupun jenis service database yang ada.

Jika Anda menggunakan panel seperti cpanel, webuzo atau lainnya tetap akan memerlukan service diatas. Namun proses instalasi sudah otomatis saat Anda melakukan instalasi panel. Namun jika Anda menggunakan panel, akan terdapat service lainnya yang juga terinstall.

Nah karena Anda hanya membutuhkan web service, database dan php, maka bisa instalasi service tersebut tanpa menggunakan panel. Dalam panduan ini, kita Anda melakukan instalasi dengan detail berikut ini.

  • Sistem Operasi : Ubuntu 20.04 (fresh)
  • Nginx 1.18.0
  • MariaDB 10.3.25
  • PHP 8.0.2

Dalam hal ini pastikan Anda memiliki akses root. Dan untuk saran utama adalah dengan membuat user baru yang memiliki akses root. Tidak bagus bila untuk aktivitas rutin menggunakan root, hal tersebut karena root memiliki akses yang sangat luas. Sehingga akan mudah untuk terjadi kesalahan ataupun human error.

Baca Juga >> Cara Membuat User Baru di Ubuntu

Anda dapat menggunakan panduan diatas untuk membuat user baru yang memiliki akses root. Bila Anda sudah jelas mahir dalam pengelolaan VPS/server maka menggunakan user root tidak masalah.

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 20.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 20.04

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 Nginx, MariaDB dan PHP (LEMP) di Ubuntu 20.04

Bila Anda menggunakan firewall UFW maka silakan tambahkan service Nginx. Ikuti panduan dibawah ini untuik konfigurasi UFW.

Baca Juga : Cara Konfigurasi UFW di Ubuntu

Setelah selesai instalasi, uji web server Nginx 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 20.04

Setelah Nginx berhasil di install, selanjutnya melakukan instalasi database mariaDB. MariaDB merupakan pengembangan dari MySQL. Sehingga Anda masih tetap bisa menggunakan mysql meskipun menggunakan web service mariaDB.

Jalankan perintah dibawah ini untuk mulai instalasi MariaDB.

sudo apt install mariadb-server

Bila terdapat konfirmasi pada saat instalasi, tekan Y, lalu tekan ENTER.

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

Konfigurasi MariaDB

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

sudo mysql_secure_installation

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

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.

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

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

Bila Anda berencana menggunakan aplikasi management database seperti phpMyadmin maka sebaiknya membuat user database baru, untuk memberikan hak akses full dalam pengelolaan database. Karena bila Anda menggunakan user root, nantinya akan bermasalah ketika melakukan update mariaDB. Hal tersebut karena pada sistem ubuntu yang menggunakan MariaDB 10.3, root MariaDB akan diatur untuk mengautentikasi menggunakan unix_socket secara default, dan bukan kata sandi.

Baca Juga : Cara Install phpMyadmin di VPS Ubuntu

Cara membuat user baru untuk hak akses database sangat mudah. Jalankan perintah dibawah ini.

sudo mariadb

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

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

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

3. Install PHP 8 dan Konfigurasi dengan NGINX

Untuk menginstal versi PHP terbaru, Anda perlu menggunakan repositori Ondrej PPA . Repositori ini berisi beberapa versi PHP dan ekstensi PHP.

Tetapi pertama-tama, mari perbarui paket sistem Ubuntu Anda dan instal beberapa dependensi dibawah ini.

sudo apt update
sudo apt upgrade
sudo apt install lsb-release ca-certificates apt-transport-https software-properties-common -y

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

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

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

Selanjutnya, tambahkan Ondrej PPA .

Saat diminta, tekan ENTER untuk melanjutkan dengan menambahkan repositori.

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

Instal PHP 8.0 dengan Nginx di Ubuntu 20.04

Jika Anda menggunakan PHP 8.0 dengan Nginx, maka rekomendasi terbaik adalah dengan install PHP-FPM untuk memproses file PHP.

Jalankan perintah dibawah ini untuk instalasi PHP dan PHP-FPM.

sudo apt install php8.0-fpm

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

Agar terhubung dengan database mysql, Anda perlu instalasi extention mysql. Jalankan perintah dibawah ini.

sudo apt install php8.0-mysql

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

Bila ingin instalasi extention lainnya silakan Anda cari. Jangan lupa lakukan pengecekan status PHP 8 dan PFP-FPM dengan perintah dibawah ini.

sudo systemctl status php8.0-fpm

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 20.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.

Pada panduan ini saya ingin melakukan managed domain pada folder /var/www/public_html sehingga Anda perlu membuat folder/direktori tersebut dengan menjalankan perintah dibawah ini.

sudo mkdir /var/www/public_html
sudo mkdir /var/www/public_html/namadomain.com

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

Kemudian, buka file konfigurasi baru di Server Block (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

server { 
listen 80;
server_name nama_domain.com www.nama_domain.com;
root /var/www/public_html/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:/run/php/php8.0-fpm.sock;
}

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

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 20.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 20.04

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

sudo nginx -t
sudo systemctl reload nginx
sudo systemctl restart nginx

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

Selanjutnya Anda bisa membuat file index.php untuk proses pengecekan apakah service PHP sudah bekerja dengan baik.

Jalankan perintah dibawah dan isikan file php dibawah.

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

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

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

Jika berhasil maka akan menampilkan informasi mengenai PHP server Anda.

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

4. Testing Database MariaDB dari PHP 8

Langkah terakhir adalah melakukan pengecekan database menggunakan PHP.

Silakan Anda login ke prompt mariaDB dengan menjalankan perintah berikut.

sudo mariadb

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

Buat database baru dan gunakan melalui prompt dengan command dibawah. Saya akan membuat database dengan nama novri.

CREATE DATABASE nama-database;

Lalu gunakan database contoh yang telah dibuat.

USE nama-database;

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 20.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)
);

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

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

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

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

SELECT * FROM test;

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

Setelah selesai, langsung saja keluar dari prompt sql.

exit

Buat privileges database untuk user database yang telah Anda buat sebelumnya. Bila belum membuat user database, silakan jalankan perintah membuat user database dahulu.

CREATE USER 'nama-user'@'localhost' IDENTIFIED BY 'isi-password';

Jika sudah membuat user database, baru buatlah privileges database untuk user tersebut.

GRANT ALL PRIVILEGES ON nama-database.* TO 'nama-user'@'localhost' IDENTIFIED BY 'isi-password';
FLUSH PRIVILEGES;

Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 20.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/public_html/nama-domain.com/index.php
<?php
$user = "user-database";
$password = "password-database";
$database = "nama-database";
$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 20.04

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

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

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

Demikianlah Cara Install Nginx, MariaDB dan PHP (LEMP) di Ubuntu 20.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
Tags
Show More

Kbtegno

Halo, saya kbtegno. Pada blog ini saya akan membahas seputar panduan dan tips hosting, email, domain, vps, server, website, linux dan cms. Jangan lupa untuk shared dan bookmark kbtegno.com agar lebih mudah mendapatkan informasi tutorial maupun tips dari kami.

Related Articles

2 Comments

    1. Untuk pindah antar server bisa langsung download data dari server baru (SSH), gunakan wget atau scp atau rsync. Sedangkan untuk import database bisa dari phpMyadmin ataupung langsung dari SSH.

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button
Close