Server_Ubuntu/README.md
2024-05-29 11:45:39 +02:00

214 lines
5.7 KiB
Markdown

# Instalace Ubuntu 22.04 v Záchranném Režimu na Hetzner Serveru
## Přehled
Tento návod poskytuje podrobný postup pro nastavení Ubuntu 22.04 na serveru Hetzner v záchranném režimu. Pokyny zahrnují vytvoření disků, formátování, instalaci pomocí Hetzner Installimage, konfiguraci RAID 0, GPT partitioning, a změnu hostname.
Kroky
## Upozornění
Tento dokument a související instrukce jsou připraveny především pro osobní použití a mohou obsahovat specifické kroky nebo nastavení optimalizovaná pro specifické potřeby uživatele. Uživatelé by měli tyto informace používat jako vodítko a přizpůsobit je podle svých individuálních potřeb.
### 1. Aktivace záchranného režimu
- Přihlaste se do svého účtu Hetzner Robot.
- Vyberte server a přejděte na kartu "Rescue".
- Aktivujte záchranný systém s odpovídající architekturou (64-bit).
- Restartujte server, aby se bootoval do záchranného režimu.
- Přihlaste se přes SSH pomocí poskytnutých přihlašovacích údajů.
### 2. Příprava a rozdělení disků
Kontrola existujících oddílů
```bash
lsblk
fdisk -l
```
Odstranění existujících oddílů (pokud je to nutné)
```bash
fdisk /dev/sda
```
- Zadejte d pro odstranění oddílu.
- Opakujte pro všechny existující oddíly.
- Zadejte w pro uložení změn.
## 3. Nastavení GPT a vytvoření nových oddílů
Použití parted pro nastavení GPT
```bash
parted /dev/sda
(parted) mklabel gpt
(parted) mkpart primary ext4 0% 100%
(parted) quit
```
## 4. Instalace Ubuntu 22.04 pomocí Hetzner Installimage
Spuštění Installimage
```bash
installimage
```
### Konfigurace Installimage
- Vyberte Ubuntu 22.04 ze seznamu.
- Upravte konfiguraci pro nastavení oddílů, RAID 0 (pokud je požadováno) a další parametry.
- Příklad konfigurace:
```bash
DRIVE1 /dev/nvme0n1
SWRAID 0
PART /boot ext4 512M
PART / ext4 all
HOSTNAME yourhostname
```
## 5. Formátování a připojení disků
Vytvoření připojovacích bodů a připojení disků
```bash
mkdir /mnt/data
mkdir /mnt/backup
mount /dev/sda1 /mnt/data
mount /dev/sdb1 /mnt/backup
```
### Ověření připojení
```bash
df -h
```
## 6. Aktualizace /etc/fstab pro automatické připojení
Úprava `/etc/fstab`
```bash
nano /etc/fstab
```
Přidání následujících řádků
```bash
/dev/nvme0n1p3 / ext4 defaults 0 1
/dev/nvme0n1p2 /boot ext4 defaults 0 2
/dev/sda1 /mnt/data ext4 defaults 0 2
/dev/sdb1 /mnt/backup ext4 defaults 0 2
```
## 7. Změna hostname
Aktualizace hostname pomocí `hostnamectl`
```bash
hostnamectl set-hostname myserver
```
Úprava `/etc/hostname`
```bash
nano /etc/hostname
```
- Nahraďte obsahem:
```bash
myserver
```
Úprava `/etc/hosts`
```bash
nano /etc/hosts
```
- Aktualizujte řádky, které obsahují starý hostname:
```bash
127.0.0.1 localhost.localdomain localhost
ip4_my_server myserver
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
ip6_my_server myserver
```
## 8. Restart a ověření
```bash
reboot
```
- Zkontrolujte, zda jsou všechny oddíly správně připojeny:
```bash
df -h
```
- Zkontrolujte hostname:
```bash
hostnamectl
```
### Plánované použití disků
- VMe Disk (/dev/nvme0n1): Systém a aplikace.
- HDD 1 (/dev/sda1): Úložiště dat pro aplikace jako PixelFed, Mastodon, - PeerTube.
- HDD 2 (/dev/sdb1): Úložiště záloh.
## Skript setup_server.sh
Tento skript automatizuje počáteční nastavení nového uživatele a konfiguraci SSH na serveru s Ubuntu. Skript provádí následující úkoly:
## Funkce Skriptu
1. **Aktualizace a Upgrade Systému:**
- Spustí `apt-get update` a `apt-get upgrade` pro aktualizaci seznamu balíčků a upgrade stávajících balíčků.
2. **Změna Hesla pro Root:**
- Umožňuje uživateli změnit heslo pro root účet pro zvýšení bezpečnosti.
3. **Vytvoření Nového Uživatele:**
- Přidá nového uživatele do systému s domovským adresářem a skupinou, založenou na jméně, které uživatel zadá.
4. **Instalace a Konfigurace Sudo:**
- Instaluje balíček `sudo`, pokud ještě není nainstalovaný.
- Přidá nového uživatele do skupiny `sudo`, což mu dává práva pro vykonávání příkazů jako superuživatel.
5. **Nastavení SSH Klíče:**
- Požádá uživatele, zda chce nahrát veřejný SSH klíč. Pokud ano, uživatel zadá cestu k veřejnému klíči, který se následně uloží do `authorized_keys` v domovském adresáři nového uživatele.
- Nastaví správná oprávnění pro složku `.ssh` a soubory uvnitř.
6. **Konfigurace SSH Daemonu:**
- Přidá nastavení `PubkeyAuthentication yes` a `AuthorizedKeysFile .ssh/authorized_keys` do konfiguračního souboru SSH daemonu (`sshd_config`) pro povolení autentizace pomocí veřejného klíče.
7. **Restart SSH Služby:**
- Restartuje SSH službu pro aplikaci změn v konfiguraci.
Pro spuštění kontrolního skriptu, stáhněte a přidejte spustitelná práva s následujícími příkazy:
```bash
chmod +x setup_server.sh
./setup_server.sh
```
Druhý skript, `checkconfig.sh`, provádí kontrolu správných nastavení práv a dalších konfigurací na serveru:
### Funkce Kontrolního Skriptu
1. **Kontrola Práv:** Zkontroluje, zda mají složky `.ssh` a soubory uvnitř správně nastavená práva pro zabezpečení SSH připojení.
2. **Kontrola Konfigurace SSH Daemonu:** Ověří, zda jsou v konfiguračním souboru SSH daemonu správně nastaveny klíče pro autentizaci.
### Použití Kontrolního Skriptu
Pro spuštění kontrolního skriptu, stáhněte a přidejte spustitelná práva s následujícími příkazy:
```bash
chmod +x checkconfig.sh
./checkconfig.sh