Aus Limbas Wiki
|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 Server Version 14.04.
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 should now be disabled.
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):
You can install the packages with the following command:
$ sudo apt-get install postgresql postgresql-9.3 postgresql-common postgresql-client apache2 php5 php5-gd\ php5-odbc php5-imap libapache2-mod-php5 odbc-postgresql imagemagick zip pdftohtml wget unzip libimage-exiftool-perl
From Version 2.0.22 onwards, LIMBAS supports UTF8. 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.
- Stop Database Server
$ sudo /etc/init.d/postgresql stop Stopping PostgreSQL 9.3 database server
- 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:
- If a database cluster already exists, the corresponding directory content has to be deleted.
(Warning: Already existing databases are deleted).
$ su - postgres # pg_dropcluster 9.3 main
- Create new Database Cluster without Localization:
# pg_createcluster 9.3 main --locale=C # exit
- 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 () can be chosen freely, but it can only contain lowercase letters. Possible encodings are e.g. LATIN1, SQL_ASCII or UTF8.
$ su - postgres # psql psql (9.19) Type "help" for help. postgres=# create user password ; CREATE ROLE postgres=# create database WITH ENCODING 'SQL_ASCII' OWNER ; CREATE DATABASE postgres=#\q # createlang plpgsql
- Now the database device can be checked:
# psql -l List of databases Name | Owner | Encoding | Collation | Ctype | Access privileges -----------+----------+-----------+-----------+-------+----------------------- limbasdb | limbas | SQL_ASCII | C | C | postgres | postgres | SQL_ASCII | C | C | template0 | postgres | SQL_ASCII | C | C | =c/postgres : postgres=CTc/postgres template1 | postgres | SQL_ASCII | C | C | =c/postgres : postgres=CTc/postgres test | limbas | SQL_ASCII | C | C | (5 rows) # createlang -l Procedural Languages Name | Trusted? ---------+---------- plpgsql | yes
There are two possible ways to connect LIMBAS with the Database:
- Connection with direct ODBC driver access
- Connection with ODBC-resource
The following two points are to be carried out for both variants:
- Determine the paths of the configuration files of unixODBC:
$ odbcinst -j unixODBC 2.2.14 DRIVERS............: /etc/odbcinst.ini SYSTEM DATA SOURCES: /etc/odbc.ini FILE DATA SOURCES..: /etc/ODBCDataSources USER DATA SOURCES..: /var/lib/postgresql/.odbc.ini
- Now the ODBBC drivers with file name and path have to be checked and modified in the file (here "/etc/odbcinst.ini") found under "DRIVERS".
The paths to the drivers can vary depending on the distribution and version:
- For PostgreSQL Version 9.1 and 9.3
[PostgreSQL ANSI] Description = PostgreSQL ODBC driver (ANSI version) Driver = psqlodbca.so Setup = libodbcpsqlS.so Debug = 0 CommLog = 1 UsageCount = 1
- For PostgreSQL Version 8.4
[PostgreSQL] Driver = /usr/lib/psqlodbc.so Setup = /usr/lib/libodbcpsqlS.so
- For PostgreSQL Versions to 8.3
[PostgreSQL] Driver = /usr/lib/psqlodbcw.so Setup = /usr/lib/libodbcpsqlS.so
The variable required for the LIMBAS installation is either "PostgreSQL ANSI" (version 9.1 and 9.3) or "PostgreSQL" (version up to 8.4).
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"):
[limbasresource] Description = PSQL Driver = Trace = No TraceFile = Database = Servername = localhost Username = Password = Port = 5432 Protocol = 6.4 ReadOnly = No RowVersioning = No ShowSystemTables = No ShowOidColumn = No FakeOidIndex = No ConnSettings =
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").
To ensure that all symbols correctly will be shown correctly, delete or comment the following line in "/etc/apache2/apach2.conf" :
# AddDefaultCharset UTF-8 DELETE LINE OR COMMENT !!
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 "/openlimbas/dependent"> AllowOverride All
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
The PHP configuration file "/etc/php5/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
The following settings should also be added Security:
- register_globals = off
- magic_quotes_gpc = off
- file_uploads = On
- upload_max_filesize = 10M
- post_max_size = 16M
- memory_limit = 128M
- max_input_vars = 10000
If PHP 5.4 or higher is not available, the following entry should be used instead of magic_quotes_gpc:
- magic_quotes = Off
- LIMBAS can be downloaded from http://sourceforge.net/projects/limbas/files. For example, the following call is possible using the command line:
$ wget http://sourceforge.net/projects/limbas/files/limbas%20source%20package/2.x/openlimbas_126.96.36.1996.tar.gz/download
- Save the download file (here "openlimbas_188.8.131.521.tar.gz") in <DocumentRoot> and extract it there:
$ tar xzfv openlimbas_184.108.40.2066.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 apache:apache 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:
- 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
- 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.
- 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 /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:
- 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