# Installation auf Debian 12:

## OS:
 * Debian 12.2.0 Netinstall .ISO 
 * LVM-System installieren
 * tasksel:
   * SSH-Server
   * Standard Systemwerkzeuge

#### Paketinstallation:
 * Installation benötigter Debian Pakete:
   * ```apt install -y bacula git autofs smbclient cifs-utils sudo build-essential bmon iotop htop```
   * Achtung: Das Passwort der postgresql Datenbank merken! z.B: Passwort: "bacula"
 * Import der Schlüssel für das Bacularis-Repository:
   * ```wget -qO- https://pkgs.bacularis.app/bacularis.pub | gpg --dearmor > /usr/share/keyrings/bacularis-archive-keyring.gpg```
   * ```echo "deb [signed-by=/usr/share/keyrings/bacularis-archive-keyring.gpg] https://pkgs.bacularis.app/stable/debian bookworm main" > /etc/apt/sources.list.d/bacularis.list```
   * ```echo "deb-src [signed-by=/usr/share/keyrings/bacularis-archive-keyring.gpg] https://pkgs.bacularis.app/stable/debian bookworm main" >> /etc/apt/sources.list.d/bacularis.list```
 * Paketquellen updaten:
   * ```apt update```
 * Bacularis installieren und einrichten:
   * ```apt install -y bacularis bacularis-nginx```
   * ```ln -s /etc/nginx/sites-available/bacularis.conf /etc/nginx/sites-enabled/```
   * ```systemctl restart nginx```

## Konfiguration:

### Bacularis:
 * sudo configuration:
   * Im Terminal: ```nano /etc/sudoers.d/bacularis-api``` aufrufen und folgende Zeilen einfügen:
     <code>
Defaults:www-data !requiretty
www-data ALL = (root) NOPASSWD: /usr/sbin/bconsole
www-data ALL = (root) NOPASSWD: /usr/sbin/bdirjson
www-data ALL = (root) NOPASSWD: /usr/sbin/bsdjson
www-data ALL = (root) NOPASSWD: /usr/sbin/bfdjson
www-data ALL = (root) NOPASSWD: /usr/sbin/bbconsjson
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl start bacula-dir
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl stop bacula-dir
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl restart bacula-dir
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl start bacula-sd
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl stop bacula-sd
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl restart bacula-sd
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl start bacula-fd
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl stop bacula-fd
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl restart bacula-fd
</code>
 * Browser-URL: http://<host-ip>:9097/
 * Initialer Login: admin / admin
   * Step 1: Englisch, Enable API und Enable Web interface auswählen
   * Step 2: Passwort und IP-Adresse 127.0.0.1 eintragen (mit "test"-Button testen!)
   * Step 3: Voreinstellung sollte funktionieren. (mit "test"-Button testen!)
   * Step 4: Voreinstellung sollte funktionieren. (mit "test"-Button testen!)
   * Step 5: Voreinstellung sollte funktionieren. Admin-Benutzernamen und -Passwort vergeben!
   * Step 6: Zusammenfassung. "Save" klicken - es sollte der Login von Bacularis erscheinen
 * Login mit User/Passwort aus Step 5!
 * Actions und Softwaremanagement aktivieren:
   * Menü: API-Panel ---> Settings ---> Actions klicken
     * Enabled auswählen
     * use sudo auswählen
     * Save!
   * Menü: Settings ---> Software management klicken
     * Enabled auswählen
     * use sudo auswählen
     * get pre-defined commands: DEB-based System
     * Save!
   * Browserseite mit API-Menü schliessen.

### autofs Konfiguration
 * Siehe README.md im Verzeichnis ```autofs```

### vchanger Konfiguration
 * Siehe README.md im Verzeichnis ```vchanger```  

### Erkenntnisse bzw. Unsortiertes (bei der Installation nicht beachten!)

* Die Einträge DIRAddress, SDAddress und FDAddress sollten 0.0.0.0 sein um auf dem lokalen Netz erreichbar zu sein
* autofs benötigt smbclient, samba und cifs-tools
* Blockgröße der Devices auf mindestens 1MB einstellen, die Maximale Blockgröße ist 4MB

* bacula-sd.conf
  * Device {}
    * Minimum Blocksize = 1M
    * Maximum Blocksize = 4M
* bacula-dir.conf
  * Pool {}
    * Pool Size anpassen. Größe 0 = Unbegrenzt