Für die Installation des DRACOON Branding-Dienstes und der dazugehörigen Webanwendung zur Branding-Konfiguration empfiehlt es sich, zunächst alle Systemupdates zu installieren:
yum clean all && yum update
Installation Docker CE
Einrichten des Docker Repository
Installieren Sie die erforderlichen Pakete. yum-utils
stellt das Verwaltungstool yum-config-manager
bereit, device-mapper-persistent-data
und lvm2
werden für den devicemapper
storage driver benötigt.
yum install -y yum-utils device-mapper-persistent-data lvm2
Mit folgendem Befehl fügen Sie das Docker Repository zu dem Paketmanager yum
hinzu:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Installieren Sie die neueste Version von Docker CE:
yum install docker-ce
Starten Sie die Docker CE Engine:
systemctl start docker
Aktivieren Sie den Autostart:
systemctl enable docker
Download der Docker-Compose Binary:
curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Setzten Sie mit folgendem Befehl das "Ausführbar"-Flag für das Docker-Compose Binary:
chmod +x /usr/local/bin/docker-compose
Überprüfen Sie mit dieser Eingabe die korrekte Installation der Docker-Compose Binary. Sie erhalten die Versionsnummer als Ausgabe zurück:
docker-compose --version
docker-compose version 1.23.1, build 1719ceb
Konfiguration Firewall
Dieser Schritt ist nur notwendig, wenn der Reverse-Proxy getrennt vom Applikationsserver auf einer eigenen VM betreiben wird:
firewall-cmd --permanent --add-port=8086/tcp
firewall-cmd --permanent --add-port=8087/tcp
firewall-cmd --reload
firewall-cmd --list-all
Als Ausgabe erhalten Sie die aktuelle Konfiguration der Firewall zurück. Hier werden die beiden neu hinzugefügten Freigaben unter ports
aufgeführt:
services: ssh dhcpv6-client http https
ports: 8086/tcp 8087/tcp
protocols:
Konfiguration HAProxy
Die Konfigurationsdatei des HAProxys ist unter /etc/haproxy/haproxy.cfg
zu finden. Hier müssen für die Trennung der entsprechenden Kontext-Pfade die acls instabrand_ui_acl, instabrand_service_acl und webui_branding_acl hinzugefügt werden sowie die Regeln use_backend instabrand_service_server und instabrand_ui_server für die Verwendung des richtigen Servers. Alle bisherigen Einstellungen können unverändert bestehen bleiben.
Im nächsten Stritt müssen der Konfiguration zwei Backends hinzugefügt werden, eines für den DRACOON Branding-Service und eines für die DRACOON Branding Webanwendung. Fügen Sie dies am Ende nach den bestehenden Backend ein, und ersetzten Sie die Platzhalter instabrand-service-server-ip und instabrand-ui-server-ip durch die entsprechenden IPs oder die entsprechende IP Ihres Servers. Im Falle einer Installation des HAProxys und DRACOON Branding-Services auf einer VM ist hier die Loopback-Adresse 127.0.0.1 einzutragen. Die Anpassung kann nun mit dem CLI-Befehl systemctl reload haproxy.service
übernommen und live geschalten werden.
Die erfolgreiche Verarbeitung des neuen Regelwerks kann dem System-Log entnommen werden. Die letzten 20 Zeilen können mit tail -n 20 /var/log/messages
ausgegeben werden, hierbei sollte folgender Eintrag zu finden sein: systemd: Reloaded HAProxy Load Balancer
.
Im Anschluss dürfen keiner Fehler ("[ERROR]") zu finden sein:
...
acl api_acl path_beg -i /api
acl swagger_acl path_beg -i /swagger-proxy
acl oauth_acl path_beg -i /oauth
acl webdav_acl path_beg -i /webdav
acl instabrand_ui_acl path_beg -i /branding
acl instabrand_service_acl path_beg -i /branding/api
acl webui_branding_acl path_beg -i /branding/resources
use_backend api_server if api_acl
use_backend api_server if swagger_acl
use_backend oauth_server if oauth_acl
use_backend webdav_server if webdav_acl
use_backend instabrand_service_server if instabrand_service_acl
use_backend instabrand_ui_server if instabrand_ui_acl !instabrand_service_acl !webui_branding_acl
default_backend webui_server
...
#---------------------------------------------------------------------
# Backend Instabrand Service
#---------------------------------------------------------------------
backend instabrand_service_server
mode http
balance roundrobin
option http-server-close
server instabrand-service01 instabrand-service-server-ip:8086 check inter 5s fastinter 1s downinter 3s rise 2 fall 5
#---------------------------------------------------------------------
# Backend Instabrand UI
#---------------------------------------------------------------------
backend instabrand_ui_server
mode http
balance roundrobin
option http-server-close
server instabrand-ui01 instabrand-ui-server-ip:8087 check inter 5s fastinter 1s downinter 3s rise 2 fall 5
Installation von DRACOON Branding
Für die Installation des DRACOON Branding-Services benötigen Sie die entsprechenden Docker-Container. Sie finden diese im Download-Portal im Release-Bereich der Version LTS 2018-2 (V4.10). Übertragen Sie die fünf tar.gz
Dateien auf den entsprechenden Server, importieren Sie die Container, und entpacken Sie die Docker-Compose Dateien:
docker load < dracoon-mariadb_10.3.11.tar.gz
docker load < dracoon-mariadb-backup_10.3.11.tar.gz
docker load < dracoon-instabrand-service_1.1.1-LTS.tar.gz
docker load < dracoon-instabrand-ui_1.1.2-LTS.tar.gz
tar xfvz instabrand-compose.tar.gz
cd instabrand/
Alle benötigten Parameter sind in eine eigene .env
Datei ausgelagert und können nahezu frei konfiguriert werden:
Parameter | Default | Beschreibung |
---|---|---|
INSTABRAND_DATABASES_VERSION | 10.3.11 | Versionsnummer der Datenbank |
INSTABRAND_DATABASES_DATA_DIR | ./instabrand-database | Datenpfad der Datenbank |
INSTABRAND_DATABASES_ROOT_PASSWORD | CHANGE_ME | Root User Passwort |
INSTABRAND_DATABASES_NAME | instabrand | Instabrand Datenbank Name |
INSTABRAND_DATABASES_USER | instabrand | Instabrand Datenbank User Name |
INSTABRAND_DATABASES_PASSWORD | CHANGE_ME | Instabrand Datenbank User Passwort |
INSTABRAND_DATABASES_INNODB_BUFFER_POOL_SIZE | 1024M | Maximaler Arbeitsspeicher für Caching der Datenbank |
INSTABRAND_DATABASES_BACKUP_VERSION | 10.3.11 | Versionsnummer des Datenbank Backup Tools |
INSTABRAND_DATABASES_BACKUP_DATA_DIR | ./instabrand-database-backup | Datenpfad der Backups |
INSTABRAND_DATABASES_BACKUP_MTIME | 7 | Vorhaltezeit der Datenbank-Backups in Tagen |
INSTABRAND_DATABASES_BACKUP_CRON_MINUTE | 0 | Ausführung des Backups zur Minute 0 |
INSTABRAND_DATABASES_BACKUP_CRON_HOUR | * | Ausführung des Backups zu jeder Stunde |
INSTABRAND_DATABASES_BACKUP_CRON_DAY | * | Ausführung des Backups an jedem Tag |
INSTABRAND_DATABASES_BACKUP_CRON_MONTH | * | Ausführung des Backups in jedem Monat |
INSTABRAND_DATABASES_BACKUP_CRON_DAY_OF_WEEK | * | Ausführung des Backups an jedem Tag der Woche |
INSTABRAND_SERVICE_VERSION | 1.1.1-LTS | Versionsnummer des Instabrand Services |
INSTABRAND_SERVICE_DATA_DIR | ./instabrand-service | Datenpfad des Instabrand Services |
INSTABRAND_SERVICE_TOKEN | CHANGE_ME | Service Token des Instabrand Services |
INSTABRAND_AUTOCREATE_BRANDING | true | Automatisches erstellen von Brandings bei zuvor unbekannten URLs |
INSTABRAND_AUTOCREATE_BRANDING_DEFAULT_RESELLER_ID | 1 | Default Ingredient Branding ID |
INSTABRAND_SERVICE_JAVA_OPTS | -Xmx1g | Maximaler Arbeitsspeicher des Instabrand Services |
INSTABRAND_UI_VERSION | 1.1.2-LTS | Versionsnummer der Instabrand UI |
INSTABRAND_UI_JAVA_OPTS | -Xmx1g | Maximaler Arbeitsspeicher der Instabrand UI |
Starten Sie zunächst die Datenbank und anschließend den gesamten DRACOON Branding-Service, und überprüfen Sie den Start:
docker-compose up -d database
docker-compose up -d
docker ps -a
Ist alles korrekt gestartet, haben alle Container den Status UP und der DRACOON Branding-Service ist unter https://[Domain]/branding erreichbar, beispielsweise https://dracoon.team/branding.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
181ead81c6bb docker.artifactory.dracoon.com/dracoon-instabrand-service:1.1.1-LTS "/usr/local/bin/dock…" 14 hours ago Up 21 minutes 0.0.0.0:8086->8080/tcp instabrand_instabrand-service_1_d13c3aee7e2a
e4f7b3586ac4 docker.artifactory.dracoon.com/dracoon-instabrand-ui:1.1.2-LTS "/usr/local/bin/dock…" 15 hours ago Up 21 minutes 0.0.0.0:8087->8080/tcp instabrand_instabrand-ui_1_e393ffbb39b7
ee2352389476 docker.artifactory.dracoon.com/dracoon-mariadb-backup:10.3.11 "/usr/local/bin/dock…" 15 hours ago Up 21 minutes instabrand_database-backup_1_eab5aef8e9a8
dce12bbeec33 docker.artifactory.dracoon.com/dracoon-mariadb:10.3.11 "/usr/local/bin/dock…" 15 hours ago Up 21 minutes 3306/tcp instabrand_database_1_23bc5260e9c9
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.