Contoh Kasus :

Memisahkan Apache dan MariaDB pada mesin server yang berbeda bertujuan agar pemakaian sumber daya (RAM, CPU, I/O) terpisah, tidak saling membebani. Pemisahan server ini dapat dilakukan dengan mengkonfigurasi MariaDB agar dapat diakses secara remote.

Tutorial ini menggunakan Ubuntu Server 20.04

10.0.8.38 = Apache Web Server

10.0.8.119 = MariaDB Database Server

Konfigurasi MariaDB Server

Edit file config MariaDB

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Ganti bind-address dari 127.0.0.1 menjadi IP Server MariaDB

bind-address = 10.0.8.119

Restart service MariaDB

sudo systemctl restart mysql

Membuat user agar MariaDB dapat diakses dari IP 10.0.8.38.

mysql -u root -p

CREATE USER 'webapps'@'10.0.8.38' IDENTIFIED BY 'webapps';

GRANT ALL PRIVILEGES ON *.* TO 'webapps'@'10.0.8.38';

FLUSH PRIVILEGES;

Pengujian Akses

Pengujian via MariaDB Client (Console)

Setelah melakukan konfigurasi pada MariaDB, selanjutnya melakukan pengujian mengakses MariaDB server dari mesin Apache server dengan menggunakan aplikasi mariadb-client.

Install mariadb-client

apt install mariadb-client

Login ke MariaDB Server

mysql -u webapps -h 10.0.8.119 -p

Cek status MariaDB


Bandingkan status MariaDB jika diakses langsung dari mesin servernya. Pada status Connection terlihat koneksi yang digunakan untuk mengakses MariaDB.


Pengujian via PHP

Pengujian dilakukan dengan membuat file koneksi database PHP.

Membuat file koneksi

nano /var/www/html/database.php

Isinya

<?php

$hostname = "10.0.8.119";

$username = "webapps";

$password = "webapps";

$database = "mysql";

 $con = new mysqli($hostname, $username, $password, $database);

 if(!$con){

  echo "Database Error ".mysqli_error();

  exit;

} else {

  echo "Sukses terhubung ke database";

}

 mysqli_close($con);

?> 

Akses http://IP_WEB_SERVER/database.php, jika berhasil tampil pesan Sukses terhubung ke database.

phpMyAdmin

Secara default phpMyAdmin hanya untuk mengakses database MariaDB/MySQL yang berada pada server yang sama dengan web server. Agar dapat mengakses database MariaDB/MySQL secara remote yang berada pada server yang lain kita harus menambahkan konfigurasi database server.

Edit file config phpMyAdmin

cd /etc/phpmyadmin

cp config.sample.inc.php config.inc.php

nano config.inc.php 

Tambahkan config MariaDB server pada baris paling bawah.

$i++;

$cfg['Servers'][$i]['verbose'] = 'Server 10.0.8.119';

$cfg['Servers'][$i]['host'] = '10.0.8.119';

$cfg['Servers'][$i]['port'] = '3306';

$cfg['Servers'][$i]['socket'] = '';

$cfg['Servers'][$i]['connect_type'] = 'tcp';

$cfg['Servers'][$i]['extension'] = 'mysqli';

$cfg['Servers'][$i]['auth_type'] = 'cookie';

$cfg['Servers'][$i]['AllowNoPassword'] = false;

Akses http://IP_WEB_SERVER/phpmyadmin.

Ada tambahan pilihan Server Choice.

Login menggunakan user dan password yang sudah dibuat sebelumnya.

Lihat info Database server, no IP 10.0.8.119.