Tag Archives

4 Articles
Memasang NewGenLib, Sebuah ILS Lainnya
NewGenLib

Memasang NewGenLib, Sebuah ILS Lainnya

NewGenLib banyak juga disebutkan dalam referensi mencari sistem perpustakaan terintegrasi (ILS). ILS ini sepertinya dibuat untuk berjalan pada sistem operasi Windows. Hal ini membuat NextGenLib tidak begitu memperhatikan keamanan.

Banyak kode yang ditulis langsung (hardcoded) sehingga menyebabkan kustomisasi agak sulit. Berkas instalasi memasang ke banyak direktori di /usr. Sejujurnya, saya tidak ingin Anda membaca panduan instalasi perangkat ini di mana pun. Dari semua yang saya temui, tidak ada satu pun yang cukup aman.

Lalu mengapa saya tetap menulis ini? Karena ILS ini sangat menarik. Setelah mencobanya, saya melihat fitur-fitur yang baik. Selain itu, pemasangan cukup mudah dibandingkan ILS yang lain. Itu sebabnya, saya akan mencoba memasang NewGenLib seaman mungkin.

Kali ini saya menggunakan BlankOn Suroboyo.

Pasang Berkas-berkas yang Dibutuhkan

NextGenLib hanya membutuh Java dan PostgreSQL. Tomcat, SOLr, dan lainnya sudah terbundel.

$ sudo apt-get install openjdk-7-jdk postgresql postgresql-contrib

Saya juga memasang unzip untuk mengekstraksi berkas pasangan. (Opsional)

$ sudo apt-get install unzip

Buat Basisdata

Buat pengguna.

$ sudo -u postgres createuser ngl -P

Masukkan sandi Anda. Lalu, selanjutnya buat basisdata.

$ sudo -u postgres createdb ngldb -O ngl

Silakan Anda ganti ngl dan ngldb dengan penamaan yang sesuai selera.

Unduh Berkas Pemasangan

Unduh NewGenLib, ekstraksi, dan masuk ke direktori.

$ wget http://www.verussolutions.biz/downloadNGL.php -O InstallNGL3.0.zip
$ unzip InstallNGL3.0.zip
$ cd InstallNGL3.0

Selanjutnya saya akan membahas kustomisasi pemasangan.

Kustomisasi Berkas Konfigurasi Pemasangan

Ada dua yang saya hendak ubah:

  • apache-ant-1.8.1/bin/config.ini
  • Berkas-berkas yang berisi direktori data

Kedua berkas ini akan dibahas lebih lanjut.

Berkas config.ini

Berkas config.ini merupakan konfigurasi utama, berikut saya tulis seluruh isi berkas tersebut. Anda bisa gunakan penyunting favorit Anda, saya menggunakan cat saja.

$ cat > apache-ant-1.8.1/bin/config.ini << EOF
installation.directory=/opt/NGL3
ServerIPAddress=localhost
DatabasePort=5432
DefaultDatabase=ngldb
DatabaseUserName=ngl
DatabasePassword=passwd
source.location=/home/user/InstallNGL3.0
restore.database=blank
NewGenLib.Database=ngldb
NewGenLib.Database.UserName=ngl
NewGenLib.Database.Password=passwd123
VERUS.SUBSCRIPTION.ID=""
VERUS.VERIFICATION.CODE=""
EOF

Saya akan menaruh instalasi NextGenLib di /opt/ngl agar sesuai dengan FHS. Ganti lokasi kode sumber di tempat di mana Anda mengekstrasi kode sumber. Misalnya, /tmp/InstallNGL3.0. Yang lainnya berhubung dengan basisdata, pengguna basisdata, dan sandinya.

Sekali lagi, hanya untuk tutorial ini saja saya tulis sandinya passwd123. Anda harus menggunakan sandi yang aman untuk instalasi Anda! Jangan ikut menggunakan sandi yang aneh.

Berkas-berkas Pemasangan Direktori Data

Saya hendak mengganti pemasangan data NextGenLib dari /usr ke /srv/ngl agar lebih rapi. Untuk itu, saya perlu mengubah skrip Installation.xml agar sesuai dengan itu.

$ sed -i.bak "s/\/usr/\/srv\/ngl/g" apache-ant-1.8.1/bin/Installation.xml
$ sed -i.bak "s/\/usr/\/srv\/ngl/g" apache-ant-1.8.1/bin/apache-ant-1.8.1/bin/migration303.xml
$ sed -i.bak "s/\/usr/\/srv\/ngl/g" apache-ant-1.8.1/bin/migration303.xml 
$ sed -i.bak "s/\/usr/\/srv\/ngl/g" apache-ant-1.8.1/bin/Migration.xml
$ sed -i.bak "s/\/usr/\/srv\/ngl/g" upgrade303/migration303.xml

Demikian.

Menjalankan Pemasangan

Saatnya menjalankan pemasangan.

$ export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
$ sudo ./Install.sh

Membetulkan Perizinan

Buat pengguna yang akan menjalankan NextGenLib.

$ sudo adduser ngl

Ya, saya memang kurang kreatif dalam memberi nama. Selanjutnya ubah letak direktori data:

$ sudo sed -i.bak "s/\/usr/\/srv\/ngl/g" /opt/NGL3/apache-tomcat-6.0.32/webapps/desktop/NewGenLibDesktopFiles/SystemFiles/Env_Var.txt
$ sudo sed -i.bak "s/\/usr/\/srv\/ngl/g" /opt/NGL3/apache-tomcat-6.0.32/webapps/desktop/NewGenLibDesktopFiles/SystemFiles/ENV_VAR.txt 
$ sudo sed -i.bak "s/\/usr/\/srv\/ngl/g" /opt/NGL3/apache-tomcat-6.0.32/webapps/desktop/Launch.jsp

