- Optimierung der Fall-Logik für Tiles, um sicherzustellen, dass leere Positionen korrekt gefüllt werden. - Einführung einer neuen Methode zur Überprüfung und Auffüllung leerer gültiger Felder nach dem Fallen von Tiles. - Anpassungen an der Animation und den Debug-Ausgaben zur besseren Nachverfolgbarkeit der Fall- und Auffüllprozesse. - Verbesserung der Logik zur Handhabung von Tiles und deren Positionen im Spiel.
186 lines
3.1 KiB
Markdown
186 lines
3.1 KiB
Markdown
# 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
|