Einstieg in Contao 4 mit 4.4.0 auf XAMPP
Folgendes habe ich getan:
1. contao-4.4.0.zip heruntergeladen und in ein neues htdocs-Unterverzeichnis ct440 ausgepackt (dabei war auch das web-Verzeichnis direkt unter ct440 mit drei Dateien).
1b. Alternativ habe ich auch mal ein leeres htdocs-Unterverzeichnis ct440b mit einem leeren web-Unterverzeichnis angelegt. Alles weitere wie unter 2./3./4.
2. Die Datei contao-manager.phar heruntergeladen, ins web-Untervezeichnis kopiert und in contao-manager.phar.php umbenannt.
3. Schon mal im MySQL eine Datenbank namens ct440 angelegt.
4. Jetzt die Datei contao-manager.phar.php aufgerufen per localhost/ct440(bzw. 440b)/web/contao-manager.phar.php .
=> Fehlermeldung: Objekt nicht gefunden! Der angeforderte URL konnte auf dem Server nicht gefunden werden. (Error 404)
Meine Vermutung: Ich muß im XAMPP vielleicht einen Weg finden, das web-Unterverzeichnis direkt anzusprechen, als wäre es direkt unter htdocs und nicht noch ct440 dazwischen?
.htaccess-Datei im ct440-Verzeichnis ?? hosts-Datei ??
Vermutung ergibt sich daraus: Mit der Fehlermeldung steht in der Adreßzeile des Browsers: http://localhost/contao-manager.phar.php/
Ich möchte gerne so schnell wie möglich mit Contao 4.4.0 auf XAMPP arbeiten / und später auf dem Server.
Contao 4.4 lokal bei XAMPP installieren
Hallo, ich scheitere leider auch an der lokalen Installation auf Windows 10. Mehrere Versuche mit frisch installiertem XAMPP, Version 7.1.4 (PHP 7.1.4)
Versuch 1: (so sollte es wohl im Idealfall funktionieren?)
- Download Contao-Manager
- Kopiert in C:\xampp\htdocs\contao440\web\
- Umbenannt in contao-manager.phar.php
- Aufruf localhost/contao440/web/contao-manager.phar.php
- Funktioniert nicht, wird umgeleitet auf localhost/contao-manager.phar.php mit leerer Seite
Versuch 2: PHP als FCGI
Habe hier im Forum in mehreren Beiträgen zu der 4er-Version den Hinweis gefunden, dass man bei XAMPP PHP wohl besser als FastCGI ausführen sollte, und nicht als normalen Apache 2 Handler. Den Grund, warum das erforderlich sein soll, habe ich nicht ganz verstanden, aber gut, einen Versuch ist es wert... Allerdings ist die mit XAMPP unter http://localhost/dashboard/docs/use-php-fcgi.html mitgelieferte Anleitung scheinbar nicht mehr ganz aktuell. Daher:
- Bei der Apache Lounge nicht das Gesamtpaket, sondern etwas weiter unten mod_fcgid separat runtergeladen (Download mod_fcgid-2.3.9-win32-VC14.zip also die Win32-Version)
- ZIP entpackt und die Datei mod_fcgid.so kopiert in C:\xampp\apache\modules
- Änderungen in der Datei C:\xampp\apache\conf\extra\httpd-xampp.conf:
Code:
#
# XAMPP settings
#
<IfModule env_module>
SetEnv MIBDIRS "C:/xampp/php/extras/mibs"
SetEnv MYSQL_HOME "\\xampp\\mysql\\bin"
SetEnv OPENSSL_CONF "C:/xampp/apache/bin/openssl.cnf"
SetEnv PHP_PEAR_SYSCONF_DIR "\\xampp\\php"
SetEnv PHPRC "\\xampp\\php"
SetEnv TMP "\\xampp\\tmp"
</IfModule>
#
# PHP-Module setup
#
LoadFile "C:/xampp/php/php7ts.dll"
LoadFile "C:/xampp/php/libpq.dll"
LoadModule php7_module "C:/xampp/php/php7apache2_4.dll"
#<FilesMatch "\.php$">
# SetHandler application/x-httpd-php
#</FilesMatch>
#<FilesMatch "\.phps$">
# SetHandler application/x-httpd-php-source
#</FilesMatch>
# PHP als FCGI Modul ausführen
LoadModule fcgid_module modules/mod_fcgid.so
FcgidInitialEnv PHPRC "c:/xampp/php"
AddHandler fcgid-script .php
FcgidWrapper "c:/xampp/php/php-cgi.exe" .php
#
# PHP-CGI setup
#
#<FilesMatch "\.php$">
# SetHandler application/x-httpd-php-cgi
#</FilesMatch>
#<IfModule actions_module>
# Action application/x-httpd-php-cgi "/php-cgi/php-cgi.exe"
#</IfModule>
<IfModule php7_module>
PHPINIDir "C:/xampp/php"
</IfModule>
<IfModule mime_module>
AddType text/html .php .phps
</IfModule>
ScriptAlias /php-cgi/ "C:/xampp/php/"
<Directory "C:/xampp/php">
AllowOverride None
Options None
Require all denied
<Files "php-cgi.exe">
Require all granted
</Files>
</Directory>
<Directory "C:/xampp/cgi-bin">
<FilesMatch "\.php$">
SetHandler cgi-script
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler None
</FilesMatch>
</Directory>
<Directory "C:/xampp/htdocs/xampp">
<IfModule php7_module>
<Files "status.php">
php_admin_flag safe_mode off
</Files>
</IfModule>
AllowOverride AuthConfig
</Directory>
<IfModule alias_module>
Alias /licenses "C:/xampp/licenses/"
<Directory "C:/xampp/licenses">
Options +Indexes
<IfModule autoindex_color_module>
DirectoryIndexTextColor "#000000"
DirectoryIndexBGColor "#f8e8a0"
DirectoryIndexLinkColor "#bb3902"
DirectoryIndexVLinkColor "#bb3902"
DirectoryIndexALinkColor "#bb3902"
</IfModule>
Require local
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>
# Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
# <Directory "C:/xampp/phpMyAdmin">
# AllowOverride AuthConfig
# Require local
# ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
# </Directory>
Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
<Directory "C:/xampp/phpMyAdmin">
Options ExecCGI
AllowOverride AuthConfig
Require all granted
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>
Alias /webalizer "C:/xampp/webalizer/"
<Directory "C:/xampp/webalizer">
<IfModule php7_module>
<Files "webalizer.php">
php_admin_flag safe_mode off
</Files>
</IfModule>
AllowOverride AuthConfig
Require local
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>
</IfModule>
- Apache-Neustart
- Aufruf localhost/contao440/web/contao-manager.phar.php
- Funktioniert nicht, wird immer noch umgeleitet auf localhost/contao-manager.phar.php mit leerer Seite
Versuch 3: Anpassung Host-Datei, damit das web-Unterverzeichnis als Hauptverzeichnis dient
Laut Anleitung sollte das web-Verzeichnis als "root" definiert werden. Bei Online-Hostingpaketen kann man das Hauptverzeichnis eines Webspace bei den Domaineinstellungen und/oder Subdomains einstellen. Bei XAMPP geht das über Anpassungen in der Host-Datei.
- Anpassungen gemäß der XAMPP-Anleitung unter http://localhost/dashboard/docs/configure-vhosts.html:
- In der Datei C:\xampp\apache\conf\extra\httpd-vhosts.conf am Ende diese Einträge ergänzt:
Code:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/contao440/web"
ServerName contao440.localhost
</VirtualHost>
- In der Datei C:\windows\system32\drivers\etc\hosts diese Einträge ergänzt (Datei ist wegen Dateirechten als Windows-Administrator zu bearbeiten)
Code:
127.0.0.1 localhost
127.0.0.1 contao440.localhost
- Da Änderung an der hosts-Datei zur Sicherheit den Rechner neu gestartet (Windows ;) )
- Aufruf contao440.localhost/contao-manager.phar.php
- Funktioniert nicht, Fehlermeldung "Windows wird nicht unterstützt", aber immerhin ein kleiner Fortschritt, das Script wurde ausgeführt... Sprich der Contao-Manager kann für XAMPP immer noch nicht genutzt werden :(
Versuch 4: Manuelle Installation mit ZIP-Download
- Download des ZIP-Archivs der 4.4-Version von der offiziellen Download-Seite
- Entpackt und kopiert in C:/xampp/htdocs/contao440/
- Im Browser Aufruf contao440.localhost/
- Fehlerseite wird angezeigt: Unvollständige Installation
- Im Browser Aufruf contao440.localhost/contao/install
- Funktioniert nicht, Fehlerseite "Es ist ein Fehler aufgetreten". Fehler laut Log-Datei:
Code:
[2017-06-16 10:27:58] app.CRITICAL: An exception occurred.
{"exception":"[object] (Symfony\\Component\\Debug\\Exception\\ClassNotFoundException(code: 0):
Attempted to load class \"Config\" from the global namespace.\nDid you forget a \"use\" statement?
at C:\\xampp\\htdocs\\contao440\\vendor\\contao\\core-bundle\\src\\Resources\\contao\\library\\Contao\\Environment.php:537)"} []
Versuch 5: Installation über Composer
Diesen Weg wollte ich vermeiden, habe es aber dennoch versucht. Eine Anleitung zu Composer spare ich mir hier. Der Download hat soweit geklappt und ich habe auch in der Konsole die Datenbank-Daten eintragen können. Dann gab es aber ein paar Warnungen und Fehlermeldungen wegen ...Symlinks? (bin mir nicht mehr ganz sicher).
- Funktioniert nicht, Fehlerseite und Log-Eintrag wie bei Versuch 4.
An dieser Stelle habe ich erst mal aufgegeben und weiß nicht mehr weiter. Wie bekommt man Contao 4.4 lokal mit XAMPP zum Laufen?
Contao 4.4 lokal bei XAMPP auf Windows 10 installieren
Hallo, nach vielen weiteren Versuchen hat bei mir die lokale Installation in XAMPP endlich geklappt.
Ganz ohne Umwege, also ohne FCGI, ohne HOSTS-Anpassung, ohne Composer und offenbar auch ohne Symlink-Probleme.
Ausgangszustand:
- Windows 10, als einfacher Benutzer angemeldet (kein Admin-Konto)
- Komplette Deinstallation der vorhandenen XAMPP-Installation, danach Rechner neu gestartet
Schritt 1: „Saubere“ Neuinstallation von XAMPP ganz von vorne:
- XAMPP Download der aktuellen Version 7.1.4 (PHP 7.1.4) 32 bit
- Rechtsklick auf die runtergeladene Setup-Datei, als Administrator ausführen (XAMPP als Windows-Admin installieren)
- Nach der Installation Windows neu starten (nur zur Sicherheit, da die Installation Systemvariablen geändert hat)
Schritt 2: Anpassen der php.ini (liegt unter C:\xampp\php\php.ini)
- Zeile 383: max_execution_time=90 (anstelle 30)
- Zeile 404: memory_limit=256M (anstelle 128)
- Zeile 671: post_max_size=64M (anstelle 8)
- Zeile 742: sys_temp_dir = "C:\xampp\tmp" (Strichpunkt/Semikolon weg, neuer Wert)
- Zeile 824: upload_max_filesize=50M (anstelle 2)
- Zeile 899: extension=php_intl.dll (Strichpunkt/Semikolon weg)
- Zeile 921: extension=php_soap.dll (Strichpunkt/Semikolon weg)
- Zeile 956: date.timezone = Europe/Berlin (Strichpunkt/Semikolon weg, neuer Wert)
Schritt 3: Datenbank vorbereiten
- Das XAMPP Control Panel öffnen und Apache und MySQL starten (reicht hier als normal Benutzer, nicht Windows-Administrator)
- Im Panel bei MySQL den Admin-Link anklicken, um PHPmyAdmin im Browser zu öffnen
- Neue Datenbank anlegen (habe als Name "contao440" und als Kollation "utf8_general_ci" angegeben)
- Browser mit PHPmyAdmin wieder schließen
- Apache und MySQL stoppen und das XAMPP Control Panel beenden
Schritt 4: Contao-Verzeichnis vorbereiten
- Im Windows-Explorer neues Verzeichnis anlegen: C:\xampp\htdocs\contao440\
- Download der aktuellen Contao Version 4.4.0 als ZIP-Archiv für die Manuelle Installation
- ZIP entpacken
- Den Inhalt des Ordners "contao-4.4.0" in das eben vorbereitete Verzeichnis unter C:\xampp\htdocs\contao440\ kopieren
Schritt 5: Contao installieren
- Rechtklick auf die Programmverknüpfung für das XAMPP Control Panel und als Administrator ausführen
- Apache und MySQL starten (wird so mit Admin-Rechten ausgeführt)
- Im Browser die Installationsseite aufrufen:
http://localhost/contao440/web/contao/install
Schritt 6: Der Contao-Installationsanleitung folgen...
- Nutzungsbedingungen akzeptieren
- Passwort für das Installtool vergeben
- Datenbankverbindung einrichten:
Host: localhost
Port: 3306
Benutzer: root
Passwort bei "normaler" XAMPP-Installation leer lassen
Datenbankname: contao440 (wie oben per PHPmyAdmin eingerichtet) - Dann Datenbank aktualisieren (Tabellen werden eingerichtet)
- Administratorkonto anlegen (Benutzername etc. angeben)
- Link zum Backend anklicken und freuen, wenn es funktioniert :)
Das dürfte derzeit wohl die einfachste Möglichkeit einer lokalen Installation sein.
Sollte eigentlich genauso funktionieren, wenn man zuvor einen virtuellen Host eingerichtet hat, wo das web-Unterverzeichnis als Startpunkt fungiert (wie weiter oben bei Versuch 3 beschrieben)
Wichtig ist, dass das XAMPP Control Panel als Administrator ausgeführt wird.
Liste der Anhänge anzeigen (Anzahl: 2)
An contaotester:
Leider war ich nicht so erfolgreich. Zunächst habe ich den aktuellsten Contao-Check durchgeführt - alles im grünen Bereich:
Anhang 19465 / Anhang 19466
Mit der Installation meldete sich zunächst das Contao-Installtool,
nach Klick auf Lizenz akzeptieren erschien dann jedoch eine Fehlermeldung:
What's the matter?
The installation has not been completed, therefore Contao cannot work properly.
How can I fix the issue?
Please open the Contao install tool (/contao/install) in your browser.
Tell me more, please
For more information, please refer to the Contao manual.
Der erneute Aufruf der Installation führte zu der Fehlermeldung
Fatal error: Class 'Config' not found in C:\xampp\htdocs\ct440\vendor\contao\core-bundle\src\Resources\contao\library\Contao\Environ ment.php on line 537
Ein Blick auf den Quellcode zeigt, dass es an der Stelle (Zeile 537) irgendwie um das Betriebssystem geht - bei mir Windows 7 Prof. Also muss ich noch ein wenig warten ... :D
Wegen Symlinks XAMPP als Windows-Administrator installieren und ausführen
Zitat:
Zitat von
Hagord
Eine Frage z. B.: An welcher Stelle kommen denn die Skripte des Contao-Systems überhaupt in Kontakt/Verbindung mit Windows - werden die Skripte denn nicht ausschließlich vom Apache verarbeitet? Apache selbst (also das ganze XAMPP) funktioniert natürlich auf der Basis von Windows und interagiert mit diesem - klar. Unterscheidet sich also der Apache auf Windows in seiner Art und Weise zu funktionieren von einem Apache auf irgendeinem UNIX?
Contao 4 (bzw. das zu Grunde liegende Symfony PHP-Framework) verwendet viele Symlinks. Diese "Querverweise" auf andere Ordner müssen richtig funktionieren, damit Contao funktioniert.
Leider hat Windows (sowohl 7, als auch 10) aber ein paar blöde Probleme mit den Symlinks. Diese werden offenbar nur richtig erstellt und können nur richtig aktualisiert werden, wenn XAMPP mit Windows-Administrator-Rechten läuft. Suche einmal hier im Forum, da finden sich mehrere Beiträge, wo es um die Symlinks auf Windows geht.
Daher sollte XAMPP mit Administrator-Rechten installiert werden und später bei der Installation von Contao sollte XAMPP und damit auch PHP und MySQL mit Administrator-Rechten ausgeführt werden.
Ich schätze, wenn eine vorhandene XAMPP-Version genutzt wird, wurde diese mit hoher Wahrscheinlichkeit nur als "normaler" Windows-Benutzer installiert – damit hat XAMPP weniger Ausführungsrechte, auch, wenn das XAMPP Controll Panel anschließend per Rechtsklick > als Administrator ausführen gestartet wird (das ist nur eine Vermutung, könnte aber erklären, warum es bei mir funktioniert, nachdem ich es mit Admin-Rechten installiert habe).
Zu deiner anderen Frage weiter oben: Nein, den Contao Manager habe ich auch nicht zum Laufen bekommen – geht ja nicht, ist noch nicht für Windows einsatzbereit. Aber Contao 4.4 selbst konnte ich installieren und per Composer erste Erweiterungen ergänzen und testen. Die Rocksolid-Erweiterungen und Themes scheinen schon alle soweit mit 4.4 kompatibel zu sein, für meine Zwecke ist das im Moment ausreichend und ich werde versuchen, eine erste Website lokal mit 4.4 vorzubereiten/umzustellen... Laut dem Treat zum Contao Manager kann dieser ja später auch in einer vorhandenen 4.4-Installation noch nachträglich ergänzt werden (sprich dann später beim Umzug von XAMPP auf den richtigen Webserver).