-Ubuntu

Aus Limbas Wiki

Wechseln zu: Navigation, Suche

Hauptseite


Hinweis! Hinweis: Bezeichnungen in {geschweiften Klammern} können mit beliebigen Text ersetzt werden, müssen aber durchgehend konsistent sein, um LIMBAS erfolgreich installieren zu können.

Die folgende Limbas-Installation wurde erfolgreich auf Ubuntu Server Version 14.04 getestet.

Installationstips

Falls LIMBAS auf einer virtuellen Maschine installiert wird, ist es empfehlenswert, einen SSH Zugang zu verwenden, um z.B. die Kommandozeilen-Befehle per Copy-And-Paste einfügen zu können. Diesen Schritten sollten Sie folgen, um eine SSH-Verbindung herzustellen zu können: Zuerst sollte in der Datei /etc/sysconfig/selinuxder Eintrag SELINUX=disabled hinzugefügt werden. Danach muss die virtuelle Maschine neu gestartet werden. Die Firewall sollte nun wie folgt deaktiviert werden

sudo ufw disable

Zuletzt sollte sichergestellt werden, dass der OpenSSH-Server schon installiert und gestartet wurde. sudo apt-get install openssh-server

sudo /etc/init.d/ssh restart

Ubuntu-Pakete nachinstallieren

Zusätzlich zur Standardinstallation sind für LIMBAS folgende Pakete zu installieren (z.B. mit Synaptic Paketverwaltung oder apt):

  • 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

Diese Pakete können mit folgendem Befehl über die Standard-Repositories installiert werden:

$ 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

Datenbank einrichten

PostgreSQL

Ab Version 2.0.22 unterstützt LIMBAS UTF8 im Beta Stadium. Falls UTF8 nicht benötigt, wird ein ISO encoding empfohlen. LIMBAS konvertiert die Datums- und Zeitformate selbstständig und benötigt das Datumsformat "DD.MM.YYYY". Da PostgreSQL standardmäßig mit Lokalisierung installiert wird, müssen ein paar zusätzliche Schritte beachtet werden.

  • Datenbank-Server stoppen:
$ sudo /etc/init.d/postgresql stop
Stopping PostgreSQL 9.3 database server
  • Falls für den Benutzer "postgres" das Passwort nicht bekannt ist, dieses setzen:
$ sudo passwd postgres
Geben Sie ein neues UNIX Passwort ein:
Geben Sie das neue UNIX Passwort erneut ein:
  • Falls bereits ein Datenbank-Cluster existiert, so ist der entsprechende Verzeichnis-Inhalt zu löschen (Achtung: Dabei werden schon vorhandene Datenbanken gelöscht).
$ su - postgres
# pg_dropcluster 9.3 main
  • Datenbank-Cluster ohne Lokalisierung neu anlegen:
# pg_createcluster 9.3 main --locale=C
# exit
  • Datenbank-Server starten und ggf. Status überprüfen:
$  sudo /etc/init.d/postgresql start
Starting postgresql service:                                 [  OK  ]
$ /etc/init.d/postgresql status
  • Erstellung einer neuen Datenbank für Limbas: Der Name der Datenbank ({limbasdb}) kann frei gewählt werden, darf aber nur Kleinbuchstaben enthalten. Mögliche Kodierungen sind z.B. LATIN1, SQL_ASCII oder UTF8.
$ 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' OWNER '{limbasuser}';
CREATE DATABASE
postgres=#\q
# createlang plpgsql {limbasdb}
  • Nun kann die Datenbank-Einrichtung überprüft werden:
# psql -l
                             List of databases
   Name    |  Owner     | Encoding  | Collation | Ctype |   Access privileges
-----------+------------+-----------+-----------+-------+-----------------------
{limbasdb} |{limbasuser}| 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 {limbasdb}
Procedural Languages
  Name   | Trusted?
---------+----------
 plpgsql | yes

ODBC-Konfiguration

Es gibt zwei Varianten LIMBAS mit der Datenbank zu verbinden:

  • Verbindung mit direktem ODBC-Treiberzugriff
  • Verbindung mit ODBC-resource

Die folgenden beiden Punkte sind für beide Varianten durchzuführen:

  • Pfade der Konfigurationsdateien von unixODBC ermitteln:
$ 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
  • Nun müssen in der unter "DRIVERS" ermittelten Datei (hier "/etc/odbcinst.ini") die ODBBC-Treiber mit Dateiname und Pfad überprüft und bei Bedarf verändert werden
    Die Pfade zu den Treibern können je nach Distribution und Version abweichen:
    • Für PostgreSQL version 9.1 und 9.3
