Konfigurasi web server Apache pada DirectAdmin untuk aplikasi web dengan bahasa Singkong


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 DirectAdmin, dengan hanya hak penggunaan sistem, sesuai sumber daya yang telah dialokasikan? Selama hak CGI Access diaktifkan pada paket yang digunakan, dan diaktifkan pada domain dimana aplikasi web dijalankan, maka itu sudah cukup. Pastikanlah web server yang digunakan adalah Apache (konfirmasilah ke pihak penyedia hosting apabila diperlukan).

Sebagai catatan, apabila menggunakan cPanel, kunjungilah tutorial ini, di mana selain membahas topik serupa, kita juga membahas contoh instalasi/konfigurasi PostgreSQL lewat WHM dan bekerja dengan PostgreSQL lewat cPanel.


A. Java Runtime

Apabila Java runtime tersedia (misal, Anda memiliki hak ke SSH/Terminal, 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.

Catatan: Apabila Anda adalah pengelola web hosting dengan DirectAdmin, dimana BubbleWrap dan /usr/bin/jailshell digunakan, serta menyediakan Java runtime, pastikanlah java dapat dijalankan dengan baik. Apabila misal diinstalasi pada /opt, Anda mungkin ingin menambahkan opsi berikut ketika menjalankan bwrap:
--ro-bind  /opt   /opt

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 domain yang akan digunakan (di dalam direktori domains dalam 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 DirectAdmin, klik kananlah pada file, dan pilihlah Set 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.


Terima kasih telah membaca :)