Warum Ubuntu?
Ubuntu bietet eine eigene LTS (Long Term Support) Server Distribution mit 5 Jahren Updates an, die aktuelle Version 20.04 LTS bekommt Maintenance bzw. Security Updates bis 2025.
Bei Bedarf kann der Support noch erweitert werden (ESM, Extended Security Maintenance), dieser ist für Firmen jedoch kostenpflichtig.
Wenn möglich, sollte auf eine neue LTS Version umgestiegen werden – alle 2 Jahre wird eine neue Version veröffentlicht.
Generell benötigt Linux ohne GUI wenig Ressourcen – eine normale Server Installation mit ssh Zugang benötigt nur ein paar MB RAM und für kleinere Projekte reicht auch ein CPU Kern in einer VM.
Warum Noch?
Paketquellen können einfach erweitert werden, um benötigte Programme zu installieren (birgt allerdings auch ein Security Risiko).
Große Community – viele Anleitungen zu allen möglichen Themen und Problemen.
Installation
Die Installation für unser Test-Szenario erfolgt in einer Virtualbox VM (es kann auch eine Hyper-V VM genommen werden), dadurch können Backups besser erstellt werden und bei Bedarf auch schneller die Festplatten Images getauscht werden, falls es bei Updates zu Problemen kommt.
Wir verwenden die Version ubuntu-20.04.1-legacy-server-amd64.iso, die neueren ISOs verwenden einen neuen Installer.
Ziel ist die Installation einer minimalen (nur openssh Server) englischen Version mit deutschem Tastaturlayout sowie der Zeitzone Europe/Austria zum Test – da diese VM nicht über das Internet erreichbar ist, können einige Sicherheitsaspekte wie Firewall und automatische Updates ignoriert werden.
Installationablauf
- Boot Menu
Language ->English
Install Ubuntu Server auswählen
- Select a language
Language: English – English
- Select your location other
Country, territory or area: other -> Europe -> Austria
- Configure locales
Country to base default locale settings on: Unites States – en_US.UTF-8
- Configure the keyboard
Detect keyboard layout? -> <Yes>
Eingaben:
n -> w -> z -> <Yes> -> ö -> <No> -> <Continue>
„de:nodeadkeys“ sollte dabei rauskommen
- Configure the network
Hostname: z.B. ubuntuserver01
- Set up users and passwords
Full name for the new user: test1
Username for your account: test1
Choose a password for the new user: test123
Re-enter password to verify: test123
(Bestätigung nötig, wenn ein schwaches Passwort verwendet wird)
Time zone bestätigen
- Partition disks
Partitioning method: Guided – use entire disk an set up LVM
Select disk partition: SCSI3 (0,0,0) (sda)…
Write the changes to disk and configure LVM?: <Yes>
Amount of volume group to use for guided partitioning: 42.4GB
(Größe der Festplatte beim Erstellen der VM in Virtualbox)
Write changes to disk: <Yes>
- Configure the package manager
HTTP Proxy information (blank for none): Leer lassen da wir keinen Proxy verwenden & <Continue>
- Configuring tasksel
How do you want to manage upgrades on this system: No automatic updates
Wir wollen keine automatischen Updates, wenn die VM allerdings im Internet steht, würde sich „Install security updates automatically“ falls der Verwendungszweck es zulässt.
- Sofware selection
Choose sofware to install: (mit Leertaste [*] setzen)
[*] OpenSSH Server
<Continue>
- Install the GRUB boot loader on a hard disk
Install the GRUB boot to the master boot record? -> <YES>
- Finish the installation
Installation complete -> <Continue>
Nach der Installation
Nach dem Reboot ist die VM per ssh erreichbar oder direkt über das Virtualbox Fenster grüßt der Login Prompt:
Nun können wir uns die Systemressourcen anschauen.
Arbeitsspeicherbelegung: free –h
Wir sehen, von ~ 4GB RAM sind aktuell 111MB belegt. Von den ~ 1GB swap ist noch alles verfügbar.
Festplattenspeicherbelegung: df -h
Von unseren ~ 40GB Festplattenspeichern sind aktuell 2,1GB belegt und noch 34GB frei.
Es empfiehlt sich, das System zu aktualisieren und alle benötigten Updates zu installieren.
Paketquellen updaten: sudo apt-get update
Updates installieren (+ Kernel Updates): sudo apt-get dist-upgrade
Bestätigen mit Y
Nach den Updates die VM neu starten mit: sudo reboot
Bei Bedarf noch die folgenden Befehle absetzen:
Löschen der heruntergeladenen Update Pakete: sudo apt-get clean
Deinstallieren von alten Kernels: sudo apt-get autoremove
Fixe IP Adresse vergeben
Mit dem Befehl „ip addr“ kann die aktuelle IP Adresse und das entsprechende Device ausgegeben werden:
Die IP Adresse 192.168.42.179 für das Interface enp0s3 wurde vom DHCP Server vergeben, wir können diese jetzt auf eine fixe IP Adresse ändern – nachdem wir uns versichert haben, dass die gewünschte IP frei ist:
sudo vi /etc/netplan/01-netcfg.yaml
sudo netplan apply
Sollten wir per ssh verbunden sein, müssen wir uns mit der neuen IP Adresse neu verbinden und können das Ergebnis kontrollieren:
- Unsere Ubuntu Server VM ist soweit up to date, wir können nun alle möglichen zusätzlichen Programme/Services installieren und einrichten – zum Beispiel einen Apache Webserver oder eine MySQL/MariaDB.
Wartung
Wie bei jedem System, sollten gelegentlich (wenn online erreichbar regelmäßig) Updates installiert und die VM neu gestartet werden.
Da bei den Updates auch über den Packagemanager installierte Programme upgedated werden, sollte vorher abgeklärt werden, ob und wann solche Updates installiert werden können bzw. dürfen.
Nach dem Installieren und einem Reboot sollte überprüfen werden, ob alle Programme laufen und ob sich in den jeweiligen Log-Dateien Fehler finden.
Zudem empfiehlt es sich, regelmäßige Backups von benötigten Datenbanken/Ordnern zu erstellen (zum Beispiel mittels cronjob) und auf ein externes Backupdevice auszulagern (zum Beispiel eine verbundene Festplatte/Share außerhalb der VM)