Installing on RedHat and CentOS (Manual)
Preliminaries
Section titled “Preliminaries”Check disk size
Section titled “Check disk size”$ df -hCreate a user named openkm
Section titled “Create a user named openkm”$ sudo adduser openkmCheck server configuration
Section titled “Check server configuration”$ wget -Nc smxi.org/inxi$ sudo chmod +x inxi$ sudo ./inxi -FIncrease ulimit
Section titled “Increase ulimit”$ sudo vim /etc/security/limits.confAdd the following lines to the end of the file (before the line # End of file)
* soft nofile 6084
* hard nofile 6084
Checking Java version
Section titled “Checking Java version”$ java -versionIf Java is correctly installed on your computer, the name and version of the Java virtual machine are displayed:
openjdk version "1.8.0_352"OpenJDK Runtime Environment (build 1.8.0_352-b08)OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode)Install Java
Section titled “Install Java”$ sudo yum install java-1.8.0-openjdkSet OpenJDK 1.8 as your default Java version.
Section titled “Set OpenJDK 1.8 as your default Java version.”$ alternatives --config JavaInstalling database
Section titled “Installing database”Install MariaDB if it is not already installed:
$ sudo yum install mariadb-serverConfigure it as a service:
$ sudo systemctl enable mariadbChange MariaDB root password
Section titled “Change MariaDB root password”Do this only if it’s necessary to change the MariaDB root password.
Method 1
Section titled “Method 1”$ /usr/bin/mysqladmin -u root -h localhost password 'password.'Method 2
Section titled “Method 2”$ sudo systemctl stop mariadb$ sudo mysqld --skip-grant-tables &$ mysql -u root mysql> UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root';> FLUSH PRIVILEGES;> exit;Method 3
Section titled “Method 3”$ mysql> UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';> FLUSH PRIVILEGES;More information at MySQL: Resetting permissions.
Section titled “More information at MySQL: Resetting permissions.”Check InnoDB is the default MariaDB engine
Section titled “Check InnoDB is the default MariaDB engine”$ mysql -h localhost -u root -p> show engines;If it is not the default, modify /etc/my.cnf
$ vim /etc/mysql/my.cnfAdd the following under [mysqld]:
default-storage-engine = InnoDB
Create database
Section titled “Create database”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;Installing Tomcat
Section titled “Installing Tomcat”$ cd /home/openkm$ unzip Tomcat-8.5.69.zipConfiguring Tomcat as a service
Section titled “Configuring Tomcat as a service”Create a file with the script:
$ sudo vim /etc/init.d/openkm#!/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/echoTEST=/usr/bin/testTOMCAT_USER=openkmTOMCAT_HOME=/home/openkm/tomcat-8.5.69TOMCAT_START_SCRIPT=$TOMCAT_HOME/bin/startup.shTOMCAT_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 1esacexit 0Make it executable:
$ sudo chmod 755 /etc/init.d/openkmUpdate the run-levels:
$ sudo chkconfig openkm --level 2345 onCheck the service
Section titled “Check the service”Start the service:
$ sudo service openkm startStop the service:
$ sudo service openkm stopInstalling OpenKM
Section titled “Installing OpenKM”With Tomcat stopped, copy the openkm.war file into /home/openkm/tomcat-8.5.69/webapps
$ cp openkm.war /home/openkm/tomcat-8.5.69/webappsInstalling third-party software
Section titled “Installing third-party software”| Software | Required | Description |
|---|---|---|
| LibreOffice | Yes | Execute the following command to check the installed packages:bash<br>$ rpm -qa | grep -i libreoffice<br>Use the package names as a guide. If the headless package is not installed, OpenKM will not start the office 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> |
| Top | No | Download from http://pkgs.repoforge.org/htop/bash<br>$ rpm -ivH htop-1.0.3-1.el6.rf.x86_64.rpm<br> |
Open 8080 port
Section titled “Open 8080 port”By default, this port is closed, so you need to open it:
$ firewall-cmd --permanent --add-port 8080/tcp$ firewall-cmd --reloadMore information at:
Start application
Section titled “Start application”Check openkm.properties parameters
Section titled “Check openkm.properties parameters”$ vim /home/openkm/tomcat-8.5.69/openkm.propertiesYour configuration should be something like this:
# OpenKM Hibernate configuration values
spring.JPA.properties.hibernate.dialect=com.openkm.db.dialect.MySQL5InnoDBDialect
spring.jpa.hibernate.DDL-auto=create-only
First-time application start:
$ service tomcat startTo check if the startup process can execute the command:
$ tail -f /home/openkm/tomcat-8.5.69/log/catalina.logWhen 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 msThe 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 > Utilities > 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');Linux Oracle 7.x Troubleshooting
Section titled “Linux Oracle 7.x Troubleshooting”The LibreOffice and Tesseract tools are not in the default repositories; you can follow the steps described in the URL below to install them:
Install libreoffice from RPM
Section titled “Install libreoffice from RPM”Install Tesseract
Section titled “Install Tesseract”#!/bin/sh
cd /opt
yum -y updateyum -y install libstdc++ autoconf automake libtool autoconf-archive pkg-config gcc gcc-c++ make libjpeg-devel libpng-devel libtiff-devel zlib-devel
#Install AutoConf-Archivewget ftp://mirror.switch.ch/pool/4/mirror/epel/7/ppc64/a/autoconf-archive-2016.09.16-1.el7.noarch.rpmrpm -i autoconf-archive-2016.09.16-1.el7.noarch.rpm
#Install Leptonica from Sourcewget http://www.leptonica.com/source/leptonica-1.75.3.tar.gztar -zxvf leptonica-1.75.3.tar.gzcd leptonica-1.75.3./autobuild./configuremakemake installcd ..
#!/bin/sh
#Install Tesseract from Sourcewget https://github.com/tesseract-ocr/tesseract/archive/3.05.01.tar.gztar -zxvf 3.05.01.tar.gzcd tesseract-3.05.01./autogen.shPKG_CONFIG_PATH=/usr/local/lib/pkgconfig LIBLEPT_HEADERSDIR=/usr/local/include ./configure --with-extra-includes=/usr/local/include --with-extra-libraries=/usr/local/libLDFLAGS="-L/usr/local/lib" CFLAGS="-I/usr/local/include" makemake installldconfigcd ..
#Download and install tesseract language fileswget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/ben.traineddatawget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/eng.traineddatawget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/hin.traineddatawget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/tha.traineddatawget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/osd.traineddatamv *.traineddata /usr/local/share/tessdata
#Download Hindi Cube datawget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/hin.cube.bigramswget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/hin.cube.foldwget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/hin.cube.lmwget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/hin.cube.nnwget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/hin.cube.paramswget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/hin.cube.word-freqwget https://github.com/tesseract-ocr/tessdata/raw/3.04.00/hin.tesseract_cube.nnmv hin.* /usr/local/share/tessdata
ln -s /opt/tesseract-3.05.01 /opt/tesseract-latestOther standard additional setup configurations
Section titled “Other standard additional setup configurations ”OpenKM has many configuration parameters; we suggest looking at Recommended configuration parameters.