BerlusGmbH / Berlussimo

Hausverwaltung Software
GNU Affero General Public License v3.0
18 stars 23 forks source link

Fehler bei Installationsanleitung #61

Closed connectnet closed 5 years ago

connectnet commented 5 years ago

Zeile 53

nano /var/www/berlussimo/app/config/database.php

Sollte heissen:

nano /var/www/berlussimo/config/database.php

Dann Fehlermeldung nach: composer install Do not run Composer as root/super user! See https://getcomposer.org/root for details Nach erfolgreicher Installation kein Login möglich mit den Daten:

login: admin@berlussimo
password: password

Ich bitte um Unterstützung! Herzlichen Dank im Voraus.

mueller-berlus commented 5 years ago

Hallo,

nano /var/www/berlussimo/config/database.php

Danke für den Hinweis

Ich empfehle das Debugging in der Datei config/app.php zu aktivieren und mit den Entwicklerwerkzeugen des Browsers die Antwort des Servers zu untersuchen. Hier sollte ein Hinweis zu finden sein.

Beste Grüße

connectnet commented 5 years ago

Error: Request failed with status code 500 Im Log kann ich nichts Auffälliges entdecken. Was muss denn in der database.php stehen bei: 'unix_socket' => env('DB_SOCKET', ''),

mueller-berlus commented 5 years ago

Wenn Debugging aktiviert ist, sollte es zusätzlich zu

Error: Request failed with status code 500

auch einen Stacktrace in der Antwort geben, der vermutlich weiterhelfen wird.

Was muss denn in der database.php stehen bei: 'unix_socket' => env('DB_SOCKET', ''),

Damit kann man eine alternative Art, den Server zu einer Datenbank zu verbinden, konfigurieren (TCP vs SOCKET). https://dev.mysql.com/doc/refman/8.0/en/connecting.html#option_general_protocol https://laravel.com/docs/5.8/database#configuration

connectnet commented 5 years ago

Ist das der Stacktrace? [vuex-class] passing the 2nd argument tonamespacefunction is deprecated. pass only namespace string instead.

mueller-berlus commented 5 years ago

[vuex-class] passing the 2nd argument to namespace function is deprecated. pass only namespace string instead.

Das sollte eine Warnung aus der Browserkonsole sein.

Der Stacktrace sollte Teil der Antwort des Servers auf einen Loginversuch sein. Man kann den Netzwerkverkehr zwischen Browser und Server z.B. mit den Entwicklertools von Chrome untersuchen. https://developers.google.com/web/tools/chrome-devtools/network/ Der Stack enthält die Befehle , die zu dem Fehler geführt haben. Hier sollte die oberste Zeile den genauen Fehler identifizieren. Der Statuscode 500 ist eine Rückmeldung die lediglich besagt, dass es auf dem Server zu einem Fehler gekommen ist.

connectnet commented 5 years ago

Hier die Antwort vom Server:

(3/3) QueryException 
SQLSTATE[HY000]  [1698] Access denied for user 'root'@'localhost' (SQL: select * from  `persons` where exists (select * from `DETAIL` where `persons`.`id` =  `DETAIL`.`DETAIL_ZUORDNUNG_ID` and `DETAIL`.`DETAIL_ZUORDNUNG_TABELLE` =  Person and `DETAIL_NAME` = Email and `DETAIL_INHALT` = admin@berlussimo  and `DETAIL_NAME` = Email and `DETAIL_AKTUELL` = 1) and  `persons`.`deleted_at` is null limit 1)
--
(2/3) PDOException SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
--
 (1/3) PDOException
SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
mueller-berlus commented 5 years ago

SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'

Der Login am SQL Server schlägt fehl. Überprüfen Sie, ob die Informationen des SQL Nutzers (root) mit denen in der Konfiguration config/database.php übereinstimmen. Wenn Sie sich lokal mit mysql -u root -p am SQL Server einloggen können, sollte die Anwendung sich verbinden können.

connectnet commented 5 years ago

Login schlägt immer noch fehl, obwohl ein neues Password gesetzt wurde mit:

mysql -u root -p
grant all on *.* to root@localhost identified by 'geheim' with grant option;
flush privileges;
quit;

Das Passwort wurde auch noch einmal in der config/database.php überprüft und stimmt überein.

mueller-berlus commented 5 years ago

Login schlägt immer noch fehl

Welcher Login? SQL Server? Berlussimo?

Können Sie sich mit mysql -u root -p geheim an Ihrem SQL Server anmelden?

Wie sieht der Inhalt von config/database.php aus?

Wie sieht der Inhalt von .env aus?

connectnet commented 5 years ago

Welcher Login? SQL Server? Berlussimo?

Login im Webinterface

Können Sie sich mit mysql -u root -p geheim an Ihrem SQL Server anmelden?

Ja, Login über ssh zum mysql server klappt.

Wie sieht der Inhalt von config/database.php aus?

So:

'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'berlussimo'), 'username' => env('DB_USERNAME', 'root'), 'password' => env('DB_PASSWORD', 'geheim'), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => false, 'engine' => null, ],

Wie sieht der Inhalt von .env aus?

So, nur eine Zeile: APP_KEY=base64:**************************************

Anmerkung: Finde in den Dumps unter /var/www/berlussimo/install/DB-Version-0.4.0 keinen admin@berlussimo. Wird der Eintrag später vom Programm erzeugt?

mueller-berlus commented 5 years ago

Das von mir genannte Kommando war leider nicht ganz korrekt: mysql -h localhost -uroot -pgeheim

Nachdem Sie sich mit dem SQL Server verbunden haben, führen Sie bitte folgende Anfrage aus: select user,host,password from mysql.user;

Anmerkung: Finde in den Dumps unter /var/www/berlussimo/install/DB-Version-0.4.0 keinen admin@berlussimo. Wird der Eintrag später vom Programm erzeugt?

Ja, der Benutzer wird von einer Migration in database/migration erzeugt. Ihr Fehler besagt, dass die Anwendung sich nicht an dem SQL Server einloggen kann.

connectnet commented 5 years ago
MariaDB [(none)]> select user,host,password from mysql.user;
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *5B6C1E5CFD64B6E4C4F970E90CEB7147CC6097F3 |
+------+-----------+-------------------------------------------+
1 row in set (0.00 sec)
mueller-berlus commented 5 years ago

Ich gehe mal davon aus, dass geheim nur ein Platzhalter ist, sonst würde der Hash nicht passen.

MariaDB [(none)]> SELECT PASSWORD('geheim');
+-------------------------------------------+
| PASSWORD('geheim')                        |
+-------------------------------------------+
| *462366917EEDD1970A48E87D8EF59EB67D2CA26F |
+-------------------------------------------+
1 row in set (0.001 sec)

Es sieht eigentlich alles gut aus. Meine letzte Idee ist, dass die alte Konfiguration noch gecached ist. php artisan config:clear

connectnet commented 5 years ago

Success! Vielen Dank für den Support!! Es hat jetzt geklappt. Datenbank gelöscht und ab Zeile 30 der Installationsanleitung bis Zeile 72 nochmal gemacht. Dann habe ich gemerkt, dass bei mir in der config/database.php stand: 'collation' => 'utf8mb4_unicode_ci',. Das habe ich dann gegen: 'collation' => 'utf8_unicode_ci', getauscht uns siehe da.

TATAAAA! It works for me ;-)