Cara install SLiMS 9 (Senayan Library Management System) di Ubuntu

Panduan cara install SLiMS (Senayan Library Management System) 9 Bulian, aplikasi perpustakaan digital di Linux Ubuntu. Tutorial ini bisa untuk Ubuntu dan Debian VPS. Berikut detail yang digunakan untuk tutorial ini:

  • Domain/subdomain: senayan.idnetter.com
  • VPS Ubuntu 20.04
    • Web server: Nginx
    • PHP 7.4
    • Database SQL: MariaDB 10.5
  • SLiMS v.9.4.1 Bulian atau terbaru

Persyaratan sistem

Sistem minimum yang dibutuhkan untuk install SLiMS v9.4.1 adalah:

  • MySQL version 5.7 and or MariaDB version 10.3
  • PHP version 7.4
  • PHP GD enabled
  • PHP gettext enabled
  • PHP mbstring enabled
  • YAZ

Persiapan

Langkah pertama update system Linux, jalankan perintah ini

apt update -y

Install paket dan dependensi yang diperlukan untuk instalasi web server dan lainnya.

apt install unzip dirmngr software-properties-common apt-transport-https ca-certificates gnupg pkg-config -y

Menambahkan repository PHP

wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
add-apt-repository ppa:ondrej/php

Menambahkan repository MariaDB

apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.5";

Install Nginx, MySQL, PHP

Install webserver Nginx, Database SQL MariaDB 10.5 dan PHP versi 7.4

apt-get install -y nginx
apt-get install -y mariadb-server
apt-get install -y php7.4 php7.4-{common,fpm,curl,gd,imap,intl,readline,odbc,tidy,xmlrpc,json,sqlite3,mysql,opcache,bz2,mbstring,xml,soap,zip,xsl,bz2,imagick,dev}

Install YAZ dan PHP-YAZ

SLiMS membutuhkan YAZ, instalasinya cukup mudah

apt install -y yaz libyaz-dev
pecl install yaz
echo 'extension=yaz.so' > /etc/php/7.4/mods-available/yaz.ini
ln -s /etc/php/7.4/mods-available/yaz.ini /etc/php/7.4/cli/conf.d/20-yaz.ini
ln -s /etc/php/7.4/mods-available/yaz.ini /etc/php/7.4/fpm/conf.d/20-yaz.ini

Mengatur password root MySQL

Secara default, password untuk user root belum ditentukan, maka kita harus mengaturnya.

mysql -v
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'katasandi123';
flush privileges;
exit;

Aktifkan service

Agar service web server Nginx, PHP dan database SQL berjalan otomatis ketika system reboot, jalankan perintah ini

systemctl enable nginx
systemctl enable mariadb
systemctl enable php7.4-fpm

Membuat virtual Host

Membuat direktori slim untuk menyimpan semua file web aplikasi perpustakaan SLiMS.

mkdir -p /var/www/html/slim

Membuat server block Nginx

nano /etc/nginx/sites-available/senayan.idnetter.com.conf

Isi dengan konfigurasi berikut (ganti nama domain/subdomain):

server{
	listen 80;
	server_name senayan.idnetter.com;
	index index.php index.html index.htm default.php default.htm default.html;
	root /var/www/html/slim;
		
	location ~ [^/]\.php(/|$) {
		try_files $uri =404;
		fastcgi_pass  unix:/var/run/php/php7.4-fpm.sock;
		fastcgi_index index.php;
		fastcgi_hide_header X-Powered-By;
		
		include fastcgi.conf;
		
		set $real_script_name $fastcgi_script_name;
		if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
			set $real_script_name $1;
			set $path_info $2;
		}
		
		fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
		fastcgi_param SCRIPT_NAME $real_script_name;
	}

	location / {
		try_files $uri $uri/ /index.php?$args;
	}

	location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md) {
		return 404;
	}
	
	location ~* ^.+\.(css|js|jpg|jpeg|gif|png|ico|gz|svg|svgz|ttf|otf|woff|eot|mp4|ogg|ogv|webm|webp|zip|swf)$ {
		add_header Access-Control-Allow-Origin "*";
		expires max;
		error_log off;
		access_log /dev/null;
	}
	
}

