====== Server ====== ===== Hardware ===== Als Hardware ist eine zuverlässige Standard PC-Hardware geeignet, heute in der Regel als 64-bit Hardware. * Desktop Festplatten dürfen nicht verwendet werden, da sie nicht für den Dauerbetrieb ausgelegt sind. * Für Zuhause ist eine sogenannte [[https://www.wdc.com/de-de/products/internal-storage/wd-red.html|NAS Festplatte]] erforderlich, die für den Dauerbetrieb ausgelegt ist und eine erhöhte Zuverlässigkeit aufweist. SSD Festplatten sind in der Regel auch geeignet. * Für kleinere Unternehmen sind ebenfalls [[https://www.wdc.com/de-de/products/internal-storage/wd-red.html|NAS]] oder SSD Festplatten erforderlich, dieses sollten aber mit einem RAID1 Controller gespiegelt betrieben werden. In den BIOS/UEFI-Einstellungen des Servers sollten folgende Einstellungen vorgenommen werden: * UEFI-Boot * Date/Time: Bei Servern auf UTC einstellen. * Optional als Energiesparoption: * Auto On Time: 06:00 AM / Every Day - Startet dann um 07:00 MEZ, bzw. 08:00 MESZ * Keyboard Error detection bei Servern abschalten ===== Betriebssystem ===== Als Betriebssystem für Server eignet sich [[https://www.debian.org/|Debian GNU/Linux]]. Es ist ein universelles Betriebssystem mit Fokus auf **Stabilität**. Download: * [[https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/|Debian (current, 64bit)]] ==== Installation ==== * Install * Language: German * Standort: Deutschland * Tastatur: Deutsch * Rechnername: * sv1 (vgl.: [[devices:env:network|Netzwerk]]) * Domain-Name: * fritz.box (zumindest solange eine FRITZ!Box im Einsatz ist) * Root-Passwort: * Kein Passwort eingeben, der root Account wird dann deaktiviert * Benutzer: * Vollständiger Name: Vollständiger Vor- und Nachname der Administrators * Benutzername: * Passwort: * Festplatten partitionieren: * UEFI Installation erzwingen: Ja * Geführt - gesamte Platte verwenden und LVM verwenden * Alle Dateien auf einer Partition * Paketmanager: * Netzwerkspiegel verwenden: Ja (nur bei schneller Internetverbindung) * Deutschland - deb.debian.org * Softwareauswahl: * SSH server * Standard-Systemwerkzeuge * Debian desktop environment (zusätzlich nur für KVM-Server) Betriebssystem-Version: cat /etc/issue lsb_release -a ==== Benutzer ==== Der im Setup angelegte Benutzer ist automatisch der Gruppe "sudo" hinzugefügt worden. Weitere administrative Benutzer müssen der Gruppe "sudo" entsprechend hinzugefügt werden. sudo -i adduser apt install -y sudo usermod -aG sudo exit #Kontrolle less /etc/group |grep sudo ==== Keybased SSH-Login ==== mkdir -p /root/.ssh nano /root/.ssh/authorized_keys # in diese Datei den öffentlichen Schlüssel hinein kopieren ssh-rsa AAAAB3Nz... ==== Software & Updates ==== * Grafisch: Start / Show applications / All / Software & Updates * Debian Software: * Alle außer "Source code" (main, contrib non-free) * Download from: Germany (deb.debian.org) * Other Software: Alle entfernen * Updates: * Security (bullseye-security) * Recommended updates (bullseye-updates) * Automatically check for updates: Weekly * When there are security updates: Download and install automatically * Console: sudo -i nano /etc/apt/sources.list deb http://deb.debian.org/debian/ bullseye main # deb-src http://deb.debian.org/debian/ bullseye main deb http://security.debian.org/debian-security bullseye-security main contrib # deb-src http://security.debian.org/debian-security bullseye-security main contrib # bullseye-updates, to get updates before a point release is made; # see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports deb http://deb.debian.org/debian/ bullseye-updates main contrib # deb-src http://deb.debian.org/debian/ bullseye-updates main contrib Server-Update: apt update apt upgrade apt dist-upgrade apt autoremove reboot Automatische Updates: apt install unattended-upgrades dpkg-reconfigure -plow unattended-upgrades ==== Tools ==== sudo -i apt install apt-transport-https bash-completion curl fdisk htop unzip wget zip ==== Netzwerk ==== [[https://wiki.debian.org/NetworkConfiguration|Debian Network Configuration]] sudo -i systemctl status networking (enabled / active) # NetworkManager wird bei Servern nicht benutzt systemctl status NetworkManager (disabled / not found) systemctl status systemd-networkd (disabled) systemctl status systemd-resolved (disabled) sudo -i # Kontrolle Hostname cat /etc/hostname (zeigt nur sv1, keinen FQDN) # Kontrolle Hosts nano /etc/hosts 127.0.0.1 localhost 127.0.1.1 sv1.fritz.box sv1 # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters sudo -i # Kontrolle DNS-Resolver nano /etc/resolv.conf domain fritz.box search fritz.box nameserver 192.168.178.1 # Netzwerk anzeigen ip -c a nano /etc/network/interfaces auto lo iface lo inet loopback allow-hotplug enp0s25 iface enp0s25 inet dhcp # iface enp0s25 inet static # address 192.168.178.xxx # broadcast 192.168.178.255 # netmask 255.255.255.0 # gateway 192.168.178.1 ==== Firewall ==== apt install ufw ufw allow 22/tcp ufw logging medium ufw default deny incoming ufw enable systemctl restart ufw ufw status # ufw Regel löschen ufw status numbered ufw delete ==== Zeit ==== timedatectl set-timezone Europe/Berlin nano /etc/systemd/timesyncd.conf [Time] NTP=0.europe.pool.ntp.org 1.europe.pool.ntp.org 2.europe.pool.ntp.org 3.europe.pool.ntp.org # Deaktivieren timedatectl set-ntp 0 # Aktivieren timedatectl set-ntp 1 timedatectl status ==== Geplanter Neustart ==== https://wiki.ubuntuusers.de/at/ at 00:00 reboot STRG-D atq oder sudo shutdown -r 00:00 ==== Disk Usage ==== df -h cd / du -sh * ===== Optional: Festplatte einbinden ===== **Anzeigen:** fdisk -l (zeigt hier im Beispiel /dev/sdb) **Partitionieren:** cfdisk /dev/sdb (gpt / New / Write (yes)) **Formatieren:** mkfs.ext4 /dev/sdb1 **Einhängen:** mkdir -p /srv/disk1 nano /etc/fstab /dev/sdb1 /srv/disk1 ext4 mount /dev/sdb1 ===== Optional: USV ===== https://wiki.ubuntuusers.de/USV/Apcupsd/ apt install apcupsd nano /etc/apcupsd/apcupsd.conf UPSNAME BU650 UPSCABLE usb UPSTYPE usb ONBATTERYDELAY 6 BATTERYLEVEL 5 MINUTES 3 nano /etc/default/apcupsd ISCONFIGURED=yes systemctl enable apcupsd systemctl (re)start apcupsd