Skip to content

Nextcloud - Upgrade auf Bookworm 12

Angeheftet Verschoben Nextcloud
1 1 1.4k
  • Mein Debian Server mit einer Nextcloud-Installation läuft noch auf Debian 11. Das möchte ich gerne ändern, wie ich aber letzte Woche lernen musste, ist das gar nicht so einfach. Ich war kläglich gescheitert. Warum?

    ce2d1065-185e-4def-b241-59675ab97f8b-grafik.png

    Auf dem Bild sieht man das erste Problem. Die NC Version Nextcloud Hub 3 (25.0.8) läßt sich nicht auf eine höhere Version upgraden wegen der PHP Version. Man müßte als erstes auf eine PHP Version > 8

    Wenn man jetzt so schlau ist wie ich, schraubt man den Debian Server auf Bookworm 12 hoch. Dort ist ja PHP 8.2 enthalten. Man kann aber jetzt nicht die NC Installation upgraden 😞

    Ok, eine recht doofe Situation. Man könnte warten, wenn die Version EOL ist sollte es funktionieren. Voraussichtlich Ende des Jahres (?). Ja aber, man kann ja so schlecht warten 😊

    Ok, ich hatte gelesen, wenn man auf Debian 11 ist, soll man die PHP Version auf 8.1 hochziehen. NC upgraden. Wenn das erledigt ist auf Bookworm 12 hochziehen. Danach sollte man dann wieder aktuell sein.

    Auf gehts

    Wir brauchen mehrere PHP Versionen auf dem Debian 11 Server. Der Maintainer der PHP Debian Packages hat da eine Webseite

    Zur Installation findet man folgendes

    https://packages.sury.org/php/README.txt

    Inhalt der README.txt

    #!/bin/sh
    # To add this repository please do:
    
    if [ "$(whoami)" != "root" ]; then
        SUDO=sudo
    fi
    
    ${SUDO} apt-get update
    ${SUDO} apt-get -y install lsb-release ca-certificates curl
    ${SUDO} curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
    ${SUDO} sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
    ${SUDO} apt-get update
    

    Achtung!

    Und bevor wir jetzt irgendwas machen, sichern wir uns den Stand vor den Änderungen. Da ich die Datenbank auf einem anderen Server habe, muss ich zwei Snapshots machen. Vorher stelle ich die NC Installation in den Maintenance Mode. So unterbinde ich das ungewollte Schreiben in die DB.

    sudo -u www-data php occ maintenance:mode --on
    

    Ausgabe

    root@:/usr/share/nginx/nextcloud# sudo -u www-data php occ maintenance:mode --on
    Maintenance mode enabled
    

    Kontrolle

    6554f1e7-d3f2-4f4a-8303-86ada0a65c0c-grafik.png

    Danach die zwei Snapshots anlegen. Jetzt können wir uns auf der Konsole austoben 🙂

    Installation deb.sury.org

    Wir arbeiten mal die Installationsschritte s.o. ab.

    apt-get update
    apt-get -y install lsb-release ca-certificates curl
    curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
    sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
    apt-get update
    

    Folgendes Problem taucht jetzt auf, man ist Systemweit jetzt auf php8.2. Das ist nicht das was ich wollte 😞

    Mit

    update-alternatives --query php
    

    kann man sich anzeigen lassen, welche PHP Versionen installiert sind und welche systemweit aktiv ist. Ausgabe (nach der Umstellung auf php8.1 !)

    root@webserver1-4gb-nbg1-1:~# update-alternatives --query php
    Name: php
    Link: /usr/bin/php
    Slaves:
     php.1.gz /usr/share/man/man1/php.1.gz
    Status: manual
    Best: /usr/bin/php8.2
    Value: /usr/bin/php8.1
    
    Alternative: /usr/bin/php7.4
    Priority: 74
    Slaves:
     php.1.gz /usr/share/man/man1/php7.4.1.gz
    
    Alternative: /usr/bin/php8.1
    Priority: 81
    Slaves:
     php.1.gz /usr/share/man/man1/php8.1.1.gz
    
    Alternative: /usr/bin/php8.2
    Priority: 82
    Slaves:
     php.1.gz /usr/share/man/man1/php8.2.1.gz
    

    Ganz oben sieht man welche aktuellste Version installiert ist und welche eingestellt ist. Umschalten kann man das mit

    sudo update-alternatives --set php /usr/bin/php8.1
    

    Aber dafür muss 8.1 auch erst mal installiert sein. Hier meine Pakete, die ich so brauche.

    Installation PHP 8.1

    apt install php8.1-common php8.1-mysql php8.1-opcache php8.1-readline php8.1-xml php8.1-xsl php8.1-zip
    apt install php8.1-cli php8.1-curl php8.1-gd php8.1-intl php8.1-mbstring php8.1-redis
    apt install php8.1-bcmath php8.1-gmp php8.1-imagick
    apt install php8.1-fpm
    

    Wir testen mal

    root@:~# php -v
    PHP 8.1.20 (cli) (built: Jun  9 2023 07:42:54) (NTS)
    Copyright (c) The PHP Group
    Zend Engine v4.1.20, Copyright (c) Zend Technologies
        with Zend OPcache v8.1.20, Copyright (c), by Zend Technologies
    

    Erledigt. PHP 8.1 installiert.

    Nur NC auf PHP 8.1 laufen lassen.

    Der phpx.x-fpm Handler gibt vor, welche PHP Version die Webseite benutzt. Da ja überall php7.4-fpm.sock eingestellt ist, würde NC auch wieder nur mit der 7.4 starten. Ich möchte aber, das es mit der 8.1 startet.

    In der NGINX Konfiguration findet man folgendes.

    /etc/nginx/conf.d/nextcloud.conf

    Die entscheidenden Zeilen

    ### Nextcloud
    upstream php-handler {
            server 127.0.0.1:9000;
            server unix:/var/run/php/php7.4-fpm.sock;
    }
    

    Ändern in

    ### Nextcloud
    upstream php-handler {
            server 127.0.0.1:9000;
            server unix:/var/run/php/php8.1-fpm.sock;
    }
    

    FPM Dienst neustarten

    systemctl restart php8.1-fpm
    systemctl status php8.1-fpm
    systemctl restart nginx
    

    NC testen auf PHP 8.1

    Den Maintenance Mode wieder beenden.

    sudo -u www-data php occ maintenance:mode --off
    

    Den Befehl muss man übrigens im Ordner

    /usr/share/nginx/nextcloud/
    

    eingeben. Kann je nach Installation anders aussehen. Wenn ihr es nicht wisst, schaut in der NGINX oder der Apache2 Konfiguration nach. z.B.

           # Path to the root of your installation
           root /usr/share/nginx/nextcloud/;
    

    Ok, dann den Webbrowser aufrufen und die NC Installation testen! Im Backend die PHP Version kontrollieren.

    485f1610-312a-4644-8e8d-bc111c0098f6-grafik.png

    Ok, die PHP Warnung ist weg. Die anderen Warnungen ignorieren wir mal, weil wir ja sowieso nicht lange auf der 8.1 bleiben wollen. Debian Bookworm nutzt ja 8.2.

    Danach habe ich alle Upgrades von NC durchgeführt und bin jetzt auf Nextcloud Hub 5 (27.0.0)

    860561ca-dfef-47ff-bfe9-012b94e2cfe0-grafik.png

    Jetzt geht es an den Schritt den Server von Debian Bullseye 11 auf Debian Bookworm 12 upzugraden.

    1. Als erstes entferne ich die Fremdquelle von PHP

      rm /etc/apt/sources.list.d/php.list

    2. Schauen ob alles aktuell ist

      apt update

    3. Sources Listen anpassen

    4. Wenn alles aktualisiert ist, die Kiste durchstarten.

    5. Danach müssen die ganzen PHP-Pakete wieder installiert werden, weil wir ja jetzt auf php8.2 sind und dafür nichts installeirt ist. Ich hatte aber (erwartet) Versionskonflikte. Also

      apt remove php8.*

    Danach war kein PHP mehr installiert. Pakete installieren.

    apt install php8.2-common
    apt install php8.2-mysql
    apt install php8.2-opache
    apt install php8.2-opcache
    apt install php8.2-readline
    apt install php8.2-xml
    apt install php8.2-xsl
    apt install php8.2-zip
    apt install php8.2-cli
    apt install php8.2-curl
    apt install php8.2-gd
    apt install php8.2-intl
    apt install php8.2-mbstring
    apt install php8.2-redis
    apt install php8.2-bcmath
    apt install php8.2-gmp
    apt install php8.2-imagick
    apt install php-pear
    apt install php8.2-fpm
    systemctl status php8.2-fpm
    

    Danach wieder die NGINX Konfiguration bearbeiten

    /etc/nginx/conf.d/nextcloud.conf

    Die entscheidenden Zeilen

    ### Nextcloud
    upstream php-handler {
            server 127.0.0.1:9000;
            server unix:/var/run/php/php8.2-fpm.sock;
    }
    

    Alles durchstarten

    systemctl restart php8.2-fpm
    systemctl restart nginx
    

    Nun sollte der Debian Bookworm 12 Server mit der php8.2 und der aktuellsten Nextcloud Installation laufen. 🤓

    Zeitaufwand bei mir, ca. drei Stunden mit kurzen ☕ Pausen 🙂

  • FrankMF FrankM verschob dieses Thema von Privat am
  • FrankMF FrankM hat dieses Thema am angepinnt
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • Fedora 42

    Linux fedora linux btrfs
    2
    2
    0 Stimmen
    2 Beiträge
    348 Aufrufe
    FrankMF
    Ich habe mir gestern den Cosmic Desktop angesehen. Davon abgesehen, das er noch ein sehr frühes Stadium ist, hat er mir nicht wirklich gefallen. Also heute mal die Referenz von Fedora installiert, die Workstation mit Gnome Desktop. Wer hier lange mitliest, weiß das ich kein Fanboy vom Gnome Desktop bin. Aber ich wollte unbedingt mal den Anaconda Installer sehen. Der ist richtig gut geworden und das man jetzt das Tastaturlayout für die Verschlüsselung einstellen kann, wird hoffentlich in Zukunft verhindern, das ich mit einer amerikanischen Tastatur meine Passphrase eingeben muss Da war ja vorher bei meinen Test das Problem, das ich nach Standby nicht über die Tastatur aufwecken konnte. Das war eine Einstellung im BIOS, irgendwas mit Wakeup/BIOS/USB Jetzt funktioniert das auch einwandfrei. Und zu Gnome sag ich mal nichts, ich bin da vermutlich zu alt für Ich lasse es aber mal ein paar Tage auf der Platte, vielleicht erkenne ich ja noch seinen Nutzen. Zum Schluss, das schöne an FOSS ist, wir haben die Wahl welchen Desktop wir installieren dürfen. Fedora 42 sieht gut aus und läuft rund. Jetzt mal suchen, wo ich in Gnome diese beschissene Updateverhalten ausschalten kann, was aussieht wie ein Windows. Das braucht nun wirklich niemand.
  • Nextcloud - Hub 5 (27.0.0)

    Nextcloud nextcloud hub5 linux
    1
    0 Stimmen
    1 Beiträge
    144 Aufrufe
    Niemand hat geantwortet
  • Debian 11 Bullseye released!

    Linux debian linux
    4
    0 Stimmen
    4 Beiträge
    377 Aufrufe
    FrankMF
    Mein Systemadmin auf der Arbeit meinte heute, angesprochen auf das Problem, läuft der Network-Manager? Ok, gute Frage...... Schauen wir mal. Ich bin mir leider nicht 100% sicher, ob er vor meinem Eingreifen lief, ich denke aber schon. Warum ich unsicher bin? root@debian:~# systemctl enable systemd-networkd.service Created symlink /etc/systemd/system/dbus-org.freedesktop.network1.service → /lib/systemd/system/systemd-networkd.service. Created symlink /etc/systemd/system/multi-user.target.wants/systemd-networkd.service → /lib/systemd/system/systemd-networkd.service. Created symlink /etc/systemd/system/sockets.target.wants/systemd-networkd.socket → /lib/systemd/system/systemd-networkd.socket. Created symlink /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service → /lib/systemd/system/systemd-networkd-wait-online.service. Ok, danach root@debian:~# systemctl start systemd-networkd.service root@debian:~# systemctl status systemd-networkd.service ● systemd-networkd.service - Network Service Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; ven> Active: active (running) since Tue 2021-08-17 17:36:38 CEST; 6s ago TriggeredBy: ● systemd-networkd.socket Docs: man:systemd-networkd.service(8) Main PID: 1288 (systemd-network) Status: "Processing requests..." Tasks: 1 (limit: 19087) Memory: 3.9M CPU: 39ms CGroup: /system.slice/systemd-networkd.service └─1288 /lib/systemd/systemd-networkd Aug 17 17:36:38 debian systemd[1]: Starting Network Service... Aug 17 17:36:38 debian systemd-networkd[1288]: enp25s0: Gained IPv6LL Aug 17 17:36:38 debian systemd-networkd[1288]: Enumeration completed Aug 17 17:36:38 debian systemd[1]: Started Network Service. Danach ging immer noch nix. root@debian:/etc/network# ^C root@debian:/etc/network# nmcli device show GENERAL.DEVICE: wlx7cdd907cbec2 GENERAL.TYPE: wifi GENERAL.HWADDR: BA:59:C0:76:C7:F5 GENERAL.MTU: 1500 GENERAL.STATE: 20 (nicht verfügbar) GENERAL.CONNECTION: -- GENERAL.CON-PATH: -- GENERAL.DEVICE: enp25s0 GENERAL.TYPE: ethernet GENERAL.HWADDR: 30:9C:23:60:C6:8E GENERAL.MTU: 1500 GENERAL.STATE: 10 (nicht verwaltet) GENERAL.CONNECTION: -- GENERAL.CON-PATH: -- WIRED-PROPERTIES.CARRIER: an IP4.ADDRESS[1]: 192.168.3.169/24 IP4.GATEWAY: 192.168.3.1 IP4.ROUTE[1]: dst = 192.168.3.0/24, nh = 0.0.0.0, mt = 0 IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.3.1, mt = 0 IP6.ADDRESS[1]: 2a02:908:1260:13bc:329c:23ff:xxxx:xxxx/64 IP6.ADDRESS[2]: fd8a:6ff:2880:0:329c:23ff:fe60:c68e/64 IP6.ADDRESS[3]: fe80::329c:23ff:fe60:c68e/64 IP6.GATEWAY: fe80::e4d3:f0ff:fe8f:2354 IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 256 IP6.ROUTE[2]: dst = ::/0, nh = fe80::e4d3:f0ff:fe8f:2354, mt = 1024 IP6.ROUTE[3]: dst = 2a02:908:xxxx:xxxx::/64, nh = ::, mt = 256 IP6.ROUTE[4]: dst = fd8a:6ff:2880::/64, nh = ::, mt = 256 Jetzt hatte ich das erste Mal einen Ansatz, wonach ich suchen musste. GENERAL.STATE: 10 (nicht verwaltet) Etwas Suche im Netz und dann das nano /etc/NetworkManager/NetworkManager.conf Inhalt der Datei [main] plugins=ifupdown,keyfile [ifupdown] managed=false Das false in true geändert. Danach ein systemctl restart NetworkManager und ich konnte den Network-Manager auf dem Desktop benutzen!?!?!? [image: 1629216580219-bildschirmfoto-vom-2021-08-17-18-07-25.png] Irgendwas ist da durcheinander im Bullseye
  • Mainline 5.13.x

    Images linux rockpro64
    1
    0 Stimmen
    1 Beiträge
    238 Aufrufe
    Niemand hat geantwortet
  • checkmk - Agent auf einem Debian Buster Server installieren

    Verschoben checkmk checkmk linux
    1
    2
    0 Stimmen
    1 Beiträge
    814 Aufrufe
    Niemand hat geantwortet
  • checkmk - Rest-Server überwachen

    Verschoben checkmk checkmk linux restic
    1
    3
    0 Stimmen
    1 Beiträge
    618 Aufrufe
    Niemand hat geantwortet
  • Kopia - HTTP/S Server aufsetzen

    Angeheftet Kopia kopia linux
    1
    0 Stimmen
    1 Beiträge
    502 Aufrufe
    Niemand hat geantwortet
  • Kopia - APT Repository verfügbar

    Kopia kopia linux
    1
    0 Stimmen
    1 Beiträge
    237 Aufrufe
    Niemand hat geantwortet