Satu konfigurasi lagi:

$ sudo sed -i.bak "s/\/usr/\/srv\/ngl/g" /srv/ngl/NewGenLibFiles/SystemFiles/ENV_VAR.txt

Ubah perizinan:

$ sudo chown -R ngl:ngl /opt/NGL3 /srv/ngl
$ sudo chmod +x /opt/NGL3/apache-tomcat-6.0.32/bin/*.sh

Selanjutnya coba jalankan NextGenLib.

Menjalankan NextGenLib

Saya kebetulan menjalankan NextGenLib pada VirtualBox. Hal ini menyebabkan saya harus membuat port lain selain 8080. Kebetulan port tersebut digunakan oleh aplikasi lain. NextGenLib membaca port yang ada di klien sehingga port di sistem harus sama dengan port yang diteruskan.

Untuk itu, saya lakukan langkah opsional ini.

$ sudo -u ngl sed -i.bak "s/8080/18080/g" /srv/ngl/NewGenLibFiles/SystemFiles/ENV_VAR.txt
$ sudo -u ngl sed -i.bak "s/8080/18080/g" /opt/NGL3/apache-tomcat-6.0.32/conf/server.xml

Perintah tersebut mengganti seluruh port yang ada dari 8080 menjadi 18080.

Saya tidak berhasil menemukan konfigurasi yang membuat /usr/NextGenFiles sebagai pusat konfigurasi. Sepertinya dia menulis langsung di aplikasi langsung (hardcoded). Terpaksa sebagai jalan tengah dibuatkan tautan ke direktori tersebut.

$ sudo ln -sf /srv/ngl/NewGenLibFiles/ /usr

Untuk mengubah itu, perlu melakukan kompilasi. Ini menambah kompleksitas dan membuat NextGenLib tidak begitu seksi lagi. Apalagi ini untuk orang awam.

Untuk menguji apakah ini sudah jalan, silakan jalankan secara manual.

$ sudo -u ngl /opt/NGL3/apache-tomcat-6.0.32/bin/catalina.sh run

Kalau sudah bisa, silakan pergi ke peramban dan akses http://127.0.0.1:18080/newgenlibctxt/ untuk melihat OPAC.

NextGenLib OPAC

NextGenLib OPAC

Saya senang dengan fitur NextGenLib. Dia dapat menjalankan aplikasi klien dengan menggunakan Java. Karena pemasangannya tidak terlalu rumit seperti yang sudah-sudah, saya akan memberikan bonus: Dasbor.

Dasbor Klien

Untuk dapat mengakses dasbor klien, Anda dapat mengarahkan peramban Anda ke http://localhost:18080/newgenlibctxt/LaunchApplication untuk mendapatkan aplikasi  klien berbasis Java.

Awalnya Anda akan ditanyakan alamat peladen.

Java Client asking to select the host.

Java Client asking to select the host.

Saya memasukkan localhost karena memang berjalan di VirtualBox. Anda bisa masukkan alamat FQDN peladen Anda bila Anda memasang di sebuah mesin terdedikasi.

Ketika berhasil terhubung, aplikasi akan menanyakan pengguna dan sandi masuknya.

Java Client asking for login

Java Client asking for login

NewGenLib secara baku memulai dengan pengguna “1” dan bersandikan “abc“. Bilamana aplikasi tidak bisa masuk, kemungkinan ada perubahan data saat pemasangan. Saya juga awalnya tidak bisa masuk. Saya akali dengan mengganti sandi pengguna “1” dengan “test“. Caranya:

$ psql -d ngldb -h localhost -U ngl -c "update patron set user_password = md5('test');"

Ini SQL mengubah sandi semua pengguna di basisdata. Untungnya, baru ada satu pengguna di basisdata.

Kalau sudah bisa masuk, maka akan dibawa ke dasbor.

Java client dashboard

Java client dashboard

Saya akui, dasbor NewGenLib sangat baik dan cukup mudah untuk dilihat. Yang pasti, dengan bermodalkan pemrograman berbasis Java, kita dapat mengubah tampilan menjadi lebih baik.

Omong-omong, administrasi pun dapat diakses dari laman situs. Namun, klien Java menyediakan halaman yang lebih intuitif menurut sekilas pemandangan saya.

Yak, kira-kira begitulah.

Memasang Evergreen ILS
Evergreen Logo

Memasang Evergreen ILS

Kali ini saya akan membahas Evergreen, sebuah alternatif ILS lainnya. Evergreen menyediakan klien berbasis Windoze dan GNU/Linux. Yang saya suka dari Evergreen adalah dia menggunakan PostgreSQL.

Pemasangan ILS ini agak kotor karena banyak melakukan kompilasi. Namun, bila menggunakan instruksi yang disediakan cukup mudah dilakukan. Kompleksitas dari Evergreen ini menyebabkan dia sangat cocok untuk sebuah sistem yang sangat besar.

Karena galat Apache pada BlankOn, saya pun kali ini menggunakan GNU/Linux Debian Wheezy.

Pasang OpenSRF

Ada beberapa langkah besar yang harus dilakukan untuk memasang OpenSRF:

  1. Mengompilasi OpenSRF.
  2. Menyiapkan antarmuka tambahan.
  3. Mengonfigurasi ejabberd dan menambahkan pengguna.
  4. Mengonfigurasi OpenSRF untuk terhubung ke ejabberd.
  5. Memulai OpenSRF.

Semua ini sesuai dengan panduan tertulis, Anda cukup mengikuti langkah-langkah berikut.

Mengompilasi OpenSRF

Yang pertama yang harus dilakukan adalah memasang pustaka OpenSRF. Untuk itu perlu memasang paket-paket yang dibutuhkan

$ sudo apt-get install build-essential

Unduh dan buka

$ wget http://evergreen-ils.org/downloads/opensrf-2.2.1.tar.gz
$ tar xvfz opensrf-2.2.1.tar.gz
$ cd opensrf-2.2.1

Untuk memulai membangun OpenSRF perlu memasang paket-paket ketergantungan. Caranya dengan menjalankan perintah:

$ sudo make -f src/extras/Makefile.install debian-wheezy

Ambil kopi, mandi pagi, dan sapa keluarga Anda sambil menunggu kompilasi ini selesai. Setelah selesai, konfigurasi, kompilasi, dan pasang:

$ ./configure --prefix=/opt/openils --disable-static
$ make
$ sudo make install

Berbeda dengan instruksi, saya menaruh di direktori /opt/openils dari pada /openils agar sesuai dengan standar FHS.

Tambahkan pengguna sistem yang akan menjalankan OpenSRF.

$ sudo useradd -m -s /bin/bash opensrf
$ echo "export PATH=\$PATH:/opt/openils/bin" | sudo tee -a /home/opensrf/.bashrc
$ sudo passwd opensrf

Buat seluruh OpenSRF menjadi milik pengguna opensrf.

$ sudo chown -R opensrf:opensrf /opt/openils/

Daftarkan direktori pustaka OpenSRF ke sistem operasi.

$ echo /opt/openils/lib | sudo tee -a /etc/ld.so.conf.d/opensrf.conf
$ sudo ldconfig

Selanjutnya adalah menambahkan 2 antarmuka jaringan.

Konfigurasi Antarmuka Jaringan Tambahan

OpenSRF membutuhkan ejabberd dengan dua IP yang berbeda. Yang pertama untuk komunikasi publik dan yang kedua untuk komunikasi pribadi. Untuk sistem sendiri, kita dapat menambahkan dua antarmuka loopback.

Caranya adalah dengan menambahkan baris-baris berikut di /etc/network/interfaces dengan menggunakan penyunting favorit Anda.

auto lo:10 lo:20
iface lo:10 inet static
        address 127.0.1.2
        netmask 255.0.0.0

iface lo:20 inet static
        address 127.0.1.3
        netmask 255.0.0.0

Lalu, nyalakan kedua antarmuka:

$ sudo ifup lo:20 lo:10

Masukkan alamat penamaan palsu ke /etc/hosts dengan menggunakan penyunting favorit Anda.

127.0.1.2       public.localhost        public
127.0.1.3       private.localhost       private

Selanjutnya adalah mengonfigurasi peladen ejabberd.

Konfigurasi ejabberd

Evergreen menggunakan protokol XMPP sebagai alat komunikasi. Peladen ejabberd digunakan sebagai penyedia protokol tersebut. Anda dapat juga membuat gTalk Anda sendiri berbasis aplikasi ini. Tapi, itu di luar cakupan tulisan ini.

Sebelum mengonfigurasi, matikan ejabberd terlebih dahulu:

$ sudo invoke-rc.d ejabberd stop

Buka konfigurasi /etc/ejabberd/ejabberd.cfg dan ubah/tambahkan baris-baris berikut:

  • Tambahkan domain publik dan pribadi yang telah didefinisikan tadi. Contohnya saya mengubah baris ke-61 dari:
    {hosts, ["localhost"]}.
    menjadi:
    {hosts, ["localhost", "private.localhost", "public.localhost"]}.
  • Mematikan mod_offline pada baris ke-584.
  • Menambah max_user_sessions dari 10 menjadi 10000 pada baris ke-460.
  • Mengubah seluruh max_stanza_size menjadi 2000000 pada baris ke-118 dan ke-136.
  • Mengubah seluruh maxrate menjadi 50000 pada baris ke-409 dan baris ke-414.

Setelah selesai mengubah semua itu, hidupkan kembali ejabberd:

$ sudo invoke-rc.d ejabberd start

Selanjutnya membuat pengguna ejabber.

Konfigurasi Pengguna Ejabberd

Seperti yang sudah kita buat sebelumnya, Evergreen menggunakan dua saluran (yang ditandai dengan dua host yang berbeda) dalam berkomunikasi. Pada contoh kali ini, kita membuat saluran “public.localhost” untuk komunikasi publik dan “private.localhost” untuk saluran pribadi.

Setiap saluran harus memiliki dua pengguna yang berfungsi sebagai:

router
Pengguna ini digunakan untuk menjadi broker untuk setiap layanan OpenSPF. Itu sebabnya, nama pengguna ini tidak dapat diganti dan harus bernama router. (hardcoded)
opensrf
Pengguna ini digunakan oleh setiap klien OpenSRF untuk terhubung ke OpenSRF. Nama pengguna dapat diganti dengan yang lain.

 Karena masing-masing saluran ada dua pengguna, maka dibuat empat pengguna:

$ sudo ejabberdctl register router private.localhost passwd123
$ sudo ejabberdctl register opensrf private.localhost passwd123
$ sudo ejabberdctl register router public.localhost passwd123
$ sudo ejabberdctl register opensrf public.localhost passwd123

Jangan lupa mengganti “passwd123” dengan sandi yang aman dan berbeda satu sama lain.

Konfigurasi OpenSRF

Terakhir untuk OpenSRF adalah dengan mengonfigurasi sistem. Masuk sebagai pengguna opensrf dan pergi ke direktori konfigurasi. Lalu, salin contoh konfigurasi menjadi konfigurasi kita.

$ sudo su - opensrf
$ cd /opt/openils/etc
$ cp opensrf_core.xml.example opensrf_core.xml
$ cp opensrf.xml.example opensrf.xml

Berhubung dalam artikel ini tidak diubah nama pengguna, tetap menggunakan opensrf, tidak ada yang perlu diubah. Namun, bila Anda mengubah nama pengguna, ganti nama pengguna opensrf menjadi nama pengguna yang Anda tentukan di opensrf_core.xml.

Buka opensrf_core.xml dengan penyunting favorit Anda untuk mengganti nama pengguna (bila bukan opensrf) dan sandi yang telah kita buat sebelum ini. Contohnya:

  • Mengganti nama pengguna pada baris ke-37 dan sandinya pada baris ke-38 untuk pengguna saluran public.localhost.
     
    private.localhost 
    opensrf
    passwd123
    5222
    
  • Mengganti nama pengguna pada baris ke-86 dan sandi pada baris ke-87 untuk pengguna saluran
    
    public.localhost
    opensrf
    passwd123
    5222
    
  • Mengganti sandi pada baris ke-111 untuk router saluran public.localhost.
    
      public.localhost
      5222
      /opt/openils/var/sock/unix_sock 
      router 
      passwd123
      router
      10
      5 
    
  • Mengganti sandi pada baris ke-133 untuk router saluran public.localhost.
    
      private.localhost
      5222
      router
      passwd123
      router
      10
      5
    

Selanjutnya, salin srfsh.xml.example ke direktori rumah opensrf. Konfigurasi ini diperlukan agar pengguna opensrf dapat menjalankan konsol OpenSRF, srfsh. Anda dapat menyalin srfsh ke pengguna Anda sendiri bila ingin menjalankan srfsh dari pengguna tersebut. Jangan lupa sesuaikan nama pengguna dan sandi yang diperlukan.

$ cp srfsh.xml.example ~/.srfsh.xml

Buka ~/.srfsh.xml dalam penyunting favorit Anda, ubah nama pengguna (jika diubah) dan sandi. Berikut contoh berkas saya:




  router
  private.localhost
  opensrf
  passwd123
  5222
  /opt/openils/var/log/srfsh.log
  4
  true

Setelah itu, kita bisa memulai OpenSRF.

Memulai OpenSRF

Setelah konfigurasi panjang yang telah kita lalui, saatnya memulai layanan OpenSRF. Untuk memulai OpenSRF, jalankan perintah berikut sebagai pengguna opensrf.

$ osrf_ctl.sh -l -a start_all

Setelah memulai, kita dapat menguji salah satu salurannya. Caranya, dengan masuk ke konsol OpenSRF (srfsh).

$ srfsh

Lalu jalankan operasi penambahan:

srfsh# request opensrf.math add 2,2

Received Data: 4

------------------------------------
Request Completed Successfully
Request Time in seconds: 0.004293
------------------------------------

Kalau benar, data yang didapatkan “4”.

Sebagai catatan, kalau Anda ada keperluan untuk mematikan OpenSRF, jalankan perintah:

$ osrf_ctl.sh -l -a stop_all

Kalau ini semua sudah dilakukan, keluar dari pengguna opensrf untuk kembali menjadi pengguna biasa. Ada hal-hal lain yang hendak dikerjakan.

Anda masih antusias? Karena ini baru memasang OpenSRF. Selanjutnya kita akan memasang basisdata PostgreSQL untuk Evergreen. Semangat!

Memasang Evergreen

Memasang Evergreen cukup dengan beberapa langkah:

  1. Memasang paket-paket yang dibutuhkan.
  2. Mengompilasi dan memasang Evergreen.
  3. Mengonfigurasi peladen Apache HTTPd.

Memasang Paket-paket yang Dibutuhkan

Unduh Evergreen, ekstraksi paket unduhan, dan masuk ke direktori kode sumber.

$ wget http://evergreen-ils.org/downloads/Evergreen-ILS-2.5.2.tar.gz
$ tar xvfz Evergreen-ILS-2.5.2.tar.gz
$ cd Evergreen-ILS-2.5.2/

Jalankan perintah yang sama seperti OpenSPF untuk memeriksa ketergantungan paket.

$ sudo make -f Open-ILS/src/extras/Makefile.install debian-wheezy

Sedikit catatan, skrip ini memasang paket-paket CPAN. Berikut beberapa pertanyaan yang saya jawab. Intinya, saya memilih KAMBING.ui.ac.id sebagai repositori CPAN berhubung fisiknya ada di ruang sebelah.

Would you like me to automatically choose some CPAN mirror
sites for you? (This means connecting to the Internet) [yes] no

Would you like to pick from the CPAN mirror list? [yes] yes

(1) Africa
(2) Asia
(3) Europe
(4) North America
(5) Oceania
(6) South America
Select your continent (or several nearby continents) [] 2

(1) China
(2) India
(3) Indonesia
(4) Iran
(5) Israel
(6) Japan
(7) Kazakhstan
(8) Pakistan
(9) Republic of Korea
(10) Singapore
(11) Taiwan
(12) Thailand
(13) Turkey
(14) Viet Nam
Select your country (or several nearby countries) [] 3

(1) http://cpan.cermin.lipi.go.id/
(2) http://cpan.mirrors.gudangteknologi.com/
(3) http://kambing.ui.ac.id/cpan/
(4) http://kartolo.sby.datautama.net.id/CPAN/
Select as many URLs as you like (by number),
put them on one line, separated by blanks, hyphenated ranges allowed
 e.g. '1 4 5' or '7 1-4 8' [] 3

Enter another URL or ENTER to quit: []

Yang terakhir saya hanya menekan tombol ENTER. Saya sengaja memisahkan setiap keterangan dan pertanyaan dengan baris kosong. Semoga ini membantu Anda.

Mengompilasi Evergreen

Saatnya mengompilasi Evergreen dengan tiga langkah:

$ PATH=/opt/openils/bin:$PATH ./configure --prefix=/opt/openils --disable-static
$ make
$ sudo make install

Seperti OpenSRF, saya memasang Evergreen di /opt/openils agar sesuai dengan FHS. Sebenarnya variabel STAFF_CLIENT_STAMP_ID tidak perlu dituliskan. Di dokumentasi disebutkan saat make install harus:

$ sudo make STAFF_CLIENT_STAMP_ID=rel_2_5_2 install

Tapi, toh, sebenarnya ia akan dipasang di tempat yang sama seperti versi yang ada. Ada atau pun tidak ada variabel itu, pasti akan ditaruh juga di tempat yang sama.

Selanjutnya membuat sebuah tautan simbolik sebagai peladen.

$ sudo ln -sf /opt/openils/var/web/xul/rel_2_5_2/server /opt/openils/var/web/xul/server

Pasang konfigurasi opensrf.xml dan opensrf_core.xml versi Evergreen.

$ sudo su opensrf -c "cp -b /opt/openils/conf/opensrf_core.xml.example /opt/openils/conf/opensrf_core.xml"
$ sudo su opensrf -c "cp -b /opt/openils/conf/opensrf.xml.example /opt/openils/conf/opensrf.xml"

Jangan lupa sunting kembali opensrf_core.xml dengan mengganti nama-nama pengguna dan sandi sesuai yang telah kita konfigurasi sebelumnya di OpenSRF.

Selanjutnya betulkan kembali kepemilikan /opt/openils menjadi milik opensrf.

$ sudo chown -R opensrf:opensrf /opt/openils

Memasang Konfigurasi Basisdata

Jalankan skrip konfigurasi basisdata

$ sudo make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-wheezy

Skrip akan memasang libdbd-postgres ke /usr/local/lib/dbd. Tambahkan pustaka tersebut ke dalam pustaka sistem.

$ echo "/usr/local/lib/dbd" | sudo tee -a /etc/ld.so.conf.d/eg.conf
$ sudo ldconfig

Buat pengguna evergreen dan isi sandinya dengan sandi yang aman.

$ sudo su postgres -c "createuser -s -P evergreen"

Selanjutnya jalankan skrip untuk mempopulasi basisdata.

$ perl Open-ILS/src/support-scripts/eg_db_config --update-config \
     --service all --create-database --create-schema --create-offline \
     --user evergreen --password passwd123 --hostname localhost --port 5432 \
     --database egdb --admin-user egadmin --admin-pass passwd123

Kalau Anda mau mencoba Evergreen dengan data contoh, tambahkan –load-all-sample sebagai parameter sehingga menjadi:

$ perl Open-ILS/src/support-scripts/eg_db_config --update-config \
     --service all --create-database --create-schema --create-offline \
     --user evergreen --password passwd123 --hostname localhost --port 5432 \
     --database egdb --admin-user egadmin --admin-pass passwd123 --load-all-sample

Pengguna evergreen sesuai dengan nama pengguna yang diciptakan oleh postgres. Sandinya mohon diganti.

Untuk inang peladen PostgreSQL memakai localhost dan port baku 5432. Basis data saya pilih egdb, bisa diganti namanya.

Untuk nama admin saya gunakan egadmin agar mudah diingat. Mohon sandinya diganti.

Pokoknya untuk setiap sandi selalu saya isi passwd123, karena ini cuma tutorial sesederhana mungkin. Namun, Anda tidak boleh melakukannya untuk mesin produksi.

Memasang Konfigurasi Apache2

Pasang konfigurasi Evergreen untuk peladen Apache2.

$ sudo cp Open-ILS/examples/apache/eg.conf /etc/apache2/sites-available/
$ sudo cp  Open-ILS/examples/apache/eg_{startup,vhost.conf} /etc/apache2/

Kalau Anda menggunakan Apache2 versi 2.4, salin konfigurasi yang ada di Open-ILS/examples/apache_24 ke direktori masing-masing.

Pasang SSL untuk Apache2

Untuk memasang SSL, buat sertifikat dengan melakukan perintah berikut:

$ sudo mkdir /etc/apache2/ssl
$ cd /etc/apache2/ssl
$ sudo openssl req -new -x509 -days 365 -nodes -out server.crt -keyout server.key
Generating a 2048 bit RSA private key
......................................................................+++
...+++
writing new private key to 'server.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:ID
State or Province Name (full name) [Some-State]:Jawa Barat
Locality Name (eg, city) []:Depok
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Universitas Indonesia
Organizational Unit Name (eg, section) []:PPSI
Common Name (e.g. server FQDN or YOUR name) []:localhost
Email Address []:jp@localhost

Ganti organisasi dengan organisasi Anda. Ganti FQDN dengan alamat peladen yang benar. Dan seterusnya.

Evergreen meminta agar Apache2 dijalankan oleh pengguna opensrf, bukan www-data.

$ sudo sed -i.bak s/www-data/opensrf/g /etc/apache2/envvars
$ sudo chown -R opensrf:opensrf /var/lock/apache2

Aktifkan Evergreen dan matikan situs bawaan.

$ sudo a2dissite default
$ sudo a2ensite eg.conf

Selanjutnya menjalankan Evergreen.

Memperbaharui Konfigurasi

Jalankan perintah berikut setiap kali mengubah hierarki config.cgi.

$ sudo su opensrf -c "PATH=$PATH:/opt/openils/bin autogen.sh -u"

Menjalankan Evergreen

Jalankan ulang layanan-layanan yang diperlukan.

$ sudo invoke-rc.d ejabberd restart
$ sudo invoke-rc.d memcached restart

Jalankan ulang Evergreen.

$ sudo su opensrf -c "PATH=$PATH:/opt/openils/bin osrf_ctl.sh -l -a stop_all"
$ sudo su opensrf -c "PATH=$PATH:/opt/openils/bin osrf_ctl.sh -l -a start_all"

Jalankan ulang Apache2:

$ sudo invoke-rc.d apache2 restart

Terakhir, buka peramban dan pergi ke situs ini. Maka, akan didapati:

OPAC on Evergreen

OPAC on Evergreen

 

Bacaan Lebih Lanjut

Memasang KOHA, Sebuah Perangkat Lunak Perpustakaan Terintegrasi
KOHA Logo is a copyright of KOHA community

Memasang KOHA, Sebuah Perangkat Lunak Perpustakaan Terintegrasi

Dari diskusi artikel yang lalu, didapati bahwa ternyata Senayan SLiMS masih memilih galat atau belum memenuhi. Menurut saya, wajar saja mengingat SLiMS baru dikembangkan bila dibandingkan solusi yang lain. Saya pun mencoba mencari perangkat lunak perpustakaan terintegrasi (Integrated Library Software/ILS) yang lebih matang. Tujuan dari pencarian ini adalah untuk menyediakan alternatif lain selain SLiMS.

Menurut (Tristan Müller, 2011, pp. 57-78), ada tiga ILS yang memenuhi kriteria tersebut: Koha, Evergreen, dan PMB. Pemilihan ini berdasarkan kriteria komunitas yang hidup, lisensi yang benar-benar FOSS, dan fungsionalitas yang matang. Tentunya, artikel tahun 2011 ini tidak begitu valid lagi mengingat sekarang sudah tahun 2014 dan ada banyak yang sudah berkembang. Namun, artikel ini cukup menyediakan sebuah rujukan untuk menyediakan sistem ILS yang baik.

Pertama-tama, saya bingung untuk memilih versi Koha yang benar. Saya menemukan ada Koha dan LLC Koha. Ternyata, telah terjadi perpecahan sehingga menyebabkan LLC Koha terpisah dan berkelahi dengan komunitas Koha. Memang ini sering terjadi pada proyek FOSS yang sudah matang ketika hendak dikomersialisasi oleh sebagian pengembangnya.

Terlepas dari konflik, versi yang digunakan oleh LLC Koha mengadaptasi penggunaan Zebra, sebuah pengindeks koleksi data. Ini sebenarnya sebuah fitur yang sangat bagus. Selain itu, LLC Koha menyediakan banyak tambahan yang tidak mereka kontribusikan kembali kepada komunitas Koha. Oleh sebab itu, mengingat semangat FOSS dan komunitas, saya memilih menggunakan Koha versi komunitas.

Pemasangan Koha

Sebenarnya artikel pemasangan mulai dari sini. Saya menggunakan Debian Wheezy yang dibangun dari debootstrap. Terjadi kegalatan pada BlankOn Suroboyo tidak dapat memasang apache2-mpm-itk dan libapache2-mpm-itk. Artikel di situs Koha sebenarnya sudah cukup lengkap. Saya hanya mengulangi dari awal saja artikel tersebut.

Masukkan repositori Koha ke dalam sources.list BlankOn. Saya menggunakan sebuah berkas tersendiri di /etc/apt/sources.list.d/koha agar lebih bagus. Caranya:

$ echo "deb http://debian.koha-community.org/koha squeeze main" | sudo tee -a /etc/apt/sources.list.d/koha.list

Tambahkan kunci repositori Koha agar tidak muncul peringatan dari APT.

$ wget -O- http://debian.koha-community.org/koha/gpg.asc | sudo apt-key add -

Setelah itu lakukan seperti biasa.

$ sudo apt-get update

Pasang Koha:

$ sudo apt-get install koha-common mysql-server

Jangan lupa menyalakan modul rewrite.

$ sudo a2enmod rewrite
$ sudo invoke-rc.d apache2 restart

Menurut artikel pemasangan, paket koha berbeda dengan paket koha-common! Paket koha hanya menyediakan satu instans saja. Paket koha-common berisi skrip-skrip pemasangan. Ini cocok mungkin bila ada satu penyedia layanan yang hendak beramal menyediakan layanan Koha kepada banyak instansi pendidikan. #kode

Membuat Sebuah Instans KOHA

Sekarang saatnya membuat sebuah instans KOHA.

$ sudo koha-create --create-db perpus-jp

Iya, saya tahu, nama yang saya gunakan tidak kreatif. Silakan ganti dengan yang Anda mau. Pastikan namanya jangan lebih dari 16 karakter karena akan menyebabkan galat pada MySQL.

Perintah tersebut akan membuat sebuah instans di /etc/koha/sites/perpus-jp, basisdata MySQL koha_perpus-jp, dan sebuah entri Apache di /etc/apache/sites-enabled/perpus-jp.

Nama pengguna untuk masuk adalah koha_perpus-jp. Ganti perpus-jp dengan nama yang Anda sudah pilih. Untuk mengetahui sandi masuk, Anda dapat melihatnya dengan menjalankan perintah sebagai berikut:

$ sudo xmlstarlet sel -t -v 'yazgfs/config/pass' /etc/koha/sites/perpus-jp/koha-conf.xml

Setelah ini, tambahkan port 8080 ke dalam /etc/apache2/ports.conf dan hapus situs default yang diberikan oleh Debian. Berikut cara cepatnya:

$ echo "Listen 8080" | sudo tee -a /etc/apache2/ports.conf
$ sudo a2dissite default
$ sudo invoke-rc.d apache2 restart

Konfigurasi KOHA

Kalau benar, maka pergi ke port 8080 untuk masuk ke situs administratornya.

Koha Setup

Koha Setup for the very first time

Masukkan login administrator dan sandi yang sudah disebutkan tadi, dalam hal ini saya menggunakan koha_perpus-jp sebagai nama pengguna.

Koha Setup: Select Language

Koha Setup: Select Language

Ini secara baku hanya menyediakan bahasa Inggris. Untuk dapat menyediakan Bahasa Indonesia, jalankan perintah berikut:

$ cd /usr/share/koha/misc/translator
$ sudo env PERL5LIB=/usr/share/koha/lib KOHA_CONF=/etc/koha/sites/perpus-jp/koha-conf.xml perl translate install id-ID

Kalau sudah, silakan perbaharui tampilan peramban Anda (biasanya tekan tombol F5) dan Anda akan menemukan id-ID sebagai pilihan. Kalau Anda mau berkontribusi atau menyediakan penerjemahan yang lebih baik, Anda dapat melihat direktori /usr/share/koha/misc/translator/po ada beberapa berkas penerjemahan Bahasa Indonesia.

$ ls -al /usr/share/koha/misc/translator/po/id-ID-*
-rw-r--r-- 1 root root  618906 Jan 14 07:50 /usr/share/koha/misc/translator/po/id-ID-i-opac-t-prog-v-3006000.po
-rw-r--r-- 1 root root 4152287 Jan 14 07:50 /usr/share/koha/misc/translator/po/id-ID-i-staff-t-prog-v-3006000.po
-rw-r--r-- 1 root root  662882 Jan 14 07:50 /usr/share/koha/misc/translator/po/id-ID-opac-bootstrap.po
-rw-r--r-- 1 root root   24121 Jan 14 07:50 /usr/share/koha/misc/translator/po/id-ID-opac-ccsr.po
-rw-r--r-- 1 root root  196255 Jan 14 07:50 /usr/share/koha/misc/translator/po/id-ID-pref.po

Silakan ubah dan kirimkan kepada komunitas KOHA kemungkinan nama Anda akan tercatat harum pada Koha.

Selanjutnya adalah halaman pemeriksaan ketergantungan. Kebetulan pemasangan dengan menggunakan paket Debian. Jadi, seharusnya tidak ada yang bermasalah di sini.

KOHA Setup: Dependency Checking

KOHA Setup: Dependency Checking

Kemudian halaman konfigurasi Basisdata.

KOHA Setup: Database configuration

KOHA Setup: Database configuration

Oh, iya, hampir lupa, untuk maju ke halaman selanjutnya tinggal tekan “Next”.

KOHA Setup: finishing all.

KOHA Setup: After all that clicking so many “Next” button we are here.

Skrinsut selanjutnya:

KOHA Setup: Another screenshot of finishing up.

KOHA Setup: Another screenshot of finishing up.

Setelah selesai, selanjutnya akan ditampilkan pilihan untuk memasang konfigurasi dasar.

 

KOHA Setup: Finishing up.

KOHA Setup: Finishing up

Pilih “install basic configuration settings” dan kemudian Anda akan diminta pilihan untuk memilih standar baku. Kebetulan saya bukan seorang pustakawan, jadi saya memilih Marc21 saja.

KOHA Setup: Selecting MARC standard

KOHA Setup: Selecting MARC standard

Selanjutnya adalah tambahan data untuk MARC21 dan contoh-contoh data. Saya pilih semua sampel data dan saya gulung ke bawah untuk pilih “Import“.

KOHA Setup: data sample, this is the bottom view of it.

KOHA Setup: data sample, this is the bottom view of it.

Apabila tidak ada apa-apa, maka akan dibawa ke laman selanjutnya: laporan hasil pemasangan. Pilih tombol “Finish” dan selesai.

KOHA Setup: finished, FINALLY!

KOHA Setup: finished

Akhirnya, setelah semuanya ini kita dihadapkan kepada halaman login KOHA.

KOHA login page

KOHA login page

Setelah masuk ke dalam, akan diberikan dasbor.

KOHA Admin page

KOHA Admin page

Seperti yang Anda lihat, login koha_perpus-jp adalah seperti root pada GNU/Linux. Silakan konfigurasi lebih lanjut dengan menciptakan pengguna lainnya dan membuat sebuah perpustakaan selanjutnya.

Jangan lupa, halaman utama (OPAC) ada di port 80 dan admin ada di port 8080. Ini tampilan OPAC yang baru dikonfigurasi. Selamat mengubah-ubah lebih lanjut.

KOHA Frontpage

KOHA Frontpage

Masih kosong? Silakan diisi sendiri karena saya seorang admin sistem, bukan pustakawan. Saya tidak mengerti terminologi di dalam keperpustakaan. (Alasan lain untuk kemalasan)

TAMAT

 

Daftar Pustaka

Tristan Müller (2011). How to choose a free and open source integrated library system OCLC Systems & Services, 27(1), pp. 57-78. doi: http://dx.doi.org/10.1108/10650751111106573.^
Mencoba SLiMS Cendana 7

Mencoba SLiMS Cendana 7

SLiMS Open Source Library Management System (SLiMS) adalah sebuah manajemen koleksi perpustakaan daring. Selain keanggotaan, kode batang, dan pengaturan koleksi, SLiMS mendukung OPAC dengan pustaka Javascript terbaru. Sayangnya, dia hanya mendukung basisdata MySQL (MariaDB, Percona, dan sejenisnya), tetapi tidak PostgreSQL. Padahal, PostgreSQL lebih bagus dibandingkan dengan MySQL.

Kali ini menjelang pulang kantor saya akan memasang SLiMS dengan menggunakan sistem berbasis NGINX, PHP-FPM, dan MySQL. Ingat, kawan-kawan, ini adalah sebuah keisengan. Jangan lupa untuk riset lebih lanjut. Saya membangun sistem ini dari BlankOn 9 hasil debootstrap.

Memasang Hal-hal Dasar

Mari kita hal-hal dasar sebelum memasang Senayan

Memasang Sistem Dasar

Mari memasang aplikasi-aplikasi yang diperlukan.

$ sudo apt-get install nginx php5-fpm mysql-server php5-mysqlnd php5-gd

NGINX, PHP5-FPM, dan MySQL dipasang. Saya menggunakan MySQL Native Driver (MySQL ND) bukan libmysqlclient. Hal ini karena MySQL ND lebih efisien.(Andrea Usu, 2010) Tak lupa saya juga memasang PHP GD karena SLiMS menggunakannya untuk memroses gambar dan kode batang.

Membuat Basisdata

Lalu mari buat sebuah basisdata Senayan:

$ sudo mysql --defaults-file=/etc/mysql/debian.cnf

Debian menggunakan berkas konfigurasi untuk masuk sebagai administrator MySQL. Berkas konfigurasi ini tidak dapat diakses kecuali oleh root.

mysql> create database senayandb;
mysql> grant all privileges on senayandb.* to senayan@localhost identified by 'senayan123';
mysql> flush privileges;

Setelah itu, keluar dari klien PostgreSQL.

mysql> \q

Anda tentunya tidak akan menggunakan senayan, senayandb, dan “senayan123”, ‘kan? Anda tidak sebodoh itu, ‘kan? Gunakan nama yang lain yang lebih aman!

Memasang Senayan

Saatnya mengunduh Senayan:

$ wget http://slims.web.id/download/slims7-cendana-stable.tar.gz

Lalu memekarkan berkas tersebut:

$ tar xvfz slims7-cendana-stable.tar.gz

Entah mengapa seluruh berkas yang saya ekstraksi memiliki izin 755. Artinya, setiap berkas tersebut rawan untuk bisa dieksekusi. Sebelum diolah lebih lanjut, mari kita betulkan:

$ find slims7_cendana-slims7-cendana/ -type f -exec chmod 644 {} \;

Pindahkan ke /var/www dan buat menjadi milik www-data

$ sudo mv slims7_cendana-slims7-cendana /var/www
$ sudo chown -R 33:33 /var/www

Saatnya mengaktifkan NGINX. Buat konfigurasi situs. Saat ini saya membuat konfigurasi situs berdasarkan /etc/nginx/sites-available/default. Anda dapat mengutak-atik lebih lanjut.

$ cat >> slims < EOF
server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www;
    index index.html index.htm index.php;

    # Make site accessible from http://localhost/
    server_name localhost;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
        # Uncomment to enable naxsi on this location
        # include /etc/nginx/naxsi.rules
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

        # With php5-cgi alone:
        #fastcgi_pass 127.0.0.1:9000;
        # With php5-fpm:
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
        deny all;
    }
}
EOF
$ sudo cp slims /etc/nginx/sites-available/slims
$ rm slims

Cara menyunting konfigurasi ini sebenarnya dapat dilakukan dengan mudah menggunakan penyunting favorit Anda (ViM, EMACS, pico, dll.)

$ sudo $EDITOR /etc/nginx/sites-available/slims

Isi dengan konfigurasi yang diwarnai merah. Perhatikan, ganti localhost dengan domain Anda yang benar.

Sekarang, saatnya mengaktifkan SLiMS dan menonaktifkan konfigurasi baku.

$ sudo rm -f /etc/nginx/sites-enabled/default
$ sudo ln -sf /etc/nginx/sites-available/slims /etc/nginx/sites-enabled/slims

Setelah itu, saatnya menyalakan ulang NGINX.

$ sudo invoke-rc.d nginx restart

Selesai. Selanjutnya tinggal mengarahkan peramban kepada situs kita.

Mengonfigurasi Situs

Kalau Anda telah selesai mengonfigurasi dengan benar, maka tampilan pertama dari SLiMS di peramban adalah laman pemasangan.

A Welcome screen for SLiMS setup.

01. A welcoming start for SLiMS setup.

Pilih "Let's Start The Installation" untuk lanjut. Maka pada laman berikutnya akan ditampilkan isian untuk mengonfigurasi.

Setup configuration for SLiMS

02. Setup configuration for SLiMS

Halaman kedua intinya untuk mengonfigurasi basisdata dan admin SLiMS. Contoh yang saya isi untuk isian tersebut:

Database Host localhost
Database Name senayandb
Database Username senayan
Database Password **********
Generate Sample Data Yes
Username pustakawan
Password *************
Retype Password *************

Saya memilih untuk memasang data contoh agar mendapatkan gambaran mengenai apa itu SLiMS. Nanti kalau sudah digunakan secara penuh, tentunya data contoh ini tak perlu dipasang. Bahkan, dapat dihapus begitu saja. Setelah mengisi itu semua, pilih "Continue" untuk lanjut ke halaman terakhir.

Setup completed

03. Setup completed

Halaman terakhir memberikan rekomendasi untuk menghapus direktori "install/". Namun sebelumnya, mari memulai SLiMS dengan memilih "OK, start the SLiMS". Maka, Anda akan dibawa ke laman depan SLiMS.

SLiMS frontpage

SLiMS frontpage

Seperti rekomendasi pemasang SLiMS, mari hapus direktori pemasangan dan juga membetulkan perizinan berkas yang ada.

$ sudo rm -rf /var/www/install
$ sudo chmod 644 /var/www/sysconfig.local.inc.php

Sampai sini proses konfigurasi awal berhasil. Anda sudah dapat berpuas diri dan berpesta ria. Selanjutnya adalah proses yang saya hendak lakukan di dalam SLiMS agar lebih bagus. Tapi, itu, 'kan, tergantung selera masing-masing.

Bacaan Lebih Lanjut

Daftar Pustaka

Andrea Usu (2010, August 3). Benchmark: libmysql vs mysqlnd. Retrieved Jan 16, 2014 from https://usu.li/benchmark-libmysql-vs-mysqlnd/.^