Pendahuluan

Apache, PostgreSQL, dan PHP adalah kombinasi perangkat lunak populer untuk mengembangkan aplikasi web dinamis dan andal. Apache berfungsi sebagai web server, PostgreSQL sebagai sistem manajemen basis data (RDBMS) yang powerful dan open-source, dan PHP sebagai bahasa pemrograman server-side yang fleksibel. Artikel ini akan membimbing Anda langkah demi langkah menginstal Apache, PostgreSQL, dan PHP versi 8.3 di server Ubuntu 22.04.

Prasyarat

  • VPS atau server dengan Ubuntu 22.04

  • Akses root atau sudo

  • Akses internet aktif

Install Apache

  1. Terhubung dengan VPS
    Pastikan anda sudah terhubung ke VPS dan login sebagai root

  2. Update Sistem
    Selalu lakukan update paket sistem sebelum melakukan instalasi dengan menggunakan command line berikut
    apt update -y && apt upgrade -y
    
  3. Install Apache
    Setelah Update sistem selesai, anda bisa langsung menginstall apache dengan menggunakan command line berikut
    apt install apache2 -y
    
  4. Setup Firewall
    Anda bisa melihat aplikasi apa saja yang ada di di dalam ufw dan sebelum mengaktifkan Apache, anda harus memberikan akses untuk Apache dan pastikan pastikan port HTTP dan HTTPS dibuka dengan menggunakan Command line berikut
    ufw app list 
    ufw allow apache
    ufw reload

    Anda dapat melihat daftar HTTP yang diizinkan oleh ufw dengan menggunakan command line berikut:

    ufw status


    Terlihat bahwa Status Active dan Apache mendapatkan akses.

  5. Check Status Apache
    Setelah melakukan setup Firewall, Apache perlu dijalan kan dengan command line berikut:
    systemctl start apache2

    agar Apache dapat berjalan otomatis saat boot jalankan command line berikut

    systemctl enable apache2

    untuk mengaktifkan Apache aktif anda bisa menjalankan command line berikut

    systemctl status apache2


  6. Selesai
    Buka browser dan ketik IP VPS anda, jika berhasil, akan muncul halaman default Apache seperti gambar

Install PostgreSQL

  1. Update Sistem
    sudo apt update && sudo apt upgrade -y
  2. Menambahkan Repositori PostgreSQL
    Ubuntu 22.04 sudah menyediakan PostgreSQL di repository resminya, anda perlu mengimpor kunci GPG dan menambahkan repositori PostgreSQL.
    curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
    echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.list
  3. Install PostgreSQL
    sudo apt install postgresql postgresql-contrib -y
    
  4. Cek Status PostgreSQL
    sudo systemctl status postgresql

  5. Gunakan password untuk user PostgreSQL
    Gunakan password acak dan panjang untuk setiap user, terutama postgres.

  6. Batasi Akses Network 
    Secara bawaan, PostgreSQL hanya menerima koneksi dari antarmuka lokal (localhost). Untuk mengizinkan akses jarak jauh, buka file /etc/postgresql/14/main/postgresql.conf, lalu ubah baris #listen_addresses = 'localhost' dengan menghapus tanda komentar (#) dan sesuaikan nilainya sebagaimana pada bagian CONNECTIONS and AUTHENTICATION.

  7. Langkah selanjutnya adalah mengonfigurasi server agar menerima koneksi dari jarak jauh. Hal ini dilakukan dengan mengedit file /etc/postgresql/14/main/pg_hba.conf. Silakan buka file tersebut untuk mulai mengatur akses.
    Di bagian ini, Anda dapat mengatur akses ke satu atau semua basis data serta menentukan pengguna mana yang diizinkan mengaksesnya melalui antarmuka tertentu. Untuk menggunakan autentikasi berbasis kata sandi, pilih metode scram-sha-256. Berikut ini beberapa contoh konfigurasi yang dapat Anda gunakan.

    Setelah selesai tekan Ctrl+x dan Y

Install PHP

  1. Tambah PHP dari Repository dari Sury/Ondrej
    sudo apt install software-properties-common -y
    sudo add-apt-repository ppa:ondrej/php -y
    sudo apt update
  2. Install PHP 8.3 dan Modul Pendukung
    sudo apt install php8.3 libapache2-mod-php8.3 php8.3-pgsql php8.3-cli php8.3-common php8.3-curl php8.3-mbstring php8.3-xml php8.3-zip -y
    
  3. Cek Versi PHP
    php -v


  4. Konfigurasi Àpache untuk Menjalankan PHP
    Pastikan module PHP diaktifkan
    sudo a2enmod php8.3
    sudo systemctl restart apache2



  5. Uji PHP 
    Buat file info.php
    echo "" | sudo tee /var/www/html/info.php

    Akses di browser http://ip.vps.anda/info.php


  6. Scroll kebawah pastikan PostgreSQL anda sudah terhubung dengan PHP

  7. Atau anda bisa cek lewat ubuntu dengan menggunakan command line berikut
    php -m | grep "pgsql"

    Maka akan menampilkan 

Mengakses Database di PostgreSQL

  1. Akses PostgreSQL 
    sudo -i -u postgres

     

  2. Anda akan masuk ke shell PostgreSQL.

  3. Buat user dan database
    CREATE USER nama_user WITH PASSWORD 'password_user';
    CREATE DATABASE nama_db OWNER nama_user;
    GRANT ALL PRIVILEGES ON DATABASE nama_db TO nama_user;
    \q
    

Kesimpulan

Kombinasi ini sangat ideal untuk membangun aplikasi web dinamis dan berskala besar. Dengan Apache sebagai web server, PostgreSQL sebagai basis data, dan PHP 8.3 sebagai pemroses skrip backend, Anda kini siap untuk mengembangkan atau menghosting aplikasi web berbasis teknologi open source.