WHAT'S NEW?
Loading...

Lab 9.2 Instalasi PhpPgAdmin Pada PostgresQL Di CentOS 7

Assalamualaikum
Pada kali ini ane ingin share cara install phpPgAdmin pada centos 7. Jadi phpPgAdmin ini adalah sebuah postgresql client yang diakses via web. So, kita ga perlu ngetik command lagi buat bikin database atau yg lainnya.

Pastikan centos anda sudah terhubung ke internet dan sudah terinstall postgresql. Bisa dilihat disini. Paket phpPgAdmin tidak ada pada repository bawaan centos, tapi ada di repository epel. Oke langsung saja kita install dahulu repo epel, lalu install phpPgAdminnya. 

Topologi :


1. Install terlebih dahulu repository epel untuk menginstall phpPgAdmin
yum -y install epel-release

2. Install httpd, kemudian install phpPgAdmin
yum -y install httpd; yum -y install phpPgAdmin

3. Konfigurasi halaman phpPgAdmin
nano /etc/phpPgAdmin/config.inc.php

Kita akan mendefinisikan dimana letak postgresql servernya. Disini saya mengaturnya menjadi localhost, karena postgresql server dan phpPgAdmin berada dalam satu server yang sama. Untuk mengaturnya terletak pada baris $conf['servers'][0]['host']

Kemudian kita akan mengkonfigurasi agar phpPgAdmin hanya menampilkan database suatu user yang ditampilkan saja, Jadi suatu user tidak dapat melihat database milik user yang lain. Atur $conf['owned_only']  menjadi true

Atur nama server pada saat tampilan login, cari baris $conf['servers'][0]['desc'] dan atur menjadi sesuka anda, disini saya mengubahnya menjadi 'iqbal-postgresql'

4. Konfigurasi agar potgresql menggunakan password pada saat mengakses suatu database. 
nano /var/lib/pgsql/data/pg_hba.conf

cari baris keterangan "local" is for unix domain socket connections only dan pada baris dibawahnya ubah menjadi seperti ini, dan tentukan network pada server anda. Tujuannya adalah agar suatu host yang mengakses postgresql akan diubah metode autentikasinya menjadi md5, yaitu merupakan password. Jadi host yang telah didefinisikan kalau mengakses database postgresql akan dimintai password user yang didaftarkan dulu. Disini kita dapat memasukkan seluruh network suatu jaringan, atau ip tertentu, atau juga semua ip, 0.0.0.0/0. Sedangkan untuk local biarkan secara default.

5. Restart service postgresql agar service yang baru diubah berjalan
systemctl restart postgresql

6. Konfigurasi httpd untuk website phpPgAdmin. 
nano /etc/httpd/conf.d/phpPgAdmin.conf

Disini kita akan mengatur agar hanya network 172.16.0.0/26 atau network yang anda daftarkan saja yang dapat mengakses module mod_authz_core.c saja. Hal ini digunakan agar tidak semua orang dapat mengakses phpPgAdmin untuk alasan keamanan. Caranya adalah menambahkan baris Require ip network/prefix didalam tag IfModule mod_authz_core.c


7. Untuk pengujiannya, disini saya akan membuat user postgresql beserta database postgresql untuk user postgresql tersebut dan memberikan user tersebut password. Caranya adalah seperti ini
su - postgres
 su - postgres : untuk masuk ke bash postgresql
createuser hudzaifah : membuat user hudzaifah
createdb hud-db -O hudzaifah : membuat database hud-db untuk user hudzaifah. -O hudzaifah berarti menandakan kepemilikan database tersebut.
pgsql hud-db : untuk masuk ke database hud-db (yang telah dibuat)
alter user hudzaifah with password 'gatau'; membuat role user hudzaifah agar dapat mengakses database hud-db dengan password gatau

8. Jalankan dan aktifkan service httpd
systemctl start httpd
systemctl enable httpd

9. Izinkan service http pada firewall agar user yang terhubung dapat mengakses website ini
firewall-cmd --permanent --add-service http
firewall-cmd --reload

10. Izinkan SELinux Boolean agar bisa mengakses database lewat website
setsebool -P httpd_cannetwork_connect_db on

11. Buka http://ipataudomainanda/phpPgAdmin/ untuk mengakses phpPgAdmin, kemudian coba login dengan user yang telah dibuat tadi

12. Selesai sudah sekarang kita dapat mengutakatik database lewat web


SELESAI


Semoga Bermanfaat

0 komentar:

Posting Komentar