Webseite – Installation auf Debian 12
1. System vorbereiten
System aktualisieren und wichtige Pakete installieren.
apt update && apt upgrade -y
apt install -y curl git unzip nginx2. Node.js + npm installieren
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt install -y nodejs
node -v
npm -v3. Projekt hochladen
Lade dein Projekt als ZIP nach /root hoch und benenne es:
website.zip4. Projekt nach /var/www verlagern
mkdir -p /var/www
cd /var/www
mv /root/website.zip /var/www/
unzip website.zip5. Verzeichnis benennen
mv "website" web
cd /var/www/web6. Dependencies installieren
cd /var/www/web
npm install --unsafe-perm=true --allow-root7. Permissions festlegen
chmod +x node_modules/next/dist/bin/next
chmod +x node_modules/.bin/next
ls -l node_modules/.bin/next8. Build erstellen
cd /var/www/web
npm run build9. PM2 installieren
npm install -g pm210. PM2 starten
cd /var/www/web
pm2 start npm --name "web" -- start
pm2 save
pm2 status11. Nginx als Reverse Proxy einrichten
Domain → Port 3000 weiterleiten:
bash -c 'cat > /etc/nginx/sites-available/web << "EOF"
server {
listen 80 default_server;
listen [::]:80 default_server;
# hier optional deine Domain eintragen:
# server_name deinedomain.de www.deinedomain.de;
server_name _;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF'12. Site aktivieren
ln -sf /etc/nginx/sites-available/web /etc/nginx/sites-enabled/web
# optional: Default-Config entfernen
[ -f /etc/nginx/sites-enabled/default ] && rm /etc/nginx/sites-enabled/default13. Nginx neu laden
nginx -t
systemctl reload nginx14. Optional: HTTPS
apt install -y certbot python3-certbot-nginx
certbot --nginx -d deinedomain.de -d www.deinedomain.de