NEOS-Installationsprobleme

Hallo Neosianer,

ich habe erst unter Windows und dann unter Ubuntu erfolglos versucht, Neos zu installieren.
Mit nginx habe ich 2 Tage Erfahrung, php minimale Grundkenntnisse (ansonsten >20 Jahre C++).
Ich habe noch keine funktionierende Anleitung gefunden. Ich will aber auch nicht ausschließen,
dass bestimmte Dinge vielleicht nicht richtig konfiguriert sind, die dann zu Folgeproblemen führen
(etwas Selbstkkritik kann ja nicht schaden :wink: )
Wo fange ich an? Also jetzt bei Aufruf neos/index.php sehe ich einen 500 Internal Server Error.

PHP-Probleme behoben.

Jetzt bastel ich gerade, das setup von einem client aufzurufen. Auf dem Server mit einem Textbrowser ist das die Hölle :wink:
Da stürzt mit flow server:run beim Login ab…
Neos neu installiert…

Server running. Please go to http://127.0.0.1:8081 to browse the application.

Habe den nginx als proxy konfiguriert, die setup-Page wird angezeigt, beim anzeigen des logins sind die Grafiken/Farben futsch, nach Eingabe des Passwortes kommt:

[Tue Feb 5 23:34:44 2019] 127.0.0.1:35700 [200]: /_Resources/Static/Packages/Neos.Setup/Fonts/NotoSans/NotoSans-Bold.ttf?1484948744
[Tue Feb 5 23:34:44 2019] 127.0.0.1:35702 [200]: /_Resources/Static/Packages/Neos.Setup/Fonts/NotoSans/NotoSans-Regular.ttf?1484948744
[Tue Feb 5 23:34:44 2019] 127.0.0.1:35704 [404]: /_Resources/Static/Packages/Neos.Twitter.Bootstrap/3.0/fonts/glyphicons-halflings-regular.woff2 - No such file or directory
[Tue Feb 5 23:34:49 2019] 127.0.0.1:35708 [200]: /_Resources/Static/Packages/Neos.Twitter.Bootstrap/3.0/fonts/glyphicons-halflings-regular.woff
double free or corruption (out)
Magick: abort due to signal 6 (SIGABRT) “Abort”…
Aborted (core dumped)

Ich werde langsam wahnsinnig.
glyphicons-halflings-regular.woff2 existiert nicht. Scheiße!!!

Font selbst installiert. Es bleibt:
double free or corruption (out)
Magick: abort due to signal 6 (SIGABRT) “Abort”…
Aborted (core dumped)

Was kann das sein? Hat jemand eine Idee? In System_Development.log steht
Session: Resumed session with id hCDr57fu1yzRiYHt3vPJCFUNjrSG2aUK which was inactive for 54 minutes. (3282s)
Router route(): Route “Setup” matched the request “http://127.0.0.1:8081/setup/index (GET)”.
CSRF: No token required, safe request

Auch nach einem rm -rf /var/www/neos.wo-ist-was-los.de/Data/Temporary ist da diese Session noch inactive.

Das Abenteuer geht weiter:

SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘flow.neos_neos_domain_model_domain’ doesn’t exist - See also: 20190206185921da8189.txt

Klar kann er die Tabelle nicht finden, die Datenbank ist nämlich leer.

Wenn ein Fehler aufgetreten ist, dann stürzt ./flow ab und das System ist vermutlich in einem undefinierten Zustand.

Mit neos.flow:doctrine:migrate kannst du die Tabellen wieder erstellen lassen.

https://flowframework.readthedocs.io/en/stable/TheDefinitiveGuide/PartV/CommandReference.html#id8

Vielen Dank! Ein erster Schritt:
++ finished in 191.1s
++ 142 migrations executed
++ 561 sql queries

Starte ich flow server:run und rufe /setup auf, steigt flow wieder aus:
double free or corruption (out)
Magick: abort due to signal 6 (SIGABRT) “Abort”…
Aborted (core dumped)

