OpenKM adalah Document Management System yang menurut saya paling bagus
Berikut adalah cara menginstall OpenKM di Sistem CentOS yang saya miliki.
Sistem yang saya gunakan:
– CentOS 6.5 64bit
– OpenKM 6.3 Community Version
– Oracle Java JDK 1.7
Konfigurasi yang digunakan
– LDAP server dengan IP Address ldap://ip-address-ldap:389
– LDAP server dengan login cn=adminldap,dc=domain,dc=id
Install CentOS 6 dengan Perfect Server
Cara Instalasi bisa dilihat di
Install Centos 6 Perfect Server part 1
Install Centos 6 Perfect Server part 2
Install dengan beberapa parameter
nama domain server OpenKM ini dokumen.agungsep.co.id
Install Oracle Java JDK 1.7
Install Oracle Java JDK di CentOS 6.5
Install JDK 1.7. Tidak perlu install JDK 1.6
Install OpenKM
Download OpenKM 6.3 Community Version dari link di bawah ini
http://www.openkm.com/en/download-english.html
Download yang Openkm-6.3.0-tomcat-bundle.zip
Lalu upload ke server anda di folder /opt
unzip file OpenKM nya
unzip /opt/openkm-6.3.0-community-tomcat-bundle.zip
Eksekusi script di bawah ini untuk memulai servis Tomcat
/opt/tomcat/bin/catalina.sh start
Aplikasi OpenKM sudah running. Buka dengan browser ke alamat di bawah ini
http://<ip-address-server>:8080
Login dengan parameter
user: okmAdmin
pass: admin
Install Aplikasi Third-Party untuk OpenKM
Install Semua Tools yang dibutuhkan
Sebelumnya, kita harus menginstall Repository RPMForge.
Cara Instalasi Repository RPM Forge bisa dilihat diInstall Repository RPMForge di CentOS 6
Install Tools berikut dari RPM Forge
yum install swftools libreoffice-headless libreoffice-sdk ImageMagick
Konfigurasi di Administration Page OpenKM
Buka OpenKM dengan login okmAdmin
, buka menu Administration - Configuration
Edit Konfigurasi settingan di bawah ini:
system.imagemagick.convert = /usr/bin/convert system.openoffice.path = /usr/lib64/libreoffice system.swftools.pdf2swf = /usr/bin/pdf2swf -f -T 9 -t -s storeallcharacters ${fileIn} -o ${fileOut}
Integrasi dengan OpenLDAP
Struktur OpenLDAP yang saya miliki adalah sebagai berikut
dc=id dc=domain ou=Group cn=ROLE_USER, objectClass=posixGroup, memberUid = agungsep, memberUid = bruce.wayne cn=ROLE_ADMIN, objectClass=posixGroup, memberUid = agungsep ou=People uid = agungsep, objectClass=inetOrgperson, cn = Agung Sep uid = bruce.wayne, objectClass=inetOrgperson, cn = Bruce Wayne
Ada dua bagian yang kita harus konfigurasi:
Konfigurasi OpenKM
Buka OpenKM dengan login okmAdmin
, buka menu Administration - Configuration
Edit Konfigurasi settingan di bawah ini:
principal.adapter = com.openkm.principal.LdapPrincipalAdapter principal.ldap.mail.attribute = mail principal.ldap.mail.search.base = ou=People,dc=domain,dc=id principal.ldap.mail.search.filter = (&(objectClass=inetOrgPerson)(uid={0})) principal.ldap.referral = follow principal.ldap.role.attribute = cn principal.ldap.role.search.base = ou=Group,dc=domain,dc=id principal.ldap.role.search.filter = (objectClass=posixGroup) principal.ldap.roles.by.user.attribute = cn principal.ldap.roles.by.user.search.base = ou=Group,dc=domain,dc=id principal.ldap.roles.by.user.search.filter = (memberUid={0}) principal.ldap.security.credentials = pass-ldap-service principal.ldap.security.principal = cn=adminldap,dc=domain,dc=id principal.ldap.server = ldap://<ip-server-ldap>:389 principal.ldap.user.attribute = uid principal.ldap.user.search.base = ou=People,dc=domain,dc=id principal.ldap.user.search.filter = (objectClass=inetOrgPerson) principal.ldap.username.attribute = cn principal.ldap.username.search.base = ou=People,dc=domain,dc=id principal.ldap.users.by.role.search.filter = (&(objectClass=posixGroup)(cn={0})) principal.ldap.users.from.roles = false system.login.lowercase = false
Jika telah mengedit principal.adapter
, kita diharuskan merestart Tomcat, konfigurasi lain bisa diubah on-the-fly
Restart Tomcat.
/opt/tomcat/bin/catalina.sh stop /opt/tomcat/bin/catalina.sh start
Konfigurasi Tomcat
Ubah /opt/tomcat/OpenKM.xml dari
<!-- Security configuration --> <security:authentication-manager alias="authenticationManager"> <security:authentication-provider> <security:password-encoder hash="md5"/> <security:jdbc-user-service data-source-ref="dataSource" users-by-username-query="select usr_id, usr_password, 1 from OKM_USER where usr_id=? and usr_active='T'" authorities-by-username-query="select ur_user, ur_role from OKM_USER_ROLE where ur_user=?"/> </security:authentication-provider> </security:authentication-manager>
menjadi seperti ini
<security:ldap-server id="ldapServer" url="ldap://<ip-server-ldap>:389" manager-dn="cn=adminldap,dc=domain,dc=id" manager-password="pass-ldap-service"/> <!-- Security configuration --> <security:authentication-manager alias="authenticationManager"> <security:ldap-authentication-provider server-ref="ldapServer" user-search-base="ou=People,dc=domain,dc=id" user-search-filter="(uid={0})" group-search-base="ou=Group,dc=domain,dc=id" group-search-filter="(memberUid={0})" group-role-attribute="cn" role-prefix="none"> </security:ldap-authentication-provider> </security:authentication-manager>
Voila. Server OpenKM sudah terintegrasi dengan OpenKM
user agungsep memiliki role sebagai Admin, sedangkan user Bruce Wayne hanya memiliki role sebagai User
OpenKM in advanced
Mengaktifkan SSL dan memaksa user untuk menggunakan https://
Defaultnya, Apache Tomcat itu menggunakan port 8080 sebagai port web nya. SSL nya pun defaultnya tidak diaktifkan. Apache Tomcat menggunakan port 8443 sebagai port SSL web nya bukan menggunakan port 443 seperti biasanya.
Kita ingin mengaktifkan SSL nya agar dapat menggunakan https
Mengaktifkan SSL di Apache Tomcat
Untuk mengaktifkan SSL, kita harus membuat sertifikat terlebih dahulu. Langkah pertama, kita harus masuk ke directory Java kita terlebih dahulu.
cd /usr/java/jdk1.7.0_60 .bin/keytool -genkey -alias tomcat -keyalg RSA
Perintah di atas digunakan untuk membuat self-signed certificate. Jangan lupa isi password keystore nya sesuai dengan kehendak hati.
Sertifikat secara default ditaruh di /root/.keystore
Mengubah file server.xml dan web.xml
Buka file /opt/tomcat/conf/server.xml
Edit beberapa baris, dan uncomment beberapa baris sehingga menjadi seperti di bawah ini
<Connector port="80" enableLookups="false" redirectPort="443" /> <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" keystoreFile="/root/.keystore" keystorePass="pass-keystore-tadi" clientAuth="false" sslProtocol="TLS" />
Buka file /opt/tomcat/conf/web.xml
Tambahkan SEBELUM baris
</web-app>
dengan konten di bawah ini
<security-constraint> <web-resource-collection> <web-resource-name>Protected Context</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <!-- auth-constraint goes here if you requre authentication --> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>
Restart Tomcat
/opt/tomcat/bin/catalina.sh stop /opt/tomcat/bin/catalina.sh start
Voila. Silahkan akses ke http://ip-address.OpenKM
. Seharusnya langsung diredirect ke https://ip-address.OpenKM.
Membuat OpenKM Service autostart pada saat server start-up
Saat ini, jika ingin mematikan atau menyalakan service OpenKM, kita harus melakukan perintah di bawah ini
/opt/tomcat/bin/catalina.sh stop /opt/tomcat/bin/catalina.sh start
Namun, kita sih ingin membuat service OpenKM tersebut dapat aktif pada saat server Linux dinyalakan.
Buat symlinks catalina.sh
ke folder /etc/init.d
ln -s /opt/tomcat/bin/catalina.sh /etc/init.d/catalina
Buat supaya catalina.sh disupport oleh chkconfig dengan menambahkan baris di /opt/tomcat/bin/catalina.sh
#!/bin/sh # chkconfig: 345 99 01
Eksekusi perintah di bawah agar /etc/init.d/catalina
menjadi masuk ke dalam daftar chkconfig
chkconfig --add catalina chkconfig catalina on chkconfig --list | grep catalina
Terlihat bahwa service catalina sudah on
catalina 0:off 1:off 2:on 3:on 4:on 5:on 6:off
sekarang mematikan dan menghidupkan service openKM cukup dengan perintah
service catalina stop service catalina start
Sekarang service OpenKM pun sudah aktif pada saat server direstart
WARNING: Cara yang saya lakukan mungkin kurang “elegan”. Bila ada cara lain yang lebih secure. Berikan komentar di bawah yak..
Source:
tomcat[dot]apache[dot]org/tomcat-7.0-doc/ssl-howto.html
tkurek[dot]blogspot[dot]com/2013/07/tomcat-7-http-to-https-redirect.html