Nach Installation, d.h. ab Welcome-Screen: Browser findet setup nicht

Hallo miteinander,

ich installiere erstmals Neos, genau genommen auf einem Shared Server beim Webhoster Profihost. Habe vorhin die Datei .htaccess um drei Zeilen ergänzt, die die Domain auf das Unterverzeichnis /Neos/Web/ verweisen, das der Composer im Zuge der Installation angelegt hat. Inzwischen erscheint der Welcome-screen, wenn ich die URL meiner Domain aufrufe. Bis hierhin habe ich mich also schonmal durchgeschlagen. :sunglasses:

Auf dem Welcome-Screen heißt es nun aber There is no database connection yet or the Neos database schema has not been created., und wenn ich weiter unten die ‘Technical Information’ anklicke, erscheint dort der Zusatz #0: An error occurred in the Database Abstraction Layer .

Habe im Netz verschiedene Installationsanleitungen gefunden, denen zufolge der Hinweis auf das Datenbankthema nicht besorgniserregend ist bzw. alles in den nächsten Schritten des Setup konfiguriert wird. Wenn ich nun aber den blauen Setup-Button (Go to setup) anklicke, scheint mein Browser die Seite/Datei “setup” zu vermissen; er meldet:
404 Not Found / The requested URL /setup was not found on this server. )

Einziger Verdacht derzeit: Im Unterverzeichnis /Neos/Web/ befindet sich eine weitere .htaccess-Datei, aber auch wen ich die vorübergehend entziehe, bleibt das Problem bestehen.

Könnt Ihr mir beschreiben, was ich tun muss, um das Setup fortzusetzen?

Trike

Hallo Trike,

mit dem Setup bist du schon auf dem richtigen Weg. Eigentlich sollte sich das Setup öffnen und für dich die Datenbankstruktur erstellen.

Die URL /setup ist auch schon richtig. Der Pfad wird durch die .htaccess im Web-Verzeichnis entsprechend umgeschrieben, sodass Neos dir das Setup zeigen sollte.

Jetzt kenne ich Profihost nicht, jedoch solltest du das DocumentRoot des Webservers direkt auf /neos/Web zeigen lassen, damit die dortige .htaccess auch funktioniert. Lässt sich der Pfad nicht dort im Admin-Panel einstellen?
EDIT: Wenn du www.deinedomain.de aufrufst, sollte also direkt der Ordner Web aufgerufen werden und keine Weiterleitung an /Neos/Web stattfinden.

Viele Grüße
Niklas

Hallo Niklas,

danke Dir für die Antwort. Davon einmal abgesehen, dass das DocumentRoot auf das Verzeichnis /Neos/Web/ zeigen soll:

Sollte denn in der .htaccess-Datei des Verzeichnisses Web auch nochmal der Verweis auf die php-Version stehen, der in der übergeordneten .htaccess steht (“AddHandler php-fastcgi7.3 .php .phtml”)?

Angefasst habe ich die .htaccess-Datei, die das Verzeichnis Web mitgebracht hat, nämlich noch gar nicht, d.h. ihr Inhalt ist unverändert (s.u.).

Habe den Inhalt meiner “eigenen” .htaccess-Datei ein wenig angepasst - mit der Folge, dass in der Adresszeile meines Browsers von den Unterverzeichnissen jetzt nichts mehr zu sehen ist und auf den Klick des Setup-Buttons hin nun ein wenig mehr passiert: Link zur Startseite

AddHandler php-fastcgi7.3 .php .phtml

#RewriteEngine On
#RewriteCond %{HTTP_HOST} www.arfurt.de$ [NC]
#RewriteRule ^$ https://www.arfurt.de/Neos/Web

RewriteEngine on
RewriteCond %{HTTP_HOST} ^arfurt.de$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.arfurt.de$
RewriteCond %{REQUEST_URI} !Neos/Web/
RewriteRule (.*) /Neos/Web/$1 [L]

Da ich in der .htaccess-Datei des Verzeichnisses Web auch etwas Ähnliches lese, genau genommen u.a.
You will have to change the path in the following option if you experience problems while your installation is located in a subdirectory of the website root.: Soll ich auch die anpassen?

Danke & viele Grüße
Trike

Hi Trike,

das sieht doch schon deutlich besser aus bei dir.

