Installing Postgres
Pada langkah ini, Anda akan menginstal Postgres di server Anda. Hal pertama yang harus dilakukan adalah SSH ke server Anda dengan menjalankan:
ssh server_user@server_ip
Note:server_user
adalah pengguna server Anda yang ingin Anda masukiserver_ip
adalah alamat IP server Anda
Kemudian masukkan kata sandi pengguna yang relevan atau kata sandi kunci SSH jika ada. Selanjutnya, perbarui paket dan dependensi server Anda dengan menjalankan:
sudo apt-get update
Setelah selesai, instal Postgres dengan menjalankan:
sudo apt-get install postgresql postgresql-contrib
Ini akan menginstal Postgres bersama dengan dependensi terkaitnya. Ketika proses selesai, alihkan pengguna ke postgres untuk dapat menjalankan perintah Postgres dengan pengguna default Postgres dengan menjalankan:
su - postgres
Pengguna server akan dialihkan dari root ke postgres. Anda dapat mengakses shell Postgres dengan menjalankan:
psql
Anda akan diperlihatkan sesuatu yang mirip dengan ini:
postgres@logrocket:~$ psql psql (10.12 (Ubuntu 10.12-0ubuntu0.18.04.1)) Type "help" for help postgres=#
Create user
Pada langkah ini, Anda akan membuat pengguna baru yang akan digunakan untuk mengakses database Postgres Anda dari jarak jauh. Untuk membuat pengguna baru, keluar dari shell Postgres dengan menjalankan:
\q
Saat masih login sebagai postgres, jalankan perintah berikut untuk membuat pengguna baru:
createuser --interactive --pwprompt
Prompt akan ditampilkan kepada Anda meminta Anda untuk memasukkan peran pengguna yang diinginkan, nama, kata sandi, dan jika Anda ingin pengguna menjadi pengguna super. Berikut ini contohnya:
Enter name of role to add: cleopatra Enter password for new role: Enter it again: Shall the new role be a superuser? (y/n) y
Saya menamai peran pengguna saya cleopatra dan saya menjadikan pengguna saya pengguna super. Pengguna super adalah pengguna yang memiliki semua hak istimewa yang tersedia pada instance Postgres. Selanjutnya, kita akan menugaskan cleopatra ke database. Untuk melakukannya, jalankan perintah berikut:
createdb -O cleopatra egypt
Perintah di atas akan membuat database baru bernama egypt
dan menugaskan cleopatra
menjadi pengguna basis data.
Allow remote access
Pada langkah ini, kita akan melihat bagaimana mengkonfigurasi Postgres untuk menerima koneksi eksternal. Untuk memulai, buka file konfigurasi dengan editor pilihan Anda:
nano /etc/postgresql/10/main/postgresql.conf
Cari baris ini di file:
#listen_addresses = 'localhost'
Batalkan komentar, dan ubah nilainya menjadi '*'
, ini akan memungkinkan koneksi Postgres dari siapa pun.
listen_addresses = '*'
Simpan dan keluar dari file. Selanjutnya, ubah pg_hba.conf untuk juga mengizinkan koneksi dari semua orang. Buka file dengan editor pilihan Anda:
nano /etc/postgresql/10/main/pg_hba.conf
Modify this section:
# IPv4 local connections: host all all 127.0.0.1/32 md5
To this:
# IPv4 local connections: host all all 0.0.0.0/0 md5
File ini menyimpan otentikasi klien, setiap catatan menentukan rentang alamat IP, nama database, nama pengguna, dan metode otentikasi. Dalam kasus kami, kami memberikan semua pengguna basis data akses ke semua basis data dengan rentang alamat IP apa pun, sehingga memungkinkan alamat IP apa pun terhubung. Simpan dan keluar dari file. Selanjutnya, izinkan port 5432 melalui firewall dengan menjalankan:
sudo ufw allow 5432/tcp
Terakhir, mulai ulang Postgres untuk menerapkan semua perubahan yang telah Anda buat pada konfigurasinya dengan menjalankan:
sudo systemctl restart postgresql