Über Cloud-Init installieren
Über Cloud-Init kann ein vorkonfigurierter TopLogic-Server für reines in-app Development bei einem beliebigen Cloud-Anbieter aufgesetzt werden. Hierfür wählt man ein Server-Template mit Ubuntu-Betriebsystem entsprechend den Systemvoraussetzungen und gibt der Installation das folgende Cloud-Init-Script mit:
#cloud-config
apt:
primary:
- arches: [default]
uri: "mirror://mirrors.ubuntu.com/mirrors.txt"
sources:
toplogic.list:
source: "deb https://dev.top-logic.com/nexus/repository/toplogic-deb/ toplogic main"
keyid: 955A22FF7750F043EA48E580B44EB751B8A3726C
filename: toplogic.list
packages:
- fail2ban
- ufw
- tomcat9
- apache2
- certbot
- python3-certbot-apache
- prometheus
- curl
- msmtp
- mailutils
- mariadb-server
- mariadb-client
- libmariadb-java
- apg
- net-tools
- tl-process
package_update: true
package_upgrade: false
runcmd:
- update-alternatives --set ip6tables /usr/sbin/ip6tables-nft
- printf "[sshd]\nenabled = true\nbanaction = iptables-multiport" > /etc/fail2ban/jail.local
- systemctl enable fail2ban
- ufw allow OpenSSH
- ufw allow https
- ufw allow http
- ufw enable
- sed -i -e '/^PasswordAuthentication/s/^.*$/PasswordAuthentication no/' /etc/ssh/sshd_config
- sed -i -e '/^ServerTokens/s/^.*$/ServerTokens Prod/' /etc/apache2/conf-enabled/security.conf
- sed -i -e '/^ServerSignature/s/^.*$/ServerSignature Off/' /etc/apache2/conf-enabled/security.conf
- reboot
Das so eingerichtete System verwendet Tomcat 9 als Anwendungscontainer, MariaDB als Datenbank und einen Apache-Webserver als Proxy. Nach der Installation ist das System direkt an Port 80 (HTTP) erreichbar.
Ein Domain-Name für den Rechner und ein passendes Zertifikat für HTTPS muss gegebenfalls noch separat eingerichtet werden und ist für die sichere Kommunikation mit der Cloud-Instanz dringend empfohlen. Über CertBot ist dies kostenlos und unkompliziert möglich.
Log-in in die Anwendung
Nach erfolgreicher Installation ist ein Log-in in die TopLogic-Weboberfläche über http://<ip-adresse-der-cloud-instanz>/
möglich. Es wurde automatisch ein sicheres Initial-Passwort vergeben und am Ende des Startvorgangs in das Anwendungslog geschrieben. Es kann mit dem folgenden Befehl nachgeschlagen werden (bis Version 7.6.0 war das Initial-Passwort fix vorgegeben als root1234
). Hierfür ist ein Login in den augesetzten Container notwendig. Dieser kann i.d.R. über die Weboberfläche des Cloud-Anbieters erfolgen:
grep -n3 " Initial password " /var/log/tomcat9/catalina.out
Die Ausgabe könnte wie folgt aussehen:
966-[2023-10-25 13:58:47] [info] *****************************************************
967-[2023-10-25 13:58:47] [info] *** ***
968:[2023-10-25 13:58:47] [info] *** Initial password for 'root': 702d104d-4f... ***
969-[2023-10-25 13:58:47] [info] *** ***
970-[2023-10-25 13:58:47] [info] *****************************************************
An dieser Stelle kann jetzt mit dem TopLogic-Tutorial begonnen werden.
Update der Installation
Eine Aktualisierung der TopLogic-Version ist über Apt möglich. Dafür muss man sich in den Server (z.B. per SSH) einloggen und dann die folgenden Befehle eingeben:
sudo apt-get update
sudo apt-get upgrade