Tutorial instalasi phpPgAdmin pada Rocky Linux 8


Apabila diperlukan alat bantu pengelolaan sistem database PostgreSQL, kita dapat menggunakan phpPgAdmin, yang berbasis web. Dengan demikian, untuk bekerja dengan database, kita cukup menggunakan web browser. Apa yang diperlukan adalah Apache HTTP Server dan PHP (dengan tambahan ekstensi tertentu). Kita dapat menginstalasi phpPgAdmin pada komputer yang sama dengan instalasi server PostgreSQL, ataupun di komputer berbeda.

Tutorial ini mengasumsikan sistem operasi yang digunakan adalah Rocky Linux 8, dimana semua yang dibutuhkan untuk menjalankan phpPgAdmin tersedia sebagai package yang siap diinstalasi. Untuk phpPgAdmin sendiri, kita akan menggunakan versi terbaru pada saat tutorial ini ditulis, yaitu versi 7.13.0. Dalam tutorial ini, PostgreSQL diinstalasi pada komputer yang sama.

Catatan:


A. Instalasi dan Konfigurasi PostgreSQL

Apabila PostgreSQL telah terinstal atau ingin menggunakan instalasi PostgreSQL di komputer lain, pembahasan ini dapat dilewati.

Rocky Linux menyediakan beberapa versi PostgreSQL dalam repositori AppStream. Untuk melakukan instalasi versi default, berikanlah perintah berikut:

dnf install postgresql postgresql-server

Apabila membutuhkan PostgreSQL versi tertentu (misal versi 9.6 untuk kompatibilitas dengan sistem tertentu), berikanlah perintah berikut sebelum menjalankan perintah instalasi sebelumnya:

dnf module list postgresql
dnf module enable postgresql:9.6

Setelah instalasi selesai, lakukanlah inisialisasi database dengan perintah berikut:

postgresql-setup --initdb

Kemudian, pastikanlah PostgreSQL dijalankan dengan perintah berikut:

systemctl enable postgresql
systemctl start postgresql

Pada tutorial ini, PostgreSQL dikonfigurasi agar mengijinkan semua user dapat mengakses semua database selama berasal dari 127.0.0.1, dengan metode otentikasi adalah md5. Sesuaikanlah apabila Anda menggunakan konfigurasi berbeda (misal metode yang lebih modern). Untuk menyesuaikan konfigurasi host-based authentication ini, editlah file /var/lib/pgsql/data/pg_hba.conf dengan editor teks (misal: nano).

nano /var/lib/pgsql/data/pg_hba.conf

Dengan konfigurasi yang disebutkan sebelumnya, pastikanlah terdapat baris berikut dalam file pg_hba.conf, dalam kondisi tidak dikomentari (baris tidak diawali karakter #):

host all all 127.0.0.1/32 md5

Setelah mengedit file ini, restartlah PostgreSQL dengan perintah berikut:

systemctl restart postgresql

Sebelum kita menutup pembahasan ini, mari kita buat sebuah user dengan nama test (dimana diberikan password tertentu dan hak untuk membuat database). Dengan su, jadilah user postgres untuk membuat user:

su postgres
createuser -d -P test

Kemudian, setelah user database dibuat, buatlah database test sebagai user test tersebut. Dalam hal ini, kita dapat kembali ke user sistem lain (tidak lagi postgres).

createdb -h 127.0.0.1 -U test test

Nantinya, setelah phpPgAdmin setelah diinstalasi, kita akan mengelola database sebagai user test ini.


B. Instalasi Apache HTTP Server dan PHP

Berikanlah perintah berikut untuk melakukan instalasi httpd, php, dan ekstensi yang diperlukan:

dnf install httpd php php-pgsql php-mbstring

Setelah selesai, pastikanlah httpd dijalankan dengan perintah berikut:

systemctl enable httpd
systemctl start httpd

Kita akan menggunakan alias /phppgadmin untuk mengakses instalasi phpPgAdmin. Untuk itu, buatlah file /etc/httpd/conf.d/phppgadmin.conf dengan isi file sebagai berikut:

Alias /phppgadmin /var/www/phppgadmin
<Directory /var/www/phppgadmin>
    AuthType Basic
    AuthName "FrontEnd"
    AuthUserFile /etc/httpd/.passwd
    Require valid-user
<Directory>

Merujuk pada file tersebut, kita:

Buatlah user untuk basic auth tersebut dengan perintah berikut (dengan contoh user yang dibuat adalah admin):

htpasswd -c /etc/httpd/.passwd admin

Restartlah httpd setelah membuat file konfigurasi phppgadmin.conf:

systemctl restart httpd


C. Instalasi phpPgAdmin

Kita akan mendownload phpPgAdmin dengan wget. Lakukanlah instalasi wget apabila diperlukan.

Instalasi dimulai dengan membuat direktori dan aktif pada direktori yang dibuat tersebut:

mkdir /var/www/phppgadmin
cd /var/www/phppgadmin

Kemudian, kita akan mendownload dan menguraikan arsip hasil download ke direktori aktif:

wget https://github.com/phppgadmin/phppgadmin/releases/download/REL_7-13-0/phpPgAdmin-7.13.0.tar.bz2
tar jxvf phpPgAdmin-7.13.0.tar.bz2
rm phpPgAdmin-7.13.0.tar.bz2
mv phpPgAdmin-7.13.0/* .
rmdir phpPgAdmin-7.13.0

Langkah terakhir adalah mengedit file conf/config.inc.php. Dalam hal ini, kita akan terhubung ke instalasi PostgreSQL di komputer yang sama, sehingga sesuaikanlah baris tersebut pada file konfigurasi:

$conf['servers'][0]['host'] = '127.0.0.1'

Instalasi selesai. Instalasi phpPgAdmin dapat diakses dengan web browser dengan URL <ip>/phppgadmin, dimana <ip> adalah alamat IP komputer yang terinstalasi phpPgAdmin (misal: 127.0.0.1). Apabila basic auth diaktifkan seperti pada tutorial ini, otentikasi akan diperlukan sebelum menggunakan phpPgAdmin.


Terima kasih telah membaca :)