-Ubuntu

From Limbas Wiki

Jump to: navigation, search
This page is a translated version of the page -Ubuntu and the translation is 100% complete.

Main Page


Note: Labels in brackets {} can be replaced with any text, but they must be consistently consistent in order to successfully install LIMBAS.

The following Limbas Installation was successfully tested on Ubuntu Version 18.

Installation Tips

If LIMBAS is installed on a virtual machine, it is recommended to set up an SSH access, e.g. to paste the command line commands by copy-and-paste. For this, the following steps should be carried out on the server installation: First the entry SELINUX = disabled can be added in the file /etc/sysconfig/selinux. After this, the virtual machine must be restarted. The firewall can be disabled for the installation as follows.

sudo ufw disable

Third make sure that openssh server is already installed and start it with the following commands:

sudo apt-get install openssh-server
sudo /etc/init.d/ssh restart

Ubuntu Package Selection

In addition to the standard installation, the following packages must be installed for LIMBAS (e.g. with Synaptic Package Management or apt):

  • postgresql
  • postgresql-common
  • postgresql-client
  • apache2
  • php
  • php-gd
  • php-odbc | php-pdo
  • php-pgsql | php-mysql
  • php-imap
  • php-mbstring
  • libapache2-mod-php
  • odbc-postgresql
  • unixodbc
  • imagemagick
  • zip
  • pdftohtml
  • wget
  • unzip
  • libimage-exiftool-perl

You can install the packages with the following command:

 $ sudo apt-get install postgresql postgresql-common postgresql-client apache2 php php-gd php-mbstring\
 php-pdo php-pgsql php-imap libapache2-mod-php odbc-postgresql unixodbc imagemagick zip pdftohtml wget unzip libimage-exiftool-perl

Setup Database

Limbas supports multiple databases. Below we will discuss the PostgresSQL and MySQL database. For more information, see Quickinstall in the Databases section.

PostgreSQL

If UTF8 is not required, ISO encoding is recommended. LIMBAS converts the date and time formats independently and requires the date format "DD.MM.YYYY". Since PostgreSQL is installed with localization as standard, a few additional steps must be considered.


  • If the password for the user "postgres" is not known, set this:
$ sudo passwd postgres
Enter a new UNIX password:
Re-enter the new UNIX password:
  • Start the Database Server and, if necessary, check the status:
 $  sudo /etc/init.d/postgresql start
Starting postgresql service:                                 [  OK  ]
$ /etc/init.d/postgresql status
  • Creation of a new database for Limbas: The name of the database ({limbasdb}) can be chosen freely, but can only contain lowercase letters. Possible encodings are e.g. LATIN1, SQL_ASCII or UTF8. The specifications LC_COLLATE and LC_CTYPE are NECESSARY!
 $ su - postgres

# psql
psql (9.19)
Type "help" for help.
postgres=# create user {limbasuser} password '{limbasuserPW}' ;
CREATE ROLE
postgres=# create database {limbasdb} WITH ENCODING 'SQL_ASCII' LC_COLLATE 'C' LC_CTYPE 'C' OWNER '{limbasuser}' TEMPLATE template0;
CREATE DATABASE
postgres=#\q
# createlang plpgsql {limbasdb}
  • Now the database setup can be checked:
 # psql -l
                             List of databases
   Name    |  Owner     | Encoding  | Collation | Ctype |   Access privileges
-----------+------------+-----------+-----------+-------+-----------------------
{limbasdb} |{limbasuser}| SQL_ASCII | C         | C     |
 postgres  | postgres   | SQL_ASCII | C         | C     |


Now the rights to the database have to be adjusted. To do this, set the necessary rights in the /etc/postgresql/10/main/pg_hba.conf file:

local   all             all                                     trust


Note: The newest ODBC version 10 or higher drivers seem to be causing problems. However, ODBC version 9 ODBC drivers can also be used with PostScript 10 or higher with Limbas.

MySQL/MariaDB

This documentation refers to MariaDB10, which comes standard with Ubuntu 18 via package management.

sudo apt install mariadb-server mariadb-client
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
sudo mysql_secure_installation
sudo systemctl restart mariadb.service
sudo mysql -u root
CREATE DATABASE <limbasdb>;
CREATE USER '<limbasuser>'@localhost IDENTIFIED BY '<limbaspass>';
GRANT USAGE ON <limbasdb>.* TO '<limbasuser>'@localhost IDENTIFIED BY '<limbaspass>';
GRANT ALL ON <limbasdb>.* TO <limbasuser>@localhost IDENTIFIED BY '<limbaspass>';
use mysql;
update user set plugin='' where User='<limbasuser>';
flush privileges;
exit;

