Installation

Diese Anleitung beschreibt, wie du CommuCore auf einem lokalen Entwicklungssystem oder einem Produktionsserver installierst.


Systemvoraussetzungen

CommuCore basiert auf dem Laravel-Framework. Stelle sicher, dass folgende Komponenten auf deinem System verfügbar sind:

Komponente Mindestversion Hinweis
PHP 8.3+ Benötigte Extensions: pdo, mbstring, openssl, tokenizer, xml, ctype, json, bcmath
Composer 2.x PHP-Paketmanager
Node.js 18+ Für das Build-System
NPM oder PNPM Zur Verwaltung von Frontend-Abhängigkeiten
MySQL / MariaDB oder PostgreSQL Als Datenbank-Backend
Webserver Nginx (empfohlen) oder Apache
Git Zum Klonen des Repositories

Tipp: Auf lokalen Entwicklungssystemen eignet sich Laravel Herd oder Laragon als einfache All-in-One-Umgebung.


Repository klonen

Klone das CommuCore-Repository und wechsle in das Projektverzeichnis:

git clone https://github.com/commu-core/commucore.git
cd commucore

PHP-Abhängigkeiten installieren

Installiere alle PHP-Pakete über Composer:

composer install

Für Produktionsumgebungen empfiehlt sich der optimierte Install-Befehl:

composer install --no-dev --optimize-autoloader

Frontend-Abhängigkeiten installieren

Installiere die JavaScript-Abhängigkeiten:

npm install

Alternativ mit PNPM (schneller, empfohlen):

pnpm install

Umgebung konfigurieren

Kopiere die mitgelieferte Beispiel-Umgebungsdatei:

cp .env.example .env

Generiere anschließend den Applikationsschlüssel:

php artisan key:generate

Öffne die .env-Datei und passe mindestens folgende Werte an:

APP_NAME=CommuCore
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=commucore
DB_USERNAME=root
DB_PASSWORD=

Hinweis: Stelle sicher, dass die Datenbank bereits existiert, bevor du die Migrationen ausführst.


Datenbank einrichten

Führe die Datenbankmigrationen aus, um alle Tabellen anzulegen:

php artisan migrate

Falls du die Datenbank mit Beispiel- oder Standarddaten befüllen möchtest:

php artisan db:seed

Einrichtungs-Wizard

Nach den Migrationen kannst du den interaktiven Installations-Wizard starten, der dich durch die Grundkonfiguration führt:

php artisan commucore:install

Der Wizard übernimmt automatisch die Einrichtung des Administrator-Kontos sowie der Organisationsinformationen. Weitere Details findest du auf der Seite Installations-Wizard.


Verzeichnisberechtigungen & Storage

Die folgenden Verzeichnisse müssen vom Webserver beschreibbar sein:

storage/
bootstrap/cache/

Setze die Berechtigungen entsprechend (Linux/macOS):

chmod -R 775 storage bootstrap/cache
chown -R www-data:www-data storage bootstrap/cache

Erstelle anschließend den symbolischen Link für den öffentlichen Dateizugriff:

php artisan storage:link

Assets bauen

Entwicklung

Im Entwicklungsmodus mit Hot-Reload:

npm run dev

Produktion

Für den Produktionseinsatz werden die Assets optimiert und minifiziert:

npm run build

Anwendung starten

Lokal (Entwicklung)

Starte den eingebauten Laravel-Entwicklungsserver:

php artisan serve

Die Anwendung ist anschließend unter folgender Adresse erreichbar:

http://localhost:8000

Produktion

Für den Produktionsbetrieb wird ein vollwertiger Webserver empfohlen. Siehe dazu den Abschnitt Produktionshinweise.


Produktionshinweise

Empfohlener Stack

  • Nginx als Webserver
  • PHP-FPM für die PHP-Verarbeitung
  • Supervisor zur Verwaltung von Queue-Workern
  • Cron für den Laravel-Scheduler

Nginx-Beispielkonfiguration

server {
    listen 80;
    server_name deine-domain.de;
    root /var/www/commucore/public;

    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Laravel Scheduler (Cron)

Füge folgenden Eintrag zur Crontab des Webserver-Nutzers hinzu (crontab -e):

* * * * * cd /pfad/zu/commucore && php artisan schedule:run >> /dev/null 2>&1

Queue Worker (Supervisor)

Beispielkonfiguration für Supervisor (/etc/supervisor/conf.d/commucore.conf):

[program:commucore-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /pfad/zu/commucore/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
numprocs=2
redirect_stderr=true
stdout_logfile=/var/log/commucore-worker.log

Produktionsoptimierungen

Nach dem Deployment empfehlen sich folgende Befehle zur Performance-Optimierung:

php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan event:cache

Support

Für professionelle Installation, Hosting oder individuelle Anpassungen:

https://commu-core.com

War diese Seite hilfreich?
Issue melden