Zum Inhalt

Installation des Forms Add-on

1. Installation des Forms Add-on#

Installation der Lizenz#

Wie i-doit lizenziert wird finden Sie im Artikel Lizenzierung.

Download und Installation des Forms Add-on#

Eine detaillierte Beschreibungen bezüglich Download, Installation, Updates usw. liefert der Artikel i-doit Add-ons.


2. Installation MongoDB#

Die Systemvoraussetzungen von MongoDB finden Sie hier. Außerdem stellt MongoDB eine Checkliste für den Einsatz im Betrieb zur Verfügung.

Wir beschreiben den Einsatz von Debian 12 als Betriebssystem sowie der Installation von MongoDB Version 8

Wenn Sie ein anderes Betriebssystem verwenden nutzen Sie bitte die MongoDB Anleitung für die Installation https://www.mongodb.com/docs/manual/administration/install-community/

Auf der Konsole installieren wir zuerst gnupg:

1
sudo apt-get install gnupg curl

Wir importieren den Public Key für das mongodb-org Repository:

1
2
3
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
--dearmor

Nun erstellen wir eine sources Datei für MongoDB

Dieses Repo ist nur für Debian 12 Bookworm zu verwenden!

1
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/8.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

Nun aktualisieren wir die lokale package database:

1
sudo apt-get update

Jetzt können wir die neueste stabile Version von MongoDB installieren:

1
sudo apt-get install -y mongodb-org

Als nächstes laden wir die Services neu:

1
sudo systemctl daemon-reload

Damit MongoDB beim nächsten Systemstart gestartet wird:

1
sudo systemctl enable mongod

Jetzt starten wir MongoDB:

1
sudo systemctl start mongod

3. Installation NodeJS#

Die Installation wurde zuletzt mit NodeJS v22.14.0 LTS, auf Debian 12 getestet

Ein manueller Download ist hier möglich. Eine Anleitung ist dort auch zu finden.

Für den nächsten Schritt benötigen wir cURL:

1
sudo apt-get install curl

NodeJS wird via package manager automatisch installiert dazu verwenden wir den Code der über https://nodejs.org/en/download angezeigt wird:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash

# in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"

# Download and install Node.js:
nvm install 22

# Verify the Node.js version:
node -v # Should print "v22.14.0".
nvm current # Should print "v22.14.0".

# Verify npm version:
npm -v # Should print "10.9.2".

Nun können wir NodeJS installieren:

1
sudo apt-get install -y nodejs

4. Konfiguration das Forms Backend#

Zuerst navigieren wir in den Form Backend Unterordner innerhalb der i-doit Installation, der Pfad kann abweichen:

1
cd /var/www/html/i-doit/src/classes/modules/forms/backend/

Wir erstellen eine Kopie der Konfiguration, der Apache Benutzer kann je nach OS abweichen. Das Beispiel für Debian/Ubuntu:

1
sudo -u www-data cp .env.dist .env

Mit einem Texteditor wie, vi oder nano, editieren wir nun die .env:

1
sudo nano .env

Das FORMS_SECRET darf nicht leer sein. Der Schlüssel kann aus alphanumerischen- sowie Sonderzeichen bestehen.

Es muss ein FORMS_SECRET gesetzt und die Datei gespeichert werden.

Key Wert Beschreibung
FORMS_SECRET= 'g87z$t2r346aSd6as%&f52458g724g875!' Schlüssel zum Verschlüsseln der Daten in der Datenbank
Darf nicht leer sein!
Zum Beispiel: FORMS_SECRET='g87z$t2r346aSd6as%&f52458g724g875!'
FORMS_PORT= '3000' Port für Verbindungen
Zum Beispiel: FORMS_PORT='3000'
FORMS_MONGO_DB_SERVER= 'mongodb://127.0.0.1:27017/forms' URL und Port zur Verbindung mit dem MongoDB Server
Zum Beispiel: FORMS_MONGO_DB_SERVER='mongodb://127.0.0.1:27017/forms'

Als nächstes erstellen wir eine Instanz. Um die run.sh zu verwenden, müssen wir erst die Rechte zum Ausführen setzen:

1
sudo chmod +x run.sh

Jetzt können wir die run.sh ausführen:

1
sudo ./run.sh instance:create {Benutzername} {Apikey}

Jede Forms Instanz hat eine eigene API und bekommt einen eigenen {Benutzernamen} sowie {APIkey}. Diese können frei definiert werden und haben nichts mit der i-doit API gemeinsam. Die Daten müssen bei der Installation notiert werden, da sie später in der Konfiguration des Forms Add-on in der i-doit Oberfläche eingetragen werden müssen. Beispiel: sudo ./run.sh instance:create forms1 abD5zfk74dsf4i55FOS32

Um die forms-service.sh zu verwenden, müssen wir erst die Rechte zum Ausführen setzen:

1
sudo chmod +x forms-service.sh

Wir lassen nun den systemd Service für das Forms-Backend erstellen. Dieser wird aktiviert und gestartet:

1
sudo ./forms-service.sh

Damit ist die Installation abgeschlossen.


5. Konfiguration in i-doit#

Damit das Frontend mit dem Backend kommunizieren kann, müssen wir den zuvor verwendeten Benutzername und den APIkey in der Verwaltung unter Einstellungen für [Mandanten-Name] hinterlegen. Aufgerufen werden diese über Verwaltung → [Mandanten-Name] Verwaltung → Einstellungen für [Mandanten-Name] → Forms Add-on.

Konfiguration in i-doit

Weiter mit "Forms Add-on verwenden"