Skip to content
Other versions

Loading…

Installing on RedHat and CentOS (Manual)

Terminal window
$ df -h
Terminal window
$ sudo adduser openkm
Terminal window
$ wget -Nc smxi.org/inxi
$ sudo chmod +x inxi
$ sudo ./inxi -F
Terminal window
$ sudo vim /etc/security/limits.conf

add the following lines to the end of the file (before the line # End of file)

*   soft  nofile   6084

*   hard  nofile   6084

Terminal window
$ java -version

 If Java is correctly installed on your computer, the name and version of the Java virtual machine are displayed:

Terminal window
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)
Terminal window
$ sudo yum install java-1.8.0-openjdk-devel

Set OpenJDK 1.8 as your default Java version

Section titled “Set OpenJDK 1.8 as your default Java version”
Terminal window
$ alternatives --config java

Install MySQL if you do not have it already installed:

Terminal window
$ sudo yum install mysql-server mysql

Configure it as a service:

Terminal window
$ sudo chkconfig --levels 235 mysqld on

Do it only If it’s necessary to change the MySQL root password.

Terminal window
$ /usr/bin/mysqladmin -u root -h localhost password 'password.'
Terminal window
$ sudo /etc/init.d/mysql stop
$ sudo mysqld --skip-grant-tables &
$ mysql -u root mysql
> UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root';
> FLUSH PRIVILEGES;
> exit;
Terminal window
$ mysql
> UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
> flush privileges;
Terminal window
$ sudo /etc/init.d/mysql stop
$ mysqld_safe --skip-grant-tables &
$ mysql -u root mysql
> UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root';
> FLUSH PRIVILEGES;
> exit;

More information at MySQL: Reseting permissions.

Terminal window
$ mysql -h localhost -u root -p
> show engines;

If it is not default, modify /etc/mysql/my.cnf

Terminal window
$ vim /etc/mysql/my.cnf

and under [mysqld], add

default-storage-engine = innodb

Terminal window
CREATE DATABASE okmdb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_bin;
CREATE USER openkm@localhost IDENTIFIED BY 'password';
GRANT ALL ON okmdb.* TO openkm@localhost WITH GRANT OPTION;
Terminal window
$ cd /home/openkm
$ unzip openkm-6.3.2-community-tomcat-bundle.zip

Create a file with the script:

Terminal window
$ sudo vim /etc/init.d/Tomcat
#!/bin/sh
### BEGIN INIT INFO
# Provides: tomcat
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop Apache Tomcat
# Description: Enable Apache Tomcat service provided by daemon.
### END INIT INFO
ECHO=/bin/echo
TEST=/usr/bin/test
TOMCAT_USER=openkm
TOMCAT_HOME=/home/openkm/tomcat
TOMCAT_START_SCRIPT=$TOMCAT_HOME/bin/startup.sh
TOMCAT_STOP_SCRIPT=$TOMCAT_HOME/bin/shutdown.sh
$TEST -x $TOMCAT_START_SCRIPT || exit 0
$TEST -x $TOMCAT_STOP_SCRIPT || exit 0
start() {
$ECHO -n "Starting Tomcat"
su - $TOMCAT_USER -c "$TOMCAT_START_SCRIPT &"
$ECHO "."
}
stop() {
$ECHO -n "Stopping Tomcat"
su - $TOMCAT_USER -c "$TOMCAT_STOP_SCRIPT 60 -force &"
while [ "$(ps -fu $TOMCAT_USER | grep java | grep tomcat | wc -l)" -gt "0" ]; do
sleep 5; $ECHO -n "."
done
$ECHO "."
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 30
start
;;
*)
$ECHO "Usage: tomcat {start|stop|restart}"
exit 1
esac
exit 0

Make it executable:

Terminal window
$ sudo chmod 755 /etc/init.d/Tomcat

Update the run-levels:

Terminal window
$ sudo chkconfig tomcat --level 2345 on

Start the service:

Terminal window
$ sudo service tomcat start

Stop the service:

Terminal window
$ sudo service tomcat stop
Software Required Description
OpenOffice or LibreOffice Yes Check these packages are present:
- openoffice.org-ure-3.1.1-19.5.el5_5.6  
- openoffice.org-headless-3.1.1-19.5.el5_5.6
- openoffice.org-pyuno-3.1.1-19.5.el5_5.6 
Execute this command line to check the installed packages:
bash<br>$ rpm -qa | grep openoffice<br>
Take the names of the packages as an orientation.
If a headless package is not installed, OpenKM cannot start the soffice service.
Tesseract No Some useful links:
- https://code.google.com/p/tesseract-ocr/wiki/Compiling
- https://code.google.com/p/python-tesseract/wiki/HowToCompileForCentos
- http://www.vicchiam.com/blog/?p=168
ClamAV No Some useful links:
- http://www.clamav.net/doc/install.html#rhel
Imagemagick Yes bash<br>$ yum install ImageMagick<br>
GhostScript Yes bash<br>$ yum install ghostscript<br>
Htop no Download from http://pkgs.repoforge.org/htop/
bash<br>$ rpm -ivH htop-1.0.3-1.el6.rf.x86_64.rpm<br>
Terminal window
$ vim /home/openkm/tomcat/OpenKM.cfg

