# Anleitung: Eigene Website mit Nginx oder Apache

## Version für Linux

### Voraussetzungen
- Linux-Distribution mit `apt`-Paketverwaltung (z. B. Ubuntu, Debian)
- Terminalzugriff
- Dev-Container schließen (!)

---

### Eigene Website mit Nginx unter Linux

1. Installieren Sie Nginx:
   ```bash
   sudo apt update
   sudo apt install nginx
   ```

2. Erstellen Sie Ihren Projektordner:
   ```bash
   mkdir -p /home/{IhrVerzeichnis}/meine-website
   echo "<h1>Willkommen bei {IhrName}</h1>" > /home/{IhrVerzeichnis}/meine-website/index.html
   ```

3. Erstellen Sie eine neue Nginx-Konfiguration:
   ```bash
   sudo nano /etc/nginx/sites-available/{IhrName}
   ```

   Inhalt der Datei:
   ```nginx
   server {
       listen 80;
       server_name localhost;

       root /home/{IhrVerzeichnis}/meine-website;
       index index.html;

       location / {
           try_files $uri $uri/ =404;
       }
   }
   ```

4. Aktivieren Sie die Konfiguration und deaktivieren Sie die Standardseite:
   ```bash
   sudo rm /etc/nginx/sites-enabled/default
   sudo ln -s /etc/nginx/sites-available/{IhrName} /etc/nginx/sites-enabled/
   ```

5. Zugriffsrechte prüfen:
   ```bash
   sudo chmod o+x /home/{IhrVerzeichnis}
   sudo chmod -R o+r /home/{IhrVerzeichnis}/meine-website
   ```

6. Nginx neu laden:
   ```bash
   sudo nginx -t
   sudo systemctl reload nginx
   ```

7. Testen Sie Ihre Website:

   Öffnen Sie im Browser:
   ```
   http://localhost
   ```

8. Kopieren Sie Ihre Rezepte-Sammlung aus Übungsblatt 02 in Ihren Projektordner (`meine-website`). Benennen Sie die Hauptseite mit der Tabelle um zu `index.html`. Aktualisieren Sie dann die Webseite im Browser.

9. Nginx stoppen:
   ```bash
   sudo systemctl stop nginx
   ```

10. Nginx vollständig entfernen:
   ```bash
   sudo apt remove nginx nginx-common
   sudo apt purge nginx nginx-common
   sudo apt autoremove
   rm -r /home/{IhrVerzeichnis}/meine-website
   sudo rm -r /etc/nginx /var/log/nginx
   ```

---

### Eigene Website mit Apache unter Linux

1. Installieren Sie Apache:
   ```bash
   sudo apt update
   sudo apt install apache2
   ```

2. Erstellen Sie Ihren Projektordner:
   ```bash
   mkdir -p /home/{IhrVerzeichnis}/meine-website
   echo "<h1>Willkommen bei {IhrName}</h1>" > /home/{IhrVerzeichnis}/meine-website/index.html
   ```

3. Erstellen Sie eine neue Apache-Konfiguration:
   ```bash
   sudo nano /etc/apache2/sites-available/{IhrName}.conf
   ```

   Inhalt der Datei:
   ```apache
   <VirtualHost *:80>
       ServerName localhost
       DocumentRoot /home/{IhrVerzeichnis}/meine-website

       <Directory /home/{IhrVerzeichnis}/meine-website">
           Options Indexes FollowSymLinks
           AllowOverride None
           Require all granted
       </Directory>
   </VirtualHost>
   ```

4. Aktivieren Sie die Konfiguration und deaktivieren Sie die Standardseite:
   ```bash
   sudo a2dissite 000-default.conf
   sudo a2ensite {IhrName}.conf
   ```

5. Zugriffsrechte prüfen:
   ```bash
   sudo chmod o+x /home/{IhrVerzeichnis}
   sudo chmod -R o+r /home/{IhrVerzeichnis}/meine-website
   ```

6. Apache neu laden:
   ```bash
   sudo apache2ctl configtest
   sudo systemctl reload apache2
   ```

7. Testen Sie Ihre Website:

   Öffnen Sie im Browser:
   ```
   http://localhost
   ```

8. Kopieren Sie Ihre Rezepte-Sammlung aus Übungsblatt 02 in Ihren Projektordner (`meine-website`). Benennen Sie die Hauptseite mit der Tabelle um zu `index.html`. Aktualisieren Sie dann die Webseite im Browser.

9. Apache stoppen:
   ```bash
   sudo systemctl stop apache2
   ```

10. Apache vollständig entfernen:
   ```bash
   sudo apt remove apache2 apache2-utils apache2-bin apache2-data
   sudo apt purge apache2 apache2-utils apache2-bin apache2-data
   sudo apt autoremove
   rm -r /home/{IhrVerzeichnis}/meine-website
   sudo rm -r /etc/apache2 /var/log/apache2
   ```