Server Setup Hetzner CX21 Ubuntu 20.04
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
2.4 KiB

5 years ago
  1. # Ubuntu-20.04 Hetzner Cloud Server Setup
  2. inpired by https://git.bmen.cc
  3. **Setup Hetzner CX21 Ubuntu 20.04**
  4. Als erstes das System aktualisieren
  5. ```
  6. apt update
  7. apt upgrade
  8. ```
  9. Falls der Port für SSH geändert werden soll:
  10. ```
  11. nano /etc/ssh/sshd_config
  12. service ssh restart
  13. ```
  14. > Hinweis: die lokale .ssh/config anpassen! (Backup) ****
  15. > `ufw allow <PORT>` und `ufw delete allow 22` check mit `ufw status`
  16. Nun die wichtigsten Ports freischalten und die Firewall aktivieren
  17. ```
  18. ufw allow 22 (or alternative)
  19. ufw allow 80
  20. ufw allow 443
  21. ufw enable
  22. ```
  23. > Hinweis: bei Änderungen der Firewall oder SSH Konfigurationen IMMER aktives Terminal beibehalten und Login in neuem Fenster zuerst testen!
  24. Ein paar hilfreiche Tools installieren:
  25. ```
  26. apt install -y htop iftop mytop tcpdump landscape-common mercurial git software-properties-common
  27. ```
  28. ## Strorage Box mounten
  29. Die Festplatte soll über SAMBA/CIFS gemounted werden, daher müssen die entsprechenden Tools installiert sein:
  30. ```
  31. apt install cifs-utils
  32. ```
  33. Die Zugangsdaten für die Storagebox werden unter `/etc/storage-bx20-credentials` in folgender Form gespeichert:
  34. ```
  35. username=<BENUTZERNAME>
  36. password=<PASSWORT>
  37. ```
  38. In `/etc/fstab` folgende Zeile einfügen:
  39. ```
  40. //u138460.your-storagebox.de/backup /mnt/storage-bx20 cifs iocharset=utf8,rw,credentials=/etc/storage-bx20-credentials,uid=82,forceuid,gid=82,forcegid,file_mode=0660,dir_mode=0770 0 0
  41. ```
  42. **Wichtig:** Hier muss ggf. der User und die Gruppe an den jeweiligen Docker-Container angepasst werden. Bisher hat nur die ID und nicht der Name funktioniert und hier in diesem Beispiel auf `82` gestellt, was dem `www-data` entsprechen soll.
  43. ## Docker und Docker-Composer installieren
  44. Zuerst einmal Docker
  45. ```
  46. apt install docker.io
  47. ```
  48. Nun Docker-Composer und hier kann man die aktuelle Release-Nr. herausfinden: https://github.com/docker/compose/releases
  49. ```
  50. sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
  51. sudo chmod +x /usr/local/bin/docker-compose
  52. ```
  53. ## Wichtige Befehle
  54. Festplattenverbrauch ermitteln:
  55. ```
  56. df -h
  57. ```
  58. Rsync ohne Rechteübernahme (gut für gemountete Laufwerke SAMBA)
  59. ```
  60. sudo rsync -rltv --exclude '/storage/var/lib/nextcloud/*' /storage/ /mnt/backup-storage/
  61. ```
  62. ## Gute Quellen
  63. * Bash-Skripte: https://wiki.ubuntuusers.de/Shell/Bash-Skripting-Guide_für_Anfänger/
  64. * Cronjobs: https://www.stetic.com/developer/cronjob-linux-tutorial-und-crontab-syntax.html