Zum Hauptinhalt springen

Server erstellen

Zur Testinstallation kann die freie Software VirtualBox genutzt werden. Hier sollte zuerst Ubuntu Server installiert werden. Eine Installationsanleitung findet man dazu an und für sich fast überall. Daher beschreibe ich dieses Vorgehen nicht.

Allerdings kann für eine recht schnelle Konfiguration von Ubuntu Server mein PowerShell Script verwendet werden, welches einen entsprechenden Server erstellt. Zu beachten ist, dass diese Ubuntu Installation nur für einen Testbetrieb gedacht ist, da hier kein Wert auf Sicherheit gelegt wird.

PowerShell-Skript zur schnellen Installation in VirtualBox

Die Gitlab Reprository mit Skript und Anleitung findet man unter folgendem Link.

git clone https://gitlab.hl-dev.de/gl/virtualboxinstallubuntuserver.git

Vor dem Ausführen sollte zuerst Ubuntu Server von folgender Seite heruntergeladen werden. https://ubuntu.com/download/server#downloads Die Datei unter $UbuntuImagePath abspeichern oder den Pfad im Skript entsprechend anpassen.

<#
Vor dem Ausführen sollte zuerst Ubuntu Server von folgender Seite heruntergeladen werden.
https://ubuntu.com/download/server#downloads
Die Datei unter $UbuntuImagePath abspeichern oder den Pfad im Skript entsprechend anpassen.
#>

$OSName = "UST"
$UbuntuImagePath = "$env:USERPROFILE\Downloads\iso\ubuntu-22.04.1-live-server-amd64.iso"
$seedImagePath = "$env:USERPROFILE\Downloads\iso\seed.iso"
Set-Location "C:\Program Files\Oracle\VirtualBox"

#.\VBoxManage.exe list ostypes
# Setup CPU and memory
.\VBoxManage.exe createvm --name $OSName --ostype Ubuntu_64 --register
.\VBoxManage.exe modifyvm $OSName --memory 8096 --cpus 8

# Setup Storage
.\VBoxManage.exe createhd --filename c:\tmp\$OSName.vdi --size 100000 --format VDI --variant Standard
.\VBoxManage.exe storagectl $OSName --name "SATA Controller" --add sata --controller IntelAhci
.\VBoxManage.exe storageattach $OSName --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium c:\tmp\$OSName.vdi

.\VBoxManage.exe storagectl $OSName --name "IDE Controller" --add ide --controller PIIX4

.\VBoxManage.exe storageattach $OSName --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium $UbuntuImagePath
Invoke-WebRequest -Uri https://gitlab.hl-dev.de/root/virtualboxinstallubuntuserver/-/raw/main/seed.iso -OutFile $seedImagePath
.\VBoxManage.exe storageattach $OSName --storagectl "IDE Controller" --port 1 --device 1 --type dvddrive --medium $seedImagePath

# run OS
.\VirtualBoxVM.exe --startvm $OSName
# Change to network bridge
Start-Sleep -Seconds 10
$NetworkName = Get-NetAdapter | Where-Object -Property Name -EQ 'WLAN' | Select-Object -Property InterfaceDescription | ForEach-Object { $_.InterfaceDescription }
.\VBoxManage.exe controlvm $OSName nic1 bridged $NetworkName

for ($i = 0; $i -lt 5; $i++) {
Write-Host "Bitte in VirtualBox mit yes bestätigen!"
}

Per SSH zum Server verbinden

Nun kann über SSH eine Verbindung zum Server aufgebaut werden. Das Passwort für den Benutzer Ubuntu lautet ubuntu. Sollte die Verbindung nicht erfolgreich sein, empfiehlt es sich den Server noch einmal neu zu starten.

ssh ubuntu@ubuntu-server-test

Automatische Ubuntu Server Installation

In diesem Teil wird kurz erklärt, wie man eine ISO Datei für die AutoInstall von Ubuntu Server erstellt. Das ISO befindet sich allerdings in der oben genannten git Repository und muss nicht individuell erstellt werden.

AutoInstall Config von Ubuntu Server erstellen

Die Folgende yml Datei muss erstellt werden.

autoinstall:
version: 1
locale: de_DE
keyboard:
layout: de
variant: pc105
identity:
hostname: ubuntu-server-Test
password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"
username: ubuntu
user-data:
users:
- name: ubuntu
lock_passwd: true
sudo: ALL=(ALL) NOPASSWD:ALL
ssh:
install-server: true
updates: all

Erstellen der Autoinstall ISO

Die Erstellung des ISOs erfolgt am einfachsten unter einem Linux Betriebssystems. Hier wird Linux Arch mit dem Paketmanager yay verwendet.

yay cloud-image-utils
cloud-localds ./seed2.iso user-data meta-data

Kommentare