1. Persiapan Awal
1.1 Update dan Upgrade Sistem
sudo apt update && sudo apt upgrade -y
2. Instalasi Apache, PHP, dan MariaDB
2.1 Instalasi Apache dan PHP
sudo apt install apache2 php php-mysql -y
2.2 Instalasi MariaDB
sudo apt install mariadb-server -y
3. Konfigurasi Multi-Instance MariaDB
3.1 Konfigurasi Instance Default (Port 3306)
MariaDB sudah berjalan dengan port default 3306. Periksa dengan:
sudo systemctl status mariadb
3.2 Membuat Instance Tambahan (Port 3435)
Buat direktori konfigurasi tambahan:
sudo mkdir -p /etc/mysql/mariadb3435
sudo cp -r /etc/mysql/mariadb.conf.d /etc/mysql/mariadb3435/
Edit konfigurasi untuk instance baru:
sudo nano /etc/mysql/mariadb3435/mysqld.cnf
Tambahkan atau ubah baris berikut:
[mysqld]
port = 3435
socket = /var/run/mysqld/mysqld3435.sock
datadir = /var/lib/mysql3435
pid-file = /run/mysqld/mysqld3435.pid
log-error = /var/log/mysql3435.log
Buat direktori data baru:
sudo mkdir /var/lib/mysql3435
sudo chown -R mysql:mysql /var/lib/mysql3435
sudo mysql_install_db --datadir=/var/lib/mysql3435 --user=mysql
Tambahkan layanan systemd:
sudo cp /lib/systemd/system/mariadb.service /etc/systemd/system/mariadb3435.service
sudo nano /etc/systemd/system/mariadb3435.service
Ganti semua referensi mysqld menjadi mysqld --defaults-file=/etc/mysql/mariadb3435/mysqld.cnf.
Maksud dari instruksi tersebut adalah kita harus membuat layanan systemd baru untuk instance MariaDB yang berjalan di port 3435. Caranya adalah dengan menduplikasi layanan MariaDB bawaan (mariadb.service) lalu mengeditnya agar menggunakan konfigurasi khusus untuk instance di port 3435.
Langkah-langkahnya:
- Salin file layanan bawaan MariaDB
sudo cp /lib/systemd/system/mariadb.service /etc/systemd/system/mariadb3435.service- Ini akan membuat layanan baru dengan nama
mariadb3435.service.
- Edit file layanan yang baru dibuat
sudo nano /etc/systemd/system/mariadb3435.service- Dalam file ini, kita akan melihat beberapa referensi ke
mysqld, yang merupakan perintah utama untuk menjalankan MariaDB.
- Modifikasi layanan untuk menggunakan konfigurasi baru
Cari bagian yang mirip dengan:ExecStart=/usr/sbin/mysqld- Ubah menjadi:
ExecStart=/usr/sbin/mysqld --defaults-file=/etc/mysql/mariadb3435/mysqld.cnf - Ini memastikan bahwa layanan
mariadb3435.serviceakan membaca konfigurasi dari filemysqld.cnfyang telah Anda buat khusus untuk instance ini.
- Simpan perubahan dan reload systemd
TekanCTRL+X, laluY, danENTERuntuk menyimpan file. Reload systemd agar mengenali layanan baru:sudo systemctl daemon-reload
- Mulai dan aktifkan layanan baru
sudo systemctl enable mariadb3435sudo systemctl start mariadb3435
- Verifikasi apakah layanan berjalan dengan baik
sudo systemctl status mariadb3435
Dengan langkah ini, Anda sekarang memiliki dua instance MariaDB yang berjalan secara terpisah:
- Instance utama di port
3306 - Instance tambahan di port
3435dengan konfigurasi khusus
Reload systemd dan aktifkan layanan baru:
sudo systemctl daemon-reload
sudo systemctl enable mariadb3435
sudo systemctl start mariadb3435
4. Konfigurasi phpMyAdmin
4.1 Instalasi phpMyAdmin
sudo apt install phpmyadmin -y
Tambahkan konfigurasi untuk setiap instance MariaDB.
5. Pengamanan Server
5.1 Konfigurasi SSH
Edit file konfigurasi SSH:
sudo nano /etc/ssh/sshd_config
Ubah baris berikut:
Port 8888
PermitRootLogin no
Restart SSH:
sudo systemctl restart ssh
Blokir port 22 dengan UFW:
sudo ufw allow 8888/tcp
sudo ufw deny 22/tcp
5.2 Batasi Akses Database
Di MariaDB, jalankan:
CREATE USER 'user'@'192.168.1.%' IDENTIFIED BY 'passwordku';
GRANT ALL PRIVILEGES ON database_db.* TO 'user'@'192.168.1.%';
FLUSH PRIVILEGES;
Blokir akses root:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'passwordbaru';
6. Pengujian dan Verifikasi
- Cek status layanan MariaDB:
sudo systemctl status mariadb mariadb3435 - Tes akses melalui phpMyAdmin.
- Pastikan SSH hanya bisa diakses melalui port 8888.
Bagaimana Cara Membuat Database di Instance 3306 (Port Default 3306) dan Intstance/Port 3435
Untuk menambahkan database di kedua port (3306 dan 3435), Anda perlu memastikan bahwa Anda terhubung ke instance yang benar sebelum membuat database. Berikut langkah-langkahnya:
1. Menambahkan Database di Port 3306 (Default)
- Masuk ke MariaDB menggunakan terminal:
sudo mysql -u root -p- Masukkan password root jika diminta.
- Buat database baru di port 3306:
CREATE DATABASE database_db;
- Cek apakah database berhasil dibuat:
SHOW DATABASES;
- Jika sudah selesai, keluar dari MariaDB:
EXIT;
2. Menambahkan Database di Port 3435
Karena MariaDB menggunakan multi-instance, kita harus secara eksplisit menghubungkan ke instance yang berjalan di port 3435.
- Masuk ke MariaDB di port 3435:
mysql -u root -p --port=3435 --socket=/var/run/mysqld/mysqld3435.sock- Masukkan password root jika diminta.
- Buat database baru di port 3435:
CREATE DATABASE database_db;
- Cek apakah database berhasil dibuat:
SHOW DATABASES;
- Jika sudah selesai, keluar dari MariaDB:
EXIT;
Bagaimana Cara Login ke PhpMyAdmin Meggunakan Port 3435?
Agar phpMyAdmin bisa digunakan untuk mengakses MariaDB di port 3435, Anda perlu melakukan beberapa konfigurasi tambahan. Berikut langkah-langkahnya:
1. Pastikan phpMyAdmin Sudah Terinstal
Jika belum, instal phpMyAdmin dengan perintah:
sudo apt install phpmyadmin -y
2. Tambahkan Konfigurasi untuk Port 3435 di phpMyAdmin
- Buka file konfigurasi phpMyAdmin:
sudo nano /etc/phpmyadmin/config.inc.php
- Tambahkan server baru untuk MariaDB di port 3435
Tambahkan bagian ini di akhir- sebelum
?>(jika ada): $i++;$cfg['Servers'][$i]['verbose'] = 'MariaDB 3435';$cfg['Servers'][$i]['host'] = '192.168.1.1';(Ip Server)$cfg['Servers'][$i]['port'] = 3435;$cfg['Servers'][$i]['socket'] = '/var/run/mysqld/mysqld3435.sock';$cfg['Servers'][$i]['auth_type'] = 'cookie';
- sebelum
- Simpan dan keluar
TekanCTRL+X, laluY, dan tekanENTER.
3. Restart Apache untuk Menerapkan Perubahan
sudo systemctl restart apache2
4. Login ke phpMyAdmin dengan Port 3435
- Buka phpMyAdmin di browser:
http://server-ip/phpmyadmin- (Gantilah
server-ipdengan alamat IP server Anda.)
- Pilih server yang sesuai:
- Pada halaman login, di bagian “Server Choice” (jika tersedia), pilih MariaDB 3435
- Jika opsi ini tidak muncul, langsung login dengan memasukkan:
- Username:
user - Password: sesuai yang sudah Anda buat
- Server:
127.0.0.1:3435
- Username:
- Klik “Login”, lalu Anda seharusnya bisa masuk dan melihat database di port 3435.
5. Uji Koneksi
Jika masih gagal login, coba uji koneksi manual:
mysql -u user -p --port=3435 --socket=/var/run/mysqld/mysqld3435.sock
Jika koneksi berhasil, berarti konfigurasi MariaDB sudah benar, dan kemungkinan masalah ada di phpMyAdmin.
Bagaimana Cara Create User PhpMyAdmin atau Crate User Database port 3435
Untuk membuat user database di MariaDB dengan port 3435, ikuti langkah-langkah berikut:
1. Login ke MariaDB di Port 3435
Karena Anda menggunakan multi-instance MariaDB, pastikan Anda terhubung ke port yang benar.
mysql -u root -p --port=3435 --socket=/var/run/mysqld/mysqld3435.sock
Kemudian masukkan password root jika diminta.
2. Buat User Baru untuk Database di Port 3435
Misalkan Anda ingin membuat user dengan nama user yang hanya bisa mengakses database dari IP tertentu (misalnya 192.168.1.100).
a) Buat user baru
CREATE USER 'user'@'192.168.1.100' IDENTIFIED BY 'password_kuat';
Gantilah password_kuat dengan password yang kuat.
Jika ingin user bisa login dari mana saja:
CREATE USER 'user'@'%' IDENTIFIED BY 'password_kuat';
b) Berikan Hak Akses ke Database
Jika user hanya boleh mengakses database jbsakad, gunakan:
GRANT ALL PRIVILEGES ON database_db.* TO 'user'@'192.168.1.100';
Jika ingin memberikan akses penuh ke semua database di MariaDB (tidak disarankan untuk keamanan):
GRANT ALL PRIVILEGES ON *.* TO 'user'@'192.168.1.100' WITH GRANT OPTION;
c) Terapkan Perubahan
Setelah memberikan hak akses, jalankan:
FLUSH PRIVILEGES;
Lalu keluar dari MariaDB:
EXIT;
3. Uji Koneksi dengan User Baru
Dari terminal server atau komputer yang diizinkan (192.168.1.100):
mysql -u user -p --host=192.168.1.1 --port=3435
Jika login berhasil, maka user telah dibuat dengan benar.
4. Login ke phpMyAdmin dengan User Baru
- Buka phpMyAdmin di browser:
http://server-ip/phpmyadmin
- Masukkan:
- Username: user
- Password: (sesuai yang Anda buat)
- Server:
192.168.1.1:3435
- Klik Login, dan Anda seharusnya bisa mengakses database
database_dbdi port 3435.
5. (Opsional) Membatasi Akses Root
Untuk alasan keamanan, Anda bisa memblokir akses root dari luar dengan menjalankan:
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'root'@'%';
FLUSH PRIVILEGES;
Ini memastikan bahwa root hanya bisa login dari dalam server.
Sekarang user “user” bisa mengelola database di port 3435, baik melalui phpMyAdmin maupun terminal.