Server administrieren - wo fange ich an?

  • Docker.

    Interesse ist da, aber mir wurde hier ja auch schon davon abgeraten das am Anfang zu machen...


    Brauch ich mit Docker eigentlich Apache und seine Geschwister?

    Wenn Bud Blut leckt und sich einen IT Job sucht, gibt es im Rettungsdienst noch einen weniger.

    Naja, der Job im RD wird so oder so frühzeitig an den Nagel gehängt. Es hat schon seinen Grund warum man bei uns im Durchschnitt auf 10 Jahre kommt, bevor man das weite sucht... Also wer weiß, vielleicht arbeite ich irgendwann mal bei netcup im Support ;)

    geht es Bud gut, geht es mir gut.

    Awwwww :*

    [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

  • Brauch ich mit Docker eigentlich Apache und seine Geschwister?

    Das hängt davon ab was Du machen möchtest.

    Zum einen wirst Du wahrscheinlich Docker Images verwenden die Apache intern verwenden,

    zum anderen kannst Du Docker und ein mit apt installierten Apache gleichzeitig betreiben wenn Du das willst.

    z.B. weil Du eine Anwendung verwenden möchtest die es noch nicht als Docker Image gibt (und Du kein eigenes Image erstellen möchtest).

    Oder auch schlichtweg aus historischen Gründen.


    Zuerst einmal ist es wichtig zu verstehen, was Docker überhaupt ist/macht.


    Ein Docker Image beinhaltet alle Programme, Bibliotheken, Daten, ... die es benötigt um ein Programm laufen zu lassen.

    Ein Image könnte z.B. ein komplettes Debian Minimal mit installiertem Apache+PHP+MariaDB sowie Deinen PHP-Dateien enthalten.

    Ein Programm zu installieren kann recht aufwändig sein, weil es viele Voraussetzungen haben kann.

    Wenn Du z.B. Nextcloud in einer aktuellen Version installieren möchtest musst Du z.B. Apache,PHP, eine Datenbank,... installieren.

    Also viele Dienste die Du per apt-get installieren musst, Berechtigungen anpassen, ...


    Darum hat sich der Maintainer eines Docker Images schon gekümmert.


    Du hast auf Seite 9 aufgelistet was Du bisher alles gemacht hast. Diese Befehle könnte man auch verwenden um ein eigenes Docker Image daraus zu machen, das dann genau das selbe kann, wie Deine jetzige Installation eben.


    Außerdem kann es auf einem Server auch noch Probleme mit den Abhängigkeiten geben.

    Vielleicht benötigt das aktuelle Nextcloud mindesten PHP 8. Du hast aber gerade nur PHP 7.4.

    Also installierst Du mittels sury.org PHP 8.

    Leider hast Du noch eine andere PHP Anwendung am Laufen, die PHP 8 noch nicht unterstützt.

    Und schon hast Du ein Problem.


    Wenn die Anwendungen allerdings als Docker Images vorliegen bringt jedes Image ja alles mit was es braucht. Also Nextcloud PHP 8 und die ominöse andere Anwendung PHP 7.


    Um wieder auf Deine ursprüngliche Frage zurück zu kommen. Da viele Images Apache enthalten ist es auf jeden Fall eine gute Idee die Grundlagen der Apache Konfiguration zu kennen. Das kann helfen die Konfiguration solcher Docker Images besser zu verstehen.


    Da dadurch evtl mehrere Apache, Nginx, etc gleichzeitig laufen, aber nur ein Programm sich an Port 80 (bzw 443) binden kann benötigt man noch einen Proxy, der sich dann an den Port bindet und die Datenpakete an die entsprechenden Docker Anwendungen verteilt. z.B. der bereits hier erwähnte https://github.com/NginxProxyManager/nginx-proxy-manager.


    Ich würde jetzt am liebsten noch etwas zum Thema Sicherheitsupdates schreiben.

    Aber dazu habe ich heute keine Zeit mehr.


    Nur noch schnell zu dem Thema: So wie Du derzeit "sudo ufw default deny outgoing" verwendest würde ich nicht glücklich werden. Solange das ohne Ausnahmen aktiv ist hat Dein Server keine Verbindung ins Internet. Es können nicht nur keine Sicherheitsupdate mit apt update/upgrade installiert werden, auch vieles anderes tut nicht, wie z.B. DNS Abfragen. Das kann z.B. bei einem Nginx der als Proxy mit Domainnamen verwendet wird dazu führen, dass Nginx nicht mehr startet.


    P.S: Oh je, oh je, ich merk gerade, dass ich wohl etwas übers Ziel hinaus geschossen bin :whistling:

    Ich hoffe es hilft Dir trotzdem.

  • Ich hab mal alle Befehle aufgeschrieben welche ich heute bei der Installation eingegeben habe.

    statt jedes kommando mit sudo zu prefixen kann man sich eine root shell mit

    Code
    sudo bash

    aufmachen. hat auch den vorteil wenn man pipes verwendet dass die root berechtigung nicht verloren geht.


    in fail2ban würde ich Dir noch den

    recidive filter empfehlen.


    und nie vergessen wenn der server nach außen kommunizieren soll das outgoing deny zu ändern. 8)

  • Ein Docker Image beinhaltet alle Programme, Bibliotheken, Daten, ... die es benötigt um ein Programm laufen zu lassen.

    Ein Image könnte z.B. ein komplettes Debian Minimal mit installiertem Apache+PHP+MariaDB sowie Deinen PHP-Dateien enthalten.

    Das hört sich ja fast schon nach Installations-Luxus an.

    benötigt man noch einen Proxy, der sich dann an den Port bindet und die Datenpakete an die entsprechenden Docker Anwendungen verteilt

    Okay, macht Sinn. Also sollte ich mich vor Docker mit der Installation und Konfiguration von einem Proxy beschäftigen? :/

    So wie Du derzeit "sudo ufw default deny outgoing" verwendest würde ich nicht glücklich werden. Solange das ohne Ausnahmen aktiv ist hat Dein Server keine Verbindung ins Internet. Es können nicht nur keine Sicherheitsupdate mit apt update/upgrade installiert werden, auch vieles anderes tut nicht, wie z.B. DNS Abfragen. Das kann z.B. bei einem Nginx der als Proxy mit Domainnamen verwendet wird dazu führen, dass Nginx nicht mehr startet.

    und nie vergessen wenn der server nach außen kommunizieren soll das outgoing deny zu ändern.

    Mir wurde an an derer Stelle geraten outgoing deny erstmal zu lassen. Aber das mir das alles blockierst ist mir schon Bewusst. Auf Seite 9 in meinem "PuTTY Log" sieht man ja das ich in Zeile 34 outgoing auf allow setzte, dann fail2ban und mc installiere, und im Zeiel 75 outgoing wieder auf deny setze.

    P.S: Oh je, oh je, ich merk gerade, dass ich wohl etwas übers Ziel hinaus geschossen bin :whistling:

    Ich hoffe es hilft Dir trotzdem.

    Finde ich nicht, ein Ausblick um das große ganze zu verstehen schadet manchmal nicht. Und ja, großes Dankeschön! Das hat mir wirklich sehr geholfen. :thumbup:

    in fail2ban würde ich Dir noch den

    recidive filter empfehlen.

    Ja perfekt, das hatte ich sogar gesucht ^^ irgendwo auf den ersten 5 Seiten habe ich mal nach dem Sinn und Unsinn gefragt warum ich IP´s die meine Vorgaben brechen nur 1 Stunde bannen soll, wenn die es vermutlich wieder versuchen. Da hat glaube ich keiner so wirklich drauf geantwortet oder die Frage dort gesehen, aber recidive scheint mir ja genau das zu machen, also zumindest im Erweiterten Sinn. Da setze ich mich jetzt gleich mal ran :)

    Docker kann man nutzen, muss man aber nicht.

    Es geht alles auch ohne.

    (Wenngleich ich auch einräume, dass für manche Setups docker durchaus Sinn machen kann)

    Einer der Hauptgründe warum ich mich mit Servern befasse ist docker, bzw. meine ich das zu müssen.

    Ich würde einfach gerne einige Tools der awesome selfhosted - Liste ausprobieren und ggf. nutzen.


    Aktuell suchen wir als Verein die Möglichkeit die Verfügbarkeit unserer Sportplätze, Sporthallen und Räume für die Mitglieder anzeigen zu lassen, mit der Möglichkeit eine Platznutzung etc. anzufragen. Da würde ich gerne Seatsurfing ausprobieren, aber wenn ich das richtig sehe geht das nur mit docker.

    [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


  • Aktuell suchen wir als Verein die Möglichkeit die Verfügbarkeit unserer Sportplätze, Sporthallen und Räume für die Mitglieder anzeigen zu lassen, mit der Möglichkeit eine Platznutzung etc. anzufragen. Da würde ich gerne Seatsurfing ausprobieren, aber wenn ich das richtig sehe geht das nur mit docker.

    Geht schon ohne docker, ist halt wesentlich aufwendiger und auch schwer zu verwalten.


    Zu Proxies: Ja solltest du empfehlenswert sind hier Ngnix Proxy Manger (UI) oder Treafik (direkt in den Composer Files Konfigurierbar ,aber geht halt gut nur mit Docker Diensten), Caddy ist auch noch ein Option.


    Für den Anfang kannst du es ohne UI versuchen (setzte aber am besten schon Compose ein), also UI würde sich dann Portainer anbieten

  • in fail2ban würde ich Dir noch den

    recidive filter empfehlen.

    Ich hab die jail.local geöffnet und bei [recidive] dann enabled = true gesetzt.

    Beim Überprüfen dann folgende Fehlermeldung:


    Der Ordner in /var/run/fail2ban/ ist leer, also vermute ich mal das fail2ban gar nicht läuft?

    Also die Log geöffnet und siehe da:

    Seit gestern Abend ist fail2ban anscheinend aus, aber warum? Außerdem habe ich es ja schon versucht zu starten, und keine Rückmeldung bekommen - also gehe ich davon aus das es funktioniert hat? Wo sollte ich bei der Problemfindung und -lösung anfangen?

    [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

  • Wenn, dann bitte sudo -i. Damit auch eine neue Login-Shell samt Umgebungsvariablen des root Users geöffnet wird und nicht irgendwelche Tools ihre Configs als root ins eigene Home schreiben wollen.

    env_reset ist doch per default enabled. lediglich -i agiert als wäre env_reset enabled und setzt das pwd auf ~. mehr unterschied kann ich hier nicht erkennen.


    natürlich sinds zwei buchstaben weniger und man ist gleich in /root. klar.


    und wenn man wieder mal sudo vergessen hat empfehle ich folgendes alias.

    Code
    alias fuck='eval sudo "$(history -p \!\!)"'
  • Das hört sich ja fast schon nach Installations-Luxus an.

    Jep. Wenn das docker-compose File alles enthält was nötig ist und ein wenig an die eigenen Verhältnisse angepasst ist (z.B. Passwörter eingetragen, Volumes angepasst, etc.), braucht es einen Befehl und ein komplexes System läuft.


    Okay, macht Sinn. Also sollte ich mich vor Docker mit der Installation und Konfiguration von einem Proxy beschäftigen? :/

    Nein. Einfach den Proxy mit Docker machen. ;) Das docker-compose.yml von Full Setup Instructions | Nginx Proxy Manager ist ein recht einfaches Beispiel wie das geht.


    Vorschlag: wenn Du Lust hast, mit Docker anzufangen, machst Du noch einen anderen Thread zu Docker und dann gehts los. :thumbup:


    Zu "Docker am Anfang": naja, am Besten setzt man alles was man hosten will gleich mit Docker auf, dann ist der Transfer auf ein anderes System denkbar einfach: docker-compose Files rüber, Volumes und rausgelegte Ordner rüber, Container neu spawnen und weiter gehts.

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

    Einmal editiert, zuletzt von TBT ()

  • Vorschlag: wenn Du Lust hast, mit Docker anzufangen, machst Du noch einen anderen Thread zu Docker und dann gehts los. :thumbup:

    Oha. ^^

    (Jetzt ahne ich auch, warum Bud vor einiger Zeit eine domain mit "netcup" im Name erworben hatte. Hier ist eine schleichende, feindliche Übernahme im Gange :huh: )

  • Vorschlag: wenn Du Lust hast, mit Docker anzufangen, machst Du noch einen anderen Thread zu Docker und dann gehts los.


    Oha. ^^

    (Jetzt ahne ich auch, warum Bud vor einiger Zeit eine domain mit "netcup" im Name erworben hatte. Hier ist eine schleichende, feindliche Übernahme im Gange :huh: )

    Es gehen Gerüchte um , dass Bud ein eigenes Forum unter bud.netcup.de bekommt ;)

    It's me, only me, pure michi 🦆

    RS 1000 SAS G8 | Cyber Quack

    VPS: 50 G7 |B Ostern 2017|200 | Karneval | piko

    WH: SmallEi | Adv17 Family |4000 SE|1000 SE

    Haha 2 Danke 1