#!/bin/bash # Team Chat System - Systemd Service Installer # Installiert den Team Chat als Systemd-Service für automatischen Start set -e SERVICE_NAME="teamchat" SERVICE_FILE="/home/OfficeDesk/teamchat.service" SYSTEMD_PATH="/etc/systemd/system/${SERVICE_NAME}.service" # Farben RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' log() { echo -e "${GREEN}[$(date +'%Y-%m-%d %H:%M:%S')] $1${NC}" } error() { echo -e "${RED}[ERROR] $1${NC}" >&2 } warning() { echo -e "${YELLOW}[WARNING] $1${NC}" } info() { echo -e "${BLUE}[INFO] $1${NC}" } # Prüfe Root-Rechte if [[ $EUID -ne 0 ]]; then error "Dieses Script muss als root ausgeführt werden!" echo "Verwendung: sudo $0" exit 1 fi log "Installiere Team Chat System als Systemd-Service..." # Kopiere Service-Datei log "Kopiere Service-Datei nach $SYSTEMD_PATH" cp "$SERVICE_FILE" "$SYSTEMD_PATH" # Setze korrekte Berechtigungen chmod 644 "$SYSTEMD_PATH" # Systemd neu laden log "Lade Systemd-Konfiguration neu..." systemctl daemon-reload # Service aktivieren log "Aktiviere Service für automatischen Start beim Boot..." systemctl enable "$SERVICE_NAME" # Service starten log "Starte Team Chat Service..." systemctl start "$SERVICE_NAME" # Warte kurz sleep 3 # Status prüfen log "Prüfe Service-Status..." if systemctl is-active --quiet "$SERVICE_NAME"; then log "✅ Service erfolgreich gestartet!" echo "" echo "=== Service Status ===" systemctl status "$SERVICE_NAME" --no-pager -l echo "" echo "=== Nützliche Commands ===" echo "Status prüfen: systemctl status $SERVICE_NAME" echo "Service stoppen: systemctl stop $SERVICE_NAME" echo "Service starten: systemctl start $SERVICE_NAME" echo "Logs anzeigen: journalctl -u $SERVICE_NAME -f" echo "Service deaktivieren: systemctl disable $SERVICE_NAME" echo "" info "Der Service startet jetzt automatisch beim System-Boot!" else error "Service konnte nicht gestartet werden!" echo "" echo "=== Debug Informationen ===" systemctl status "$SERVICE_NAME" --no-pager -l echo "" echo "=== Logs ===" journalctl -u "$SERVICE_NAME" --no-pager -n 20 exit 1 fi