Für Panel-Installer musste ich in der config.php 'panel' =>['install' => true] eintragen da ansonsten garnichts ging.
Mit 'debug' => false kam ich auch etwas weiter, da ansonsten PHP-Exceptions im Response Header auftauchten, z.B.
- es gibt kein “admin.yml”, der Installer legt aber einen Admin Account an
- es gibt keine error.php Template
Die habe ich dann erstellt und es wurde stiller.
Dazwischen immer wieder Cookies und Sessiondateien löschen…
Nachdem dann auch das HTTP PATCH Problem (Apache 2.4) behoben war kam der Redirect auf
Alles eingegeben aber nur der leere “OK” Dialog taucht auf. Die Übersetzungsdateien für englisch weden aber geladen (gleich zweimal laut DevTools).
Im Ordner /site/accounts findet sich auch ein ge’hash’ter Ordnername mit dem eingetragenen Account.
Darin liegen
-
.htpasswd
mit einem verschlüsseltem Passwort
-
index.php enthält ein Array
return [
‘email’ => ‘die-email-adresse’,
‘language’ => ‘en’,
‘name’ => ‘’,
‘role’ => ‘admin’
];
-
user.txt 0 Byte ~ leer
Übrigens schmeisst Users::create() nach User->readContent() eine Exception, die Datei user.txt würde nicht exitieren (siehe unten).
Debug in der Config mal ein/aus, mal um weiterzukommen, mal um zu sehen wo es evtl. hängt.
Wie auch immer…
Rufe ich die URL http://kundenname.local/panel auf folgt ein Redirect aufs Loginformular http://kundenname.local/panel/login .
Das Form POSTed an http://kundenname.local/api/auth/login (Status 200)
Ein Anmelden mit der Mailadresse und dem Kennwort aus der Installation ist aber nicht möglich.
[Bild:Kirby Panel Login Failed.png]
Trage ich manuell in ‘name’ => ‘EinUserName’ ein und befülle user.txt zufuß gemäß admin.yml geht immer noch nichts weiter: kein Login möglich. Immerhin ist User->readContent() beruhigt.
Da mich der Web-Installer also nicht weiter bringt, habe ich dann nach dem Cookbook (https://getkirby.com/docs/cookbook/setup/migrate-users) einen abgespeckten Skript erstellt (ohne das Kirby 2 Zeug) und damit ein paar User angelegt:
$user = $kirby->users()
->create([ ... ])
->update([ ... ]);
$user->writePassword($user->password());
Nach ein paar Versuchen inspesondere mit update() hatte ich ein Paar neuer Accounts und es steht auch was in deren “user.txt” drin. Ein dump der User-Objekte sieht auch gut aus.
Zuerst wurde auch bei dem Skript gemeckert, dass kein Blueprint für die Rolle “admin” existiert.
Das stimmt auch. Im Starterkit ist keines enthalten, ebensowie kein error.php Template.
Dabei versucht das Starterkit selbst bei der Installation den ersten User mit der Rolle “admin” anzulegen (laut index.php im einzige User-Ordner).
Vielleicht ist das der Grund für obiges Fehlverhalten?
Egal. Auch wenn bei späteren Versuchen eine admin.yml vorliegt, geht der Login nicht.
Die habe ich aus dem default.yml User-Blueprint erstellt.
User werden nun zwar mit dem Skript angelegt, aber die schon oben erwähnte Exception wird ausgespuckt.
Pfade sind hier gekürzt:
/site/accounts/Ba8jW9CZ/user.txt" does not exist in
www\kirby\src\Data\Handler.php on line 48
PHP Stack trace:
PHP 1. {main}() www\index.php:0
PHP 2. Kirby\Cms\App->render() www\index.php:5
PHP 3. Kirby\Cms\App->call() www\kirby\src\Cms\App.php:926
PHP 4. Kirby\Http\Router->call() www\kirby\src\Cms\App.php:296
PHP 5. Closure->call() www\kirby\src\Http\Router.php:107
PHP 6. Kirby\Http\Route->{closure:www\kirby\config\routes.php:34-47}() www\kirby\src\Http\Router.php:107
PHP 7. Kirby\Cms\Api->render() www\kirby\config\routes.php:45
PHP 8. Kirby\Cms\Api->call() www\kirby\src\Api\Api.php:576
PHP 9. Kirby\Cms\Api->call() www\kirby\src\Cms\Api.php:46
PHP 10. Closure->call() www\kirby\src\Api\Api.php:207
PHP 11. Kirby\Cms\Api->{closure:www\kirby\config\api\routes\system.php:46-76}() www\kirby\src\Api\Api.php:207
PHP 12. Kirby\Cms\Users->create() www\kirby\config\api\routes\system.php:68
PHP 13. Kirby\Cms\User::create() www\kirby\src\Cms\Users.php:31
PHP 14. Kirby\Cms\Form::for() www\kirby\src\Cms\UserActions.php:177
PHP 15. Kirby\Cms\User->content() www\kirby\src\Cms\Form.php:55
PHP 16. Kirby\Cms\User->readContent() www\kirby\src\Cms\ModelWithContent.php:74
PHP 17. Kirby\Data\Data::read() www\kirby\src\Cms\ModelWithContent.php:474
PHP 18. Kirby\Data\Handler::read() www\kirby\src\Data\Data.php:108
PHP Exception: Missing handler for type: "" in www\kirby\src\Data\Data.php on line 70
Nun, die Datei “Ba8jW9CZ/user.txt” selbst existiert “irgendwann” ist aber wie gesagt 0 Byte lang.
Wenn diese Datei oder ihr Inhalt ohnehin optional ist, sollte IMHPO auch keine Exception geworfen werden, die den ganzen Ablauf unnötig stört (Header already sent). Oder die Datei sollte früher angelegt werden, damit User->readContent() nicht immer zwangsläufig ins Leere greift.
Aber all das nützt nichts, denn ich kann mich weiterhin nicht im Panel anmelden 
Gleichwohl scheint Kirby nicht damit einverstanden zu sein, dass es eine lokale Installtion ist.
Beim Login-Versuch steht dies im PHP Errorlog (Pfade und Timestamps wieder gekürzt):
Exception: The file "www/site/config/.license"
does not exist in www\kirby\src\Data\Handler.php on line 48
Stack trace:
1. {main}() www\index.php:0
2. Kirby\Cms\App->render() www\index.php:5
3. Kirby\Cms\App->call() www\kirby\src\Cms\App.php:926
4. Kirby\Http\Router->call() www\kirby\src\Cms\App.php:296
5. Closure->call() www\kirby\src\Http\Router.php:107
6. Kirby\Http\Route->{closure:www\kirby\config\routes.php:34-47}() www\kirby\src\Http\Router.php:107
7. Kirby\Cms\Api->render() www\kirby\config\routes.php:45
8. Kirby\Cms\Api->call() www\kirby\src\Api\Api.php:576
9. Kirby\Cms\Api->call() www\kirby\src\Cms\Api.php:46
10. Kirby\Api\Model->toResponse() www\kirby\src\Api\Api.php:213
11. Kirby\Api\Model->toArray() www\kirby\src\Api\Model.php:169
12. Closure->call() www\kirby\src\Api\Model.php:127
13. Kirby\Cms\Api->{closure:www\kirby\config\api\models\System.php:35-37}() www\kirby\src\Api\Model.php:127
14. Kirby\Cms\System->license() www\kirby\config\api\models\System.php:36
15. Kirby\Data\Handler::read() www\kirby\src\Cms\System.php:275
Exception: The file "www/site/accounts/.logins"
does not exist in www\kirby\src\Data\Handler.php on line 48
Stack trace:
1. {main}() www\index.php:0
2. Kirby\Cms\App->render() www\index.php:5
3. Kirby\Cms\App->call() www\kirby\src\Cms\App.php:926
4. Kirby\Http\Router->call() www\kirby\src\Cms\App.php:296
5. Closure->call() www\kirby\src\Http\Router.php:107
6. Kirby\Http\Route->{closure:www\kirby\config\routes.php:34-47}() www\kirby\src\Http\Router.php:107
7. Kirby\Cms\Api->render() www\kirby\config\routes.php:45
8. Kirby\Cms\Api->call() www\kirby\src\Api\Api.php:576
9. Kirby\Cms\Api->call() www\kirby\src\Cms\Api.php:46
10. Closure->call() www\kirby\src\Api\Api.php:207
11. Kirby\Cms\Api->{closure:www\kirby\config\api\routes\auth.php:25-44}() www\kirby\src\Api\Api.php:207
12. Kirby\Cms\Auth->login() www\kirby\config\api\routes\auth.php:37
13. Kirby\Cms\Auth->validatePassword() www\kirby\src\Cms\Auth.php:214
14. Kirby\Cms\Auth->isBlocked() www\kirby\src\Cms\Auth.php:250
15. Kirby\Cms\Auth->log() www\kirby\src\Cms\Auth.php:173
16. Kirby\Data\Data::read() www\kirby\src\Cms\Auth.php:311
17. Kirby\Data\Handler::read() www\kirby\src\Data\Data.php:108
Bin für Ideen offen.