Thursday, October 19, 2017

Cara Install phpPgAdmin di Debian 9 / Ubuntu 16.04 / LinuxMint 18

Advertisement


phpPgAdmin adalah alat administrasi berbasis web untuk mengelola database PostgreSQL, dan sangat mirip dengan phpMyAdmin, alat berbasis web untuk mengelola MySQL (MariaDB).
Jika Anda memiliki pengalaman kerja di phpMyAdmin, maka sangat mudah bagi Anda untuk memahami fungsionalitas phpPgAdmin.
Panduan ini akan membantu Anda untuk menginstal phpPgAdmin pada Debian 9 / Ubuntu 16.04 / LinuxMint 18.

Instal PostgreSQL

Sebelum menyiapkan phpPgAdmin, lihat bagaimana cara menginstal PostgreSQL di Debian 9 / Ubuntu 16.04 / LinuxMint 18.

Periksa layanan PostgreSQL berjalan di server. Dengan perintah
sudo systemctl status postgresql

Jika layanan PostgreSQL berjalan, maka output  hasil perintah diatas seperti dibawah ini :
 postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Thu 2017-09-21 11:15:41 CDT; 2 days ago
 Main PID: 829 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/postgresql.service
 
Sep 21 11:15:41 mydebian systemd[1]: Starting PostgreSQL RDBMS...
Sep 21 11:15:41 mydebian systemd[1]: Started PostgreSQL RDBMS.

Instal phpPgAdmin

phpPgAdmin secara default sudah ada di repositori, jadi, Anda bisa menginstalnya menggunakan perintah install apt-get. Dan berikut perintahnya :
sudo apt-get install -y  phppgadmin apache2

Konfigurasi PostgreSQL

PostgreSQL secara default  hanya terhubung dengan localhost  (127.0.0.1) saja.  Maka dai itu, supaya aplikasi diluar bias terhubung dan bias mengakses database,  kita perlu mengkonfigurasi. Caranya dengan mengubah file postgresql.conf, berikut perintahnya :
nano /etc/postgresql/9.6/main/postgresql.conf

Pada baris :
#listen_addresses = 'localhost'

Ubah menjadi :
listen_addresses = '192.168.1.5'

ganti alamat ip yang digunakan. Setelah itu simpan konfigurasinya.

Secara default, PostgreSQL hanya menerima otentikasi dari localhost. Jika Anda ingin menghubungkan PostgreSQL dari perangkat lain, Anda perlu mengedit file pg_hba.conf. berikut perintahnya
sudo nano /etc/postgresql/9.6/main/pg_hba.conf

Ubah sesuai kebutuhan anda, dan berikut contoh 
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             192.168.1.0/24         md5

Mengkonfigurasi Apache

Karena pembatasan, phpPgAdmin hanya bisa diakses melalui localhost. Jika Anda ingin mengakses antarmuka web phpPgAdmin dari perangkat eksternal, Anda perlu mengedit file konfigurasi apache (phppgadmin.conf).
sudo nano /etc/apache2/conf-enabled/phppgadmin.conf

dan akan muncul konfigurasi seperti ini :
Alias /phppgadmin /usr/share/phppgadmin
 
<Directory /usr/share/phppgadmin>
 
<IfModule mod_dir.c>
DirectoryIndex index.php
</IfModule>
AllowOverride None
 
# Only allow connections from localhost:
Require local
 
<IfModule mod_php.c>
 php_flag magic_quotes_gpc Off
 php_flag track_vars On
 #php_value include_path .
</IfModule>
<IfModule !mod_php.c>
 <IfModule mod_actions.c>
 <IfModule mod_cgi.c>
 AddType application/x-httpd-php .php
 Action application/x-httpd-php /cgi-bin/php
 </IfModule>
 <IfModule mod_cgid.c>
 AddType application/x-httpd-php .php
 Action application/x-httpd-php /cgi-bin/php
 </IfModule>
 </IfModule>
</IfModule>
 
</Directory>

Rubah seperti konfigurasi dibawah ini, atau sesuai keinginan anda :
Alias /phppgadmin /usr/share/phppgadmin
 
