Cara Memisahkan Apache Web Server dan MariaDB Database Server

Cara Memisahkan Apache Web Server dan MariaDB Database Server

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 16.04
10.0.8.38 = Apache Web Server
10.0.8.119 = MariaDB Database Server

Konfigurasi MariaDB Server

Edit file config MariaDB

Ganti bind-address dari 127.0.0.1 menjadi IP Server MariaDB

Restart service MariaDB

Membuat user agar MariaDB dapat diakses dari IP 10.0.8.38.

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

Login ke MariaDB Server

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

Isinya

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

Tambahkan config MariaDB server pada baris paling bawah.

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.

selamat mencoba 🙂

3 Comments

  1. terimakasih penjelasannya pak..
    bagaimana ya menentukan servernya, apakah disama ratakan atau bagaimana idealnya
    misal 1gb ram untuk web apps, 2gb ram untuk database server
    atau sebaliknya… karena ketiga database dibagung dengan web server saya melihat sepertinya mysql boros resource

    lalu untuk pemisahan, apakah performa akan tetap atau turun ya pak? soalx paket melewati switch atau router terlebih dahulu (misal dalam bentuk virtual)

    lalu topology yang cocok seperti apa ya pak misal ditambah load balancing di sisi web appsnya dan databasex terpisah. apkah seperti ini :

    1. server1 -> ( LB?/cluster?) ->(dbserver1, dbserver2) -> (apakah begini bisa? atau diantara server ke dbserver perlu cluster)
    2. LB -> (server1,server2) -> database digabung di webserver
    3. LB -> (server1,server2) -> ( LB?/cluster?) -> (dbserver1)
    4. LB -> (server1,server2) -> ( LB?/cluster?) -> (dbserver1,dbserver2)

Leave a Reply

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