[PostgreSQL ANSI]
Description     = PostgreSQL ODBC driver (ANSI version)
Driver          = psqlodbca.so
Setup           = libodbcpsqlS.so
Debug           = 0
CommLog         = 1
UsageCount      = 1
    • Für PostgreSQL Version 8.4
[PostgreSQL]
Driver = /usr/lib/psqlodbc.so 
Setup	= /usr/lib/libodbcpsqlS.so
    • Für PostgreSQL Versionen bis 8.3
[PostgreSQL]
Driver = /usr/lib/psqlodbcw.so
Setup	= /usr/lib/libodbcpsqlS.so

Die für die LIMBAS-Installation notwendige Variable sei entsprechend entweder "PostgreSQL ANSI" (Version 9.1 und 9.3) oder "PostgreSQL" (Version bis 8.4). Der folgende Punkt ist nur notwending bei einer Verbindung mittels ODBC-resource

  • Benutzer "root": In der unter "SYSTEM DATA SOURCES" ermittelten Datei (hier "/etc/odbc.ini") die folgenden Eintrag hinzufügen:
[{limbasOdbcResourceName}]
Description             = PSQL
Driver                  = {postgreSQL}
Trace                   = No
TraceFile               =
Database                = {limbasdb}
Servername              = localhost
Username                = {limbasuser}
Password                = {limbasuserPW}
Port                    = 5432
Protocol                = 6.4
ReadOnly                = No
RowVersioning           = No
ShowSystemTables        = No
ShowOidColumn           = No
FakeOidIndex            = No
ConnSettings            =

Apache HTTP Server Einstellungen

Für die LIMBAS Installation müssen das Root-Verzeichnis des Apache-Servers und der Apache-User sowie dessen Gruppe bekannt sein:

  • Das Root-Verzeichnis des Apache-Servers läßt sich aus dem "DocumentRoot"-Eintrag der Datei "/etc/apache2/sites-available/000-default.conf" ermitteln (standardmäßig "/var/www/html").
  • Der Apache-User und seine Gruppe lassen sich aus den "APACHE_RUN_USER"- und "APACHE_RUN_GROUP"-Einträgen der Datei "/etc/apache2/envvars" ermitteln (standardmäßig "www-data").

Damit alle Zeichen korrekt angezeigt werden, ist in der Datei "/etc/apache2/apach2.conf" folgende Zeile zu löschen oder auszukommentieren:

  1. AddDefaultCharset UTF-8 DIESE ZEILE LÖSCHEN ODER AUSKOMMENTIEREN !!

Damit die in den LIMBAS-Verzeichnissen verwendeten .htaccess-Dateien vom Apache-Server interpretiert werden, ist folgender Eintrag in "/etc/apache2/apache2.conf" hinzuzufügen:

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

Starten des Apache HTTP Servers: $ /etc/init.d/apache2 restart

Bei Problemen mit neueren Apache Versionen (ab 2.4) kann die Aktivierung des access_compat-Modules zur Lösung beitragen. Hilft das nicht, muss in jeder .htaccess-Datei Order allow,deny

Allow from all

zu

Require all granted geändert werden.

PHP Konfiguration

Die PHP-Konfiguration muss in "/etc/php5/apache2/php.ini" angepasst werden. Zuerst, sollten die folgenden allgemeinen Einstellungen gesetzt werden:

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

Desweiteren sollten folgende Einstellungen hinzugefügt werden Sicherheit:

  • 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

Falls nicht PHP 5.4 oder höher vorhanden ist, sollte folgender Eintrag statt magic_quotes_gpc verwendet werden:

  • magic_quotes = Off

LIMBAS Installation

$ wget http://sourceforge.net/projects/limbas/files/limbas%20source%20package/2.x/openlimbas_2.6.5.1076.tar.gz/download

  • Die Download-Datei (hier "openlimbas_2.6.5.1076.tar.gz") in {DocumentRoot} speichern und dort entpacken:

$ tar xzfv openlimbas_2.6.5.1076.tar.gz

