-CentOS: Unterschied zwischen den Versionen

Aus Limbas Wiki

Wechseln zu: Navigation, Suche
(Installationstips)
(Installationstips)
Zeile 12: Zeile 12:
 
Hierzu sollten folgende Schritte auf der Server-Installation durchgeführt werden: <br/>
 
Hierzu sollten folgende Schritte auf der Server-Installation durchgeführt werden: <br/>
 
Zunächst kann in der Datei ''/etc/sysconfig/selinux'' der Eintrag '''''SELINUX=disabled''''' hinzugefügt werden.
 
Zunächst kann in der Datei ''/etc/sysconfig/selinux'' der Eintrag '''''SELINUX=disabled''''' hinzugefügt werden.
Dies kann auch zur Lösung von Verbindungsproblemen bei der LIMBAS installation beitragen.
+
Dies kann auch zur Lösung von Verbindungsproblemen bei der LIMBAS-Installation beitragen.
 
Danach muss die virtuelle Maschine neu gestartet werden. Die Firewall sollte nun wie folgt deaktiviert oder angepasst werden:
 
Danach muss die virtuelle Maschine neu gestartet werden. Die Firewall sollte nun wie folgt deaktiviert oder angepasst werden:
  

Version vom 3. März 2016, 15:29 Uhr

<-- zurück zur Hauptseite


Voraussetzung dieser Anleitung ist eine Standard CentOS 6 oder 7 Installation, wobei hier Version 7 einige Unterschiede zu vorherigen CentOS Versionen aufweist. Die minimale Server-Paketauswahl im CentOS Installationssetup ist ausreichend. Es kann aber auch das Webserver-Setup gewählt werden um weniger Grundanpassungen für Netzwerk ssh Zugang etc. vornehmen zu müssen. Wenn der Client (Browser) auf einem anderen Host läuft (was normalerweise der Fall ist), ist auch keine "Desktop"-Installation notwendig. Die Beschreibung bezieht sich auf ein 32 oder 64 bit System.

Note: Bezeichnungen in spitzen 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 sollten folgende Schritte auf der Server-Installation durchgeführt werden:
Zunächst kann in der Datei /etc/sysconfig/selinux der Eintrag SELINUX=disabled hinzugefügt werden. Dies kann auch zur Lösung von Verbindungsproblemen bei der LIMBAS-Installation beitragen. Danach muss die virtuelle Maschine neu gestartet werden. Die Firewall sollte nun wie folgt deaktiviert oder angepasst werden:

CentOS 6

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

CentOS 7

systemctl start firewalld
systemctl enable firewalld
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload

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

CentOS 6

yum install openssh-server
/sbin/service sshd start

CentOS 7

yum install openssh-server
systemctl start sshd.service

CentOS Paketauswahl

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

  • httpd
  • php
  • php-gd
  • php-imap
  • php-odbc
  • php-soap
  • php-xml
  • php-ctype
  • php-mbstring
  • unixODBC
  • postgresql-odbc
  • postgresql
  • postgresql-server
  • ImageMagick
  • poppler-utils (pdftohtml version >= 0.10.5)
  • wget
  • unzip
  • pdftotext
  • pdftohtml
  • ttf2pt1
  • perl-Image-ExifTool (Version >= 9)
  • epel-release
$ yum install httpd php php-gd php-imap php-odbc php-soap php-xml php-ctype php-mbstring unixODBC\
postgresql-odbc postgresql-server postgresql ImageMagick poppler-utils t1lib\
perl-Image-ExifTool wget unzip ttf2pt1 pdftohtml
$ yum update


Zusatzpakete

Für einige benötigte Tools, die nicht mit dem Standard-Paketmanagement verfügbar sind, können externe Repositories eingebunden werden. Je nach CentOS-Version müssen unterschiedliche Repositories gewählt werden. Damit können die folgenden Zusatzpakete installiert werden falls sie nicht schon installiert sind.
Nachfolgend ein paar Vorschläge, welche Repositories viele der Zusatzpakete schon beinhalten können:

  • CentOS 7 (64bit)
$ yum install epel-release
$ rpm -Uhv http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
  • CentOS 6 (32bit)
$ rpm -Uhv http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm
  • CentOS 5 (32bit)
$ rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.i386.rpm


pdftohtml

Für CentOS Version 6 ist die aktuelle Version von pdftohtml in den Standard-Repositories enthalten. Diese kann wie folgt installiert werden:

$ yum install pdftohtml.

Ältere Versionen ignorieren den Zielpfad für die Format-Konvertierung (bug). Daher muss eine aktuellere Version verwendet werden. Mit folgenden Paketen oder neuer wurde erfolgreich getestet:

  • poppler-0.8.7-7.fc10.i386.rpm
  • poppler-utils-0.8.7-7.fc10.i386.rpm
  • openjpeg-libs-1.3-6.el5.1.i386.rpm
ttf2pt1

Dieses Tool können wir über das EPEL repository installieren

