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
|
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
MariaDB [(none)]> \s
--------------
mysql Ver 15.1 Distrib 10.0.29-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Connection id: 33
Current database:
Current user: webapps@apache.lxd
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server: MariaDB
Server version: 10.0.29-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04
Protocol version: 10
Connection: 10.0.8.119 via TCP/IP
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8mb4
Conn. characterset: utf8mb4
TCP port: 3306
Uptime: 52 sec
Threads: 2 Questions: 94 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 78 Queries per second avg: 1.807
--------------
|
Bandingkan status MariaDB jika diakses langsung dari mesin servernya. Pada status Connection terlihat koneksi yang digunakan untuk mengakses MariaDB.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
MariaDB [(none)]> \s
--------------
mysql Ver 15.1 Distrib 10.0.29-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Connection id: 32
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server: MariaDB
Server version: 10.0.29-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8mb4
Conn. characterset: utf8mb4
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 17 sec
Threads: 1 Questions: 91 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 78 Queries per second avg: 5.352
--------------
|
Pengujian via PHP
Pengujian dilakukan dengan membuat file koneksi database PHP.
Membuat file koneksi
|
nano /var/www/html/database.php
|
Isinya
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?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.
selamat mencoba
Tidak ada komentar:
Posting Komentar