Commit 8f34cef0 authored by Dustin Gawron's avatar Dustin Gawron

Installationsskript für Datenbank-Einrichtung hinzugefügt (wird in Zukunft erweitert)

parent 30dfca1e
......@@ -13,6 +13,7 @@ RUN curl -o /tmp/composer-setup.php https://getcomposer.org/installer \
# Copy SecDoc files and prepare folders
COPY / /var/www/html/
WORKDIR /var/www/
RUN rm html/install.php
RUN mkdir secdoc
RUN mv html/assets/demo.db secdoc/demo.db
RUN mkdir secdoc/PDF && mkdir secdoc/temp & mkdir secdoc/inc
......
......@@ -60,6 +60,8 @@ Beim ersten Aufruf der Anwendung wird automatisch eine neue Datenbank mit den no
Zur Nutzung der PDF-Ausgabe muss zusätzlich noch das MPDF Plugin installiert werden. Dies geschieht über [Composer](https://getcomposer.org/) mit der Konfigurationsdatei [composer.json](/assets/composer.json) (`php composer.phar install -d <Pfad zur composer.json>`). Das Backend erwartet den Autoloader `autoload.php` im Pfad [/assets/vendor](/assets/vendor). Sollte MPDF bereits vorhanden sein oder an einer anderen Stelle installiert werden, kann der Pfad über `$vendor_dir` in [config.inc.php](/assets/ajax/config.inc.php) angepasst werden.
Im Anschluss kann entweder die Demo-Datenbank [demo.db](/assets/demo.db) verwendet werden oder eine neue, leere Datenbank erstellt werden. Zur Verwendung der Demo-Datenkbank muss diese nur im konfigurierten Pfad hinterlegt werden (standardmäßig `/var/www/secdoc/demo.db`) und SecDoc kann im Browser aufgerufen werden. Eine leere Datenbank wird automatisch von SecDoc angelegt, sollte keine vorhandene gefunden werden. In der leeren Datenbank fehlen allerdings die teschnichen und organisatorischen Maßnahmen (TOMs), sowie die Vorschläge für die Eingabefelder. Diese können mit Hilfe der [install.php](install.php), die im Browser aufgerufen werden kann, geladen werden. Die [install.php](install.php) Datei muss unbedingt vor Inbetriebnahme der Anwendung gelöscht oder verschoben werden, sodass kein Zugriff darauf besteht!
**Achtung:** Das System bietet keinen allgemeinen Zugriffsschutz (z.B. durch Registrierung und Login-Mechanismus), sondern hat nur die Möglichkeit, die Anzeige von Verarbeitungstätigkeiten zu unterbinden, wenn eine Nutzerkennung oder Nutzergruppen bereitsgestellt wurden, die überprüft werden können. Dies geschieht in unserem System mittels SSO-Mechanismus (Single Sign On) und einem externen Funktionsaufruf zum Erlangen der Nutzergruppen, die im PHP-Skript überprüft werden. Der allgemeine Zugriffsschutz wird über `.htaccess`-Dateien mit Nutzergruppeneinschränkungen realisiert.
### Notwendige Anpassungen
......
......@@ -249,7 +249,7 @@
* @throws PDOException
* @throws Exception
*/
function __construct($directory = NULL) {
function __construct($directory = NULL, $dbname = NULL) {
$opt = [
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
......@@ -259,6 +259,8 @@
if($directory) $this->path = $directory;
if($dbname) $this->filename = $dbname;
if(!file_exists($this->path . DIRECTORY_SEPARATOR . $this->filename)) {
trigger_error("[SecDoc] DBCon.class.php -> Datenbank-Datei existiert nicht! Leere Datenbank wird erstellt!");
error_log("[SecDoc] DBCon.class.php -> Datenbank-Datei existiert nicht! Leere Datenbank wird erstellt!");
......
......@@ -64,6 +64,8 @@
$pdf_dir = "$base_dir/secdoc/PDF"; # Hier liegen die PDF-Dateien (temporär für E-Mail-Versand)
$vendor_dir = '../vendor/autoload.php'; # Pfad zur Composer autoload.php für MPDF
$db_name = 'demo.db';
# Passwörter und X.509-Zertifikat
#$key_filename = "$secret_dir/cert.access.dat"; # Enthält alle von CERT_online benötigten Passwörter
#$info_filename = "$secret_dir/cert.access.txt"; # Enthält Informationen zum jeweiligen Zugang
......
......@@ -359,7 +359,7 @@ EOH;
* Hauptprogramm
*/
# Variablen setzen
$dbcon = new DBCon($db_dir);
$dbcon = new DBCon($db_dir, $db_name);
$output['version'] = $prog_name . ' ' . $prog_version;
$reqMethod = is_string($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : '';
$action = '';
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment