su
oder sudo
)apt install wget
apt install unzip
apt install perl
apt install imagemagick ghostscript
apt install ffmpeg
apt install clamav clamav-update
Wenn SELinux verwendet wird, muss ClamAV noch erlaubt werden, sämtliche Dateien auf dem Server zu scannen:
setsebool -P antivirus_can_scan_system 1
setsebool -P clamd_use_jit on
wget -c https://download.documentfoundation.org/libreoffice/stable/6.2.3/deb/x86_64/LibreOffice_6.2.3_Linux_x86-64_deb.tar.gz
tar xf LibreOffice_6.2.3_Linux_x86-64_deb.tar.gz
cd LibreOffice_6.2.3.2_Linux_x86-64_deb/DEBS
dpkg -i *.deb
cd -
apt install libgif7
wget -c https://rewoo.de/downloads/swftools/swftools_0.9.2-rewoo_debian9_amd64.deb
dpkg -i swftools_0.9.2-rewoo_debian9_amd64.deb
apt install swftools
apt install xvfb
/etc/systemd/system/xvfb.service
und füllen Sie diese mit folgendem Inhalt:
[Unit]
Description=xinit - user "rewoo"
[Service]
User=rewoo
Group=rewoo
ExecStart=/usr/bin/Xvfb :14 -nolisten tcp -screen 0 1024x768x24 -fbdir /var/tmp/
ExecStopPost=/usr/bin/killall -u rewoo Xvfb
[Install]
WantedBy=multi-user.target
systemctl enable xvfb.service
systemctl start xvfb
apt install apache2
cd /etc/apache2/mods-enabled
ln -s ../mods-available/headers.load
ln -s ../mods-available/proxy_ajp.load
ln -s ../mods-available/proxy_balancer.conf
ln -s ../mods-available/proxy_balancer.load
ln -s ../mods-available/proxy.conf
ln -s ../mods-available/proxy.load
ln -s ../mods-available/proxy_http.load
ln -s ../mods-available/rewrite.load
ln -s ../mods-available/slotmem_shm.load
ln -s ../mods-available/socache_shmcb.load
ln -s ../mods-available/ssl.conf
ln -s ../mods-available/ssl.load
/etc/apache2/sites-available/rewoo.conf
und füllen Sie sie mit folgendem Code:
<VirtualHost $IP:80>
ServerAdmin webmaster@$HOSTNAME
ServerName $HOSTNAME
RewriteEngine On
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R=301]
ErrorDocument 503 /errorpages/503.html
ErrorLog ${APACHE_LOG_DIR}/error_log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access_log combined
</VirtualHost>
Erstellen Sie die Datei /etc/apache2/sites-available/rewoo-ssl.conf
und füllen Sie sie mit folgendem Code:
LoadModule ssl_module modules/mod_ssl.so
Listen 443
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@$HOSTNAME
ServerName $HOSTNAME
RewriteEngine On
RewriteRule ^$ /rewoo [R]
RewriteRule ^/$ /rewoo [R]
DocumentRoot /var/www
<Directory />
Options FollowSymlinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ErrorDocument 503 /errorpages/503.html
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "Microsoft-WebDAV-MiniRedir/5.1.2600" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS" redirect-carefully
<IfModule encoding_module>
EncodingEngine on
NormalizeUsername on
<IfModule headers_module>
Header add Dav "1,2"
Header add MS-Author-Via "DAV"
</IfModule>
</IfModule>
ErrorLog ${APACHE_LOG_DIR}/error_log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/ssl_access_log combined
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
# write proxy directives into a single file
Include /etc/apache2/ProxyPass.conf
</VirtualHost>
</IfModule>
Ersetzen Sie die hervorgehobenen Teile innerhalb der rewoo.conf
und rewoo-ssl.conf
mit den Daten Ihres Servers. Dazu zählen die $IP
und der $HOSTNAME
, unter denen REWOO Scope erreichbar sein soll./etc/apache2/sites-enabled
Links auf diese Dateien anlegen und alle nicht benötigten Konfigurationen entfernen:
cd /etc/apache2/sites-enabled
rm ./*
ln -s ../sites-available/rewoo.conf
ln -s ../sites-available/rewoo-ssl.conf
Wechseln Sie ins Verzeichnis /etc/apache2/
, erstellen Sie dort eine Datei mit dem Namen ProxyPass.conf
und fügen anschließend folgenden Inhalt ein:
ProxyTimeout 900
<Location /rewoo>
Order Deny,Allow
Allow from All
ProxyPass http://localhost:7070/rewoo
ProxyPassReverse http://localhost:7070/rewoo
</Location>
systemctl restart apache2.service
Für die SSL-Zertifikate empfehlen wir das Projekt Letsencrypt.
apt install apt-transport-https
echo "deb https://deb.debian.org/debian stretch-backports main" | tee /etc/apt/sources.list.d/backports.list
apt update
apt install certbot python-certbot-apache -t stretch-backports
certbot --apache --cert-name kunde.rewoo.net -d kunde.rewoo.net
certbot --apache --cert-name kunde.rewoo.net -d kunde.rewoo.net
systemctl restart apache2.service
crontab -e
aufrufen und folgende Zeile hinzufügen.
26 3 * * 1 certbot renew --pre-hook "systemctl stop apache2" --post-hook "systemctl start apache2" --quiet
apt install ufw
ufw allow http
ufw allow https
ufw allow ssh
ufw enable
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
RELEASE=$(lsb_release -cs)
echo "deb http://apt.postgresql.org/pub/repos/apt/ ${RELEASE}"-pgdg main | tee /etc/apt/sources.list.d/pgdg.list
apt-get update
apt-get install postgresql-11
/etc/postgresql/11/main
(Pfadname kann bei anderer PostgreSQL-Version abweichen) und öffnen Sie dort die Datei pg_hba.conf
. Dort fügen Sie an der angegebenen Stelle jeweils VOR den bereits bestehenden Einträgen folgende Zeilen ein:IPv4
als erste Zeile hinzufügen:
host rewoodb rewoo 127.0.0.1/32 trust
Bei IPv6
als erste Zeile hinzufügen:
host rewoodb rewoo ::1/128 password
Im gleichen Verzeichnis bearbeiten finden Sie die Datei postgresql.conf
. Dort müssen die folgenden Parameter entsprechende Ihres Systems angepasst werden. An folgende Richtwerte kann sich orientert werden:max_connections
= Anzahl der CPU-Kerne * 3shared_buffers
= RAM / 4wal_buffers
= 2MBcheckpoint_segments
= 32checkpoint_timeout
= 5mineffective_cache_size
= RAM / 4work_mem
= RAM / (max_connections * 16)maintenance_work_mem
= RAM / 16shared_buffers
verwendet wurde:
sysctl -w kernel.shmmax=<shared_buffers-Wert>
su -l postgres
psql
CREATE USER rewoo WITH CREATEDB PASSWORD 'rewoo';
CREATE DATABASE rewoodb WITH owner=rewoo encoding='utf-8';
\q
exit
Die Einrichtung der Postgres-Datenbank für die Benutzung mit REWOO Scope ist damit abgeschlossen.
rewoo
benötigt. Diesen erstellen Sie mit dem folgenden Befehl:
useradd -m -d /home/rewoo -s /bin/bash -c "REWOO Scope" -U -- rewoo
rewoo
zu erhöhen./etc/security/limits.d
, legen Sie dort eine Datei mit dem Namen rewoo.conf
an und füllen diese mit folgendem Code:
rewoo - nofile 8192
Editieren Sie anschließend die Datei /etc/pam.d/su
und entfernen Sie das Kommentarzeichen vor der Zeile:
session required pam_limits.so
/etc/pam.d/su
auf Ihrem System nicht vorkommen, tragen Sie sie einfach am Ende der Datei nach.Sie können überprüfen, ob die Erhöhung der Limits wirksam ist, indem Sie sich als Benutzer rewoo
einloggen und das Kommando ulimit -a
aufrufen.
Fahren Sie jetzt mit der Installation von REWOO Scope fort.
su
oder sudo
)yum install wget
yum install unzip
yum install perl
yum install net-tools
yum install gnome-vfs2
yum install epel-release
wget http://repository.it4i.cz/mirrors/repoforge/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
rpm -ihv rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
yum update
/tmp/
. Anschließend führen Sie die folgenden Befehle aus. Passen Sie falls nötig den verwendeten Dateinamen für die RPM an ihre heruntergeladene Version an.
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.rpm"
yum install /tmp/jdk-8u201-linux-x64.rpm
alternatives --install /usr/bin/javaws javaws /usr/java/latest/bin/javaws 2
alternatives --install /usr/bin/java java /usr/java/latest/bin/java 2
alternatives --install /usr/bin/javac javac /usr/java/latest/bin/javac 2
yum install ImageMagick
yum install ghostscript
yum install ffmpeg
wget -c http://download.documentfoundation.org/libreoffice/stable/5.4.1/rpm/x86_64/LibreOffice_5.4.1_Linux_x86-64_rpm.tar.gz
tar xf LibreOffice_5.4.1_Linux_x86-64_rpm.tar.gz
cd LibreOffice_5.4.1_Linux_x86-64_rpm/RPMS
rpm -Uvh *.rpm
yum install
.
yum install swftools-swftools-0.9.2.2-rewoo.el5.x86_64.rpm
yum install clamav clamav-update
Anschließend muss ClamAV noch erlaubt werden, sämtliche Dateien auf dem Server zu scannen:
setsebool -P antivirus_can_scan_system 1
setsebool -P clamd_use_jit on
yum install xorg-x11-server-Xvfb.x86_64
Xvfb
unter /etc/init.d/
und füllen Sie diese mit folgendem Inhalt:
#!/bin/bash
#
# Xvfb This script starts and stops the X Virtual Frame Buffer
#
# chkconfig: 345 50 50
#
# description: Frame buffer needed to run LibreOffice in headless mode.
#
# processname: Xvfb
#
# pidfile: /var/run/Xvfb.pid
# source function library
. /etc/rc.d/init.d/functions
lockfile="/var/lock/subsys/Xvfb"
RETVAL=0
start() {
echo -n "Starting X Virtual Frame Buffer: "
touch "$lockfile" && success || failure
daemon --check Xvfb /usr/bin/Xvfb ":14 -screen 0 1024x768x24 -fbdir /var/tmp/ > /dev/null 2>&1" &
RETVAL=$?
echo
return $RETVAL
}
stop() {
echo -n "Stopping X Virtual Frame Buffer: "
rm -f "$lockfile" && success || failure
killproc Xvfb
RETVAL=$?
echo
return $RETVAL
}
restart() {
stop
sleep 5
start
}
rhstatus() {
status Xvfb
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|force-reload)
restart
;;
condrestart)
[ -f "$lockfile" ] && restart
;;
status)
rhstatus
;;
*)
echo $"Usage: $0 {start|stop|status|restart|force-reload|condrestart}"
exit 1
esac
/sbin/chkconfig Xvfb on
yum install httpd mod_ssl
systemctl enable httpd.service
/etc/httpd/conf.modules.d
, bearbeiten Sie die Datei 00-proxy.conf
und fügen folgende Zeile ans Ende an:
LoadModule rewrite_module modules/mod_rewrite.so
Wechseln Sie ins Verzeichnis /etc/httpd/conf.d
und benennen Sie die default-Konfigurationen um:
mv welcome.conf welcome.conf.old
mv ssl.conf ssl.conf.old
Erstellen Sie eine Datei mit dem Namen rewoo.conf
und füllen Sie sie mit folgendem Code:
<VirtualHost $IP:80>
ServerAdmin webmaster@$HOSTNAME
ServerName $HOSTNAME
RewriteEngine On
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
ErrorDocument 503 /errorpages/503.html
ErrorLog logs/error_log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog logs/access_log combined
</VirtualHost>
Anschließend erstellen Sie eine Datei mit dem Namen rewoo-ssl.conf
und füllen Sie sie mit folgendem Code:
LoadModule ssl_module modules/mod_ssl.so
Listen 443
<IfModule mod_ssl.c>
SSLPassPhraseDialog builtin
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
#SSLMutex default
SSLRandomSeed startup builtin
SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect builtin
SSLRandomSeed connect file:/dev/urandom 512
SSLCryptoDevice builtin
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
<VirtualHost _default_:443>
ServerAdmin webmaster@$HOSTNAME
ServerName $HOSTNAME
RewriteEngine On
RewriteRule ^$ /rewoo [R]
RewriteRule ^/$ /rewoo [R]
DocumentRoot /var/www
<Directory />
Options FollowSymlinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ErrorDocument 503 /errorpages/503.html
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "Microsoft-WebDAV-MiniRedir/5.1.2600" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS" redirect-carefully
<IfModule encoding_module>
EncodingEngine on
NormalizeUsername on
<IfModule headers_module>
Header add Dav "1,2"
Header add MS-Author-Via "DAV"
</IfModule>
</IfModule>
ErrorLog logs/error_log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog logs/ssl_access_log combined
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
# SSL certs configured here
# SSLCertificateFile is from CA delivered cert
# SSLCertificateKeyFile is SSL cert generated by you
# SSLCertificateChainFile will needed if CA provides a certificate
# for certificate chain
SSLCertificateFile /etc/httpd/SSL/$YOUR_CERT.crt
SSLCertificateKeyFile /etc/httpd/SSL/$YOUR_PEM.pem
SSLCertificateChainFile /etc/httpd/SSL/$CA_CERT.pem
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
# write proxy directives into a single file
Include /etc/httpd/ProxyPass.conf
</VirtualHost>
</IfModule>
Ersetzen Sie die hervorgehobenen Teile innerhalb der rewoo.conf
und rewoo-ssl.conf
mit den Daten Ihres Servers. Dazu zählen die $IP
und der $HOSTNAME
, unter denen REWOO Scope erreichbar sein soll, genauso wie die Pfade zu den jeweiligen SSL-Zertifikaten./etc/httpd/
, erstellen Sie dort eine Datei mit dem Namen ProxyPass.conf
und fügen anschließend folgenden Inhalt ein:
ProxyTimeout 900
<Location /rewoo>
Order Deny,Allow
Allow from All
ProxyPass http://localhost:7070/rewoo
ProxyPassReverse http://localhost:7070/rewoo
</Location>
yum install system-config-firewall-tui
systemctl disable firewalld
yum install iptables-services
systemctl start iptables
systemctl start ip6tables
systemctl enable iptables
systemctl enable ip6tables
system-config-firewall-tui
Aktivieren Sie die Dienste Sicheres WWW (HTTPS)
(engl.: Secure WWW [HTTPS]) und WWW (HTTP)
. Für die Verwendung von SSH muss auch dieses hier freigeschaltet sein.
service iptables restart
setsebool -P httpd_can_network_connect true
Diese Operation nimmt einige Sekunden in Anspruch. Ob die Einstellungen übernommen wurden, können Sie mit folgendem Befehl prüfen:
getsebool httpd_can_network_connect
Erwartete Ausgabe: httpd_can_network_connect --> on
chkconfig --level 235 httpd on
yum install uuid libxslt libicu-devel
rpm -Uvh https://download.postgresql.org/pub/repos/yum/testing/10/redhat/rhel-7-x86_64/pgdg-centos10-10-3.noarch.rpm
yum install postgresql10 postgresql10-server postgresql10-libs postgresql10-contrib postgresql10-devel --disablerepo=* --enablerepo=pgdg10
/usr/pgsql-10/bin/postgresql-10-setup initdb
/var/lib/pgsql/10/data
(Pfadname kann bei anderer PostgreSQL-Version abweichen) und öffnen Sie dort die Datei pg_hba.conf
. Dort fügen Sie an der angegebenen Stelle jeweils VOR den bereits bestehenden Einträgen folgende Zeilen ein:IPv4
als erste Zeile hinzufügen:
host rewoodb rewoo 127.0.0.1/32 trust
Bei IPv6
als erste Zeile hinzufügen:
host rewoodb rewoo ::1/128 password
Wechseln Sie anschließend ins Verzeichnis /var/lib/pgsql/10/data
(Pfadname kann bei anderer PostgreSQL-Version abweichen) und bearbeiten dort die Datei postgresql.conf
. Dort müssen die folgenden Parameter entsprechende Ihres Systems angepasst werden. An folgende Richtwerte kann sich orientert werden:max_connections
= Anzahl der CPU-Kerne * 3shared_buffers
= RAM / 4wal_buffers
= 2MBcheckpoint_segments
= 32checkpoint_timeout
= 5mineffective_cache_size
= RAM / 4work_mem
= RAM / (max_connections * 16)maintenance_work_mem
= RAM / 16shared_buffers
verwendet wurde:
sysctl -w kernel.shmmax=<shared_buffers-Wert>
systemctl start postgresql-10.service
systemctl enable postgresql-10.service
su -l postgres
psql
CREATE USER rewoo WITH CREATEDB PASSWORD 'rewoo';
CREATE DATABASE rewoodb WITH owner=rewoo encoding='utf-8';
\q
exit
Die Einrichtung der Postgres-Datenbank für die Benutzung mit REWOO Scope ist damit abgeschlossen.
rewoo
benötigt. Diesen erstellen Sie mit dem folgenden Befehl:
useradd -m -d /home/rewoo -s /bin/bash -c "REWOO Scope" -U -- rewoo
rewoo
zu erhöhen./etc/security/limits.d
, legen Sie dort eine Datei mit dem Namen rewoo.conf
an und füllen diese mit folgendem Code:
rewoo - nofile 8192
/etc/security/limits.d
nicht existiert, schreiben Sie die obige Zeile in die Datei /etc/security/limits.conf
. Achten Sie darauf, dass Sie die Zeile oberhalb der Zeile # End of file
eintragen, da der Eintrag sonst nicht beachtet wird./etc/pam.d/su
und entfernen Sie das Kommentarzeichen vor der Zeile:
session required pam_limits.so
/etc/pam.d/su
auf Ihrem System nicht vorkommen, tragen Sie sie einfach am Ende der Datei nach.Sie können überprüfen, ob die Erhöhung der Limits wirksam ist, indem Sie sich als Benutzer rewoo
einloggen und das Tool ulimit
aufrufen.
Fahren Sie jetzt mit der Installation von REWOO Scope fort.
/home/rewoo/
.
rewoo
auf dem Terminal des Servers ein und extrahieren Sie aus dem Archiv die Datei admin.sh
und machen Sie sie ausführbar.
unzip -j rewoo-12881.zip rewoo-12881/scripts/admin.sh
chmod u+x admin.sh
admin.sh
auf und wählen Sie den Punkt 1
.
./admin.sh
Starting bootstrap process.
Extracting rewoo version "12881".
Press ENTER to continue with the installation
M A I N M E N U
1. Install a new server
2. Uninstall a server
3. Maintain existing server
4. Show configuration
5. Deploy enabled servers to a single jetty instance (JETTY)
0. Quit
Your choice: 1
Start installation
, indem Sie erneut eine 1
eingeben.
I N S T A L L M E N U
1. Start installation
2. Perform installation checks without installing
0. Back to main menu
Your choice: 1
Bei der Abfrage nach dem Servernamen, geben Sie rewoo
ein.
I N S T A L L A T I O N
Please choose a name for the server. This name will be used for the
database and for the URL the server will be accessible under.
The default is "rewoo" in which case it looks like this:
database name: rewoodb
URL: https://yourserver/rewoo
!! THE NAME - ONCE SET - IS FIXED, IT CAN'T BE CHANGED AFTERWARDS. !!
The name has to be in lower case and only alphanumeric characters are
allowed.
New server name: rewoo
Jetzt laufen einige Tests durch, die sicherstellen sollen, dass alle benötigten Tools installiert sind. Sollte hierbei ein Test fehlschlagen, brechen Sie die Installation ab Strg + C und installieren Sie die fehlenden Tools. Starten Sie anschließend die Installation erneut (in diesem Fall kann es notwendig sein, den Ordner rewoo-admin
vorher zu löschen und erneut das ZIP-Archiv hochladen zu müssen).Im Folgenden ist aufgeschlüsselt, was getestet wird:
Test: bash
Ursache: bash wurde nicht gefunden
Lösung: Stellen Sie sicher, dass /bin/bash
installiert und in Ihrem PATH ist
Test: curl
Ursache: Tool curl wurde nicht gefunden
Lösung: Stellen Sie sicher, dass curl installiert und in Ihrem PATH ist
Test: Xvfb
Ursache: ausführbare Datei Xvfb wurde nicht gefunden
Lösung: Stellen Sie sicher, dass Xvfb installiert und in Ihrem PATH ist
Test: unzip
Ursache: ausführbare Datei unzip wurde nicht gefunden
Lösung: Stellen Sie sicher, dass unzip installiert und in Ihrem PATH ist
Test: java
Ursache: ausführbare Datei java wurde nicht gefunden
Lösung: Stellen Sie sicher, dass java installiert und in Ihrem PATH ist
Test: java
Ursache: Java-Version zu niedrig
Lösung: Stellen Sie sicher, dass die installierte Java-Version mindestens Java 1.8 ist
Test: pdf2swf
Ursache: ausführbare Datei pdf2swf wurde nicht gefunden
Lösung: Stellen Sie sicher, dass die swftools installiert und in Ihrem PATH sind
Test: psql
Ursache: ausführbarte Datei psql nicht gefunden
Lösung: Stellen Sie sicher, dass die Postgres-Client-Utilities installiert und in Ihrem Path sind
Test: postgres
Ursache: es war nicht möglich, sich als Benutzer rewoo auf dem Datenbankschema rewoodb auf localhost einzuloggen
Lösung: Stellen Sie sicher, dass das Datenbankschema rewoodb
in der Postgres-Datenbank eingerichtet wurde und ein Login ohne Passwort erlaubt ist
Wenn alle Tests mit [OK]
quittiert wurden, fahren Sie mit der Installation fort.
Test bash [OK]
Test curl [OK]
Test Xvfb [OK]
Test unzip [OK]
Test java [OK]
Test java [OK]
Test pdf2swf [OK]
Test psql [OK]
Test postgres [OK]
Test db [OK]
For continue please press Enter. Press Ctrl+C for exiting.
In der nächsten Anzeige wählen Sie die Version von REWOO Scope aus, die Sie installieren wollen. In der Regel ist nur eine vorhanden und die Eingabe sollte mit 1
bestätigt werden.
Please choose a number:
1) 11770
Your choice: 1
Sobald alle Dateien entpackt wurden und die notwendigen Einstellungen vorgenommen wurden, erscheint ein Hinweis, wie der Webserver eingestellt werden muss, damit REWOO Scope erreichbar ist.
Der gerade installierte Dienst wird jetzt gestartet und initialisiert sich und die Datenbank. Dies dauert je nach System bis zu 2 Minuten.
Nach der Initialisierung laufen noch einmal abschließende Tests durch. Diese Tests beinhalten die bereits oben genannten Tests und einige weitere.
Test: webserver
Ursache: es konnte keine Verbindung auf den Webserver, Port 80, hergestellt werden
Lösung: prüfen Sie, ob der Webserver gestartet ist und auf dem externen Interface auf Port 80/tcp Anfragen entgegennimmt
Test: ssl
Ursache: es war nicht möglich, eine SSL-verschlüsselte Verbindung zum Webserver aufzubauen
Lösung: Der Test unterscheidet zwischen den Fehlern 404 - Not found und 503 - Service temporarily not available.
Bei Fehler 404 kennt der Webserver die aufgerufene URL nicht. Prüfen Sie die Konfiguration Ihres Webservers.
Bei Fehler 503 ist der Jetty nicht erreichbar. Prüfen Sie, ob REWOO Scope erfolgreich gestartet ist und Anfragen entgegennimmt. Starten Sie REWOO Scope eventuell über das admin.sh
-Script erneut.
Test: forward
Ursache: der Webserver leitet die Anfragen nicht an REWOO Scope weiter
Lösung: Der Test unterscheidet zwischen den Fehlern 404 - Not found und 503 - Service temporarily not available.
Bei Fehler 404 kennt der Webserver die aufgerufene URL nicht. Prüfen Sie die Konfiguration Ihres Webservers.
Bei Fehler 503 ist der Jetty nicht erreichbar. Prüfen Sie, ob REWOO Scope erfolgreich gestartet ist und Anfragen entgegennimmt. Starten Sie REWOO Scope eventuell über das admin.sh
-Script erneut.
Test: jetty
Ursache: REWOO Scope konnte nicht auf dem localhost-Interface erreicht werden
Lösung: prüfen Sie, ob REWOO Scope erfolgreich gestartet ist und Anfragen entgegennimmt und beantwortet
Test: rewoo
Ursache: bei der Installation ist etwas schief gelaufen
Lösung: prüfen Sie die Berechtigungen im Homeverzeichnis des Benutzers, löschen Sie alle Dateien im Home-Verzeichnis des Benutzers rewoo und installieren Sie
REWOO Scope erneut. Achten Sie darauf, dass auch die Datei .rewoorc
gelöscht wird.
Test: wine
Ursache: ausführbare Datei wine nicht gefunden
Lösung: prüfen Sie, ob wine installiert und in Ihrem PATH ist
Hinweis: Sie benötigen wine nur, wenn sie zusätzliche Windows-Tools zur Anzeige von speziellen Dateien haben, z. B. AcmeCAD
https://<Hostname oder IP>/rewoo/
Um die Software allerdings vollständig verwenden zu können, muss sie noch konfiguriert werden. Die Konfiguration ist im Admin-Panel verfügbar, gleich nach dem Login als Admin-User. Sämtliche Konfigurationsparameter und Einstellungsmöglichkeiten finden Sie im Kapitel Konfiguration.
converter.pdf2swf.pdf2swfHome = /home/rewoo/rewoo-admin/scripts
Passen Sie anschließend das Script /home/rewoo/rewoo-admin/scripts/pdf2swf
an, indem sie die maximale Anzahl an parallelen Prozessen und den Pfad zum eigentlichen pdf2swf-Executable setzen. Auch in diesem Fall empfehlen wir die von uns angepasste Version von pdf2swf, da dort der parallele Betrieb stabilisiert wurde.
/etc/systemd/system/
. Dort erstellen Sie eine Datei mit dem Namen scope.service
und füllen diese mit folgenden Zeilen:
[Unit]
Description=REWOO Scope daemon
After=network.target
[Service]
Type=simple
User=rewoo
ExecStart=/home/rewoo/admin.sh server_start rewoo
Restart=on-abort
KillMode=process
[Install]
WantedBy=multi-user.target
Anschließend muss der Service aktiviert und initialisiert werden:
systemctl enable scope.service
systemctl daemon-reload
systemctl start scope.service
Jetzt sollte REWOO Scope automatisch bei jedem Neustart des Servers mitgestartet werden.
Der Scope Maintenance Server ist für den Betrieb von REWOO Scope nicht zwingend erforderlich. Er stellt einen zusätzlichen Server-Dienst dar, über den bestimmte Wartungsaufgaben bequemer durchgeführt werden können. Vor allem betrifft dies das Erstellen von so genannten "System-Snapshots", mit denen der vollständige Zustand einer REWOO Scope-Installation abgespeichert und auch wiederhergestellt werden kann.
Wurde der Scope Maintenance Server installiert und korrekt konfiguriert, können Benutzer mit ausreichender Berechtigung direkt über die REWOO Scope Benutzeroberfläche einen derartigen Snapshot erstellen oder das System auf den Zustand eines zuvor erstellen Snapshots zurücksetzen. Ohne den Scope Maintenance Server ist dies nur manuell über Wartungsscripte oder ähnliches möglich.
Der Server wird in Form eines WAR-Archives ausgeliefert (scope-maintenance-server.war
). Prinzipiell sollte das Archiv innerhalb aller gängigen Servlet-Container (Jetty, Tomcat, ...) lauffähig sein, entwickelt und getestet wurde es jedoch im Zusammenspiel mit Jetty in der Version 9.4.18, der auch als Ausführungsumgebung für REWOO Scope eingesetzt wird. Dieser Servlet-Container wird bereits vorkonfiguriert in der Form des Archivs jetty-distribution-9.4.18.v20190429.zip
zusammen mit der WAR-Datei ausgeliefert.
Vorbemerkung: Nachfolgend wird davon ausgegangen, dass sich die Dateien scope-maintenance-server.war
und jetty-distribution-9.4.18.v20190429.zip
im Home-Verzeichnis des rewoo-Benutzers (/home/rewoo
) befinden.
Um den Server einzurichten, muss zunächst die Jetty-ZIP-Datei in ein dediziertes Verzeichnis unterhalb des Home-Verzeichnisses des rewoo-Benutzers entpackt werden. Nachfolgend wird dafür das Verzeichnis ~/scope-maintenance-server
verwendet.
cd /home/rewoo
mkdir scope-maintenance-server
unzip jetty-distribution-9.4.18.v20190429.zip -d scope-maintenance-server/
Dann muss das WAR in den Unterordner /webapps
kopiert werden. Da zudem ein installationsspezifischer Schlüssel hinterlegt werden sollte, muss das WAR zudem auch temporär entpackt werden.
cd /home/rewoo
cp scope-maintenance-server.war scope-maintenance-server/jetty/webapps/
cd scope-maintenance-server/jetty/webapps/
mkdir temp
unzip scope-maintenance-server.war -d temp/
cd temp/WEB-INF
Anschließend wird das Private/Public-Schlüsselpaar angelegt. Dies kann über folgenden Aufruf von ssh-keygen geschehen. Eine Passphrase sollte in diesem Fall nicht gesetzt werden.
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/rewoo/.ssh/id_rsa): /home/rewoo/scope-maintenance-server/jetty/webapps/temp/WEB-INF/rewoo_rsa.key
Nun wird der mit dem WAR ausgelieferte Default-Schlüssel gelöscht und die soeben erzeugten, installationsspezifischen Schlüssel jeweils noch in ein Format exportiert, dass für Java direkt lesbar ist.
cd /home/rewoo/scope-maintenance-server/jetty/webapps/temp/WEB-INF/
rm rewoo.der
openssl pkcs8 -topk8 -inform PEM -outform DER -in rewoo_rsa.key -out maintenance_key.der -nocrypt
openssl rsa -in rewoo_rsa.key -pubout -outform DER -out rewoo.der
rm rewoo_rsa.key rewoo_rsa.key.pub
rewoo
. Bei anderen Instanznamen muss auch der Name der DER-Datei entsprechend angepasst werden (z. B. in "beispiel.der" wenn die Instanz "beispiel" heißt).cd /home/rewoo/scope-maintenance-server/jetty/webapps/temp/WEB-INF/
mkdir /home/rewoo/rewoo-admin/storage/rewoo/keys/
mv maintenance_key.der /home/rewoo/rewoo-admin/storage/rewoo/keys/maintenance_key.der
cd ..
jar cvf scope-maintenance-server.war .
mv scope-maintenance-server.war ../scope-maintenance-server.war
cd ..
rm temp -rf
Damit der Scope Maintenance-Server vom Client aus angesprochen werden kann, muss eine ProxyPass-Regel für den entsprechenden Port 8081 hinzugefügt werden. Hierzu muss der folgende Inhalt zur Datei /etc/httpd/ProxyPass.conf
hinzugefügt werden:
<Location /scope-maintenance-server>
Order Deny,Allow
Allow from All
ProxyPass http://localhost:8081/scope-maintenance-server
ProxyPassReverse http://localhost:8081/scope-maintenance-server
</Location>
Um die Kommunikation zwischen Client und dem Scope Maintenance Server zu erlauben, muss zusätzlich noch die nachfolgende Cross-Domain-Policy angelegt werden. Dazu erstellt man unter /var/www
eine Datei mit dem Namen crossdomain.xml
und befüllt diese mit folgendem Inhalt:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="master-only">
<allow-access-from domain="*" secure="false">
</cross-domain-policy>
Zum Abschluss muss der Scope Maintenance Server noch so eingerichtet werden, dass er bei jedem System-Start ebenfalls mitgestartet wird. Dazu wird in /etc/systemd/system
eine Datei mit dem Namen scope-maintenance-server.service
erstellt und mit folgendem Inhalt befüllt:
[Unit]
Description=Scope Maintenance Server daemon
After=network.target
[Service]
Type=simple
User=rewoo
WorkingDirectory=/home/rewoo/scope-maintenance-server/jetty
ExecStart=/usr/bin/java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -jar start.jar -Djetty.port=8081
ExecStop=/bin/kill ${MAINPID}
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
Besonders wichtig ist dabei die Zuweisung an das Attribut ExecStart: hier wird mittels des Parameters "-Djetty.port" der Port des zu startenden Scope Maintenance Servers festgelegt. Standardmäßig wird hierfür der Port 8081
verwendet, dieser kann aber beliebig angepasst werden. Die Parameter -Xdebug
und -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
ermöglichen es, den Scope Maintenance Server bei Bedarf im laufenden Betrieb debuggen zu lassen. Ist dies nicht erwünscht, können die Parameter einfach entfernt werden. Bei aktiviertem Debug-Modus ist es allerdings ratsam, den Port durch die Firewall standardmäßig für den Zugriff aus dem Internet zu blockieren und ihn nur bei Bedarf freizuschalten.
Schließlich muss der Dienst noch aktiviert, der systemd-Daemon neu gestartet und einmalig der Maintenance Service manuell hochgefahren werden (bei weiteren System-Starts sollte dies dann automatisch erfolgen).
systemctl enable scope-maintenance-server.service
systemctl daemon-reload
systemctl start scope-maintenance-server.service
Damit ist die Installation und Konfiguration des Scope Maintenance Servers abgeschlossen. Um den ihn von REWOO Scope aus ansprechen zu können, müssen dort noch einige Konfigurationsparameter gesetzt werden. Die Beschreibung der jeweiligen Parameter ist unter Scope Maintenance Server zu finden.
Um den Erfolg der Installation zu testen, kann folgende URL in einem Browser geöffnet werden:
https://<Hostname oder IP>/scope-maintenance-server/webapi/scopestate?scopeInstance=rewoo
Der Browser sollte dann Daten im JSON-Format ausgeben, ähnlich wie im folgenden Screenshot: