Installieren: Unterschied zwischen den Versionen
imported>Import Version 383 |
imported>Import Version 384 |
||
| Zeile 20: | Zeile 20: | ||
== Teil 2: Vorbereitung auf dem Server == | == Teil 2: Vorbereitung auf dem Server == | ||
<ol style="list-style-type: decimal;"> | |||
<li><p>'''Server aktualisieren:'''</p> | |||
<syntaxhighlight lang="bash">sudo apt update && sudo apt upgrade -y | |||
sudo apt install software-properties-common | |||
# Fügt das .NET Backports-Repository hinzu, um verschiedene .NET-Versionen zu erhalten | |||
sudo add-apt-repository ppa:dotnet/backports | sudo add-apt-repository ppa:dotnet/backports | ||
# Aktualisiert die Paketquellen | |||
sudo apt-get update | sudo apt-get update | ||
# Installiert mehrere Versionen der ASP.NET Core Runtime für parallele Anwendungskompatibilität | |||
sudo apt-get install -y aspnetcore-runtime-10.0 | 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-9.0 | ||
sudo apt-get install -y aspnetcore-runtime-8.0 | sudo apt-get install -y aspnetcore-runtime-8.0</syntaxhighlight></li> | ||
< | <li><p>'''.NET 10 installieren:'''</p> | ||
sudo apt install -y dotnet-sdk-10.0 | <syntaxhighlight lang="bash">sudo apt install -y dotnet-sdk-10.0</syntaxhighlight></li> | ||
< | <li><p>'''PostgreSQL installieren & einrichten:'''</p> | ||
sudo apt install -y postgresql postgresql-contrib | <syntaxhighlight lang="bash">sudo apt install -y postgresql postgresql-contrib | ||
sudo -u postgres psql | sudo -u postgres psql | ||
# In psql: | # In psql: | ||
CREATE DATABASE meincms; | CREATE DATABASE meincms; | ||
CREATE USER cmsuser WITH PASSWORD | CREATE USER cmsuser WITH PASSWORD 'DeinSicheresPasswort'; | ||
GRANT ALL PRIVILEGES ON DATABASE meincms TO cmsuser; | GRANT ALL PRIVILEGES ON DATABASE meincms TO cmsuser; | ||
\q</syntaxhighlight></li></ol> | |||
Version vom 27. März 2026, 22:52 Uhr
Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).
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 # Fügt das .NET Backports-Repository hinzu, um verschiedene .NET-Versionen zu erhalten sudo add-apt-repository ppa:dotnet/backports # Aktualisiert die Paketquellen sudo apt-get update # Installiert mehrere Versionen der ASP.NET Core Runtime für parallele Anwendungskompatibilität 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.
Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).