API Key Wildcard: Installation
API Key Wildcard für osTicket installieren: Plugin-Ordner, Aktivierung, automatische Änderungen an api/.htaccess, manuelle Installation als Fallback, Webserver-Hinweise und Deaktivierung.
API Key Wildcard: Installation
Plugin-Dateien bereitstellen
Der Plugin-Ordner muss exakt api-key-wildcard heißen und unter include/plugins/ deiner osTicket-Installation liegen. Der Endpoint lädt seine Hilfsdatei über den fest eingetragenen Pfad include/plugins/api-key-wildcard/api.wildcard.inc.php, ein anderer Ordnername bricht den Endpoint daher.
/pfad/zu/osticket/include/plugins/api-key-wildcard/
ZIP-Download
- Lade das neueste Release von GitHub Releases herunter.
- Entpacke die ZIP-Datei.
- Lade den Ordner
api-key-wildcardnachinclude/plugins/auf deinen osTicket-Server hoch.
Git Clone
cd /pfad/zu/osticket/include/plugins
git clone https://github.com/markus-michalski/osticket-api-key-wildcard.git api-key-wildcard
Das Plugin braucht weder Composer noch weitere Abhängigkeiten. Der Zielordner
api-key-wildcardim Clone-Befehl ist wichtig, weil der Repository-Name sonst einen anderen Ordner erzeugt.
Plugin aktivieren
- Melde dich im osTicket Admin Panel an.
- Öffne Verwalten → Plugins.
- Wähle API Key Wildcard Support und aktiviere das Plugin.
Beim Aktivieren läuft enable() und erledigt der Reihe nach:
- Singleton-Instanz: Das Plugin ist ein Singleton. Gibt es noch keine Instanz, legt
enable()automatisch eine aktive Instanz mit dem Plugin-Namen an. Schlägt das fehl, brichtenable()an dieser Stelle ab und liefert die Fehlermeldungen der Instanz-Erstellung zurück. - Endpoint-Datei:
wildcard.phpwird aus dem Plugin-Ordner nachapi/wildcard.phpkopiert und mitchmod 0755versehen. api/.htaccess: Das Plugin ergänzt die Datei umOptions -MultiViewsund die Wildcard-Rewrite-Regel (Details unten).- Version: Die Plugin-Version wird als
installed_versionin der Plugin-Konfiguration gespeichert.
Schlägt ein Schritt fehl, liefert enable() die Fehlermeldungen zurück:
Source file not found: ...Failed to copy wildcard.php to ... Please copy manually.Failed to set permissions on ....htaccess file not found at ...Failed to add Options -MultiViews to .htaccessFailed to add wildcard rewrite rule. Could not find osTicket API rewrite pattern.- die Fehlermeldungen der Instanz-Erstellung (kommen von osTicket,
enable()bricht dann vorzeitig ab)
Was in api/.htaccess geändert wird
Das Plugin ändert ausschließlich api/.htaccess im osTicket-Hauptverzeichnis, nicht die .htaccess im Plugin-Ordner. Die Datei im Plugin-Ordner ist nur eine Referenz.
- MultiViews: Das Plugin ersetzt jedes Vorkommen von
RewriteEngine Onin der Datei (nicht nur das erste) durchRewriteEngine On, eine Leerzeile, den Kommentar# Disable MultiViews for wildcard endpoint (prevents mod_negotiation)mit zwei Leerzeichen Einrückung und darunterOptions -MultiViews, ebenfalls mit zwei Leerzeichen Einrückung. StehtOptions -MultiViewsschon irgendwo in der Datei, ändert das Plugin an dieser Stelle nichts. - Wildcard-Regel: Vor dem Standard-API-Block von osTicket (erkannt an zwei Bedingungen
!-f/!-dgefolgt von der Bedingung auf.../apiim Request-URI) wird die Wildcard-Regel eingefügt:
# Wildcard API endpoint (must come BEFORE the default rule)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^wildcard/(.*)$ wildcard.php/$1 [L]
# Default API endpoint (standard osTicket)
Steht wildcard/ schon in der Datei, wird die Regel nicht noch einmal eingefügt. Findet das Plugin den Standard-Block nicht, wird die Regel nicht eingefügt und die Fehlermeldung oben ausgegeben.
Das Plugin ändert keine PHP-Dateien von osTicket. Es kopiert
wildcard.phpnachapi/und ergänztapi/.htaccess.
API-Key mit 0.0.0.0 anlegen
- Öffne Verwalten → API-Schlüssel.
- Lege einen neuen API-Schlüssel an.
- Trage als IP-Adresse
0.0.0.0ein. - Aktiviere Kann Tickets erstellen.
- Speichere und kopiere den erzeugten Schlüssel.
Nur Keys mit der IP
0.0.0.0gelten auf dem Wildcard-Endpoint für beliebige Absender-IPs. Ein Key, der an die IP des Aufrufers gebunden ist, wird dort ebenfalls akzeptiert.
Manuelle Installation (Fallback)
Schlägt die automatische Installation fehl (zum Beispiel wegen Dateiberechtigungen), erledigst du die Schritte von Hand.
- Endpoint-Datei kopieren:
cp /pfad/zu/osticket/include/plugins/api-key-wildcard/wildcard.php /pfad/zu/osticket/api/wildcard.php
chmod 755 /pfad/zu/osticket/api/wildcard.php
- In
api/.htaccessnachRewriteEngine Oneinfügen:
Options -MultiViews
- In
api/.htaccessvor dem Standard-API-Block einfügen:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^wildcard/(.*)$ wildcard.php/$1 [L]
Webserver
Das Plugin automatisiert nur Apache über api/.htaccess (mit aktiviertem mod_rewrite). Setzt du einen anderen Webserver ein, wird .htaccess nicht ausgewertet und du musst die Umleitung selbst einrichten.
- Anfragen an
/api/wildcard/<pfad>müssen intern auf/api/wildcard.php/<pfad>umgeleitet werden. - Der Teil nach
wildcard.phpmuss als PATH_INFO bei PHP ankommen, weil der Endpoint daraus die Route (/tickets.json) bestimmt.
Deaktivieren und Entfernen
Beim Deaktivieren löscht disable() die Datei api/wildcard.php und entfernt die Wildcard-Regel sowie Options -MultiViews aus api/.htaccess. Der Plugin-Ordner bleibt bestehen. Schlägt das Löschen der Datei fehl, wird das nur ins PHP-Error-Log geschrieben, disable() meldet trotzdem Erfolg. Prüfe in diesem Fall, ob api/wildcard.php noch existiert.
Deaktiviere das Plugin, bevor du eine Umgebung produktiv schaltest. Danach existiert der Wildcard-Endpoint nicht mehr.