sudo ist per default in Debian nicht aktiviert. Versucht man einen root-Befehl mit sudo auszuführen, kommt es zu diesem typischem Vorfall:
$ sudo blkid
Wir gehen davon aus, dass der lokale Systemadministrator Ihnen die
Regeln erklärt hat. Normalerweise läuft es auf drei Regeln hinaus:
#1) Respektieren Sie die Privatsphäre anderer.
#2) Denken Sie nach, bevor Sie tippen.
#3) Mit großer Macht kommt große Verantwortung.
[sudo] Passwort für BENUTZER:
BENUTZER ist nicht in der sudoers-Datei. Dieser Vorfall wird gemeldet.
1. Installiere sudo
# apt install sudo
2. füge den Benutzer «BENUTZER» zur Gruppe sudo hinzu:
# adduser BENUTZER sudo
3. prüfe, ob BENUTZER sudo ausführen darf:
$ sudo -v
Falls: «Leider darf der Benutzer BENUTZER sudo für debian nicht verwenden.» erscheint, melde dich vom System ab und wieder an.
4. BENUTZER kann ab jetzt sudo anwenden:
$ sudo BEFEHL
[sudo] Passwort für BENUTZER:
Hinweis: Im Netz findet man unzählige Meinungen über Sinn und Unsinn von sudo unter Debian. Um es kurz zu machen: sudo macht tatsächlich keinen Sinn unter Debian. Es ist jedoch auch nicht verboten, es anzuwenden.
Um einen eigenen Minecraft-Server aufzusetzen, wird eine minimale Installation von Debian vorausgesetzt. Wird der Server explizit nur für Minecraft verwendet, schliesse mit der Firewall ufw alle Port ausser 25565 und natürlich dem Port für die ssh-Verbindung. Minecraft läuft per Standard auf Port 25565.
Dieser Port kann unter server.properties geändert werden. Unter dieser Konfigurationsdatei kann zudem der seed, Schwierigkeit u.v.m. geändert werden.
Alternativ kann auch ein Fork (PaperMC) heruntergeladen werden.
03. Server starten und eula akzeptieren:
Starte den Server. Es wird zu dieser Hinweismeldung kommen.
$ java -Xmx1024M -Xms1024M -jar server.jar nogui
[13:52:43] [ServerMain/WARN]: Failed to load eula.txt
[13:52:43] [ServerMain/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
Öffne das File eula.txt und ersetze false mit true:
$ nano eula.txt
eula=true
Hinweis
Läuft bei dir eine Firewall wie ufw, gib den Minecraft-Port 25565 (Standard) frei:
# ufw allow 25565
04. Server erneut starten
$ java -Xmx1024M -Xms1024M -jar server.jar nogui
05. Minecraft-Launcher (in Windows) starten und mit dem Server verbinden
Die aktuelle IP von deinem eigenen Server findest Du mit
$ ip address
heraus. Nach der IP ist noch der Port (Standard 25565) zu setzen. Somit: 123.456.7.890:25565
Wer es ganz elegant haben möchte und sogar einen A-Record für eine Domain besitzt, setzt eine Subdomain per CNAME minecraft.example.com
CNAME
example.com
ab jetzt, ist der Minecraft-Server auch unter minecraft.example.com erreichbar.
Sollte der Server weiterlaufen, falls die ssh-Verbindung (z. B. mit PuTTY) getrennt wird, hilft screen weiter:
# apt install screen
$ screen -S minecraft
$ java -Xmx1024M -Xms1024M -jar server.jar nogui
CTRL + A + D
Weitere Einstellungen zum Server findest du nun unter server.properties, ops.json und whitelist.json
Wer seine gesamte Webseite umgezogen hat, setzt per .htaccess ein Weiterleitung von der alten Domain (example1.com) zur neuen Domain (example2.com)
Damit werden sämtliche Anfrage von der alten Domain auf die neue Domain permanent umgeleitet:
# Weiterleitung von example1.com nach example2.com
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^https://example1.com [NC]
RewriteRule ^(.*)$ https://example2.com/$1 [R=301,L]
</IfModule>
nachfolgende Weiterleitung behält alle indexierten URLs bei und leitet alles auf die neue Webseite example.com weiter. Hat eine Suchmaschine somit https://mydomain.com indexiert, zeigt diese Weiterleitung automatisch dann auf https://example.com und weist die Suchmaschine über die permanente Weiterleitung mittels 301 hin:
<IfModule mod_rewrite.c>
RewriteEngine On
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) https://example.com/$1 [R=301,L]
</IfModule>
Für Java-Anwendungen stellt Debian folgende Pakete bereit:
openjdk-17-jre Komplette Java-Laufzeitumgebung – notwendig für die Ausführung von Java-Programmen mit grafischer Oberfläche und Webanwendungen. Verwendet Hotspot JIT.
open-17-jre-headless ist eine minimale Java-Laufzeitumgebung unter Nutzung von Hotspot JIT – notwendig für die Ausführung von Java-Programmen ohne grafische Oberfläche.
die aktuellen Pakete können mit apt search gesucht werden:
# apt search openjdk
Für Debian 12 (Bookworm):
# apt install openjdk-17-jre-headless
die aktuelle Version wird mit -version geprüft:
$ java -version
openjdk version "17.0.2" 2022-01-18
OpenJDK Runtime Environment (build 17.0.2+8-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 17.0.2+8-Debian-1deb11u1, mixed mode, sharing)
Falls mehrere Java-Versionen installiert wurden, kann zwischen den Versionen gewechselt werden. In diesem Beispiel haben wir die Möglichkeit zwischen java-11 und java-17 zu wechseln.
# update-alternatives --config java
Es gibt 2 Auswahlmöglichkeiten für die Alternative java (welche /usr/bin/java bereitstellen).
Auswahl Pfad Priorität Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 automatischer Modus
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manueller Modus
2 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 manueller Modus
Drücken Sie die Eingabetaste, um die aktuelle Wahl [*] beizubehalten,
oder geben Sie die Auswahlnummer ein: AUSWAHL
Hinweis: Eine weitere Möglichkeit besteht in einer ssh-Verbindung via Terminal oder mittels remote (Xrdp) für Windows 10 und Windows 11.
Hier wird die Möglichkeit einer Verbindung via grafischer Oberfläche erklärt:
01. Hier am Beispiel mit dem Mate-Desktop: Wähle Orte > Zu Server verbinden…
02. und gib die Zugangsdaten ein:
Alternativ kann im Dateibrowser direkt der Pfad zum Server eingegeben werden: sftp://username@123.456.7.890:22/var/www/html
sftp => Protokoll
username => allgemein gültiger User am Linuxserver
123.456.7.890 => IP Adresse vom Server
22 => Portnummer ssh (hier mit dem Standardport)
/var/www/html => Zielverzeichnis auf dem Server
03. danach bist du mit dem Server verbunden. Melde dich immer mit dem normalen Benutzer am Server an. Debian verbiete von sich aus die Anmeldung mittels root und das nicht zu unrecht. Wer im Dateibrowser unter Linux auf seinem Server per root herumschwirrt, brauch eine Menge Mut. Zu schnell ist eine Datei oder ein ganzer Ordner gelöscht oder irrtümlicherweise verschoben, nur weil man sich verklickt hat.
04. Um die Anmeldung von root zu ermöglichen, editiere die Datei /etc/ssh/sshd_config
# nano /etc/ssh/sshd_config
entferne das Kommentarzeichen bei # PermitRootLogin prohibit-password und überschreibe die Zeile mit PermitRootLogin yes #LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
Dieses Tutorial bezieht sich auf die Installation von XAMPP unter Debian GNU/Linux und wurde unter Bullseye getestet.
Fährst Du mit der Maus über eine Prüfsumme (md5 oder sha1), wird dir diese angezeigt. Nach erfolgreichem Download kann die Prüfsumme ausgelesen werden:
Ist die Prüfsumme korrekt, kann mit der Installation begonnen werden. Die Datei wird zuerst ausführbar gemacht:
$ chmod 755 xampp-linux-*-installer.run
und anschliessend die Installationsroutine gestartet:
# ./xampp-linux-*-installer.run
Der XAMPP-Installer verlangt root-Rechte. Tippe dazu su – ein:
su -
Passwort:
./xampp-linux-x64-8.1.1-2-installer.run
----------------------------------------------------------------------------
Welcome to the XAMPP Setup Wizard.
----------------------------------------------------------------------------
Select the components you want to install; clear the components you do not want
to install. Click Next when you are ready to continue.
XAMPP Core Files : Y (Cannot be edited)
XAMPP Developer Files [Y/n] : Y
Is the selection above correct? [Y/n]: Y
----------------------------------------------------------------------------
Installation Directory
XAMPP will be installed to /opt/lampp
Press [Enter] to continue:
----------------------------------------------------------------------------
Setup is now ready to begin installing XAMPP on your computer.
Do you want to continue? [Y/n]: Y
----------------------------------------------------------------------------
Please wait while Setup installs XAMPP on your computer.
Installing
0% ______________ 50% ______________ 100%
#########################################
----------------------------------------------------------------------------
Setup has finished installing XAMPP on your computer.
XAMPP kann nun via Brower aufgerufen werden. Tippe dazu in die Adresszeile localhost ein.
Die Dienste müssen vorab jedoch gestartet werden. Xampp heisst unter Linux korrekterweise lampp:
# /opt/lampp/lampp start
Starting XAMPP for Linux 8.1.1-2...
XAMPP: Starting Apache.../opt/lampp/share/xampp/xampplib: Zeile 22: netstat: Kommando nicht gefunden.
/opt/lampp/share/xampp/xampplib: Zeile 22: netstat: Kommando nicht gefunden.
ok.
XAMPP: Starting MySQL.../opt/lampp/share/xampp/xampplib: Zeile 22: netstat: Kommando nicht gefunden.
ok.
XAMPP: Starting ProFTPD.../opt/lampp/share/xampp/xampplib: Zeile 22: netstat: Kommando nicht gefunden.
ok.
Die Meldung von netstat kann getrost ignoriert werden oder mit dem Paket net-tools behoben werden.
# apt install net-tools
jetzt startet XAMPP «fehlerfrei»
# /opt/lampp/lampp start
Starting XAMPP for Linux 8.1.1-2...
XAMPP: Starting Apache...ok.
XAMPP: Starting MySQL...ok.
XAMPP: Starting ProFTPD...ok.
Beendet wird XAMPP mit:
# /opt/lampp/lampp stop
Stopping XAMPP for Linux 8.1.1-2...
XAMPP: Stopping Apache...ok.
XAMPP: Stopping MySQL...ok.
XAMPP: Stopping ProFTPD...ok.
>>> HINWEIS <<<
Das Verzeichnis von XAMPP befindet sich unter /opt/lampp/htdocs
Um dauerhaft Besitzer dieses Verzeichnis zu werden, können die Besitzerrechte mit chown geändert werden. Tippe dazu:
Wer eine Datei aus dem Internet lädt, wird oft auf die Prüfsumme (digitaler Fingerabdruck) angesprochen. Diese Summe garantiert, dass es sich beim Download tatsächlich um das Original handelt und keine kompromittierte Datei vorliegt:
geprüft. Stimmt die Summe überein, liegt die korrekte Datei vor. Weitere Prüfsummen sind md5 (md5sum) und sha1 (sha1sum). Das Vorgehen ist analog diesem Beispiel.
Mit diesem kleinen Tutorial wirst Du in wenigen Minuten ein wenig besser verstehen, was eine Binärdatei und eine Klartextdatei (hier der Quellcode) ist. Als Compiler nehmen wir hier g++ oder alternativ gcc. Selbstverständlich müssen diese Pakete bereits installiert sein. Erstelle einen geeigneten Ordner und erstelle mit Nano eine leere Datei:
Das Paket xrdp erlaubt eine Remote-Verbindung vom Windows-PC direkt auf den Debian-Rechner. Installiere das Paket und weise den User xrdp der Gruppe ssl-cert zu:
# apt install xrdp
# adduser xrdp ssl-cert
Wähle die Remotdesktopverbindung unter Windows und gib die IP-Adresse an.
Nach erfolreicher Anmeldung kann mit dem Client-PC auf den Linux-Rechner zugegriffen werden. Die genaue IP vom Server kann per ip address ermittelt werden.
error: no such partition. Entering rescue mode...
grub rescue>
Falls Du diese Meldung auf Deinem Debiansystem bekommst, hast Du den Grub-Bootloader zerschossen. Jetzt wird es an der Zeit, die Installations-CD oder den USB-Stick von Debian einzusetzten. Lege die CD oder den USB-Stick ein, boote ab diesem Medium und wähle dann im Installationsmenu:
Advanced option > Rescue mode
Du solltest Dein System kennen, bevor Du dich an die Reparatur von GRUB wagst. Der Rettungsmodus wird Dir ganz oben links angezeigt!
Sprache, Land und Ort wählen
Netzwerk (Kabel, WLAN) wählen.
Rechnername wählen (spielt keine Rolle, was hier gewählt wird)
Domain-Name wählen (leer lassen)
root-Dateisystem wählen! (In diesem Beispiel liegt root auf /dev/sdb2)
01. Das Wählen des richtigen Root-Dateisystems ist relevant! Falls Du das falsche Root-Dateisystem wählst, führt dies unweigerlich zu einer Fehlermeldung!
02. falls der Mountpunkt /boot auf / liegt, ist das Einbinden von /boot sparat nicht nötig und diese Meldung wird nicht angezeigt. Liegt /boot jedoch auf einer separaten Partition, bindet der Rettungsmodus die Partition ein. /boot ist jedoch nicht mit dem Mountpoint /boot/efi zu verwechseln! /boot/efi wird auf /boot erst später eingehängt.
03. Wähle mit den Pfeiltasten nun auf Eine Shell in /dev/sdXY ausführen
04. GRUB neu installieren
Alternative I
Es kann natürlich auch «Den GRUB-Bootloader neu installieren» gewählt werden. Bei Linux führen manchmal verschiedene Wege zum Ziel und es kann mehrere Lösungen geben.
Alternative II – (EFI-System)
Wir befinden uns nun in der Shell der Rettungsaktion. Installieren nun das Paket grub-efi
# apt install grub-efi
und binde die EFI-Bootpartition ein.
# mount /dev/sdb2 /boot/efi
Installiere jetzt den Bootloader in das Wurzelverzeichnis. Bevor der Bootloader neu geschrieben wird, kann mit lsblk überprüft werden, ob alle Partitionen korrekt eingehängt sind:
$ lsblk
05. Installiere den Bootloader in das Wurzelverzeichnis: Der Bootloader wird nicht auf die einzelne Partition geschrieben. Liegt Dein root-System zum Beispiel auf /dev/sdb2, wird der Bootloader nicht auf die Partition, sondern auf die Platte geschrieben. Hier wäre dies also /dev/sdb
/dev/sdb2 ≠ /dev/sdb
# grub-install /dev/sdb
führe ein update-grub aus. Dies ist zwar nicht unbedingt nötig, gibt uns aber ein aussagekräftiges Feedback, ob alles geklappt hat.
# update-grub
GRUB-Konfigurationsdatei wird erstellt …
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Linux-Abbild gefunden: /boot/vmlinuz-4.19.0-9-amd64initrd-Abbild gefunden: /boot/initrd.img-4.19.0-9-amd64Windows Boot Manager auf /dev/sda1@/EFI/Microsoft/Boot/bootmgfw.efi gefunden
Adding boot menu entry for EFI firmware configuration
erledigt
Verlasse die Shell mit:
# exit
06. und wähle System neu starten aus.
07. Ausgabe lsblk für dieses Beispiel! Auf sda liegt Windows 10 und auf sdb Debian. Die EFI-Boot Partition von Debian ist nicht separat eingebunden, wie unter Punkt 2 beschrieben wird. sda1 und sdb1 sind hier zwei EFI-Boot-Partitionen.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
├─sda1 8:1 0 100M 0 part /boot/efi
├─sda2 8:2 0 16M 0 part
├─sda3 8:3 0 296.1G 0 part
└─sda4 8:4 0 634.8G 0 part sdb 8:16 0 232.9G 0 disk
├─sdb1 8:17 0 487M 0 part
├─sdb2 8:18 0 68.2G 0 part /
├─sdb3 8:19 0 8G 0 part [SWAP]
└─sdb4 8:20 0 156.3G 0 part /home/yuna/media