OpenSID (Sistem Informasi Desa) adalah aplikasi web sumber terbuka yang dirancang khusus untuk mengelola data dan informasi desa. Bagi kamu yang ingin mengimplementasikan sistem ini di server aaPanel, berikut panduan lengkap instalasinya.
Prasyarat
Sebelum memulai instalasi, pastikan kamu memiliki.
- 1-2 GB RAM
- 20 GB penyimpanan
- OS Ubuntu 22.04
- aaPanel terinstal (versi terbaru direkomendasikan)
- Domain atau subdomain yang sudah mengarah ke IP server
- PHP 8.1 (PHP Extension: exif,fileinfo,sqlsrv,tidy)
- Database MySQL 10.11.10-MariaDB
- Web Server Nginx
Membuat Site OpenSID di aaPanel
Masuk ke menu Website pada dashboard aaPanel sebelah kiri, Pilih PHP Project – Add Site – Create site.
Isikan domain/subdomain pada kolom Domain name, isikan description site aaPanel. Pilih Database yang digunakan untuk OpenSID secara otomatis aaPanel akan generate nama database, username, dan password. Pilih PHP Version. Confirm

Upload dan Extract File OpenSID
Dowload terlebih dahulu file opensid pada website resminya, lalu upload ke directory root site OpenSID aaPanel.
Extract file OpenSID-2511.0.0.zip menggunakan fitur unzip aaPanel, pindahkan semua isi hasil extract kedalam directory directory root site OpenSID.
Delete Directory OpenSID-2511.0.0 dan File OpenSID-2511.0.0.zip agar tidak membebani server.

Disable fitur Anti-XSS attack pada site OpenSID aaPanel, dengan masuk conf pada site.

Install PHP Extension yang Dibutuhkan OpenSID
Agar OpenSID berjalan lancar, harus install extension/library PHP yang dibutukan OpenSID. Masuk ke menu App Store, pilih PHP yang digunakan contoh disini 8.1, Klik Setting.
Masuk ke menu Install extension cari yang dibutuhkan seperti fileinf0, exif, sqlsrv (Untuk Database MySQL dan MariaDB), dan tidy. tunggu sampai proses instalation selesai.

Compile Manual PHP Extension tidy
Karena extenstion tidy tidak tersedia di install extensions, maka kita harus melakukan compile manual. SSH Remote pada server/ubuntu/cloud yang menjalankan aaPanel.
- Install terlebih dahulu package libtidy
sudo apt install libtidy-dev
- Masuk ke directory source code tidy
cd /www/server/php/81/src/ext/tidy
- Jalankan Perintah phpize
sudo phpize
- Membuat file configuration tidy
sudo ./configure –with-php-config=/www/server/php/81/bin/php-config
- Melakukan Compile dan Install extension, tunggu sampai proses selesai.
make
make install
- Masukan extension tidy hasil compile pada php.ini bagian paling bawah.
extension = tidy.so
setelah selesai compile dan configuratoin. lakukan restart service php pada aaPanel.
Configuration URL Rewrite Nginx
Saat kita mengakses halaman beranda OpenSID/ domain akan berantakan , itu disebabkan URL Rewrite Nginx yang digunakan OpenSID belum di configuration.
Masuk ke Conf site OpenSID pada aaPanel, lalu pilih URL Rewrite. Masuk konfigurasi dibawah ke site OpenSID. Konfigurasi Nginx ini berisi beberapa aturan rewrite dan pengaturan keamanan.
# enforce NO wwwif ($host ~* ^www\.(.*)){set $host_without_www $1;rewrite ^/(.*)$ $scheme://$host_without_www/$1 permanent;}# if your default controller is something other than “welcome” you should change the followingif ($request_uri ~* ^(/welcome(/index)?|/index(.php)?)/?$){rewrite ^(.*)$ / permanent;}# removes trailing “index” from all controllersif ($request_uri ~* index/?$){rewrite ^/(.*)/index/?$ /$1 permanent;}# removes trailing slashes (prevents SEO duplicate content issues)if (!-d $request_filename){rewrite ^/(.+)/$ /$1 permanent;}# removes access to “system” folder, also allows a “System.php” controllerif ($request_uri ~* ^/system){rewrite ^/(.*)$ /index.php?/$1 last;break;}# unless the request is for a valid file (image, js, css, etc.), send to bootstrapif (!-e $request_filename){rewrite ^/(.*)$ /index.php?/$1 last;break;}# catch allerror_page 404 /index.php;# deny access to apache .htaccess fileslocation ~ /\.ht{deny all;}

Configuration URL Rewrite Site Nginx OpenSID
Pemasangan Setup Wizard OpenSID
Akses domain/subdomain yang digunakan oleh OpenSID menggunakan protocol http, sampai muncul seperti gambar dibawah.

OpenSID akan memeriksa persyaratan server PHP Extension yang dibutuhkan. Pastikan tercentang hijau semua.

OpenSID akan verifikasi Permission Read dan Write pada Directory

Masukan nama database, username, dan password saat pembuatan site OpenSID aaPanel. Untuk Database Name, Database User dibuat sama oleh aaPanel.

Jika Database Name, Username, dan Password benar akan muncul pesan “Koneksi database berhasil“.

Tunggu sampai proses pembuatan table-table database dan memuat data aplikasi selesai.

Berikut halaman beranda OpenSID.

Tampilan From Login Dashboard OpenSID.

Username dan Password Default OpenSID admin/sid304.
Configuration protocol SSL/https
Fungsi dari Protocol SSL untuk mengamankan lalu lintas data/ encryption dari server ke brower client, seperti Google Chrome, Mozila Firefox, Safari agar tidak bisa dilihat data yang ditransferkan. pilih domain/subdomain yang digunakan OpenSID.
Masuk ke site conf OpenSID aaPanel, apply. Tunggu sampai pembuatan private key dan Certificate selesai.

Berikut hasil pembuatan Private Key dan Certificate syarat agar bisa menggunakan https atau simbol gembok di browser. Lakukan Refresh domain/subdomain pada website OpenSID.

Tamabhakan configuration Nginx di bawah pada URL Rewrite site OpenSID,fungsinya ketika ada yang mengakses Website OpenSID menggunakan protocol http akan diarahkan ke https.
# Redirect http to https
listen 80 default_server;
server_name masukan_domain;
return 301 https://$host$request_uri;

