Server administrieren - wo fange ich an?

  • certbot stellt auch nur ein LE Zertifikat aus, nimm das. Macht auch das erneuern einfacher, da Zertifikate nur 90 Tage gültig sind.

    VPS Secret • VPS 200 G8 • 4x VPS piko G11s • 2x RS 1000 G9.5 SE NUE • RS Cyber Quack • VPS 1000 ARM G11 VIE

    mail@compi653.net

    Gefällt mir 1
  • Ich finde schon, dass Containerisierung immer Sinn macht, auch bei einfacheren Anwendungen:

    - einmal die Docker-Compose hergerichtet, für immer das „Kochrezept“ für diese Anwendung parat. Dieselbe Anwendung kann überall in Sekunden installiert werden.

    - Docker Networking ermöglicht zahlreiche Möglichkeiten, App und DB Container können in ein eigenes Subnetz gepackt werden, nur die App Ports werden (ggfalls über Reverse Proxy) rausgegeben.

    - die Sicherung der Docker Compose Files und Volumes / herausgelegten Ordner ist einfacher als bei installierten Anwendungen.

    - es gibt einfache manuelle oder automatische Updatemechanismen.

    U.v.m.

    RS Ostern L OST22 (~RS "3000" G9.5) (8C,24GB,960GB) | RS Cyber Quack (1C,2GB,40GB)

    Gefällt mir 3
  • Sehe ich genauso hab ja Bud auch schon zu Container geraten. Beziehe mich hier auf den spezifischen Fall, dass ihm im Moment Docker Lösung wahrscheinlich nicht helfen .

  • - die Sicherung der Docker Compose Files und Volumes / herausgelegten Ordner ist einfacher als bei installierten Anwendungen.

    Aber die Datenbank musst du ja auch hier noch separat sichern, oder?

    Für simple Anwendungen, wie z.B. Wordpress sehe ich da eigentlich keinen großen Unterscheid. (DB und Programmverzeichnis sichern)

    Bei komplexen Anwendungen, die aus vielen Einzelbausteinen bestehen, macht es docker einem dann aber schon (u.U auch deutlich) einfacher.

    Oder wenn man was hat, mit speziellen Abhängigkeiten. (Z.B. ältere php-Versionen o.ä.) Auch da macht docker sicher Sinn.

    Ist schon jemand auf podman umgestiegen?

  • Ist schon jemand auf podman umgestiegen?

    Ich hatte es es sogar über ein Jahr produktiv im Einsatz. Bin dann letztendlich aber wieder genervt auf auf Docker umgestiegen. Letztendlich muss man sagen, dass Podman primär für den Desktop / Workstation interessant ist. Auf einem Server macht das wenig Sinn. Ist wirklich nett, wenn schnell mal was lokal testen möchte. Dauerhaft einen Podman Container laufen zu lassen, halte ich für wenig sinnvoll. Dann lieber gleich richtig in die Kubernetes Welt eintauchen und etwas wie microk8s oder k3s einsetzen. Läuft auch mit wenig Ressourcen, hat aber nicht die vielen Nachteile von Podman. Podman ist im Grunde Docker ohne den Daemon. Stattdessen arbeitet man hier mit Systemd Service Files um die Container am Laufen zu halten. Aber gleichzeitig gibt es immer noch die Podman CLI (podman start/stop) mit der man die Container administrieren kann. Wenn dann gleichzeitig der Systemd Service läuft, kommt sich das ständig in die Quere. Podman gibt es im Grunde nur, weil RedHat einen Zickenkrieg gegen Docker geführt hat und dann irgendwas eigenes auf den Markt werfen musste.

  • Danke für die Einschätzung. :)

    Aber teste es ruhig selbst auch mal. Gibt sicher auch viele, die das mögen. Man sieht es nur außerhalb es RedHat Ökosystems so gut wie gar nicht, was halt auch irgendwie daran liegt, dass RedHat immer eine eigene Wurst braten muss. Statt Kubernetes müssen sie OpenShift entwerfen. Was zwar irgendwie schon noch Kubernetes ist, auf der anderen Seite aber wieder nicht, weil es eigene CLI Tools hat, eigene Python Extensions, statt einem Ingress kommt hier eine Route zum Einsatz, ...


    Ich habe ja beruflich durchaus auch viel damit zu tun. Wenn man nicht 100% in der RedHat Welt leben möchte, ist das mittlerweile echt nervig geworden. Erinnert mittlerweile stark an das Apple Ökosystem. Das funktioniert im Grunde auch nur, wenn man nur die Geräte von Apple verwendet. Aber gerade hier bei uns in der Open Source Community ist man sowas eigentlich nicht gewöhnt.

  • Aber die Datenbank musst du ja auch hier noch separat sichern, oder?

    Für simple Anwendungen, wie z.B. Wordpress sehe ich da eigentlich keinen großen Unterscheid. (DB und Programmverzeichnis sichern)

    Bei komplexen Anwendungen, die aus vielen Einzelbausteinen bestehen, macht es docker einem dann aber schon (u.U auch deutlich) einfacher.

    Oder wenn man was hat, mit speziellen Abhängigkeiten. (Z.B. ältere php-Versionen o.ä.) Auch da macht docker sicher Sinn.

    Ist schon jemand auf podman umgestiegen?

    Naja, man stoppt den Container, sichert Volumes / herausgelegte Ordner und ich habe meine docker-compose Files auf einem privaten Github Repo gelagert, einerseits als Backup und andererseits zum einfachen Runterziehen der gesamten Umgebung auf einen neuen Host (plus noch die sehr nützliche Versionsverwaltung). Kürzt halt die länglichen Installationsanleitungen ab und es gibt eigentlich nie ein "Zerkonfigurieren" des Hosts.

    Es dauert evtl EINMAL länger, um den Container laufen zu haben (z.B. Integration in den eigenen Proxy), aber wenn mans mal hat wirds immer genauso und immer einfach gehen.

    Und ja, die genau passenden Umgebungen die sich mitunter gegenseitig ausschließen (z.B. Datenbank einer Version für eine Anwendung und Datenbank einer anderen Version für eine andere Anwendung) sind auch hilfreich.

    RS Ostern L OST22 (~RS "3000" G9.5) (8C,24GB,960GB) | RS Cyber Quack (1C,2GB,40GB)

  • Woran könnte es liegen, dass einer meiner Server auf dem Munin-Master unter network bei folgenden Punkten nicht gelistet ist:

    • Hosts blacklisted by fail2ban
    • eth0 errors
    • eth0 traffic

    Mir ist es zuerst beim ersten Punkt aufgefallen, da dachte ich erst noch, ich habe aus Versehen fail2ban auf dem betroffenem Server abgeschaltet, aber dem ist nicht so:

    [RS] 2000 G9 | Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | 200 G8 | Secret | A | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

  • Bei mir hat auch fail2ban gefehlt auf meinem Munin Server. Da hatte ich Munin vor fail2ban installiert. Ich habe dann die entsprechende Erweiterung nachträglich per symbolischem Link nachträglich aktiviert und dann kamen auch die Daten.

  • Guten Morgen zusammen,

    ich dachte eigentlich ich hätte die Frage schon gestellt, aber ich kann sie weder manuell, noch über die Thread- oder Foren-Suche finden.

    Wenn ich auf einem der VPS nur Wiki.js laufen habe, kann ich mir doch den Reverse Proxy sparen, und einfach nur das Stammverzeichnis des Indianers auf den Wiki.js-Order ändern, oder übersehe ich da etwas?

    [RS] 2000 G9 | Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | 200 G8 | Secret | A | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

  • Hallo Bud,


    so wie ich das verstehe, sollte in deine config.yaml sowas in der Art drin stehen :

    Code
    port: 3000

    Wenn Du das auf 80 änderst kannst Du den Apache weglassen.

    Ich würde den reverse Proxy aber trotzdem drinlassen, ich finde es einfacher das Zertifikatshandling für HTTPS

    mit certbot über den Apache zu machen als das über wiki.js zu machen.

    Kannst Du heir nachlesen wie das geht wenn Du es trotzdem machen möchtest:


    https://docs.requarks.io/install/config

  • Also, nach dem Urlaub geht es nun weiter.

    certbot war machbar, das hatte ich auch schon mal gemacht.
    Die Domain ist also jetzt mit einem Zertifikat versehen.
    Port 80 kann ich deswegen aber dennoch nicht schließen, richtig?


    Leider funktioniert mein Reverse Proxy mit Apache nicht.

    Code
    <VirtualHost *:80>
        ServerAdmin apache@example.com
        ServerName example.com
        ServerAlias www.example.com
        DocumentRoot /var/www/html/
        ProxyPass / http://localhost:3000/
        ProxyPassReverse / http://localhost:3000/
    </VirtualHost>

    Ich bin mir leider auch nicht sicher, wo ich auf der Suche ansetzten soll. Wie finde ich heraus, ob die Datei example.com.conf überhaupt beachtet wird?


    Edit: Bestimmt umständlich, aber durch die Abänderung der index.html in eine index.php und dem Einfügen von <?php echo $_SERVER['SERVER_ADMIN']; ?>, kann ich nun davon ausgehen das meine Config nichts bringt, denn es wird nichts angezeigt...


    sudo a2ensite example.com.conf hatte ich bereits ausgeführt.

    [RS] 2000 G9 | Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | 200 G8 | Secret | A | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

    Einmal editiert, zuletzt von Bud ()

  • Ich bin mir leider auch nicht sicher, wo ich auf der Suche ansetzten soll. Wie finde ich heraus, ob die Datei example.com.conf überhaupt beachtet wird?

    Wo hast du die Datei denn abgelegt?

    Es gibt hier ein paar Befehle, die dir beim Debugging hilfreich sein könnten:

    Code
    apache2 -t -D DUMP_VHOSTS

    und

    Code
    apache2 -t -D DUMP_INCLUDES

    Falls es dort nicht auftaucht, stimmen evtl. die Berechtigungen der Datei nicht oder sie ist an der falschen Stelle abgelegt worden.

  • certbot war machbar, das hatte ich auch schon mal gemacht.
    Die Domain ist also jetzt mit einem Zertifikat versehen.
    Port 80 kann ich deswegen aber dennoch nicht schließen, richtig?

    Jedes Tool, welches den Apache-Server verwendet, um die LetsEncrypt-Schlüssel über Port 80 bereitzustellen – und dazu gehört wohl auch Certbot - wird sich bitterlich darüber beschweren, wenn dieser geschlossen wird.

    Üblicherweise verwendet man auf einem Server, welcher auch für die Erneuerung von TLS-Zertifikaten verwendet wird, eine bedingte Umleitung ähnlich der folgenden (aus einem umfangreicheren Makro entnommen, Zeile 3 ist entsprechend anzupassen):

    Apache Configuration
            RewriteEngine On
            RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/..*
            RewriteRule ^(.*)$ https://$vh80servername$1 [redirect=301]

    EDIT: Was die zweite Frage anbelangt: Ich verwendet Certbot selbst nicht, aber kann es sein, dass hier ebenfalls eine Wildcard-VirtualHost-Definition für Port 80 angelegt wird, welche auf alle betreffenden (Unter-)Domännamen reagiert? Dann kommt unter Umständen nämlich diese zum Zuge.

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

    2 Mal editiert, zuletzt von m_ueberall ()

    Danke 1
  • Wo hast du die Datei denn abgelegt?

    In /etc/apache2/sites-available/

    Code: apache2 -t -D DUMP_VHOSTS
    bud@netcup:~$ sudo apache2 -t -D DUMP_VHOSTS
    [Tue Sep 12 10:29:52.120864 2023] [core:warn] [pid 1443791] AH00111: Config variable ${APACHE_RUN_DIR} is not defined
    apache2: Syntax error on line 80 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot

    DefaultRuntimeDir ist ${APACHE_RUN_DIR}

    In /etc/apache2/envvars habe ich dazu folgendes gefunden:

    Code
    export APACHE_RUN_DIR=/var/run/apache2$SUFFIX

    Und daraus werde ich dann spätestens nicht mehr schlau...


    Edit: Ich verstehe nicht, warum mein Apache bei dem Fehler problemlos läuft. Das macht doch keinen Sinn, oder?


    ähnlich der folgenden (aus einem umfangreicheren Makro entnommen, Zeile 3 ist entsprechend anzupassen):

    Merce dir, da werde ich morgen mal rumprobieren.

    [RS] 2000 G9 | Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | 200 G8 | Secret | A | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

    Einmal editiert, zuletzt von Bud ()