<Directory /usr/share/phppgadmin>
 
<IfModule mod_dir.c>
DirectoryIndex index.php
</IfModule>
AllowOverride None
 
# Only allow connections from localhost:
# Require local
Require all granted
<IfModule mod_php.c>
 php_flag magic_quotes_gpc Off
 php_flag track_vars On
 #php_value include_path .
</IfModule>
<IfModule !mod_php.c>
 <IfModule mod_actions.c>
 <IfModule mod_cgi.c>
 AddType application/x-httpd-php .php
 Action application/x-httpd-php /cgi-bin/php
 </IfModule>
 <IfModule mod_cgid.c>
 AddType application/x-httpd-php .php
 Action application/x-httpd-php /cgi-bin/php
 </IfModule>
 </IfModule>
</IfModule>
 
</Directory

Untuk melihat perubahan, restart service nya, dengan perintah :
sudo systemctl restart postgresql
sudo systemctl restart apache2

Mengakses phpPgAdmin

Sekarang akses phpPgAdmin dari browser web Anda, URL akan menjadi:
http://ip-address-anda/phppgadmin
Atau:
http://localhost/phppgamin
jika berhasil akan muncul halaman utama seperti gambar dibawah ini :

Jangan login dulu, karena masih ada beberapa konfigurasi yang harus ditetapkan.

Mengkonfigurasi phpPgAdmin

Jika Anda ingin mengelola beberapa contoh PostgreSQL dari konsol web tunggal, ikuti langkah ini. Jika tidak, Anda bisa melewati langkah ini.
Edit file /etc/phppgadmin/config.inc.php.

sudo nano /etc/phppgadmin/config.inc.php

Tambahkan contoh PostgreSQL Anda di sini.

 // Display name for the server on the login screen
        $conf['servers'][0]['desc'] = 'PostgreSQL - Debian';
        $conf['servers'][1]['desc'] = 'PostgreSQL - Ubuntu';
 
        // Hostname or IP address for server.  Use '' for UNIX domain socket.
        // use 'localhost' for TCP/IP connection on this computer
        $conf['servers'][0]['host'] = 'localhost';
        $conf['servers'][1]['host'] = '192.168.1.6';
 
        // Database port on server (5432 is the PostgreSQL default)
        $conf['servers'][0]['port'] = 5432;
        $conf['servers'][1]['port'] = 5432;
 
        // Database SSL mode
        // Possible options: disable, allow, prefer, require
        // To require SSL on older servers use option: legacy
        // To ignore the SSL mode, use option: unspecified
        $conf['servers'][0]['sslmode'] = 'allow';
        $conf['servers'][1]['sslmode'] = 'allow';

phpPgAdmin tidak akan mengizinkan pengguna tanpa password atau nama pengguna tertentu (pgsql, postgres, root, administrator) untuk login. Untuk mengesampingkan keamanan ekstra ini, ubahlah menjadi false.
$conf['extra_login_security'] = false;

Setting ini hanya menyembunyikan database pengguna lain dari daftar database. Namun, pengguna  lain juga bisa mendapatkan data (dari database lain) dengan menggunakan query SQL.
$conf['owned_only'] = true;

Uji Coba phpPgAdmin

Sekarang, segarkan halaman untuk melihat perubahan yang Anda buat pada phpPgAdmin.

Klik server yang tercantum di panel kiri untuk masuk ke PostgreSQL. Log in menggunakan database user.

Anda sekarang mendapatkan daftar database.

Sama halnya Anda bisa login ke hal lain juga. Masuk ke beberapa contoh PostgreSQL menggunakan phpPgAdmin.
Anda juga bias login ke beberapa PostgreSQL menggunakan phpPgAdmin

Artikel Terkait

Silahkan berkomentar dengan sopan sesuai topik yang dibahas. Mohon tidak meninggalkan URL. Silahkan berkomentar dengan sopan serta sesuai topik dan dimohon untuk tidak meninggalkan link aktif.

Terima Kasih.

EmoticonEmoticon