Aktifkan virtual host

Buat symlink untuk mengaktifkan virtual host senayan.idnetter.com.conf

ln -s /etc/nginx/sites-available/senayan.idnetter.com.conf /etc/nginx/sites-enabled/senayan.idnetter.com.conf

Restart service

Untuk memastikan semua berjalan lancar, baik ketika sistem direboot, maka kita perlu uji coba dengan me-restart service: Nginx, MariaDB dan PHP

systemctl restart nginx
systemctl restart mariadb
systemctl restart php7.4-fpm

Download SliMS

Persiapan, masuk ke direktori /var/www/html/slim

cd /var/www/html/slim

Download SLiMS.

Saat tutorial ini dibuat versi Senayan 9 Bulian (v9.4.1). Jadi harap cek rilis terbaru disini

wget https://github.com/slims/slims9_bulian/releases/download/v9.4.1/slims9_bulian-9.4.1.tar.gz

Ekstrak dan pindahkan ke /var/www/html/slim/

tar xvf slims9_bulian-9.4.1.tar.gz
mv slims9_bulian-9.4.1/* ./

Ganti perizinan user dan groupnya folder /var/www/html menjadi www-data

chown -R www-data:www-data /var/www/html

Membuat database SQL

Membuat nama dan user database MySQL untuk SLiMS

mysql -uroot -p
create database dbname_senayan;
grant all on dbname_senayan.* to 'dbuser_senayan'@'localhost' identified by 'katasandi2021'; 
flush privileges;
exit;

Instalasi melalui browser

Selanjutnya instalasi senayan bisa dilakukan melalui browser dengan mengunjugi domain/subdomain yg telah diarahkan ke VPS. Beirikut screenshotnya

Membersihkan instalasi SLiMS

Rename folder install dan CHMOD ke 600, kemudian hapus arsip dan direktori ekstrak dari SLiMS yang sudah tidak digunakan lagi.

mv /var/www/html/slim/install /var/www/html/slim/install_bak
chmod -R 600 /var/www/html/slim/install_bak
rm -rf slims9_bulian-9.4.1.tar.gz slims9_bulian-9.4.1

Selesai, semoga bermanfaat.

Bagi yang kesulitan, silahkan order jasa install SLIMS aplikasi perpustakaan digital Senayan di VPS. Kontak 081235008433. Harga sangat terjangkau.

Credit: slims.web.id

10 thoughts on “Cara install SLiMS 9 (Senayan Library Management System) di Ubuntu

  1. Ade

    systemctl restart php74-fpm
    ganti
    systemctl restart php7.4-fpm

    1. Omar

      Terima kasih koreksi dan kontribusinya, Ade.

  2. jali

    tanya dong..kok import data eksemplar gagal terus, padahal sdh ganti upload_max di php.ini.
    importnya selalu “0 records’

    1. Omar

      cek log server mas, sama disable ONLY_FULL_GROUP_BY mysqlnya.

  3. Arie_L

    maaf saya newbie, mau tanya, domain dan subdomainnya di isi apa ya

    1. Omar

      misalnya idnetter.com, nama domain harus beli dulu.

  4. Hendra

    Halo kak,
    saya install slims 9 di nginx namun muncul keterangan:

    Pre-Installation Step
    /config is writable : NO
    /files is writable : NO
    /images is writable : NO
    /repository is writable : NO
    Make the following files and directories (and their contents) writeable (i.e., by changing the owner or permissions with chown or chmod)

    saya sudah melakukan perintah :
    chown -R nginx:nginx dan chmod -R 777 ke seluruh file directory namun (Pre-Installation Step) nya tidak dapat di writable.

    mohon petunjuknya ya kak.

    1. Omar

      level direktori pemisionnya harus 1 tingkat di atasnya, contoh lokasi direktori slim berada di: /var/www/html/slims, maka: chown -R nginx:nginx /var/www/html

  5. Pa Ijoh

    Untuk instalasi SLIMS sebagai direktori cth: /var/www/html/slims … apakah tetap memerlukan konfigurasi nginx spt di atas?

    1. Omar

      iya benar : chown -R www-data:www-data /var/www/html

Add a comment