In diesem Tutorial wird die lokale Contao Nutzung mit XAMPP für Windows beschrieben. Wir verwenden hierbei eine »XAMPP Portable Version«, die lediglich kopiert werden muß. Du wählst hierzu das passende Windows Archiv aus.
Anschließend entpackst du das Archiv nach z. B. D:\xampp
und startest einmalig die Datei setup_xampp.bat
. Die
»XAMPP Installation« ist damit abgeschlossen.
Im deinem Verzeichnis findest du die Datei »xampp-control.exe«. Mit einem Rechts-Klick startest du diese mit der Option »Als Administrator ausführen«. Im »XAMPP Control-Panel« aktivierst du die Module »Apache« und »MySQL«.
Weiterhin klickst du einmalig auf die Schaltfläche Shell
. Im Anschluss wird in deinem Verzeichnis die Datei
»xampp_shell.bat« erstellt und eine entsprechende »XAMPP Konsole« geöffnet. Zwecks Überprüfung gibts du in dieser
Konsole den Befehl php -v
ein. Als Ausgabe solltest du die entsprechende PHP (CLI) Version erhalten und kannst
die Konsole dann schliessen.
In deinem Browser erreichst du über die Eingabe von http://localhost
das
»XAMPP Dashboard« mit generellen Informationen. Hier findest du im oberen Menü u. a. einen Link PHPInfo
mit
Informationen zur aktuellen PHP-Konfiguration.
Du solltest das »XAMPP Control-Panel« (xampp-control.exe) und die »XAMPP Konsole« (xampp_shell.bat) immer mit Administrator Rechten starten.
Entsprechend den Contao Systemvoraussetzungen müssen wir die PHP-Konfiguration einmalig anpassen. Hierzu stoppst du zunächst im »XAMPP Control-Panel« die Module »Apache« und »MySQL«.
In der Datei D:\xampp\apache\php.ini
suchst du die Zeilen »memory_limit« und »extension=intl« und änderst diese wie folgt:
Eintrag | Änderung |
---|---|
memory_limit = 512M | memory_limit = -1 |
;extension=intl | extension=intl |
Die genannten Änderungen sind für die Installation über den PHP-Composer oder über den Contao Manager zwingend notwendig. Darüber hinaus könntest du optional auch die Einträge »allow_url_fopen«, »max_execution_time« oder »file_uploads« überprüfen und anpassen.
Bei XAMPP bzw. Apache unter Windows ist der Default-Wert der sogenannten ThreadStackSize
nur 1 MB, während der Wert auf Linux-Plattformen standardmäßig bei 8 MB liegt. Um Abstürze des lokalen Servers zu vermeiden, wird empfohlen, diesen Wert zu erhöhen.
Ergänze dazu die Datei D:\xampp\apache\conf\httpd.conf
am Ende durch folgenden Code, um die ThreadStackSize
auf 8 MB zu erhöhen
<IfModule mpm_winnt_module>
ThreadStackSize 8388608
</IfModule>
Danach muss XAMPP (Apache) neu gestartet werden.
Herzlichen Glückwunsch! Du hast alle Vorbereitungen für eine lokale Installation von Contao abgeschlossen.
Wir haben keine »XAMPP» Installation unter Windows im eigentlichen Sinne durchgeführt. Daher werden wir die benötigte PHP-Composer-Datei ebenfalls lediglich kopieren.
Starte über das »XAMPP Control-Panel« mit Administrator-Berechtigung die Module »Apache« und »MySQL«. Öffne ebenfalls die »XAMPP-Konsole« (xampp_shell.bat) mit Administrator-Berechtigung und wechsle in dein aktuelles XAMPP-Verzeichnis.
Im Anschluss führst du folgende Angaben schrittweise aus:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
In deinem XAMPP-Verzeichnis befindet sich nun die Datei composer.phar
. Mit Eingabe von php composer.phar -V
solltest
du eine entsprechende Rückmeldung erhalten.
Ohne weitere vHost-Konfiguration (s. u.) erwartet XAMPP die Dateien deiner Webseite im XAMPP-Verzeichnis htdocs
.
In der »XAMPP-Konsole« wechselst du daher in dieses Unterverzeichnis und installierst eine Contao-Version
mit Eingabe von z. B.:
php ../composer.phar create-project contao/managed-edition demo 4.9
Deine Contao-Installation befindet sich im Anschluss im XAMPP-Verzeichnis htdocs\demo
.
Optional könntest du die Installation von Contao auch direkt über den Contao-Manager ausführen.
Erstelle dir hierzu besipielsweise im XAMPP-Verzeichnis htdocs
die Verzeichnisse demo\web
. Kopiere den
Contao-Manager in das Verzeichnis demo\web
und benenne die Datei danach
in »contao-manager.phar.php« um.
Im »XAMPP Control-Panel« kannst du im Bereich »MySql« über die Schaltfläche »Admin« phpMyAdmin
ausführen und wie
gewohnt eine Datenbank anlegen. Sofern noch nicht geschehen kopierst du den
Contao Manager z. B. in das Verzeichnis demo\web
und benennst die Datei danach
in »contao-manager.phar.php« um.
Deine Installation kann jetzt abgeschlossen werden. Allerdings unterscheiden sich die Contao-Aufrufe, ohne
weitere vHost-Konfiguration (s. u.), von den bekannten Möglichkeiten. Zum aktuellen Zeitpunkt steht dir nur die lokale,
interne Domain localhost
zur Verfügung und diese zeigt in XAMPP standardmäßig auf das Verzeichnis htdocs
.
Die Contao Aufrufe für unsere Beispiel Installation im Verzeichnis htdocs\demo
wären daher:
Ziel | Aufruf |
---|---|
Install-Tool | http://localhost/demo/web/contao/install |
Contao-Backend | http://localhost/demo/web/contao |
Contao-Frontend | http://localhost/demo/web |
Contao-Manager | http://localhost/demo/web/contao-manager.phar.php/ Der Schrägstrich am Ende ist zwingend notwendig! |
Du kannst demnach ohne eigene »XAMPP vHost-Konfiguration« (s. u.) mit Contao arbeiten, solange du die obigen Aufrufe berücksichtigst. Innerhalb der Contao eigenen Verlinkung (z. B.: Den Contao Manager über das Backend starten usw.) erhältst du weiterhin Fehlermeldungen, da diese von einer »korrekten« Umgebung ausgehen. Empfehlenswert wäre daher die weitere, einmalige XAMPP-Konfiguration über einen eigenen vHost.
Eine einmalige, eigene XAMPP vHost-Konfiguration bietet zahlreiche Vorteile. Einerseits kannst du hierüber deine Contao-Installation(en) außerhalb des XAMPP-Verzeichnisses pflegen und andererseits diese mit eigenen, lokalen Domain-Namen verknüpfen.
Erstelle dir ein neues Verzeichnis z. B. D:\vhost\demo\web
. Kopiere den Contao Manager
in dieses Verzeichnis und benenne die Datei danach in »contao-manager.phar.php« um.
Wir möchten unsere Contao-Installation über die Domain demo.local
erreichen. Im Windows Verzeichnis System32/drivers/etc
fügst du hierzu in der Datei hosts
den Eintrag 127.0.0.1 demo.local
hinzu. Grundsätzlich könntest du nun diese
Domain nutzen. Allerdings macht es zur bisherigen Vorgehensweise noch keinen Unterschied. Wir müssen XAMPP zur
Nutzung unseres neuen Verzeichnisses erst konfigurieren.
Öffne die Datei \apache\conf\httpd.conf
in deinem XAMPP-Verzeichnis und suche die Zeile
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
. Entferne hier den Hashtag #
und speichere deine Änderung.
Füge in der Datei \apache\conf\extra\httpd-vhosts.conf
folgende Angaben hinzu:
<VirtualHost *:80>
ServerAdmin webmaster@demo.local
DocumentRoot "D:\vhost\demo\web"
ServerName demo.local
ServerAlias www.demo.local
<Directory D:\vhost\demo>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog "D:\xampp\apache\logs\demo.local_error.log"
CustomLog "D:\xampp\apache\logs\demo.local_access.log" combined
</VirtualHost>
Passe hier nötigenfalls die Pfadangaben deiner aktuellen Verzeichnisse entsprechend an. Im »XAMPP Control-Panel«
musst du die Module »Apache« und »MySQL« neu starten. Anschließend kannst du den Contao Manager über den Aufruf
http://demo.local/contao-manager.phar.php
erreichen.
Mit dieser Vorgehensweise könntest du auch mehrere Contao-Installationen über verschiedene, lokale Domain-Namen mit separaten vHost-Einträgen pflegen.
Über den Aufruf von z. B.: http://demo.local/contao-manager.phar.php
erhälst du im Contao-Manager einen Hinweis
das es sich um eine »Unsichere Verbindung« handelt. Dies ist korrekt, da XAMPP kein SSL-Zertifikat für unsere Domain
demo.local
ausliefert bzw. dieses nicht existiert.
Im XAMPP-Verzeichnis \apache
findest du die Datei »makecert.bat«, über die du dir ein neues, lokales V1-Zertifikat
erstellen kannst. Starte in der »XAMPP-Konsole» diese Datei und folge den Anweisungen. Deine Angaben sind hier
grundsätzlich beliebig. Lediglich die Angabe bei Common Name
muss dem aktuellen, lokalen Domain-Namen entsprechen.
Für unser Beispiel also zwingend demo.local
.
In den Dateien apache\conf\ssl.crt
, apache\conf\ssl.csr
und apache\conf\ssl.key
wurden den Angaben
entsprechend neue Zertifikat Informationen generiert. In der XAMPP vHost-Konfiguration müssen diese Informationen
hinterlegt werden. Füge dazu in der Datei \apache\conf\extra\httpd-vhosts.conf
folgende Angaben hinzu:
<VirtualHost *:443>
ServerAdmin webmaster@demo.local
DocumentRoot "D:\vhost\demo\web"
ServerName demo.local
ServerAlias www.demo.local
SSLEngine on
SSLCertificateFile "D:\xampp\apache\conf\ssl.crt\server.crt"
SSLCertificateKeyFile "D:\xampp\apache\conf\ssl.key\server.key"
<Directory D:\vhost\demo>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog "D:\xampp\apache\logs\demo.local_error.log"
CustomLog "D:\xampp\apache\logs\demo.local_access.log" combined
</VirtualHost>
Ändere auch hier wieder die Pfade entsprechend deiner aktuellen Umsetzung und starte im »XAMPP Control-Panel«
die Module »Apache« und »MySQL« erneut. Anschließend kannst du den Contao Manager über https://demo.local/contao-manager.phar.php
erreichen.
Dein Browser wird dir einen Warnhinweis ausgeben, da dieser unser lokal erstelltes Zertifikat zwar erkennt aber
zunächst nicht vertraut. Dies kannst du aber ohne weiteres ignorieren und im Browser die Domain demo.local
als Ausnahme bestätigen.
Im Contao-Manager selbst wird fortan der vorherige Hinweis auf eine »Unsichere Verbindung« nicht mehr erfolgen.