You can check the rights with the help of:

SHOW GRANTS FOR '<limbasuser>'@localhost;
SELECT host,user,password,plugin FROM mysql.user;
Note: The mysql odbc driver can be downloaded via https://downloads.mariadb.org/connector-odbc/. The Linux Binaries can be extracted and the driver libmaodbc.so can be copied in "/usr/lib/x86_64-linux-gnu/odbc".
Note: If there are unexplained problems with the database connection, you can try to change the name of the hostname in the Limbas installation form from localhost to 127.0.0.1.
Note: If the error "libodbccr.so not found" appears, the link can be created by hand:
cd /usr/lib/x86_64-linux-gnu
ln -s libodbccr.so.2.0.0 libodbccr.so
Note: For Limbas versions smaller than 4, the case-inscription for table names must be deactivated. For this, the file

"</etc/mysql/mariadb.conf.d/50-server.cnf" has to be adjusted. You can find further information at Mysql.

[mysqld]
 lower_case_table_names = 1


Configure PDO

Limbas can connect to the database either via PDO or ODBC. PDO is only supported for PostgreSQL and MySQL. For other databases the ODBC interface can be used. Limbas can not use both database modules at the same time. If PDO is to be used, the odbc module must be deactivated or uninstalled.

The following packages are to be installed for the PDC module:

  • php-pdo
  • php-pgsql | php-mysql

Folgende Packete sind für für das PDO Modul nicht mehr notwendig und müssen deaktiviert sein:

  • php-odbc
$ sudo apt-get install php-pdo php-pgsql
$ sudo apt-get remove php-odbc

The Limbas installation wizard automatically detects which module is to be used.


Configure ODBC

The database connection via ODBC is necessary if PostgreSQL or MYSQL are not used as a database or PDO is not available. Setting up ODBC is more time-consuming and involves not only installing the necessary packages, but also setting up UnixODB and the database ODBC driver.

The following packages are to be installed for the PDO module:

  • php-odbc
  • unixODBC
  • postgresql-odbc | mysql-odbc
$ sudo apt-get install php-odbc unixODBC postgresql-odbc

There are two variants of connecting LIMBAS to the database:

  • Connection with direct ODBC driver access (recommended)
  • Connection with ODBC-resource
  • /etc/odbcinst.ini
[PSQL]
Description=PostgreSQL ODBC driver (ANSI version)
Driver=psqlodbca.so
Setup=libodbcpsqlS.so
Debug=0
CommLog=1
UsageCount=1

[PSQLUTF8]
Description=PostgreSQL ODBC driver (Unicode version)
Driver=psqlodbcw.so
Setup=libodbcpsqlS.so
Debug=0
CommLog=1
UsageCount=1

[MySQL]
Description=Mysql ODBC driver
Driver=libmaodbc.so
  • The paths to the odbc driver (sqlodbca.so or libmaodbc.so) may vary depending on the database version or installation type.

The following point is only necessary for a connection using ODBC-resource

  • User "root": Add the following entry to the file found in "SYSTEM DATA SOURCES" (here "/etc/odbc.ini"):
 [{limbasPsqlOdbcResourceName}]
Description             = PSQL
Driver                  = {postgreSQL}
Trace                   = No
Database                = {limbasdb}
Servername              = localhost
Username                = {limbasuser}
Password                = {limbasuserPW}
[{limbasMysqlOdbcResourceName}]
Description             = MySQL
Driver                  = MySQL
Database                = {limbasdb}
Port                    = 3306
Trace                   = Off
Server                  = 127.0.0.1
#Charset                = latin1
#Charset                = utf8

Apache HTTP Server Settings

The root directory of the Apache server and Apache users as well as their group must be known for the LIMBAS installation:

  • The root directory of Apache is defined in the file "/etc/apache2/sites-available/000-default.conf" at the entry "DocumentRoot" (by default "/var/www/html").
  • The apache user and group is defined in the file "/etc/apache2/envvars" at the entries "export APACHE_RUN_USER" and "APACHE_RUN_GROUP" (by default "www-data").


For the .htaccess files used in the LIMBAS directories to be interpreted by the Apache server, add the following entry to "/etc/apache2/apache2.conf":

 <Directory "{DocumentRoot}/openlimbas/dependent">
    AllowOverride All
    Options FollowSymLinks
</Directory>

Start of the Apache HTTP Server:

$ /etc/init.d/apache2 restart

