-Ubuntu
From Limbas Wiki
Note: 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 Version 18 getestet.
Contents
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 kann für die Installation wie folgt deaktiviert werden.
sudo ufw disable
Zuletzt sollte sichergestellt werden, dass der OpenSSH-Server schon installiert und gestartet wurde.
sudo apt 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-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
Diese Pakete können mit folgendem Befehl über die Standard-Repositories installiert werden:
$ sudo apt 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
Datenbank einrichten
Limbas unterstützt mehrere Datenbanken. Nachfolgend wir auf die PostgresSQL und MySQL Datenbank eingegangen. Weitere Informationen findet man unter Quickinstall im Abschnitt Datenbanken.
PostgreSQL
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.
- 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:
- 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. Die Angaben LC_COLLATE und LC_CTYPE sind NOTWENDIG!
$ su - postgres # psql psql (9.19) Type "help" for help. postgres=# create user {limbasuser} password '{limbasuserPW}' ; CREATE ROLE postgres=# create database {limbasdb} WITH ENCODING 'UTF-8' LC_COLLATE 'C' LC_CTYPE 'C' OWNER '{limbasuser}' TEMPLATE template0; 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 |
Nun müssen noch die Rechte auf die Datenbank angepasst werden. Dazu in der Datei /etc/postgresql/10/main/pg_hba.conf die notwendigen Rechte setzen:
local all all trust
Note: Neuste ODBC Treiber der Version 10 oder höher scheinen Probleme zu verursachen. Es können aber problemlos ODBC Treiber der Version 9 auch für PostgreSQL 10 oder höher mit Limbas genutzt werden. |
MySQL/MariaDB
Diese Doku bezieht sich auf MariaDB10 welche standardmäßig mit Ubuntu 18 über das Paketmanagement zur Verfügung steht .
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 '{password}'; GRANT USAGE ON {limbasdb}.* TO '{limbasuser}'@localhost IDENTIFIED BY '{password}'; GRANT ALL ON {limbasdb}.* TO {limbasuser}@localhost IDENTIFIED BY '{limbaspassword}'; use mysql; update user set plugin='' where User='{limbasuser}'; flush privileges; exit;
Überprüfen der Rechte kann man mit Hilfe von:
SHOW GRANTS FOR '{limbasuser}'@localhost; SELECT host,user,password,plugin FROM mysql.user;
Note: Der mysql odbc Treiber kann über https://downloads.mariadb.org/connector-odbc/ herunter geladen werden. Dazu können die Linux Binaries entpackt und der Treiber libmaodbc.so in "/usr/lib/x86_64-linux-gnu/odbc" kopiert werden. |
Note: Bei unerklärlichen Problemen mit der Datenbankverbindung kann man versuchen die Angabe des Hostnames im Limbas Installations Formular von localhost in 127.0.0.1 zu ändern. |
Note: Tritt der Fehler "libodbccr.so nicht gefunden" auf kann man den Link händisch erstellen:
cd /usr/lib/x86_64-linux-gnu ln -s libodbccr.so.2.0.0 libodbccr.so |
Note: Für Limbas Versionen kleiner 4 muss die Gross/Klein-Schreibung für Tabellennamen deaktiviert werden. Dazu ist die Datei "</etc/mysql/mariadb.conf.d/50-server.cnf" anzupassen. Weitere Informationen dazu findet man unter Mysql. [mysqld] lower_case_table_names = 1 |
PDO konfigurieren
Limbas kann entweder über PDO oder ODBC die Datenbank konnektieren. PDO wird nur für PostgreSQL und MySQL unterstützt. Für weitere Datenbanken kann die ODBC Schnittstelle genutzt werden. Limbas kann nicht beide Datenbankmodule gleichzeitig nutzen. Wenn PDO genutzt werden soll muß das odbc Modul deaktiviert oder deinstalliert sein.
Folgende Packete sind für für das PDO Modul zu installieren:
- 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
Der Limbas Installationswizzard erkennt automatisch welches Modul genutzt werden soll.
ODBC-Konfiguration
Die Datenbankverbindung über ODBC ist notwendig wenn nicht PostgreSQL oder MYSQL als Datenbank genutzt werden oder PDO nicht zur Verfügung steht. Das Einrichten von ODBC ist aufwändiger und umfasst neben der Installation der notwendigen Packete auch das Einrichten von UnixODB und der Datenbank ODBC Treiber.
Folgende Packete sind für für das PDO Modul zu installieren:
- php-odbc
- unixODBC
- postgresql-odbc | mysql-odbc
$ sudo apt-get install php-odbc unixODBC postgresql-odbc
Es gibt zwei Varianten LIMBAS mit der Datenbank zu verbinden:
- Verbindung mit direktem ODBC-Treiberzugriff (empfohlen)
- Verbindung mit 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
- Die Pfade zum odbc Treiber (sqlodbca.so oder libmaodbc.so) können je nach Datenbank-Version oder Installationsart abweichen.
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:
[{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 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 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 Options FollowSymLinks </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.
fpm
falls statt mod-php fpm genutzt wird ist es notwendig den Parameter flushpackets=on zu setzten. Dieser ermöglicht eine korrekte Fortschrittsbalken Darstellung. Siehe auch https://www.php.net/manual/en/function.flush.php
SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost|flushpackets=on"
PHP Konfiguration
Limbas benötigt PHP Version ab 5.5 oder höher.
Die PHP-Konfiguration muss in "/etc/php/{x.x}/apache2/php.ini" angepasst werden, wobei {x.x} mit der installierten Version (z.B. 7.2) zu ersetzen ist. Zuerst, sollten die folgenden allgemeinen Einstellungen gesetzt werden:
- short_open_tag = On
- error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
- max_input_vars = 10000
Desweiteren sollten folgende Einstellungen angepasst (bzw. hinzugefügt) werden:
- file_uploads = On
- upload_max_filesize = 10M
- post_max_size = 16M
- memory_limit = 128M
- date.timezone = {timezone} (z.B. Europe/Berlin)
Nachdem "php.ini" angepasst wurde, muss der Apache HTTP Server neugestartet werden:
$ /etc/init.d/apache2 restart
Falls nicht PHP 5.4 oder höher vorhanden ist, sollte folgender Eintrag hinzugefügt werden:
- magic_quotes = Off
LIMBAS Installation
- LIMBAS kann unter http://sourceforge.net/projects/limbas/files herunter geladen werden. Mittels Kommandozeile ist beispielsweise folgender Aufruf möglich:
$ wget -O openlimbas.tar.gz http://sourceforge.net/projects/limbas/files/latest/download
- Die Download-Datei (hier "openlimbas.tar.gz") in {DocumentRoot} speichern und dort entpacken:
$ tar xzfv openlimbas.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:
Note: 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.
$ sudo chown -R www-data 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:
- 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
- Database Vendor: PostgreSQL
- Database Host: localhost
- Database Name: {limbasdb} (siehe Datenbank einrichten)
- Database User: {limbasuser} (siehe Datenbank einrichten)
- Database Password: {limbasuserPW} (siehe Datenbank einrichten)
- Database Schema: public
- SQL Driver (unixODBC): (siehe ODBC konfigurieren)
- 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)
- Verbindung mit direktem ODBC-Treiberzugriff
- 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