Eigentlich sollte unter /setup jetzt ein Wizard zu Einrichtung der Datenbankverbindung und eines Backend-Users kommen.
Ist das Package Neos.Setup bei dir installiert (am besten in der composer.json / composer.lock nachschauen)?
In welchem Context betreibst du Neos aktuell? Hast du in der .htaccess die Zeile mit SetEnv FLOW_CONTEXT Production einkommentiert? Dann eventuell mal wieder auskommentieren und neu versuchen.

Den Root-Path anzupassen kann auf jeden Fall nicht schaden (wenn er korrekt gesetzt ist).

Ansonsten kannst du dich per SSH auf den Server einloggen und mit dem Befehl ./flow doctrine:migrate auch die Datenbankstruktur erstellen. Vielleicht hilft dir das ja.

Versuch doch mal dein Glück und berichte uns hier :slight_smile:

Grüße
Niklas

Hallo Niklas,

sagen wir mal so: Im Verzeichnis /Neos gibt es ein Unterverzeichis /Neos/Packages/Application/Neos.Setup, welches eine Datei composer.json enthält, die mit folgenden Zeilen beginnt:

{
“name”: “neos/setup”,
“type”: “neos-package”,

Was meinst Du mit “Context”? Ich habe ein Webhosting-Paket (Webhosting/Domain + E-Mail), d.h. es gibt nur eine Verzeichnisebene “oberhalb” meines www-Verzeichnisses in meinem Zugriffsbereich, und “neben” dem www-Verzeichnis liegen nur Verzeichnisse wie das für meine E-Mails (Maildir). Abgesehen von den E-Mails kann ich “from scratch” loslegen, d.h. ohne bspw. irgendeinen Datenbank-Dump einbinden zu müssen.

Apropos Datenbank: Im Konfigurationsbereich meines Webhosters kann ich nur eine Datenbank anlegen (entweder MySQL oder MariaDB) und diese dann auf Wunsch mittels phpMyAdmin verwalten.
Würde es denn helfen, wenn ich vor dem Setup schon mal eine Datenbank “bereitstelle”, d.h. würde im Zuge des Setup denn von diesem erkannt, dass eine Datenbank besteht? Wenn ja: Welche davon sollte es dann sein und inwiefern sollte ich deren Konfiguration in phpMyAdmin anpassen?

Im Konfigurationsbereich finde ich übrigens auch die technischen Eckdaten der Datenbanken (Host, Port und Socket), aber keine dieser Informationen wurde bislang erfragt. So kenne ich das vom TYPO3 CMS, das mich im Setup-Dialog einfach nach den Datenbank-Eckdaten fragt.

Wenn Du die .htaccess im Unterverzeichnis /Neos/Web/ meinst: Wie gesagt, diese .htaccess ist noch jungfräulich. Habe die genannte Zeile gerade mal einkommentiert bzw. “entkommentiert”, aber das führte nur dazu, dass der Browser unter http://www.arfurt.de/setup eine weiße Seite ausgab.

Was den Root-Path betrifft: In der entsprechenden, auskommentierten Zeile heißt es ja “# SetEnv FLOW_ROOTPATH /var/www/myapp/”. Müsste ich denn den darin genannten Pfad ersetzen und, wenn ja, wodurch? Ein Verzeichnis myapp finde ich nämlich nicht. Auch hier erhielt ich, wenn ich nichts weiter tat als die Zeile zu entkommentieren, eine weiße Seite. Daher habe ich jetzt beides wieder auskommentiert.

Wenn ich mich auf dem Server zum Verzeichnis Web durchhangele und dort den Befehl `./flow doctrine:migrate ausführen lassen möchte, antworetet die Shell: -shell: ./flow: No such file or directory

Ciao
Trike

Du kannst per htaccess keinen vhost einrichten, diese RewriteRule dort ist eher hinderlich. Effektiv ist Neos nicht direkt im root der Domain verfügbar weil es kein vhost ist. Ohne funktioniert das setup aber nicht.

I found this thread by searching for “Neos setup ‘The requested document was not found on this server.’”

Turns out this was a misconfiguration of Apache (duh!) – this is my working configuration:

        ServerAdmin webmaster@localhost

        ServerName --removed--

        DocumentRoot /var/www/--removed--/Web

        <Directory /var/www/--removed--/Web>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Require all granted
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        <Directory /var/www/--removed--/Web>
            RewriteEngine on
            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*) index.php [PT,L]
        </Directory>

I don’t know whether is the Options or the enabling of the RewriteEngine (should get enabled by .htaccess?), but in any case, I hope this helps someone.

Traced it down to the AllowOverride All directive. Again, hoping this helps someone :slight_smile:

2 Likes