For problems with newer Apache versions (from 2.4) the activation of the access_compat-module can contribute to the solution. If this does not help, in every .htaccess-file

Order allow,deny
Allow from all

has to be changed to

Require all granted

PHP Configuration

Limbas requires PHP Version 5.5 or higher.
The PHP configuration file "/etc/php7/apache2/php.ini" has to be adapted slightly. First of all, use the following two general settings:

  • short_open_tag = On
  • error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
  • max_input_vars = 10000

The following settings should also be adjusted

  • register_globals = off
  • magic_quotes_gpc = off
  • file_uploads = On
  • upload_max_filesize = 10M
  • post_max_size = 16M
  • memory_limit = 128M


If PHP 5.4 or higher is not available, the following entry should be used instead of magic_quotes_gpc:

  • magic_quotes = Off

LIMBAS Installation

$ wget http://sourceforge.net/projects/limbas/files/limbas%20source%20package/3.x/openlimbas_x.tar.gz/download
  • Save the download file (here "openlimbas_3.5.x.tar.gz") in {DocumentRoot} and extract it there:
$ tar xzfv openlimbas_3.5.x.tar.gz
When extracting, the directory "{DocumentRoot}/openlimbas" is created with the following subdirectories:
  • limbas_src: Contains the LIMBAS source files, which will be overwritten in the case of an update, while individual settings won't be deleted.
  • independent: Contains external applications which are used by LIMBAS. An update of these applications that is decoupled with LIMBAS is possible though not recommended, because the compatibility is only tested with the versions shipped by LIMBAS.
  • public: Contains for example a SOAP application. The files in this directory are optional and not required by LIMBAS.
  • dependent: Is the main working directory, which also stores individual settings. Die directories and files from limbas_src point to this directory as symbolic links.
  • If the files and directories from "{DocumentRoot}/openlimbas/limbas_src" are copied into {DocumentRoot}/openlimbas/dependent" instead of being symbolic links (on some systems there might be problems with extracting symbolic links), then proceed as shown in Known Solutions:
Note: LIMBAS needs write-access to "./openlimbas/dependent" and all its sub directories that individual settings can be saved. To grant access rights, simply set the apache user as owner (in this case "apache").
$ chown -R www-data openlimbas/dependent
  • If the client browser runs on a different host, ensure that the firewall configuration grants access from this client to the LIMBAS host.
  • The LIMBAS database structure can now be created using a browser. To do this, the LIMBAS installation script must be called with the following URL:
http://{LimbasIP}/openlimbas/dependent/admin/install/
  • In the installation mask, the parameters of the created PostgreSQL database instance must now be entered. Depending on the way LIMBAS connects to the database, these differ:
    • Connection with direct ODBC driver access
      • Database Vendor: PostgreSQL
      • Database Host: localhost
      • Database Name: {limbasDB} (see Setup Database)
      • Database User: {limbasuser} (see Setup Database)
      • Database Password: {limbasuserPW} (see Setup Database)
      • Database Scheme: public
      • SQL Driver (unixODBC): {postgreSQLDriver} (see Configure ODBC)
    • Connection with ODBC-resource
      • Database Vendor: PostgreSQL
      • Database Host: localhost
      • Database Name: {limbasOdbcResourceName} (see Configure ODBC)
      • Database User: (no entry required)
      • Database Password: (no entry required)
      • Database Scheme: public
      • SQL Driver (unixODBC): (no entry required)
The Web Interface tries to automatically enter all the paths correctly. If this does not happen or the fields remains empty, the php.ini should be rechecked.
  • Clicking on "check" will check if all required functions are available. The installation can only be continued if the minimum requirements are met. This can be recognized by the green and yellow check marks. If this is the case, you can select the desired installation:
    • demo.tar.gz: The database contains user data with which the properties of LIMBAS can be demonstrated
    • clean.tar.gz: The database contains no user data.
  • When clicking on "install", the installation will start. The progress of the installation is shown by the green progress bar.
  • User "root": The installation script copies the database settings into the file "{DocumentRoot}/openlimbas/dependent/inc/include_db.lib". If this file is changed, then it won't anymore be possible for LIMBAS to access the database. In order to prevent unintended manipulations or corruptions, all write access rights should be removed from this file.
chmod 444 {DocumentRoot}/openlimbas/dependent/inc/include_db.lib
  • After a successfull installation, LIMBAS can be started by clicking on the link "test installation" or from the following URL:
http://localhost/openlimbas/dependent
Right after opening the URL, authentication will be requested. Use the following credentials for the user which is setup by default with all administration rights:
  • Username: admin
  • Password: limbas