4 Setup
muke edited this page 2026-03-01 18:41:27 +01:00

# Dev-Guide - Lokal testen & entwickeln

Dieser Guide erklärt, wie du PhorgeRunner lokal auf deinem Rechner entwickeln und testen kannst.

⚠️ Wichtig: Testen gegen die Wikonia Phorge-Instanz ist nicht gestattet!
Du musst eine eigene Phorge-Instanz aufsetzen, um die API zu testen.

Voraussetzungen

  • PHP 7.4 oder neuer
  • MySQL/MariaDB Server (lokal oder Docker)
  • Git zum Clonen des Repos
  • Eine Phorge-Instanz (zum Testen - siehe unten)

1. Repo clonen

git clone https://git.wikonia.net/WIKONIA/phorgerunner.git
cd phorgerunner

2. Konfiguration erstellen

cp config/config.template.php config/config.php

Bearbeite config/config.php:

return [
    'db_host'     => 'localhost',
    'db_name'     => 'phorgerunner_dev',
    'db_user'     => 'dein_user',
    'db_pass'     => 'dein_passwort',
    
    // **Deine lokale Phorge-Instanz**, nicht wikonia.net!
    'api_url'     => 'http://localhost:8080/api',  // oder deine Test-Phorge
    'api_token'   => 'api-xxxxxxxxxxxxx',
    'api_timeout' => 30,
    
    'log_mode'    => 'file',  // oder 'console' zum Debuggen
    'log_level'   => 'debug',
    'log_dir'     => __DIR__ . '/../logs',
];

3. Datenbank einrichten

Lokal MySQL/MariaDB starten:

mysql -u root -p

Dann in der MySQL-Konsole:

CREATE DATABASE phorgerunner_dev CHARACTER SET utf8mb4;
CREATE USER 'phorgerunner'@'localhost' IDENTIFIED BY 'sicheres_passwort';
GRANT ALL ON phorgerunner_dev.* TO 'phorgerunner'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Schema laden:

mysql -u phorgerunner -p phorgerunner_dev < sql/create.sql

4. Eigene Phorge-Instanz aufsetzen

Option A: Docker (empfohlen)

Ein schnelles docker-compose.yml für eine Test-Phorge:

version: '3.8'
services:
  phorge-db:
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: phorge
    ports:
      - "3307:3306"
    volumes:
      - phorge-db:/var/lib/mysql

  phorge:
    image: phorge/phorge:latest
    ports:
      - "8080:80"
    environment:
      PHORGE_DB_HOST: phorge-db
      PHORGE_DB_NAME: phorge
      PHORGE_DB_USER: root
      PHORGE_DB_PASS: rootpass
    depends_on:
      - phorge-db
    volumes:
      - phorge-data:/var/www/phorge

volumes:
  phorge-db:
  phorge-data:

Starten:

docker-compose up -d

Phorge läuft dann unter http://localhost:8080.

Option B: Lokal installieren

Siehe offizielle Phorge-Doku.

5. Phorge API-Token erstellen

  1. Melde dich in deiner lokalen Phorge an
  2. Gehe zu SettingsConduit API Tokens
  3. Erstelle einen neuen Token
  4. Kopiere den Token in config.php

6. Test-Skript schreiben

Erstelle test-local.php:

<?php
require_once __DIR__ . '/src/Autoloader.php';

try {
    // Test: Maniphest-Suche
    $task = (new App\Tasks\ManiphestSearchTask())
        ->setLimit(5);
    
    echo "Führe Task aus...\n";
    $result = $task->execute();
    
    echo "Erfolg! Ergebnisse:\n";
    print_r($result);
} catch (\Exception $e) {
    echo "Fehler: " . $e->getMessage() . "\n";
}

Ausführen:

php test-local.php

Wenn keine Fehler auftreten, ist die lokale Umgebung bereit!

7. Debugging

Logs prüfen

tail -f logs/app.log
# oder
tail -f logs/error.log

Debug-Modus aktivieren

In config.php:

'log_level' => 'debug',
'log_mode'  => 'console',  // Ausgabe direkt im Terminal

Siehe auch: Entwicklung, Projektziele