Nur Hamim
Nur Hamim Anak desa yang gemar berkomunitas, suka menulis dan mencari hal baru seputar Unix/Linux dan Cloud. Saat ini sedang menempuh pendidikan S1 TI di Unindra dan kebetulan bekerja di PT Biznet GIO Nusantara

Cara Install pgAdmin4 di CentOS 8


Cara Install pgAdmin4 di CentOS 8

pgAdmin adalah sebuah proyek open source yang dapat digunakan secara gtratis yang dirilis dibawah lisensi PostgreSQL/Artistic licence. pgAdmin dapat Anda gunakan untuk pengelolaan database postgresql, pgadmin layaknya phpmyadmin jika di database mariadb atau mysql.

pgAdmin dapat diinstall di berbagai macam sistem operasi mulai dari Windows, Linux, MacOS.

Pada tutorial kali ini kami akan melakukan instalasi pgAdmin versi 4 di CentOS 8 serta bagaimana cara mengkoneksikan antara pgAdmin dengan database postgresql.

Sebelum mengikuti tutorial kali ini pastikan Anda sudah install terlebih dahulu postgresql nya: Cara Install PostgreSQL di CentOS 8

Untuk instalasi pgAdmin pertama kali yang harus kita lakukan yaitu install epel repository terlebih dahulu.

1
2
[root@pg1 ~]#
[root@pg1 ~]# dnf install epel-release -y

Karena pgAdmin akan diakses melalui web browser maka kita perlu install terlebih dahulu web server yang akan digunakna, disini kami mengunakan apache web server.

1
2
[root@pg1 ~]#
[root@pg1 ~]# dnf install httpd -y

Start apache dan pastikan statusnya running

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@pg1 ~]# systemctl start httpd; systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: reloading (reload) since Fri 2020-09-04 19:00:09 UTC; 19ms ago
     Docs: man:httpd.service(8)
 Main PID: 7464 (httpd)
   Status: "Reading configuration..."
    Tasks: 1 (limit: 11328)
   Memory: 3.2M
   CGroup: /system.slice/httpd.service
           └─7464 /usr/sbin/httpd -DFOREGROUND

Sep 04 19:00:03 pg1.nurhamim.my.id systemd[1]: Starting The Apache HTTP Server...
Sep 04 19:00:09 pg1.nurhamim.my.id systemd[1]: Started The Apache HTTP Server.
[root@pg1 ~]#

Install repository postgresql

1
2
[root@pg1 ~]#
[root@pg1 ~]# dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Disable module appstream default postgresql di CentOS 8

1
2
3
[root@pg1 ~]#
[root@pg1 ~]# dnf -qy module disable postgresql
[root@pg1 ~]#

Install pgAdmin4 menggunakan command berikut

1
2
[root@pg1 ~]#
[root@pg1 ~]# dnf install pgadmin4 -y

Pindah ke direktori apache dan copy sample config pgadmin4

1
2
3
4
5
[root@pg1 ~]#
[root@pg1 ~]# cd /etc/httpd/conf.d/
[root@pg1 conf.d]#
[root@pg1 conf.d]# cp pgadmin4.conf.sample pgadmin4.conf
[root@pg1 conf.d]#

Enable apache dan pastikan status nya running

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@pg1 conf.d]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@pg1 conf.d]#
[root@pg1 conf.d]# systemctl status httpd -l
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2020-09-04 19:00:09 UTC; 7min ago
     Docs: man:httpd.service(8)
 Main PID: 7464 (httpd)
   Status: "Running, listening on: port 80"
    Tasks: 213 (limit: 11328)
   Memory: 24.6M
   CGroup: /system.slice/httpd.service
           ├─7464 /usr/sbin/httpd -DFOREGROUND
           ├─7467 /usr/sbin/httpd -DFOREGROUND
           ├─7468 /usr/sbin/httpd -DFOREGROUND
           ├─7469 /usr/sbin/httpd -DFOREGROUND
           └─7470 /usr/sbin/httpd -DFOREGROUND

Sep 04 19:00:03 pg1.nurhamim.my.id systemd[1]: Starting The Apache HTTP Server...
Sep 04 19:00:09 pg1.nurhamim.my.id systemd[1]: Started The Apache HTTP Server.
Sep 04 19:00:14 pg1.nurhamim.my.id httpd[7464]: Server configured, listening on: port 80
[root@pg1 conf.d]#

Membuat direktori lib dan log untuk pgAdmin4

1
2
[root@pg1 conf.d]# mkdir -p /var/lib/pgadmin4
[root@pg1 conf.d]# mkdir -p /var/log/pgadmin4

Mendeklarasi lokasi / path file log, database SQLite, database session dan penyimpanan dalam file konfigurasi Python untuk pgAdmin dalam file

1
2
[root@pg1 conf.d]#
[root@pg1 conf.d]# vim /usr/lib/python3.6/site-packages/pgadmin4-web/config_distro.py

Tambahkan file konfigurasi sebagai beriikut

1
2
3
4
5
6
7
HELP_PATH = '/usr/share/doc/pgadmin4-docs/en_US/html'
UPGRADE_CHECK_ENABLED = False

LOG_FILE = '/var/log/pgadmin4/pgadmin4.log'
SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
STORAGE_DIR = '/var/lib/pgadmin4/storage'

Jalankan script python berikut untuk setup pgadmin dan membuat username dan password login ke sisi pgadmin

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@pg1 conf.d]#
[root@pg1 conf.d]# python3 /usr/lib/python3.6/site-packages/pgadmin4-web/setup.py
NOTE: Configuring authentication for SERVER mode.

Enter the email address and password to use for the initial pgAdmin user account:

Email address: me@nurhamim.my.id
Password: #Isikan_Password
Retype password: #Konfirmasi_Password
pgAdmin 4 - Application Initialisation
======================================

[root@pg1 conf.d]#

Noted: input email dan password yang akan digunakan untuk login ke sisi pgadmin

Change owner menjadi apache untuk direktori pgadmin di lib dan log yang kita buat sebelumnya.

1
2
3
[root@pg1 conf.d]# chown -R apache:apache /var/lib/pgadmin4
[root@pg1 conf.d]# chown -R apache:apache /var/log/pgadmin4
[root@pg1 conf.d]#

Restart apache

1
2
[root@pg1 conf.d]# systemctl restart httpd
[root@pg1 conf.d]#

Disini kami sudah menyiapkan subdomain yang akan digunakan oleh pgadmin4 yaitu pgadmin4.nurhamim.my.id subdomain tersebut sudah kami arahkan ke public IP instance/VM dengan cara menambahkan A record.

Verifikasi subdomain menggunakan ping

Akses subdomain pgadmin04.nurhamim.my.id/pgadmin4 jika Anda tidak menggunakan domain silakan akses_public_ip_vm/pgadmin4_ hasilnya seperti berikut, silakan input username dan password yang sudah dibuat seeblumnya.

Berikut default tampilan dari dashboard pgadmin4

Untuk menambahkan server database postgre, silakan klik Add New Server

Kemudian, isi name server database postgre Anda

Pindah ke tab connection lalu isikan host/ipaddress server database postgre beserta username dan password nya. Jika sudah klik Save

Saat ini server postgresql Anda sudah ditambahkan ke pgadmin4 dan sudah dapat dikelola atau management database postgresql menggunakan pgadmin.

Gambar diatas hanya sebagai contoh hasil misalnya membuat database, dan membuat tabel di dala database.

Selamat mencoba 😁

comments powered by Disqus