# YourPart Deployment Anleitung Diese Anleitung beschreibt, wie Sie die YourPart-Anwendung auf einem Ubuntu 22.04 Server deployen. ## Voraussetzungen - Ubuntu 22.04 Server - Node.js 18+ installiert - MySQL/MariaDB installiert und konfiguriert - Redis installiert - Apache2 installiert - SSL-Zertifikate von Let's Encrypt (bereits vorhanden) ## Installation der Abhängigkeiten ```bash # Node.js installieren curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs # MySQL installieren sudo apt install mysql-server # Redis installieren sudo apt install redis-server # Apache2 installieren sudo apt install apache2 # Apache-Module aktivieren sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod proxy_wstunnel sudo a2enmod rewrite sudo a2enmod ssl ``` ## Konfiguration ### 1. Datenbank einrichten ```bash sudo mysql_secure_installation sudo mysql -u root -p ``` ```sql CREATE DATABASE yourpart CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'yourpart'@'localhost' IDENTIFIED BY 'your_secure_password'; GRANT ALL PRIVILEGES ON yourpart.* TO 'yourpart'@'localhost'; FLUSH PRIVILEGES; EXIT; ``` ### 2. Redis konfigurieren ```bash sudo nano /etc/redis/redis.conf ``` Stellen Sie sicher, dass Redis auf localhost läuft und ein Passwort gesetzt ist. ### 3. Umgebungsvariablen konfigurieren Erstellen Sie eine `.env`-Datei im Backend-Verzeichnis: ```bash cd backend cp .env.example .env nano .env ``` Wichtige Variablen: ```env NODE_ENV=production PORT=2020 DB_HOST=localhost DB_USER=yourpart DB_PASS=your_secure_password DB_NAME=yourpart REDIS_HOST=localhost REDIS_PASS=your_redis_password ``` ## Deployment ### 1. Skripte ausführbar machen ```bash chmod +x deploy.sh deploy-backend.sh build-frontend.sh ``` ### 2. Deployment ausführen ```bash ./deploy.sh ``` Das Skript wird automatisch: - Das Frontend bauen - Den Backend-Service installieren - Die Apache-Konfiguration einrichten - Alle Services starten ## Verifizierung ### 1. Service-Status prüfen ```bash sudo systemctl status yourpart.service sudo systemctl status apache2 ``` ### 2. Logs überprüfen ```bash # Backend-Logs sudo journalctl -u yourpart.service -f # Apache-Logs sudo tail -f /var/log/apache2/yourpart.*.log ``` ### 3. Anwendung testen Öffnen Sie in Ihrem Browser: - https://www.your-part.de ## Wartung ### Service neu starten ```bash sudo systemctl restart yourpart.service sudo systemctl reload apache2 ``` ### Updates deployen ```bash git pull origin main ./deploy.sh ``` ### Logs rotieren ```bash sudo logrotate -f /etc/logrotate.d/apache2 ``` ## Troubleshooting ### Backend startet nicht ```bash sudo journalctl -u yourpart.service -n 50 ``` Prüfen Sie: - Datenbankverbindung - Redis-Verbindung - Port 2020 ist verfügbar - Berechtigungen in `/opt/yourpart/backend` ### Apache-Fehler ```bash sudo apache2ctl configtest sudo tail -f /var/log/apache2/error.log ``` ### SSL-Probleme ```bash sudo certbot certificates sudo certbot renew --dry-run ``` ## Sicherheit - Firewall konfigurieren (nur Port 80, 443, 22 öffnen) - Regelmäßige Updates - Datenbank-Backups - SSL-Zertifikate erneuern - Logs überwachen