... | ... | @@ -3,9 +3,10 @@ |
|
|
[[_TOC_]]
|
|
|
|
|
|
## Docker Schnellstart
|
|
|
Dies ermöglicht das Aufsetzen einer schnellen lokalen Demoversion. Der Docker Container enthält einen [Apache](https://httpd.apache.org/) Webserver, installiert alle notwendigen Abhängigkeiten und legt die notwendigen Ordnerstrukturen an.
|
|
|
Dies ermöglicht das schnelle Aufsetzen einer lokalen Demoversion. Der Docker Container enthält einen [Apache](https://httpd.apache.org/) Webserver, installiert alle notwendigen Abhängigkeiten und legt die notwendigen Ordnerstrukturen an.
|
|
|
|
|
|
1. Das Repository mit Git klonen oder ein Release herunterladen (siehe [Releases](https://zivgitlab.uni-muenster.de/secdoc/secdoc/-/releases)) und entpacken.
|
|
|
|
|
|
```bash
|
|
|
git clone https://zivgitlab.uni-muenster.de/secdoc/secdoc.git
|
|
|
# Oder
|
... | ... | @@ -13,18 +14,21 @@ wget -O https://zivgitlab.uni-muenster.de/secdoc/secdoc/-/archive/v1.5.2/secdoc- |
|
|
unzip secdoc.zip
|
|
|
```
|
|
|
2. Docker Container bauen und starten.
|
|
|
|
|
|
```bash
|
|
|
cd secdoc
|
|
|
docker build -t secdoc .
|
|
|
docker run -d -p 127.0.0.1:80:80 --name secdoc-app secdoc
|
|
|
```
|
|
|
3. Unter [localhost:80](http://localhost) sollte nach kurzer Zeit die SecDoc-Installation erreichbar sein. Mit `docker exec -it secdoc-app /bin/bash` kann auf den laufenden Container zugegriffen werden, um beispielsweise Einstellungen zu erproben.
|
|
|
4. Der Docker Container kann mit den folgende Befehlen gestoppt und gelöscht werden. Dies löscht auch alle Konfigurationen und Datenbank-Inhalte!
|
|
|
4. Die eingegebenen Daten bleiben bestehen, bis der Container gelöscht wird. Die Datenbank-Datei ist im Container zu finden unter `/var/www/secdoc/demo.db`.
|
|
|
5. Der Docker Container kann mit den folgende Befehlen gestoppt und gelöscht werden. *Dies löscht auch alle Konfigurationen und Datenbank-Inhalte!*
|
|
|
```bash
|
|
|
docker stop secdoc-app
|
|
|
docker container rm secdoc-app
|
|
|
```
|
|
|
### Docker Produktivinstallation
|
|
|
|
|
|
Um die Konfigurationen und die Datenbank persistent zu speichern, müssen diese aus dem Docker-Container ausgelagert werden. Hierfür können die folgenden Befehle zum Starten des Containers genutzt werden. Der Startbefehl bildet den Container-internen Ordner `/var/www/secdoc`, welcher die Konfiguration, die Datenbank und gespeicherte PDFs enthält, auf den Host-Ordner `/data/secdoc` ab. So bleiben die Daten lokal in `/data/secdoc` erhalten, selbst wenn der Container gelöscht wird.
|
|
|
|
|
|
```bash
|
... | ... | @@ -40,7 +44,11 @@ Zum erneuten Starten des Containers genügt der Aufruf von `docker run -d -p 127 |
|
|
|
|
|
## Installation auf einem bestehenden Webserver
|
|
|
|
|
|
SecDoc kann ebenfalls in einer bestehenden Webumgebung eingerichtet werden. Hierfür müssen folgende Abhängigkeiten auf dem Webserver installiert sein:
|
|
|
### Voraussetzungen
|
|
|
|
|
|
SecDoc kann in einer bestehenden Webumgebung eingerichtet werden. Das Backend benötigt einen Webserver mit PHP (Version 7 oder höher). Zur Speicherung wird standardmäßig eine lokale SQLite Datenbank verwendet.
|
|
|
|
|
|
Auf dem Webserver müssen folgende Abhängigkeiten installiert sein:
|
|
|
* [PHP >= 7](https://www.php.net/)
|
|
|
* PHP Erweiterungen: `pdo_sqlite`, `mbstring` und `gd`
|
|
|
* [Composer](https://getcomposer.org/)
|
... | ... | @@ -62,7 +70,8 @@ composer install |
|
|
cd ..
|
|
|
```
|
|
|
|
|
|
3. Standardmäßig wird die Konfiguration, die Datenbank und erzeugte PDFs in `/var/www/secdoc` gespeichert. Entweder muss dieser Pfad eingerichtet werden oder ein anderer passender Pfad in `assets/ajax/config.inc.php` eingetragen werden (siehe [config.inc.php](https://zivgitlab.uni-muenster.de/secdoc/secdoc/-/blob/master/assets/ajax/config.inc.php#L61-71)). Es werden Lese- und Schreibberechtigungen in diesem Pfad benötigt!
|
|
|
3. Standardmäßig wird die Konfiguration, die Datenbank und die erzeugten PDF-Dateien in `/var/www/secdoc` gespeichert. Entweder muss dieser Pfad eingerichtet werden oder ein anderer passender Pfad in `assets/ajax/config.inc.php` eingetragen werden (siehe [config.inc.php](https://zivgitlab.uni-muenster.de/secdoc/secdoc/-/blob/master/assets/ajax/config.inc.php#L61-71)). Es werden Lese- und Schreibberechtigungen in diesem Pfad benötigt! Beim ersten Aufruf der Anwendung wird automatisch eine neue Datenbank mit den notwendigen Tabellen angelegt, wenn sie nicht vorhanden ist.
|
|
|
|
|
|
```bash
|
|
|
# Im SecDoc Hauptverzeichnis ausführen
|
|
|
# Hier wird jetzt vom Standardpfad /var/www/secdoc ausgegangen
|
... | ... | |