-OpenSUSE

Aus Limbas Wiki

Wechseln zu: Navigation, Suche
Diese Seite enthält Bearbeitungen, die nicht zum Übersetzen freigegeben sind.

Hauptseite


Voraussetzung dieser Anleitung ist eine aktuelle OpenSUSE-Installation. Die Beschreibung bezieht sich auf ein 32 bit System.

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. Wenn nicht anders angegeben, erfolgen die im folgenden gezeigten Aufrufe von der Kommandozeile durch den Benutzer "root".

Installationstips

Falls LIMBAS auf einer virtuellen Maschine installiert wird, ist es empfehlenswert, einen SSH Zugang einzurichten, um z.B. die Kommandozeilen-Befehle per Copy-And-Paste einfügen zu können. Hierzu müssen folgende Schritte auf der Server-Installation durchgeführt werden: Zuerst sollte in der Datei /etc/sysconfig/selinux oder /etc/selinux/semanage.conf der Eintrag SELINUX=disabled hinzugefügt werden. Danach muss die virtuelle Maschine neu gestartet werden. Die Firewall sollte nun wie folgt deaktiviert werden:

$ /etc/init.d/iptables save
$ service iptables stop
$ chkconfig iptables off

alternativ:

$ chkconfig SuSEfirewall2_init off
$ rcSuSEfirewall2 stop

Zuletzt sollte sichergestellt werden, dass der OpenSSH-Server schon installiert und gestartet wurde.

$ zypper in openssh-server
$ zypper in openssh (alternativ)
$ rcsshd start

Paketauswahl

Zusätzlich zur Standardinstallation sind für LIMBAS folgende Pakete zu installieren:

  • apache2
  • apache2-mod_php8
  • php8
  • php8-gd
  • php8-iconv
  • php8-imap
  • php8-ldap
  • php8-ctype
  • php8-mbstring
  • php8-odbc | php8-pdo
  • php8-pgsql | php8-mysql
  • php8-soap
  • php8-zlib
  • php8-curl
  • postgresql
  • postgresql-server
  • psqlODBC
  • unixODBC
  • ImageMagick
  • htmldoc
  • ghostscript
  • wget
  • zip
  • unzip
  • exiftool
  • poppler-tools
 $ zypper in apache2 apache2-mod_php8 php8 php8-gd php8-iconv php8-imap php8-ldap php8-ctype php8-mbstring php8-curl\
php8-pdo php8-pgsql php8-soap php8-zlib postgresql postgresql-server psqlODBC unixODBC\
ImageMagick ghostscript wget zip unzip exiftool poppler-tools

