Thursday 12 February 2015

Instalasi : Linux

Status : Draft

Paket-paket software yg diperlukan 

sudo apt-get install texlive-full texlive-extra-utils texlive-latex-extra texlive-humanities texlive-fonts-extra p7zip p7zip-full  texlive-fonts-recommended libicu-dev postgresql postgresql-contrib postgresql-server-dev-all python3.6-venv python3.6-dev redis redis-server latexml pdftk pandoc pandocfilter phantomjs imagemagick
jpegoptim  pngquant xvfb trimage memcached python3-pip

sudo pip install pypandoc
sudo pip install pdfCropMargins
sudo pip install pypdf
sudo apt-get install python-pil
sudo apt-get install python-reportlab
sudo apt-get install python3-psycopg
sudo apt-get install python3-elasticsearch
sudo apt-get install python3-progressbar
sudo apt-get install openjdk-8-jre-headless 
sudo apt-get install supervisor 
sudo apt-get install unzip libpq-dev 
sudo apt-get install gcc
sudo apt-get install python3-dev 
sudo apt-get install python3-venv 
sudo apt-get install python3-numpy 
sudo apt-get install python3-scipy 
sudo apt-get install python3-skimage 
sudo apt-get install python3-cairosvg
sudo apt-get install python3-flask
sudo apt-get install python3-gunicorn
sudo apt-get install libqrencode3
sudo apt-get install pgadmin
sudo apt-get install php-imagick
sudo apt-get install php7-xls
sudo apt-get install php7-curl
sudo apt-get install php7-xsl
sudo apt-get install php7-tidy
sudo apt-get install php7-gmp
sudo apt-get install libapache2-mod-php7.0
sudo apt-get install php-mysql
sudo apt-get install  php-pgsql
sudo apt-get install php-gd
sudo apt-get install php-zip
sudo apt-get install php-xml



 Jika menggunakan OpenLiteSpeed dapat php7-* diganti dengan lsphp74=*

PHP 

Ketika ini ditulis ada dua buah instalasi banksoal di production server keduanya menggunakan PHP 5.5.9 dan instalasi di development server yang menggunakan PHP 7.0.8.

Konfigurasi PHP CLI nya harus diupdate ( /etc/php/7.0/cli/php.ini ), apc di CLI nya harus diaktifkan :

apc.enable_cli = 1 ;
pcre.backtrack_limit=10000000
pcre.recursion_limit=100000

PostgreSQL 

pg_bigm 

pg_bigm dapat didownload di sini http://pgbigm.sourceforge.jp/, untuk instalasi bisa membaca http://pgbigm.osdn.jp/pg_bigm_en-1-1.html#install

pg_similarity

pg_tgrm

CREATE EXTENSION pg_trgm;

Utilitas Lainnya

phantomjs

Bank Soal memiliki ketergantungan ke PhantomJS versi 1. PhantomJS sudah ada di banksoal/application/vendor/phantomjs tinggal dibuat symlink nya saja ke  /usr/bin

SmartOMR 


Untuk menggenerate LJK di Naskah, kita menggunakan OMR, OMR harus diiinstall terlebih dahulu dengan nama domain sesuai dengan yang kita tentukan di banksoal/application/config/config.php

phpbarcode


Struktur Direktori

Buat direktori yang diperlukan, dan dibuat agar dapat ditulis oleh server :
application/webroot/upload
application/webroot/upload/tmp
application/cache
application/cache/dwoo_cache
application/cache/dwoo_compile
application/logs

sudo chmod 0775 -R  application/webroot/upload
sudo chmod 0775 -R  application/cache
sudo chmod 0775 -R application/logs

sudo chown username.www-data -R  application/webroot/upload
sudo chmod username.www-data -R  application/cache
sudo chmod username.www-data -R application/logs

tmpfs

Buat tmpfs, tambahkan entri berikut di /etc/fstab

tmpfs /tmpfs tmpfs nodev,nosuid,noexec,nodiratime,size=1024M 0 0 
Buat symlink ke beberapa direktori cache :
sudo ln -s  /opt/www/banksoal/application/cache/dwoo_cache /tmpfs/dwoo_cachesudo ln -s  /opt/www/banksoal/application/cache/dwoo_compile /tmpfs/dwoo_compilesudo ln -s  /opt/www/banksoal/application/cache/mathml_compile /tmpfs/mathml_compilesudo ln -s  /opt/www/banksoal/application/cache/tmp /tmpfs/tmp
Pemeriksaan Kemiripan Persamaan Matematika

Baca tentang instalasi pemeriksaan kemiripan persamaan matematika disini [3]

ImageMagick 


Jika di PDF Latex Ok, di HTML error, coba update config ImageMagick di /etc/ImageMagick-6/policy.xml (or /etc/ImageMagick/policy.xml) : 

komentari baris : 
<!-- <policy domain="coder" rights="none" pattern="MVG" /> -->

ubah baris : 
<policy domain="coder" rights="none" pattern="PDF" />

menjadi : 
<policy domain="coder" rights="read|write" pattern="PDF" />
tambahkan baris : 
<policy domain="coder" rights="read|write" pattern="LABEL" />

Python

Gunakan python3.6

Kemiripan Persamaan Matematika

Install MIas [3] dan tangent [4]

Referensi

  1. Issue ketika Instalasi, https://github.com/OpenThink-Labs/SistemInformasiBankSoal/issues/11
  2. convert:not authorized `aaaa` @ error/constitute.c/ReadImage/453, https://stackoverflow.com/questions/42928765/convertnot-authorized-aaaa-error-constitute-c-readimage-453
  3. Instalasi : Pemeriksaan Kemiripan Persamaan Matematika, http://banksoal.openthinklabs.com/2019/11/instalasi-pemeriksaan-kemiripan-persamaan-matematika.html
  4. Tangent, https://github.com/OpenThinkLabs/Tangent