Liste der Anhänge anzeigen (Anzahl: 4)
Schritt für Schritt: Installation auf einer Synology Diskstation
Im folgenden meine Vorgehensweise zur Contao 4.4.x Installation auf einer Synology Diskstation. Meine DSM Version ist 6.1.5-15254 und u.a. sind die folgenden, jeweils aktuellen Pakete installiert:
PHP 5.6, PHP 7.0, Maria DB 5, Maria DB 10, phpMyAdmin, Apache HTTP Server 2.2, Apache HTTP Server 2.4, Nginx sowie die Webstation.
Die DS wird hier zum Testen benutzt - Alle Angaben ohne Gewähr ...
Dateizugriff/Dateidienste:
Ich gehe davon aus, das der Dateizugriff auf die DS z.B. via webdav o. smb, etc. sichergestellt ist.
SSH:
Den SSH Dienst in der "Systemsteuerung" unter "Terminal & SNMP" aktivieren.
Web Station:
Die "Web Station" benutzt das Verzeichnis "Web". Um Verwirrungen zu vermeiden
beziehe ich mich daher fortan immer auf das "Web Station Hauptverzeichnis".
Wenn man jetzt eine bel. index.html o. index.php in das "Web Station Hauptverzeichnis" kopiert sollte diese autom. über den Port 80 erreichbar sein: http://IHRE-DS-IP:80
Darüberhinuas können beliebig viele virtuelle Hosts mit unterschiedlichen PHP-Versionen/Webservern angelegt werden.
PHP Erweiterungen
In der "Web Station" unter "PHP-Einstellungen" die gewünschte PHP Version (z.B. PHP 7.0 - je nach installierten Paketen)
auswählen und entprechend den Contao/Contao-Manager Systemvoraussetzungen die Einstellungen vornehmen:
Ich habe hier alle Erweiterungen (intl, phar, etc.), PHP-Cache und "display_errors" aktiviert.
Update:
Habe heute auf die neue "Web Station" Version 2.1.3-0139 aktualisiert.
Hier kann man nun in den PHP Einstellungen versch. Profile anlegen und in den vhost Angaben heranziehen - s. Screen ds_webstation_2.1.3-0139.jpg
Liste der Anhänge anzeigen (Anzahl: 1)
Contao 4.4.x Installation (mit PHP 7.0 u. Apache 2.2) via CM:
Im "Web Station Hauptverzeichnis" ein Verzeichnis z.B. "contao4" mit dem Unterverzeichnis "web" anlegen
In das Verzeichnis "contao4/web" den CM (contao-manager.phar) kopieren und umbenennen (contao-manager.phar.php)
In der "Web Station" einen neuen virtuellen Host erstellen:
- Option "Namensbasiert" aktivieren - z.B. "contao4.nas" u. Auswahl Port 80/443
- Bei "Dokument-Root" unser Verzeichnis "contao4/web" auswählen
- HTTP Server: z.B: Apache 2.2
- PHP: z.B: PHP 7.0
- s. Screen ds-webstation-vhost-apache.jpg
Im Anschluß kann via http://contao4.nas/contao-manager.phar.php die Installation über die CM GUI angestoßen werden.
(Wenn man z.B über Windows7 darauf zugreifen möchte, muß man selbstverständlich zuvor in der "Windows/System32/drivers/etc/host" den Host Eintrag hinzufügen: IHRE_DS_IP contao4.nas.
Oder man wählt in der "Web Station" die "Portbasierte" Option aus. Der Aufruf erfolgt dann über die DS IP mit dem angegebenen Port: z.B.: http://IHRE_DS_IP:8080)
Im Installtool geben Sie als Datenbank-Host "localhost" an. Maria DB 5 erreicht man normalerweise über den Port 3306 und Maria DB 10 über den Port 3307.
Liste der Anhänge anzeigen (Anzahl: 1)
Contao 4.4.x Installation (mit PHP 7.0 u. Apache 2.2) via SSH/Composer:
Starten Sie Ihre SSH Session (z.B. via putty) und loggen sich ein.
Hinweis: Auch wenn Sie sich hierbei mit Ihrem DSM Administrator Konto anmelden müssen Sie für root Zugriffsrechte immer mit sudo arbeiten/voranstellen.
Der PHP Standard auf der shell ist PHP 5.6.11 (php -v). Die PHP Versionen finden Sie, je nach installierten Paket, z.B. unter /usr/local/bin/php70.
Die jeweiligen Konfigurationen dann unter /usr/local/etc/php70. Es sind auch bereits alias Einträge vorhanden. Diese Angaben wären also identisch:
Code:
/usr/local/bin/php70 -v
php70 -v
Wechseln Sie in das "Web Station Hauptverzeichnis"
Kopieren Sie sich den composer mit:
Code:
wget https://getcomposer.org/composer.phar
Starten Sie die Installation mit:
Code:
php70 composer.phar create-project contao/managed-edition contao4 4.4.x
In der "Web Station" einen neuen virtuellen Host erstellen (s.o - oder Screen ds-webstation-vhost-apache.jpg)
Vervollständigen Sie dann die Installation über z.B.: http://contao4.nas/contao/install
Im Installtool geben Sie als Datenbank-Host "localhost" an. Maria DB 5 erreicht man normalerweise über den Port 3306 und Maria DB 10 über den Port 3307.
Liste der Anhänge anzeigen (Anzahl: 1)
Nginx als Webserver:
Hat man in der "Web-Station" seinen virtuellen Host Eintrag mit einem Apache Server eingetragen sind keine weiteren Schritte notwendig.
Möchte man seinen Host Eintrag mit einem Nginx Server aufsetzen, einfach diesen als "HTTP-Backend-Server" auswählen und speichern - s. Screen ds-webstation-vhost-nginx.jpg.
Hierbei müssen jedoch weitere Einstellungen vorgenommen werden.
Die "Web Station" speichert alle virtuellen Host Einträge unter /etc/nginx/app.d/server.webstation-vhost.conf
Diese wird bei jeder Änderung in der "Web Station" neu geschrieben, beinhaltet in der letzten Zeile (je vhost Eintrag) jedoch immer eine include Anweisung der Art:
Code:
server {
...
include /usr/local/etc/nginx/conf.d/785af8db-fb8b-44a8-b3ff-811bf048094e/user.conf*;
}
In dem hier includierten Verzeichns kann z.B: eine user.conf.contao4-vhost.conf mit folgenden Einträgen update sicher angelegt werden:
Code:
index app.php index.html index.htm index.cgi index.php index.php5;
location ~* \.(php[345]?|phtml)$ {
fastcgi_index app.php;
}
location / {
try_files $uri $uri/ /app.php?$args;
}
UPDATE:
Mit der obigen, rudimentären Konfiguration funktioniert der Zugriff auf das Contao Frontend, Backend und auf das Installtool.
Möchte man darüberhinaus auch auf die app_dev.php und den CM (contao-manager.phar.php) zugreifen funktioniert dies mit folgenden Angaben - bitte gegenüber obige vollständig ersetzen :
Code:
# Contao/Symfony Configuration
# see https://www.nginx.com/resources/wiki/start/topics/recipes/symfony/
# GENERAL
# try to serve file directly, fallback to app.php
location / {
index app.php;
try_files $uri $uri/ /app.php?$args;
}
# DEV
# app_dev.php and contao-manager.phar.php
location ~ ^/(app_dev|contao-manager\.phar)\.php(/|$) {
# depends on webstation vhost PHP config selection
fastcgi_pass unix:/run/php-fpm/php70-fpm.sock;
#fastcgi_pass unix:/run/php-fpm/php56-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
# PROD
location ~ ^/app\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
}
Hinweis:
Abhängig von den angegebenen PHP Einstellungen in der jeweiligen "Web Station" vhost müssen die "fastcgi_pass ..." Zeilen kommentiert/auskommentiert werden (hier PHP70 aktiviert).
Im Verzeichnis /etc/nginx dann mit
unbedingt überprpüfen ob die Konfigurationen einwandfrei sind!!! Und erst dann den Server über
Code:
sudo nginx -s reload
neu starten
Liste der Anhänge anzeigen (Anzahl: 1)
Habe heute auf die neue "Web Station" Version 2.1.3-0139 aktualisiert.
Hier kann man nun in den PHP Einstellungen versch. Profile anlegen und in den vhost Angaben heranziehen - s. Screen ds_webstation_2.1.3-0139.jpg
contao4 auf Synology gelingt einfach nicht
(Meine Synology: DSM 6.1.6-15266 Update 1 auf einer DS214play)
"php_cli": "\/usr\/local\/bin\/php70"
funktioniert bei mir auch nicht.
Contao behauptet, der Pfad sei nicht korrekt ("Es wurde kein valides PHP Programm auf dem Server gefunden.")
"php": "\/usr\/local\/bin\/php70"
in der Datei manager.json funktioniert auch nicht.
Gehe ich den Weg über die "contao-manager.phar.php" und gebe dort in dem Formular den Pfad mir oder ohne die "Entwerter" ein (also "/usr/local/bin/php70"), komme ich zum gleichen Ergebnis.
Ich habe viele Variationen ausprobiert
/usr/local/bin/php70
/usr/local/bin/php7.0
/usr/local/bin/php7
/usr/local/bin/php
Wenn ich auf php5 (5.6) umschalte, komme ich zwar an dieser Stelle weiter (also PHP-Programm wird im Pfad "/usr/local/bin/php" -Achtung: ohne 70- akzeptiert), aber die Installation hängt dann einen Schritt später.
Dort wird behauptet, dass die Erweiterung "PHP Intl" nicht zur Verfügung steht, sie ist aber definitiv eingeschaltet (lasse ich mir auch über phpinfo(); bestätigen)
Die Fehlermeldung lautet "The PHP Intl extension is not available."
Außerdem wird "dringend" empfohlen, auf PHP7 umzusteigen.
Die Installation hakt also so oder so. Das ist leider ein ziemlicher Krampf, und eigentlich sehr schade.
Ich benutze contao schon seit Jahren, allerdings 2er Versionen, und wollte endlich aktualisieren.
Dieses Prozedere ist aber so frustrierend, dass man sich schon für Alternativen interessiert.
Gibt es denn keine andere Möglichkeiten, contao4 auf der Synology ans Laufen zu kriegen? Andere CMS zicken doch auch nicht so herum.
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat von
fiedsch
Hast Du denn überhaupt PHP7 installiert? Was liegt denn im Verzeichnis /usr/local/bin (siehe auch
#13).
PHP7 ist installiert, zumindest behauptet das die Synology. contao bestätigt das auch (siehe bild)Anhang 20847
im Verzeichnis /usr/local/bin wird mir mit ls das hier angezeigt
feasibilitycheck htpasswd httpd24 php56-cgi php70 php70-fpm phpdbg70
htdigest httpd22 php56 php56-fpm php70-cgi phpdbg56
Allerdings wird mir nach Eingabe von
cd php70
angezeigt
-sh: cd: php70: Not a directory
Ich verstehe das nicht ...
symlinks konnten nicht erstellt werden
Hi,
vielen Dank. Ich möchte nun weg von xampp auf Laptop und xammp auf PC und dem damit verbundenem Aufwand.
Contao check heruntergeladen, Optionen wie genannt angehakt.
Manager aufgerufen: File not found.
Check aufgerufen.
Symlinks konnten nicht erzeugt werden. Contao kann auf diesem Server nicht installiert werden... Irgendwer eine Idee?
mfG
tsunami