Beim Entpacken wird das Verzeichnis "{DocumentRoot}/openlimbas" mit den folgenden Unterverzeichnissen angelegt:
  • limbas_src: Hier befinden sich die LIMBAS Source-Dateien, die im Falle eines Updates überschrieben werden können, ohne daß individuelle Einstellungen verloren gehen.
  • independent: Hier befinden sich eigenständige externe Anwendungen, die von LIMBAS benutzt werden. Ein von LIMBAS losgelöstes Update dieser Anwendungen ist zwar möglich, ist aber nicht zu empfehlen, da das Zusammenspiel nur mit den in der LIMBAS-Installation enthaltenen Versionen getestet ist.
  • public: Hier befindet sich ein Beispiel für eine SOAP Anwendung. Die Dateien aus diesem Verzeichnis sind für die Funktionalitäten von LIMBAS nicht erforderlich.
  • dependent: Dies ist das eigentliche Arbeitsverzeichnis, in dem auch individuelle Einstellungen abgelegt werden. Die Verzeichnisse und Dateien des limbas_src-Verzeichnisses müssen hier als symbolische Links vorliegen.
  • Liegen die Verzeichnisse und Dateien aus "{DocumentRoot}/openlimbas/limbas_src" in "{DocumentRoot}/openlimbas/dependent" fälschlicherweise als Kopie anstatt symbolischer Links vor (bei manchen Systemen gibt es Probleme beim Entpacken der symbolischen Links), so ist wie unter Bekannte Problemlösungen beschrieben vorzugehen:
Hinweis! Hinweis: Um das Speichern individueller Einstellungen in LIMBAS zu ermöglichen, muß LIMBAS schreibend auf "./openlimbas/dependent" und allen Unterverzeichnissen zugreifen können. Um dies zu ermöglichen ist der Besitzer dieses Verzeichnisses und seiner Unterverzeichnisse auf den Apache-User (hier "apache") zu ändern.
$ chown -R apache:apache openlimbas/dependent
  • Falls der Browser auf einem anderen Host läuft, ist dafür zu sorgen, daß die Firewall-Konfiguration den Zugriff von diesem Browser auf den LIMBAS Host zuläßt.
  • Mit Hilfe eines Browsers kann jetzt die LIMBAS Datenbankstruktur angelegt werden. Dazu muß das LIMBAS-Installationsskript mit folgender URL aufgerufen werden:
http://{LimbasIP}/openlimbas/dependent/admin/install/
  • In der Installations-Maske müssen nun die Parameter der erstellten PostgreSQL Datenbank Instanz eingetragen werden. Abhängig von der Variante, wie sich LIMBAS mit der Datenbank verbindet, unterscheiden sich diese:
    • Verbindung mit direktem ODBC-Treiberzugriff
    • Verbindung mit ODBC-resource
      • Database Vendor: PostgreSQL
      • Database Host: localhost
      • Database Name: {limbasOdbcResourceName} (siehe ODBC konfigurieren)
      • Database User: (kein Eintrag erforderlich)
      • Database Password: (kein Eintrag erforderlich)
      • Database Schema: public
      • SQL Driver (unixODBC): (kein Eintrag erforderlich)
Das Webinterface versucht automatisch alle Pfade korrekt einzutragen. Geschieht dies nicht oder bleiben die Felder leer, sollte die php.ini noch mal überprüft werden.
  • Bei Mausklick auf "check" wird geprüft, ob alle benötigten Funktionen verfügbar sind. Die Installation kann nur dann fortgeführt werden, wenn die Mindestanforderungen erfüllt sind. Dies ist an den grünen und gelben Häkchen zu erkennen. Ist dies der Fall, kann man die gewünschte Installation auswählen:
    • demo.tar.gz: Die Datenbank enthält Benutzer-Daten, mit welchen die Eigenschaften von LIMBAS demonstriert werden können
    • clean.tar.gz: Die Datenbank enthält keine Benutzer-Daten.
  • Bei Mausklick auf "install" startet der Installationsvorgang. Den Fortschritt der Installation erkennt man an den grünen Fortschrittsbalken.
  • Benutzer "root": Das Installations-Skript überträgt die Datenbankeinstellungen in die Datei "{DocumentRoot}/openlimbas/dependent/inc/include_db.lib". Wird diese Datei verändert, ist kein Zugriff auf die Datenbank mehr möglich. Um unerwünschten Manipulationen vorzubeugen, sollten sämtliche Schreibrechte auf diese Datei entfernt werden.

chmod 444 {DocumentRoot}/openlimbas/dependent/inc/include_db.lib

  • Nach erfolgreicher Installation kann LIMBAS durch Mausklick auf den Link "test installation" oder durch Eingabe folgender URL gestartet werden:
http://localhost/openlimbas/dependent
Gleich nach dem Aufruf der URL wird man aufgefordert sich zu authentifizieren. Dazu steht folgender Default-Benutzer mit allen Administrator-Rechten zur Verfügung:
  • Benutzername: admin
  • Passwort: limbas