OpenSID

OpenSID

OpenSID is a web-based village information system designed to assist village governments in managing village administration digitally. OpenSID is developed as open-source software, allowing every village to use it for free and customize it according to their specific needs.

This application facilitates the management of population data, administrative letter services, development reports, village budget management, and even online publication of village information. OpenSID is widely used in Indonesia due to its comprehensive features that cater to village requirements and is continuously developed by a community of users and developers.

1. System Requirements

System requirements for OpenSID:

  • PHP 8.1+
  • MySQL 5.7 or MariaDB 10.3
  • Apache, Nginx, or LiteSpeed

Before starting the deployment, prepare:

  • A VPS or server with Ubuntu 24.04 OS
  • SSH access to the server
  • A domain already pointed to the server

2. Server Preparation

Update the system

sudo apt update
sudo apt upgrade -y

Install Apache

sudo apt install apache2 -y

Install MariaDB

sudo apt install mariadb-server -y

Add the PPA ondrej/php repository

sudo add-apt-repository ppa:ondrej/php -y
sudo apt upgrade -y

Install PHP 8.1 and required extensions

sudo apt install libapache2-mod-php8.1 php8.1 php8.1-cli php8.1-common \
  php8.1-apcu php8.1-mbstring php8.1-gd php8.1-intl \
  php8.1-xml php8.1-soap php8.1-bcmath php8.1-mysql php8.1-zip \
  php8.1-curl php8.1-tidy php8.1-imagick -y

3. Create Database

Log in to MariaDB

sudo mysql

Create database and user

CREATE DATABASE opensid;
GRANT ALL PRIVILEGES ON opensid.* TO 'opensid'@'localhost' IDENTIFIED BY 'rahasia';
FLUSH PRIVILEGES;
exit

4. Apache Configuration

Create virtual host configuration

sudo nano /etc/apache2/sites-available/nama.desa.id.conf

Insert the configuration

<VirtualHost *:80>
    ServerName nama.desa.id
    DocumentRoot /var/www/nama.desa.id
    <Directory /var/www/nama.desa.id>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog /var/log/apache2/nama.desa.id_error.log
    CustomLog /var/log/apache2/nama.desa.id_access.log combined
</VirtualHost>

Enable the rewrite module, virtual host, and restart apache2

sudo a2enmod rewrite
sudo a2ensite nama.desa.id
sudo systemctl restart apache2		

5. Install SSL

Install certbot

sudo apt install certbot python3-certbot-apache -y	

Request SSL certificate

sudo certbot --non-interactive \
    -m [email protected] \
    --agree-tos \
    --no-eff-email \
    --apache -d nama.desa.id \
    --redirect	

6. Install OpenSID

Download the OpenSID source code from GitHub

sudo apt install git -y
git clone https://github.com/OpenSID/OpenSID.git nama.desa.id

Move the directory

sudo mv nama.desa.id /var/www

Change the directory’s user-group

sudo chown -R www-data:www-data /var/www/nama.desa.id

Access https://nama.desa.id to proceed with the installation.

  1. Click Langkah berikutnya (Next Step)
  2. Memeriksa persyaratan server (Check server requirements), if everything is met, click Langkah berikutnya (Next Step)
  3. Memverifikasi izin tulis dan baca pada folder (Verify folder read/write permissions), if everything is met, click Langkah berikutnya (Next Step)
  4. Koneksi database (Database connection), enter the database name, username, and password, then click Langkah berikutnya (Next Step)
  5. If the Koneksi database berhasil (Database connection successful), click Langkah berikutnya (Next Step)
  6. Pengaturan default pengguna (Default user settings), enter the username and password, then click Langkah berikutnya (Next Step)

The installation is complete, redirecting to the OpenSID village website homepage.