Meine Frage ist nun, wie lerne ich richtig die Grundlagen um meinen Server abzusichern und zu administrieren?
Das Zauberwort ist eigentlich Learning by Doing.
Beachte dabei eins - wenn du lernen und testen willst, dann machst du das in einer VM zuhause auf deinem PC. Virtualbox
Sowas macht man NIE auf einem Server am Internet.
Es gibt kein offizielles "richtig" und "sicher". Wie bereits erwähnt, empfehle ich bei deiner Menge der Dienste einen Hypervisor wie Proxmox zu nutzen, um die Dienste etwas voneinander abzuschotten und Ordnung zu halten. Ich kann dir das gerne auch mal zeigen, wie gesagt, schreib mir eine Konversation.
Dann gibt es ein paar Best Practices. Ich liste mal auf, was mir spontan so einfällt...
--> Mach nur öffentlich verfügbar, was öffentlich verfügbar sein muss - phpMyAdmin oder SSH Ports müssen z.B. seltenst öffentlich zugänglich sein. Ich nutze auf meinem RS Rentier z.B. Proxmox mit LXC Containern und ein Wireguard VPN, welches in das Bridge Netz der Container geroutet wird. Wenn ich was administrieren will, verbinde ich mich in das VPN, wodurch ich Zugriff auf das private/interne Bridge Netz und den Diensten darin habe. Versteht man besser, wenn man es mal praktisch gesehen hat.
--> Kein Backup, kein Mitleid. Führ regelmäßig Backups durch, nach Möglichkeit auch noch wo anders hin und nicht nur auf dem selben Server.
--> Monitoring - irgendwie musst du erkennen, wenn mal etwas aus der Reihe tanzt. Wenn du den DDoS Angriff erst merkst, weil dein Server sich irgendwie langsam anfühlt, dann war dein Monitoring nicht ausreichend. 
--> Benachrichtigungen - deine Systeme sollten dich bei Ereignissen wie SSH Logins oder diversen Problemen o.Ä. benachrichtigen. Du willst den Hack deines Servers nicht erst bemerken, wenn die Russenmafia bei dir vor der Tür steht weil "du" (=dein Server) ihre Infrastruktur angegriffen hast.
--> Updates - es versteht sich von selbst, dass du nach Möglichkeit immer die aktuellste Software nutzen solltest, um die Gefahr gering zu halten, von Sicherheitslücken betroffen zu sein. Inwiefern man sich da dann Helferleins wie unattended-upgrades bedient, muss man selbst entscheiden. Automatische Updates sind bequem, aber wenn da mal ein kaputtes Update oder so dabei ist, wirds ekelhaft.
--> Rechte und Berechtigungen - hier gibts die gute Regel: so viel wie nötig, so wenig wie möglich. Du solltest zudem mit den Datei und Ordnerberechtigungen vertraut sein. Dienste sollten nie als root laufen, sofern dies nicht ausdrücklich notwendig ist.
--> Die Sache mit den Logs... die sollte man im Auge haben. Es gibt einige Tools, die da für dich durchschauen und dir sagen, wenn etwas auffällig ist. Ich persönlich bevorzuge aber meine eigenen Augen bei sowas.
--> Du willst wissen, was du da tust: führe nicht einfach irgendwelche Scripts aus dem Internet oder so aus. Schau da durch, was die machen. Du solltest allgemein wissen, was Programme/Scripts machen und wie sie funktionieren, wie du sie konfigurieren musst und was es zu beachten gibt. Lesen, lesen, lesen... und wenn sich das Projekt elendig in die Länge zieht. Mach nichts, wovon du nicht weiß, was du tust. (Aus gegebenem Anlass - den Böller wirfst du auch bloß weg, weil du weißt, dass das sonst schmerzhaft endet - was wäre, wenn du das nicht wüsstest?)
Wenn du es durch Recherche und Lesen nicht rausfindest, kannst du immer noch uns Fragen...
So. Mir fällt auf die Schnelle nichts hilfreiches weiter ein und ich muss auch los wegen weil Silvester feiern und so. 