Die Font-Datei *.woff2 ist übrigens nach der Installation vorhanden und nach dem ersten flow-Crash ist sie futsch.

Was könnte dieses Magick sein?

Neos benötigt eine “Bild Manipulation-Software”. Diese wählst du im ersten Schritt beim Setup aus. Da du wie es aussieht nicht mal bis zum Setup kommst und ImageMagick (http://php.net/manual/de/book.imagick.php) gewählt hast. Scheint etwas mit deiner ImageMagick installations falsch zu sein.

Hier wäre eine Anleitung für Ubunu. https://ourcodeworld.com/articles/read/645/how-to-install-imagick-for-php-7-in-ubuntu-16-04

Ansonsten mal durch phpinfo prüfen, ob imagick module installiert ist (Siehe Ubuntu Anleitung)

Ich habe imagick deinstalliert und komme jetzt bis
PHP extension “gd” is installed
PHP extension “gmagick” is installed
PHP extension “imagick” is not installed
Neos will be configured to use extension “gmagick”

mit [Next] liefert flow 127.0.0.1/setup/index?step=0#, obwohl ich vom Client mit domain:81/setup starte.

Ich starte jetzt nochmal auf dem Server mit dem Textbrowser lynx mein Glück.

Da stimmt denn wohl etwas mit deiner nginx Konfiguration nicht würde ich sagen.
Sonst nochmal hier nachschauen, ob du alles richtig gemacht hast.

Sehe ich auch so. Da habe ich aber zu wenig Ahnung. Mit dem Text-Browser bin ich bei Schritt 4v5.
Bei der Eingabe von Packagename/Sitename ist mir das Setup hops gegangen.

Package Name (in form “Vendor.DomainCom”)

Was gebe ich da ein? Irgendwas?
z.B. ws.bla.de?

Site Name (e.g. “domain.com”)

Die Domain, auf der ich die Site später aufrufen will?
z.B. bla.de?

Schau dir sonst nochmal die oben gepostete Seite an.

Inwiefern hops gegangen?

Package Name z.B.: Wosc.BlaDe
Site Name bla.de

Da kam ne mehrseitige Fehlermeldung in schlecht lesbarer Farbe…

Du findest alle Logs sonst auch in Data/Logs/Exceptions/. Du kannst auch versuchen erstmal Neos.Demo zu installieren, um sicherzugehen, dass dein Setup funktioniert. Und anschließend dann dein eigenes Package erstellst und Neos.Demo wieder deinstallierst.

Versuche ich gerade…
Site neos.demo
ws.demo
demo.de

dann 500 Internal Server error:
Exception Code 1
Exception Type Neos\Flow\Error\Exception
Log Reference 20190206213804236c6d
Thrown in File Packages/Framework/Neos.Flow/Classes/Error/ErrorHandler.php
Line 81

1.

Neos\Flow\Error\ErrorHandler::handleError(8, “Undefined index: ws/demo”, “/var/www/neos/Packages/Framework/Neos.Flow/Classes/Package/PackageManager.php”, 386, array|9|)
Packages/Framework/Neos.Flow/Classes/Package/PackageManager.php

2.

Neos\Flow\Package\PackageManager::createPackage(“ws.demo”, array|7|)
Data/Temporary/Development/Cache/Code/Flow_Object_Classes/Neos_SiteKickstarter_Service_GeneratorService.php
Original File: Packages/Application/Neos.SiteKickstarter/Classes/Service/GeneratorService.php
00045: {

aus der *.txt:
Exception #1 in line 386 of /var/www/neos/Packages/Framework/Neos.Flow/Classes/Package/PackageManager.php: Notice: Undefined index: ws/demo in /var/www/neos/Packages/Framework/Neos.Flow/Classes/Package/PackageManager.php line 386

28 Neos\Flow\Error\ErrorHandler::handleError(8, “Undefined index: ws/demo”, “/var/www/neos/Packages/Framework/Neos.Flow/Classes/Package/PackageManager.php”, 386, array|9|)
27 Neos\Flow\Package\PackageManager::createPackage(“ws.demo”, array|7|)
26 Neos\SiteKickstarter\Service\GeneratorService_Original::generateSitePackage(“ws.demo”, “demo.de”)

Jaaa sind jetzt nicht so aussagekräftig die Logs. Sonst mal über den Kickstart es versuchen?

Vorher sonst nochmal sichergehen, dass alle seiten gelöscht sind - ./flow site:list sollte leer sein und den Cache löschen - /flow neos.flow:cache:flush

https://flowframework.readthedocs.io/en/stable/TheDefinitiveGuide/PartII/Kickstart.html#kickstart-the-package

Vielen Dank, Tom Ole, Du hast mir weitergeholfen und etwas Hoffnung gegeben, dass es doch demnächst läuft.

Ich habe Neos jetzt mal vom Client aufgerufen (index.php): Immerhin sehe ich den Neos-Startscreen…

Da stimmt immer noch was nicht mit php:
PHP Warning: PHP Startup: Unable to load dynamic library ‘pdo_mysql’
(tried: /usr/lib/php/20170718/pdo_mysql (/usr/lib/php/20170718/pdo_mysql: cannot open shared object file: No such file or directory),

/usr/lib/php/20170718/pdo_mysql.so
(/usr/lib/php/20170718/pdo_mysql.so: undefined symbol: mysqlnd_allocator)) in Unknown on line 0

Die pdo_mysql.so existiert in /usr/lib/php/20170718/

Die extension mysql habe ich nur in etc/php/7.2/fpm/ konfiguriert.
Muss ich das auch in /usr/lib/php/7.2/ machen?
Dort liegen die Files
php.ini-development php.ini-production php.ini-production.cli

Ahh, die PHP-Warnings sind von dem Startscreen veschwunden.

Technical Information

Missing Homepage

#1346950755: Homepage could not be loaded. Probably you haven’t imported a site yet

Was ich noch nicht kapiere ist - der Button “Got to setup” verweist auf die Seite domain.de/setup
Aber in ~neos/Web gibt es nur
index.php
_Resources
robots.txt

Wahrscheinlich weil bei deinem Import etwas schiefgenagen ist?

Was ich noch nicht kapiere ist - der Button “Got to setup” verweist auf die Seite domain.de/setup
Aber in ~neos/Web gibt es nur

Das die Homepage-routen/urls im Filesystem abgebildet werden, ist schon lange vorbei. Man nutzt so genanntes Routing (The Simplest PHP Router | Tania Rascia).

Ok. Aber erst mal muss man ja wissen, was schief geht. Da “setup” geroutet wird und mein Server 404 meldet, liegt der Fehler scheinbar beim nicht ausgeführtem Routing. Wird das Routing in PHP oder über eine .htaccess ausgeführt? Bei letzerem müsste ich prüfen, ob nginx das standardmäßig aktiviert hat (ich habe einen Artikel gesehen, wo das aktiviert wird).
Doku: " Not surprisingly, you’ll need a web server for running your Flow-based web application. We recommend Apache (though nginx , IIS and others work too – we just haven’t really tested them). Please make sure that the mod_rewrite module is enabled."
Das ist wohl eines meiner Probleme…bin gerade ein Betatester für die Konfiguration nginx-php-mysql…

Edit:
Ich habe die .htaccess nach nginx konvertiert - und man glaubt es kaum - ich kann die setup-Seite aufrufen! Das wars dann aber schon wieder… bei der Weiterleitung zu /setup/index endet die Success-Story mit “502 Bad Gateway”.

Edit2:
Er findet halt keine Homepage. Deinem Rat folgend habe ich mal
./flow kickstart:package neos.demo
ausprobiert: Package “neos.demo” already exists.

Exception #1346950755 in line 94 of /var/www/neos/Data/Temporary/Production/Cache/Code/Flow_Object_Classes/Neos_Flow_Mvc_Routing_DynamicRoutePart.php: Homepage could not be loaded. Probably you haven’t imported a site yet

11 Neos\Neos\Routing\FrontendNodeRoutePartHandler_Original::matchValue("")
10 Neos\Flow\Mvc\Routing\DynamicRoutePart_Original::matchWithParameters("", Neos\Flow\Mvc\Routing\Dto\RouteParameters)
9 Neos\Flow\Mvc\Routing\Route_Original::matches(Neos\Flow\Mvc\Routing\Dto\RouteContext)
8 Neos\Flow\Mvc\Routing\Router_Original::route(Neos\Flow\Mvc\Routing\Dto\RouteContext)
7 call_user_func_array(array|2|, array|1|)
6 Neos\Flow\ObjectManagement\DependencyInjection\DependencyProxy::__call(“route”, array|1|)
5 Neos\Flow\Mvc\Routing\RoutingComponent_Original::handle(Neos\Flow\Http\Component\ComponentContext)
4 Neos\Flow\Http\Component\ComponentChain_Original::handle(Neos\Flow\Http\Component\ComponentContext)
3 Neos\Flow\Http\Component\ComponentChain_Original::handle(Neos\Flow\Http\Component\ComponentContext)
2 Neos\Flow\Http\RequestHandler::handleRequest()
1 Neos\Flow\Core\Bootstrap::run()

Was meint neos mit “Homepage could not be loaded. Probably you haven’t imported a site yet”?
neos.demo existiert anscheinend, aber kann nicht aufgerufen werden?

Dank zwei php-Anpassungen bin ich soweit wie noch nie :slight_smile:

Das Setup läuft jetzt mit “normalem Style” durch. Nur wenn ich eine Site (Neos.Demo) erzeugen will,
kommt die Exception:
Exception #1170251400 in line 365 of /var/www/neos/Packages/Framework/Neos.Flow/Classes/Package/PackageManager.php: Could not create directory “/var/www/neos/./DistributionPackages/ws.demo/”!

Was muss man dazu noch anpassen? So kurz vor dem Ziel…

Edit 08.02.:
Scheinbar haben auch andere Create-Probleme…

Edit2:
Interessant ist, dass ich eine andere Fehlermeldung bekomme,
wenn ich den Ordner DistributionPackages mit chown von root auf den www-User ändere:

Exception in line 671 of /var/www/neos/Packages/Framework/Neos.Flow/Classes/Package/PackageManager.php:
Argument 5 passed to Neos\Flow\Package\PackageFactory::create() must be of the type array, null given,
called in /var/www/neos/Packages/Framework/Neos.Flow/Classes/Package/PackageManager.php on line 671

29 Neos\Flow\Package\PackageFactory::create(“/var/www/neos/Packages/”, NULL, NULL, “ws/demo2”, NULL, NULL)

Das scheint mir doch ein Fehler in Neos zu sein.

Hallo Wolfgang,
das von mir berichtete Problem ist in den aktuellen Bugfix Versionen behoben.

Bei dem neuen Fehler sollten die Composer autoloadConfiguration übegeben werden. Diese Informationen sollten immer zur Verfügung stehen - ohne sollte der Rest des Setups auch nicht laufen.

Generiere die Configuration nochmal neu mit dem Befehl: composer dump-autoload

Hallo Daniel,
danke für den Hinweis .
composer dump-autoload:
“Generated autoload files containing 543 classes”

Das ändert aber nichts an dem o.g. Fehler.
Auch nicht mit rm -rf /var/www/neos/Data/Temporary

Edit:
./flow flow:cache:flush --force
hat scheinbar geholfen. Jetzt kommt eine Fehlermeldung, die aufgrund eines fehlgeschlagenen Erzeugens einer Site und einem Package kommt. Da muss ich wahrscheinlich neu installieren.

Edit2:
Welchen Parameter muss ich beim Composer angeben, damit ich Neos 4.1 stable installieren kann?