LIMBAS benötigt "htmldoc" in der Version 1.9.x oder neuer, die Standardversion 1.8.x aus den Paketen ist nicht ausreichend. Daher ist ein Download der Sourcen (http://www.htmldoc.org/software.php) und manuelles Übersetzen/Installieren durchzuführen.

Datenbank-Einrichtung

Siehe Quickinstall

PostgreSQL

Ab Version 2.0.22 unterstützt LIMBAS UTF8 im Beta Stadium. Falls UTF8 nicht benötigt wird, 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:
$ /etc/init.d/postgresql stop (bzw. rcpostgresql stop)
  • Falls bereits ein Datenbank-Cluster existiert, kann der folgende Schritt übersprungen werden.
  • Datenbank-Cluster neu anlegen:
 $ su - postgres
# initdb -D /var/lib/pgsql/data
Die Dateien, die zu diesem Datenbanksystem gehören, werden dem Benutzer
»postgres« gehören. Diesem Benutzer muss auch der Serverprozess gehören.
Der Datenbankcluster wird mit der Locale C initialisiert werden.
Die Standarddatenbankkodierung wurde entsprechend auf SQL_ASCII gesetzt.
Die Standardtextsuchekonfiguration wird auf »english« gesetzt.
erzeuge Verzeichnis /var/lib/pgsql/data ... ok
erzeuge Unterverzeichnisse ... ok
wähle Vorgabewert für max_connections ... 100
wähle Vorgabewert für shared_buffers ... 32MB
erzeuge Konfigurationsdateien ... ok
erzeuge Datenbank template1 in /var/lib/pgsql/data/base/1 ... ok
initialisiere pg_authid ... ok
initialisiere Abhängigkeiten ... ok
erzeuge Systemsichten ... ok
lade Systemobjektbeschreibungen ... ok
erzeuge Konversionen ... ok
erzeuge Wörterbücher ... ok
setze Privilegien der eingebauten Objekte ... ok
erzeuge Informationsschema ... ok
führe Vacuum in Datenbank template1 durch ...ok
kopiere template1 nach template0 ... ok
kopiere template1 nach postgres ... ok
WARNUNG: Authentifizierung für lokale Verbindungen auf »trust« gesetzt
Sie können dies ändern, indem Sie pg_hba.conf bearbeiten oder beim
nächsten Aufruf von initdb die Option -A verwenden.
Erfolg. Sie können den Datenbankserver jetzt mit
    postgres -D /var/lib/pgsql/data
oder
    pg_ctl -D /var/lib/pgsql/data -l logdatei start
starten.
# exit
  • Datenbank-Server starten und ggf. Status überprüfen:
$ /etc/init.d/postgresql start (bzw. rcpostgresql start)
postgresql-Dienst starten: [ OK ]
$ /etc/init.d/postgresql status (bzw. rcpostgresql status)
  (PID {pid}) wird ausgeführt...
  • Datenbank anlegen (mögliche Kodierungen wären z.B. LATIN1 oder SQL_ASCII oder UTF8) und ggf. Vorhandensein überprüfen:
 $ su - postgres
# psql
psql (9.4.6)
Geben Sie »help« für Hilfe ein.
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}
# psql -l
                                 Liste der Datenbanken
   Name    | Eigentümer | Kodierung | Sortierfolge | Zeichentyp  | Zugriffsrechte
