Installieren

Diese Anleitung erklärt dir, wie du dein Wiki-System mit maximaler Performance (via Unix Domain Sockets) auf einen Ubuntu-Server installierst.

---

Teil 1: Das Backup (Deine Daten sichern)

  • Öffne ein Terminal in deinem Projektordner auf deinem Computer.
  • Gib diesen Befehl ein:
   dotnet run --project backup -- export mein_umzug.xml --full
  • Sichere die Datei mein_umzug.xml.

---

Teil 2: Vorbereitung auf dem Server

  • Server aktualisieren:
   sudo apt update && sudo apt upgrade -y
sudo apt install software-properties-common
sudo add-apt-repository ppa:dotnet/backports
sudo apt-get update
sudo apt-get install -y aspnetcore-runtime-10.0
sudo apt-get install -y aspnetcore-runtime-9.0
sudo apt-get install -y aspnetcore-runtime-8.0
  • .NET 10 installieren:
   sudo apt install -y dotnet-sdk-10.0
  • PostgreSQL installieren & einrichten:
   sudo apt install -y postgresql postgresql-contrib
   sudo -u postgres psql
   # In psql:
   CREATE DATABASE meincms;
   CREATE USER cmsuser WITH PASSWORD 'DeinSicheresPasswort';
   GRANT ALL PRIVILEGES ON DATABASE meincms TO cmsuser;
   \q

---

Teil 3: Installation & Unix Socket Setup

1. Code hochladen

Kopiere dein Projekt auf den Server (z.B. nach /var/www/meincms).

2. Konfiguration anpassen

Bearbeite mvc/appsettings.json (Passwort & Socket-Pfad):

{
  "ConnectionStrings": {
    "DefaultConnection": "Host=localhost;Database=meincms;Username=cmsuser;Password=DeinSicheresPasswort"
  },
  "Kestrel": {
    "UnixSocket": "/run/meincms.sock"
  }
}

3. Der System-Dienst (Motor)

Wir erstellen den Dienst so, dass er die Socket-Datei nutzen kann.

sudo nano /etc/systemd/system/meincms.service

Inhalt (Pfade anpassen!):

[Unit]
Description=MeinCMS Wiki System (Unix Socket)
After=network.target postgresql.service

[Service]
WorkingDirectory=/var/www/meincms/mvc
# Wichtig: Wir starten die DLL direkt für bessere Stabilität
ExecStart=/usr/bin/dotnet run --project /var/www/meincms/mvc/mvc.csproj --configuration Release
Restart=always
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=meincms
User=www-data
Group=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production
# Verzeichnis für die Socket-Datei vorbereiten
RuntimeDirectory=meincms

[Install]
WantedBy=multi-user.target

4. Nginx als Schutzschild (Konfiguration für Sockets)

sudo apt install -y nginx
sudo nano /etc/nginx/sites-available/default

Ersetze den Inhalt durch (Domain anpassen!):

server {
    listen 80;
    server_name deine-stadt.de;

    location / {
        # Hier verbinden wir Nginx mit dem Unix Socket
        proxy_pass         http://unix:/run/meincms.sock;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection keep-alive;
        proxy_set_header   Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
}

---

Teil 4: Start & Import

  • Dienste aktivieren:
   sudo systemctl daemon-reload
   sudo systemctl enable meincms
   sudo systemctl start meincms
   sudo systemctl restart nginx
  • Daten importieren:
   cd /var/www/meincms
   dotnet run --project backup -- import mein_umzug.xml

FERTIG! Dein System läuft jetzt über den hochperformanten Unix Socket. Das ist die professionellste Art, ASP.NET Core unter Linux zu betreiben.


Kategorien: Keine
Zuletzt aktualisiert am 05.04.2026 18:18