Aktuelle Version |
Dein Text |
Zeile 2.023: |
Zeile 2.023: |
|
| |
|
| == [[FreeBSD]] == | | == [[FreeBSD]] == |
|
| |
| == [[NixOS]] ==
| |
|
| |
| ; Rahmenbedingungen:
| |
| :; Container: PVE (Version 7)
| |
| :; Version NixOS: 21.11 (stable)
| |
| :; Netzwerk: eingerichtet
| |
| ::* (leider nur IPv4 only)
| |
| ::* Eintrag für DNS für ''test.nextcloud.nix.stura-dresden.de''
| |
|
| |
| ; erst einmal nur notwendigste für Nextcloud einrichten:
| |
|
| |
| Das bedeutet bei NixOS
| |
| :* die Verwendung vom Dienst web server mit der Anwendung nginx
| |
| :* die Verwendung vom Dienst database mit der Anwendung SQLite
| |
| .
| |
|
| |
| Erstellen einer Datei (an beliebigen Ort und mit beliebigen Namen) für ein beliebiges Passwort
| |
| : <code>$EDITOR /tmp/nixos_configuration.nix_services.nextcloud.adminpassFile</code>
| |
| <pre>
| |
| password4nextcloud
| |
| </pre>
| |
|
| |
| : <code>$EDITOR /etc/nixos/configuration.nix</code>
| |
| <pre>
| |
| { config, pkgs, ... }:
| |
|
| |
| {
| |
| imports = [ <nixpkgs/nixos/modules/virtualisation/lxc-container.nix> ];
| |
| </pre>
| |
| <pre></pre>
| |
| <pre>
| |
| networking.firewall.allowedTCPPorts = [ 80 ];
| |
| services.nextcloud.enable = true;
| |
| ## services.nginx.enable = true;
| |
| services.nextcloud.hostName = "test.nextcloud.nix.stura-dresden.de";
| |
| ## services.nextcloud.config.dbtype = "sqlite";
| |
| ## services.nextcloud.config.adminuser = "root";
| |
| services.nextcloud.config.adminpassFile = "/tmp/nixos_configuration.nix_services.nextcloud.adminpassFile";
| |
| </pre>
| |
| <pre></pre>
| |
| <pre>
| |
| }
| |
| </pre>
| |
|
| |
| ; Verschlüsslung für http dazu hinzufügen:
| |
|
| |
| : <code>$EDITOR /etc/nixos/configuration.nix</code>
| |
| <pre>
| |
| { config, pkgs, ... }:
| |
|
| |
| {
| |
| imports = [ <nixpkgs/nixos/modules/virtualisation/lxc-container.nix> ];
| |
| </pre>
| |
| <pre></pre>
| |
| <pre>
| |
| # networking.firewall.allowedTCPPorts = [ 80 ];
| |
| networking.firewall.allowedTCPPorts = [ 80 443 ];
| |
| services.nginx.virtualHosts."test.nextcloud.nix.stura-dresden.de".enableACME = true;
| |
| security.acme.email = "cert@stura.htw-dresden.de";
| |
| security.acme.acceptTerms = true;
| |
| services.nginx.virtualHosts."test.nextcloud.nix.stura-dresden.de".forceSSL = true;
| |
| services.nextcloud.https = true;
| |
| </pre>
| |
| <pre></pre>
| |
| <pre>
| |
| }
| |
| </pre>
| |
|
| |
| ; Umstellung beim Dienst database zur Anwendung PostgreSQL:
| |
|
| |
| : <code>$EDITOR /etc/nixos/configuration.nix</code>
| |
| <pre>
| |
| { config, pkgs, ... }:
| |
|
| |
| {
| |
| imports = [ <nixpkgs/nixos/modules/virtualisation/lxc-container.nix> ];
| |
| </pre>
| |
| <pre></pre>
| |
| <pre>
| |
| services.postgresql.enable = true;
| |
| services.postgresql.ensureDatabases = [ "database4nextcloud" ];
| |
| services.postgresql.ensureUsers = [
| |
| {
| |
| name = "nextcloud";
| |
| ensurePermissions."DATABASE database4nextcloud" = "ALL PRIVILEGES";
| |
| }
| |
| ];
| |
|
| |
| systemd.services."nextcloud-setup".requires = ["postgresql.service"];
| |
| systemd.services."nextcloud-setup".after = ["postgresql.service"];
| |
|
| |
| services.nextcloud.config.dbtype = "pgsql";
| |
| services.nextcloud.config.dbname = "database4nextcloud";
| |
| services.nextcloud.config.dbhost = "/run/postgresql";
| |
| services.nextcloud.config.dbuser = "database4nextcloud";
| |
| </pre>
| |
| <pre></pre>
| |
| <pre>
| |
| }
| |
| </pre>
| |
|
| |
|
| |
| ; Festlegen einer (vom Standard, nämlich einer Version vor der neusten Version) bestimmten Version der Anwendung Nextcloud:
| |
|
| |
| : <code>$EDITOR /etc/nixos/configuration.nix</code>
| |
| <pre>
| |
| { config, pkgs, ... }:
| |
|
| |
| {
| |
| imports = [ <nixpkgs/nixos/modules/virtualisation/lxc-container.nix> ];
| |
| </pre>
| |
| <pre></pre>
| |
| <pre>
| |
| services.nextcloud.package = pkgs.nextcloud23;
| |
| </pre>
| |
| <pre></pre>
| |
| <pre>
| |
| }
| |
| </pre>
| |
|
| |
| :; Siehe auch: https://pro.stura.htw-dresden.de/issues/1160
| |
|
| |
| ==== Hinweise zu [[NixOS]] ====
| |
|
| |
| ; Benutzen vom Befehl ''occ'':
| |
|
| |
| : <s><code>php occ</code></s>
| |
|
| |
| : <code>which nextcloud-occ</code>
| |
| <pre>
| |
| /run/current-system/sw/bin/nextcloud-occ
| |
| </pre>
| |
| : <code>ls -l $(which nextcloud-occ)</code>
| |
|
| |
| : <code>nextcloud-occ</code>
| |
| : <code>nextcloud-occ -h</code>
| |
|
| |
| : <code>nextcloud-occ status</code>
| |
| <pre>
| |
| - installed: true
| |
| - version: 23.0.0.10
| |
| - versionstring: 23.0.0
| |
| </pre>
| |
| <pre></pre>
| |
|
| |
| ; brutales schnelles Löschen von Daten von Anwendungen (, etwa bei Fehlermeldungen bei der Installation):
| |
|
| |
| : <code>systemctl stop nginx.service && systemctl stop phpfpm-nextcloud.service && rm -rf /var/lib/nextcloud/</code>
| |
|
| |
| : <code>systemctl stop postgresql.service && rm -rf /var/lib/postgresql/</code>
| |
|
| |
| ; anschauen von verwendeten (und wohl anpassbaren) Dateien für die Konfiguration der Anwendung Nextcloud:
| |
|
| |
| : <code>less /var/lib/nextcloud/config/override.config.php</code>
| |
|
| |
| : <code>less /var/lib/nextcloud/config/config.php</code>
| |
|
| |
|
| == Aktualisierung == | | == Aktualisierung == |