Installing on Ubuntu and Debian (Manual)
Preliminaries
Section titled “Preliminaries”Check disk size
Section titled “Check disk size”$ df -hCreate user named openkm
Section titled “Create user named openkm”$ sudo adduser openkmCheck if partners channels are enabled
Section titled “Check if partners channels are enabled”$ cat /etc/apt/sources.listIn case they are not enabled, enable them.
$ sudo vim /etc/apt/sources.list$ sudo apt-get updateCheck 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/pam.d/suuncomment the following line
#session required pam_limits.so
to
session required pam_limits.so
$ sudo vim /etc/security/limits.confand add 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 is displayed:
openjdk version "1.8.0_212"OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.18.04.1-b03)OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)Install Java
Section titled “Install Java”In case of Ubuntu
$ sudo apt-get update$ sudo apt-get install openjdk-8-jdkIn case of Debian
$ su -$ apt-get update$ apt-get install openjdk-8-jdk$ exitSet OpenJDK 1.8 as your default Java version
Section titled “Set OpenJDK 1.8 as your default Java version”$ sudo update-alternatives --config javaInstalling database
Section titled “Installing database”Install MySQL if you do not have it already installed:
$ sudo apt-get install mysql-serverWhen you install MySQL, the installer will ask you for a password for the root user. Keep this password handy.
Also you can install MariaDB, which replaces MySQL in latest versions:
$ sudo apt-get install mariadb-serverChange MySQL root password
Section titled “Change MySQL root password”Do it only if it’s necessary to change MySQL root password.
Method 1
Section titled “Method 1”$ /usr/bin/mysqladmin -u root -h localhost password 'password'Method 2
Section titled “Method 2”$ 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;Method 3
Section titled “Method 3”$ mysql> UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';> flush privileges;Method 4
Section titled “Method 4”$ 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.
Check InnoDB is default MySQL engine
Section titled “Check InnoDB is default MySQL engine”$ mysql -h localhost -u root -p> show engines;If it not default, modify /etc/mysql/my.cnf
$ vim /etc/mysql/my.cnfand under [mysqld] add
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.24.zipConfiguring Tomcat as a service
Section titled “Configuring Tomcat as a service”Create a file with the script:
$ 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/echoTEST=/usr/bin/testTOMCAT_USER=openkmTOMCAT_HOME=/home/openkm/tomcat-8.5.24TOMCAT_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/tomcatUpdate the run-levels:
$ sudo update-rc.d tomcat defaultsCheck the service
Section titled “Check the service”Start the service:
$ sudo service tomcat startStop the service:
$ sudo service tomcat stopInstalling OpenKM
Section titled “Installing OpenKM”With tomcat stopped copy the OpenKM.war file into /home/openkm/tomcat-8.5.24/webapps
$ cp OpenKM.war /home/openkm/tomcat-8.5.24/webappsInstalling third-party software
Section titled “Installing third-party software”| Software | Required | Command |
|---|---|---|
| LibreOffice or OpenOffice | Yes | bash<br>$ apt-get install libreoffice<br> |
| Tesseract | No | bash<br>$ apt-get install tesseract-ocr tesseract-ocr-eng<br>Depending on your locale you would like to install other language file. |
| Clamav | No | bash<br>$ apt-get install clamav<br> |
| Imagemagick | Yes | bash<br>$ apt-get install imagemagick<br> |
| Ghostscript | Yes | bash<br>$ apt-get install ghostscript<br> |
Start application
Section titled “Start application”Check OpenKM.cfg parameters
Section titled “Check OpenKM.cfg parameters”$ vim /home/openkm/tomcat-8.5.24/OpenKM.cfgYour configuration should be something like this:
# OpenKM Hibernate configuration values
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
hibernate.hbm2ddl=create
First time application start:
$ service tomcat startTo see the startup process can execute the command:
$ tail -f /home/openkm/tomcat-8.5.24/log/catalina.logWhen application is started you’ll see in 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 about Manage users and roles.
Configure 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');Other common additional configurations setup
Section titled “Other common additional configurations setup ”OpenKM comes with a lot of configuration parameters. Please make sure to review: Recommended configuration parameters.