Your configuration should be something like this:

# OpenKM Hibernate configuration values
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
hibernate.hbm2ddl=create

First-time application start:

Terminal window
$ service tomcat start

To check if the startup process can execute the command:

Terminal window
$ tail -f /home/openkm/tomcat/log/catalina.log

When the application is started, you’ll see in the log file the lines:

2015-07-04 18:28:10,680 [main] INFO org.apache.coyote.http11.Http11Protocol - Starting ProtocolHandler ["http-bio-0.0.0.0-8080"]
2015-07-04 18:28:10,688 [main] INFO org.apache.coyote.ajp.AjpProtocol - Starting ProtocolHandler ["ajp-bio-127.0.0.1-8009"]
2015-07-04 18:28:10,692 [main] INFO org.apache.catalina.startup.Catalina - Server startup in 41456 ms

The application will be accessible at http://YOUR_IP:8080/OpenKM by user:okmAdmin with password: admin. ( Do not forget to change it !). For more information, please check: Manage users and roles.

Configure the default extensions:

Go to Administration > Database query and execute:

INSERT INTO OKM_EXTENSION (EXT_UUID, EXT_NAME) VALUES ('808e7a42-2e73-470c-ba23-e4c9d5c3a0f4', 'Live Edit');
INSERT INTO OKM_EXTENSION (EXT_UUID, EXT_NAME) VALUES ('58392af6-2131-413b-b188-1851aa7b651c', 'HTML Editor 4');
INSERT INTO OKM_PROFILE_MSC_EXTENSION (PEX_ID, PEX_EXTENSION) VALUES (1, '808e7a42-2e73-470c-ba23-e4c9d5c3a0f4');
INSERT INTO OKM_PROFILE_MSC_EXTENSION (PEX_ID, PEX_EXTENSION) VALUES (1, '58392af6-2131-413b-b188-1851aa7b651c');

The libreoffice and tesseract tools are not in the default repositories; you can follow the steps described in the URL below to install them:

Terminal window
$ yum remove openoffice* libreoffice*
$ cd /opt
$ wget https://www.libreoffice.org/donate/dl/rpm-x86_64/6.0.4/es/LibreOffice_6.0.4_Linux_x86-64_rpm.tar.gz
$ tar -xvf LibreOffice_6.0.4_Linux_x86-64_rpm.tar.gz
$ cd LibreOffice_6.0.4_Linux_x86-64_rpm/RPMS
$ yum localinstall *.rpm
#!/bin/sh
cd /opt
yum -y update
yum -y install libstdc++ autoconf automake libtool autoconf-archive pkg-config gcc gcc-c++ make libjpeg-devel libpng-devel libtiff-devel zlib-devel
#Install AutoConf-Archive
wget ftp://mirror.switch.ch/pool/4/mirror/epel/7/ppc64/a/autoconf-archive-2016.09.16-1.el7.noarch.rpm
rpm -i autoconf-archive-2016.09.16-1.el7.noarch.rpm
#Install Leptonica from Source
wget http://www.leptonica.com/source/leptonica-1.75.3.tar.gz
tar -zxvf leptonica-1.75.3.tar.gz
cd leptonica-1.75.3
./autobuild
./configure
make
make install
cd ..
#!/bin/sh
#Install Tesseract from Source
wget https://github.com/tesseract-ocr/tesseract/archive/3.05.01.tar.gz
tar -zxvf 3.05.01.tar.gz
cd tesseract-3.05.01
./autogen.sh
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig LIBLEPT_HEADERSDIR=/usr/local/include ./configure --with-extra-includes=/usr/local/include --with-extra-libraries=/usr/local/lib
LDFLAGS="-L/usr/local/lib" CFLAGS="-I/usr/local/include" make
make install
ldconfig
cd ..
#Download and install tesseract language files
wget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/ben.traineddata
wget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/eng.traineddata
wget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/hin.traineddata
wget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/tha.traineddata
wget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/osd.traineddata
mv *.traineddata /usr/local/share/tessdata
#Download Hindi Cube data
wget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/hin.cube.bigrams
wget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/hin.cube.fold
wget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/hin.cube.lm
wget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/hin.cube.nn
wget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/hin.cube.params
wget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/hin.cube.word-freq
wget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/hin.tesseract_cube.nn
mv hin.* /usr/local/share/tessdata
ln -s /opt/tesseract-3.05.01 /opt/tesseract-latest

Other standard additional setup configurations 

Section titled “Other standard additional setup configurations ”

OpenKM comes with a lot of configuration parameters. We suggest taking a look at Recommended configuration parameters.

The OpenKM first startup does some background configurations like filesystem folder creation and changes in the OpenKM.cfg that only happen during the first startup.

Sometimes there may be some mistake in OpenKM configuration, such as a wrong database connection or similar issues during the first startup, which raises an application failure. To restart the installation from scratch, we suggest following the next steps.

  1. Ensure OpenKM is stopped.
  2. Edit the OpenKM.cfg and set the parameter to hibernate.hbm2ddl=create
  3. In case issue with the database connection, we suggest checking the link from the OpenKM server. Remember, some databases require enabling the user to gain connection from a server ( specific IP, range of IP, any server ).
  4. Delete the folder named “repository.”
  5. Start OpenKM.