-----------+------------+-----------+--------------+-------------+-----------------------
{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
(4 Zeilen)
# createlang -l {limbasdb}
Prozedurale Sprachen
  Name   | Vertraut?
---------------------
 plpgsql | yes

UTF-8

Sollte die Datenbank in UTF-8 Kodierung erstellt werden kann folgende Anweisung genutzt werden:

 postgres=# create database {limbasdb} WITH ENCODING 'UTF-8' LC_COLLATE 'C' LC_CTYPE 'C' OWNER {limbasuser} template template0;
CREATE DATABASE


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 daktiviert oder deinstalliert sein.

Folgende Packete sind für für das PDO Modul zu installieren:

  • php8-pdo
  • php8-pgsql | php8-mysql

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

  • php-odbc
$ zypper install php8-pdo php8-pgsql
$ zypper erase php8-odbc

Der Limbas Installationswizzard erkennt automatisch welches Modul genutzt werden soll.


ODBC konfigurieren

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:

  • php8-odbc
  • unixODBC
  • psqlODBC | mariadb-connector-odbc

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.3.1
DRIVERS............: /etc/unixODBC/odbcinst.ini
SYSTEM DATA SOURCES: /etc/unixODBC/odbc.ini
USER DATA SOURCES..: /{user}/.odbc.ini
  • In der unter "DRIVERS" ermittelten Datei (hier "/etc/unixODBC/odbcinst.ini") die Treiber mit Dateiname und Pfad hinzufügen:
[{postgreSQLDriver}]
Driver   = /usr/lib/psqlodbc.so (bei PostgreSQL Version >= 8.4)
Setup    = /usr/lib/libodbcpsqlS.so
Driver64 = /usr/lib64/psqlodbc.so
Setup64  = /usr/lib64/libodbcpsqlS.so
ACHTUNG: bei älteren PostgreSQL Versionen (<= 8.3) wird folgender Treiber verwendet:
[{postgreSQLDriver}]
Driver = /usr/lib/psqlodbcw.so
Setup	= /usr/lib/libodbcpsqlS.so
...

Der folgende Punkt ist nur notwendig bei einer Verbindung mittels ODBC-resource.

  • In der unter "SYSTEM DATA SOURCES" ermittelten Datei (hier "/etc/unixODBC/odbc.ini") den folgenden Eintrag hinzufügen:
[{limbasOdbcResourceName}]
Description             = PSQL
Driver                  = {postgreSQLDriver}
Trace                   = No
TraceFile               =
Database                = {limbasdb}
Servername              = localhost
Username                = 
Password                = 
Port                    = 5432
Protocol                = 6.4
ReadOnly                = No
RowVersioning           = No
ShowSystemTables        = No
ShowOidColumn           = No
FakeOidIndex            = No
ConnSettings            =
Note: Es ist wichtig den originalen PostgreSQL ODBC Treiber (psqlodbcw.so) des Packetes "postgresql-odbc" zu benutzen und nicht den beigefügten Treiber von unixODBC!!

PHP Konfiguration

Die PHP-Konfiguration wird in der Datei /etc/php8/apache2/php.ini gespeichert. Hier sollten die folgenden allgemeinen Einstellungen gesetzt werden:

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

Desweiteren sollten folgende Sicherheits-Einstellungen hinzugefügt werden Sicherheit:

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


Apache HTTP Server Einrichtung

Apache ist nach der Paket-Installation in OpenSUSE noch nicht einsatzbereit. Eine Konfiguration ist am einfachsten über das graphische Werkzeug YAST möglich. Eine Anleitung für die Basis-Installation von Apache unter OpenSUSE findet man über folgenden Link [1].

Für die LIMBAS Installation müssen das Root-Verzeichnis des Apache-Servers und der Apache-User sowie dessen Gruppe bekannt sein. Diese sind in der Datei '/etc/apache2/httpd.conf' oder '/etc/apache2/default-server.conf' bzw. 'uid.conf' definiert:

  • Das Root-Verzeichnis des Apache-Servers läßt sich aus dem "DocumentRoot"-Eintrag ermitteln (standardmäßig "/srv/www/htdocs").
  • Der Apache-User und seine Gruppe lassen sich in der Datei aus den "User"- und "Group"-Einträgen ermitteln (standardmäßig Benutzer "wwwrun" und Gruppe "www").

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

# 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/httpd.conf" hinzuzufügen:

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

Starten des Apache HTTP Servers:

$ /usr/sbin/rcapache2 restart

Bei Problemen mit neueren Apache Versionen (ab 2.4) kann die Aktivierung des access_compat-Modules in /etc/sysconfig/apache2 (APACHE_MODULES="... access_compat ...") oder über

$ a2enmod access

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"

LIMBAS Installation

$ wget http://sourceforge.net/projects/limbas/files/limbas%20source%20package/2.x/openlimbas_2.9.11.1161.tar.gz/download
  • Die Download-Datei (hier "openlimbas_2.9.11.1161.tar.gz") in {DocumentRoot} speichern und dort entpacken:
$ tar xzfv openlimbas_2.9.11.1161.tar.gz
Beim Entpacken wird das Verzeichnis "{DocumentRoot}/openlimbas" mit den folgenden Unterverzeichnissen angelegt:
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.
  • vendor: 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: public ist der öffentlich erreichbare Einstieg und behinhaltet die index.php sowie die rewrite Regeln.
  • dependent: Dies ist das Arbeitsverzeichnis, in dem auch individuelle Einstellungen abgelegt werden. Die Verzeichnisse TEMP und USER müssen als symbolische Links in public vorliegen.
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 "wwwrun") zu ändern.
$ chown -R wwwrun:www 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/


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 /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:
Note: Die Einsteigs URL lautet http://[url]/openlimbas/public/
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