Konfigurasi web server Apache pada cPanel untuk aplikasi web dengan bahasa Singkong (dan contoh bekerja dengan PostgreSQL pada WHM/cPanel)


Pada buku referensi bahasa Singkong ataupun dokumentasi template aplikasi web, dibahas bagaimana mengkonfigur web server Apache ataupun IIS, agar dapat menjalankan aplikasi web yang ditulis dengan bahasa Singkong. Pada pembahasan tersebut, diasumsikan user memiliki hak administrasi sistem.

Bagaimana kalau kita adalah user biasa pada control panel cPanel, dengan hanya hak penggunaan sistem, sesuai sumber daya yang telah dialokasikan? Selama hak CGI Access diaktifkan pada paket yang digunakan, maka itu sudah cukup. Pastikanlah web server yang digunakan adalah Apache (konfirmasilah ke pihak penyedia hosting apabila diperlukan).

Sebagai catatan, apabila menggunakan DirectAdmin, kunjungilah tutorial ini.


A. Java Runtime

Apabila Java runtime tersedia (misal, Anda memiliki hak ke SSH/Terminal (Shell Access), dan dapat manjalankan java tanpa error), maka lanjutkanlah ke langkah berikutnya.

Namun, apabila Java runtime belum terinstalasi, maka, opsi yang mungkin adalah:

Andaikata diperlukan instalasi Java runtime sendiri, downloadlah misal dari java.com ataupun adoptium.net. Kemudian, instalasilah di home directory. Pastikanlah Anda mengingat path ke java.


B. Interpreter Singkong

Downloadlah Singkong.jar dari https://nopri.github.io/Singkong.jar dan tempatkanlah di home directory.

Apabila Anda memiliki akses ke SSH atau Terminal, cobalah menjalankan Singkong.jar tersebut dengan Java yang telah terinstalasi sebelumnya.


C. Action untuk file .web

Pada direktori cgi-bin dalam public_html di home directory, tempatkanlah file singkongweb.cgi berikut (dengan menyesuaikan path ke java dan Singkong.jar):

#!/bin/bash

if [ -z "$PATH_TRANSLATED" ];
then
    printf "Status: 404 Not Found\n"
    printf "Content-type: text/plain\n\n"
    printf "not found\n"
else
    java -DSINGKONG=0 -jar /opt/Singkong.jar "$PATH_TRANSLATED"
fi

Kemudian, berikanlah hak akses executable:

chmod +x singkongweb.cgi

Apabila lebih nyaman dengan File Manager cPanel, klik kananlah pada file, dan pilihlah Change Permissions. Pastikanlah hak Execute ditambahkan.


D. File .htaccess

Untuk direktori, di mana di dalam direktori tersebut ataupun sub direktori di dalamnya, akan berisikan file .web (aplikasi web yang ditulis dengan bahasa Singkong), buatlah sebuah file .htaccess di dalam direktori tersebut, dengan isi berikut:

AddHandler SingkongWeb .web
Action SingkongWeb "/cgi-bin/singkongweb.cgi"
DirectoryIndex index.web

Maka, file .web akan dapat dijalankan. Cobalah membuat file index.web dengan isi berikut:

cgi_header()
println("Hello World " + @)

Dan, kunjungilah URL ke file index.web tersebut. Apabila tanggal dan jam saat ini ditampilkan, maka konfigurasi telah berhasil.


E. Tambahan: PostgreSQL pada cPanel

Driver untuk bekerja dengan PostgreSQL disertakan dalam Singkong.jar. Tidak ada tambahan yang perlu diinstalasi untuk bekerja dengan PostgreSQL. Apabila hosting yang Anda gunakan menyertakan PostgreSQL (yang mana, dapat diaktifkan pada WHM/cPanel), maka kita dapat langsung bekerja dengan PostgreSQL dengan bahasa Singkong.

Apabila Anda mengelola web hosting dengan cPanel dan ingin mengaktifkan PostgreSQL, langkah-langkah berikut dapat dilakukan.


Di cPanel, apabila PostgreSQL diaktifkan, untuk bekerja dengan PostgreSQL, lihatlah pada bagian Databases, kemudian kliklah PostgreSQL Databases. Untuk membuat database baru, kliklah Create New Database. Untuk mengelola database, kliklah pada phpPgAdmin di bagian Databases.

Di kode Singkong sendiri, koneksi dapat dilakukan dengan menggunakan username/password user ke cPanel pada saat memanggil fungsi untuk koneksi database (penulis mencobanya dengan username/password cPanel tersebut, dan bukan user database yang dibuat lewat cPanel).

Untuk bekerja dengan sistem database relasional, apabila diperlukan, bacalah buku Contoh dan Penjelasan Bahasa Singkong: Bekerja dengan Database Relasional.


Terima kasih telah membaca :)