wget http://mirror.de.leaseweb.net/epel/6/i386/epel-release-6-8.noarch.rpm
rpm --import https://fedoraproject.org/static/0608B895.txt
rpm -i epel-release-6-8.noarch.rpm

yum install ttf2pt1

oder man installiert es über folgende Packete:

ftp://ftp.univie.ac.at/systems/linux/fedora/epel/6/i386/ttf2pt1-3.4.4-9.el6.i686.rpm
ftp://ftp.pbone.net/mirror/download.fedora.redhat.com/pub/fedora/epel/6/i386/ttf2pt1-3.4.4-9.el6.i686.rpm
  • ttf2pt1-3.4.4-7.fc10.i386.rpm
  • t1utils-1.32-9.fc8.i386.rpm

Updates für CentOS 5 oder kleiner

PHP 5

Neuere php Versionen können über webtatic.com installiert werden

rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm
yum update

PostgreSQL 8.4

LIMBAS wurde auf PosgreSQL ab V 8.4 oder höher getestet. Für einige Distributionen muss die PostgreSQL Datenbank und insbesondere ihr ODBC Treiber aktualisiert werden.

Durch folgende Befehle kann das Update durchgeführt werden.

$ wget http://yum.pgsqlrpms.org/reporpms/8.4/pgdg-centos-8.4-2.noarch.rpm
$ rpm -i pgdg-centos-8.4-2.noarch.rpm
$ yum update

Datenbank-Einrichtung

Limbas unterstützt mehre Datenbanken. Je nach Datenbank müssen unterschiedliche Installationen durchgeführt werden. Standardmäßig wird die PostgreSQL Datenbank genutzt.
siehe Datenbank

PostgreSQL

Ab Version 2.0.22 unterstützt LIMBAS UTF8. 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. Siehe auch PostgreSQL

  • Datenbank-Server stoppen:
$ /etc/init.d/postgresql stop

oder

$ systemctl stop postgresql.service
  • Falls bereits ein Datenbank-Cluster existiert, so ist der entsprechende Verzeichnis-Inhalt von "/var/lib/pgsql/data" zu löschen (Achtung: Dabei werden schon vorhandene Datenbanken gelöscht).
  • Datenbank-Cluster ohne Lokalisierung neu anlegen:
$ su - postgres
# initdb --local=C
  • Datenbank-Server starten und ggf. Status überprüfen:
$ /etc/init.d/postgresql start
$ systemctl start postgresql.service        ( alternativ )

  • Status prüfen
$ /etc/init.d/postgresql status
$ systemctl status postgresql.service   ( alternativ )
  • Datenbank anlegen (mögliche Kodierungen wären z.B. LATIN1 oder SQL_ASCII oder UTF8) und ggf. Vorhandensein überprüfen:
$ su - postgres
# psql
psql (8.4.3)
Geben Sie »help« für Hilfe ein.

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>
# 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' OWNER <limbasuser> template template0;
CREATE DATABASE


ODBC konfigurieren

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
USER DATA SOURCES..: /<user>/.odbc.ini
  • In der unter "DRIVERS" ermittelten Datei (hier "/etc/odbcinst.ini") die Treiber mit Dateiname und Pfad hinzufügen:
# Setup from the unixODBC package
[PostgreSQL]
Description     = ODBC for PostgreSQL
Driver          = /usr/lib/psqlodbcw.so
Setup           = /usr/lib/libodbcpsqlS.so
Driver64        = /usr/lib64/psqlodbcw.so
Setup64         = /usr/lib64/libodbcpsqlS.so
FileUsage       = 1
ACHTUNG: bei älteren PostgreSQL Versionen (<= 8.3) kann folgender Treiber verwendet werden:
Driver = /usr/lib/psqlodbc.so

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

  • In der unter "SYSTEM DATA SOURCES" ermittelten Datei (hier "/etc/odbc.ini") den 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            =
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 muss in "/etc/php.ini" angepasst werden. Zuerst, 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 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

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

  • magic_quotes = Off

Apache HTTP Server Einrichtung

Für die LIMBAS Installation müssen das Root-Verzeichnis des Apache-Servers und der Apache-User sowie dessen Gruppe bekannt sein. Diese können aus der Datei '/etc/httpd/conf/httpd.conf' entnommen werden:

  • Das Root-Verzeichnis des Apache-Servers läßt sich aus dem "DocumentRoot"-Eintrag ermitteln (standardmäßig "/var/www/html").
  • Der Apache-User und seine Gruppe lassen sich aus den "User"- und "Group"-Einträgen ermitteln (standardmäßig "apache").

Damit alle Zeichen korrekt angezeigt werden, ist in der Datei "/etc/httpd/conf/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/httpd/conf/httpd.conf" hinzuzufügen:

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

Starten des Apache HTTP Servers:

$ /etc/init.d/httpd start
$ systemctl start httpd.service (alternativ)

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:
  • 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.
$ 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://<LIMBAS Host IP-Adresse>/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