Skip to content
Other versions

Loading…

Installing on Ubuntu and Debian (Manual)

Terminal window
$ df -h
Terminal window
$ sudo adduser openkm
Terminal window
$ cat /etc/apt/sources.list

In case they are not enabled, please enable them.

Terminal window
$ sudo vim /etc/apt/sources.list
$ sudo apt-get update
Terminal window
$ wget -Nc smxi.org/inxi
$ sudo chmod +x inxi
$ sudo ./inxi -F
Terminal window
$ sudo vim /etc/pam.d/su

uncomment the following line

#session    required   pam_limits.so

to

session    required   pam_limits.so

Terminal window
$ sudo vim /etc/security/limits.conf

and 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-8u212-b03-0ubuntu1.18.04.1-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)

In the case of Ubuntu

Terminal window
$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk

In the case of Debian

Terminal window
$ su -
$ apt-get update
$ apt-get install openjdk-8-jdk
$ exit

Set OpenJDK 1.8 as your default Java version

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

Install MySQL if you do not have it already installed:

Terminal window
$ sudo apt-get install mysql-server

When 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 the latest versions:

Terminal window
$ sudo apt-get install mariadb-server

Do it only if it’s necessary to change 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 update-rc.d tomcat defaults

Start the service:

Terminal window
$ sudo service tomcat start

Stop the service:

Terminal window
$ sudo service tomcat stop
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 another 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>
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 see 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 about Manage users and roles.

Configure 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');

Other standard additional configurations setup 

Section titled “Other standard additional configurations setup ”

OpenKM comes with a lot of configuration parameters. Please make sure to review: 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 some mistake in OpenKM configuration, for example, a wrong database connection or similar issues during the first startup, 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.