https://wiki.hostsharing.net/api.php?action=feedcontributions&user=Cgl00-cglass&feedformat=atomHostsharing Wiki - Benutzerbeiträge [de]2024-03-28T19:22:00ZBenutzerbeiträgeMediaWiki 1.35.14https://wiki.hostsharing.net/index.php?title=Diskussion:Traffic&diff=3961Diskussion:Traffic2014-11-16T11:06:33Z<p>Cgl00-cglass: Edit: Info zur Interpretation ist doch vorhanden!</p>
<hr />
<div>Laut Diskussion in support@ funktionieren die Skripte nicht. Darum als Baustelle markiert. --[[Benutzer:Deg00-m.website|ChristofT]] ([[Benutzer Diskussion:Deg00-m.website|Diskussion]]) 10:57, 15. Nov. 2014 (CET)<br />
<br />
<br />
'''Bei mir liefert das erste Skript-Beispiel (alles in eine Zeile geschrieben und ohne den Backslash in der Bash aufgerufen):'''<br />
<br />
[...]<br />
342876 6 57146<br />
375150 10 37515<br />
432708 12 36059<br />
553220 1 553220<br />
707849 1 707849<br />
729792 12 60816<br />
754341 21 35921<br />
784004 13 60308<br />
790466 1 790466<br />
927940 26 35690<br />
980971 1 980971<br />
1095479 1 1095479<br />
[...]<br />
<br />
Was sagt mir das jetzt?<br />
<br />
Ein Beispiel mit Erklärung auf dieser Seite ist erforderlich, damit man auch das interpretieren kann was man sieht.<br />
<br />
Meine erste Vermutung: rechte Spalte x mittlere Spalte = linke Spalte<br />
<br />
und weiterhin:<br />
<br />
rechte Spalte = Dateigröße einer einzelnen aufgerufenen Datei (???)<br />
<br />
mittlere Spalte = Anzahl der Aufrufe (je Besucher oder generell Aufrufe von wem auch immer, d.h. insbesondere u.a. auch mehrfach vom selben Besucher ???)<br />
<br />
linke Spalte = Produkt aus mittlerer und rechter Spalte (= insgesamt verursachter Traffic durch den Abruf der einzelnen Datei)<br />
<br />
Generelle Frage: Auf welchen Zeitraum bezieht sich das dann?<br />
--[[Benutzer:Cgl00-cglass|Cgl00-cglass]] ([[Benutzer Diskussion:Cgl00-cglass|Diskussion]]) 12:01, 16. Nov. 2014 (CET)<br />
<br />
'''Edit: Die Info ist vorhanden'''- Michael hatte sie in der Mailingliste drunter geschrieben. Siehe "Zeile 4: Ausgabe von Produkt, Zugriffen und Einzelvolumen je Zugriff" und "das Produkt aus Eizelvolumen und Häufigkeit der Zugriffe ist entscheidend", also die erste Spalte.<br />
<br />
--[[Benutzer:Cgl00-cglass|Cgl00-cglass]] ([[Benutzer Diskussion:Cgl00-cglass|Diskussion]]) 12:06, 16. Nov. 2014 (CET)</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=Diskussion:Traffic&diff=3960Diskussion:Traffic2014-11-16T11:01:41Z<p>Cgl00-cglass: Interpretationsfrage der Daten</p>
<hr />
<div>Laut Diskussion in support@ funktionieren die Skripte nicht. Darum als Baustelle markiert. --[[Benutzer:Deg00-m.website|ChristofT]] ([[Benutzer Diskussion:Deg00-m.website|Diskussion]]) 10:57, 15. Nov. 2014 (CET)<br />
<br />
<br />
'''Bei mir liefert das erste Skript-Beispiel (alles in eine Zeile geschrieben und ohne den Backslash in der Bash aufgerufen):'''<br />
<br />
[...]<br />
342876 6 57146<br />
375150 10 37515<br />
432708 12 36059<br />
553220 1 553220<br />
707849 1 707849<br />
729792 12 60816<br />
754341 21 35921<br />
784004 13 60308<br />
790466 1 790466<br />
927940 26 35690<br />
980971 1 980971<br />
1095479 1 1095479<br />
[...]<br />
<br />
Was sagt mir das jetzt?<br />
<br />
Ein Beispiel mit Erklärung auf dieser Seite ist erforderlich, damit man auch das interpretieren kann was man sieht.<br />
<br />
Meine erste Vermutung: rechte Spalte x mittlere Spalte = linke Spalte<br />
<br />
und weiterhin:<br />
<br />
rechte Spalte = Dateigröße einer einzelnen aufgerufenen Datei (???)<br />
<br />
mittlere Spalte = Anzahl der Aufrufe (je Besucher oder generell Aufrufe von wem auch immer, d.h. insbesondere u.a. auch mehrfach vom selben Besucher ???)<br />
<br />
linke Spalte = Produkt aus mittlerer und rechter Spalte (= insgesamt verursachter Traffic durch den Abruf der einzelnen Datei)<br />
<br />
Generelle Frage: Auf welchen Zeitraum bezieht sich das dann?<br />
--[[Benutzer:Cgl00-cglass|Cgl00-cglass]] ([[Benutzer Diskussion:Cgl00-cglass|Diskussion]]) 12:01, 16. Nov. 2014 (CET)</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=Tomcat_Installieren&diff=3931Tomcat Installieren2014-08-25T19:10:16Z<p>Cgl00-cglass: /* Start des Tomcat Servers */ Pfad aktualisiert bzw. ergänzt</p>
<hr />
<div>Apache Tomcat installieren<br />
<br />
== Allgemein ==<br />
<br />
[http://tomcat.apache.org/ Apache Tomcat] ist ein Webserver (HTTP-Server), der in der Programmiersprache Java entwickelt ist.<br />
Er dient in erster Linie dazu, dynamische Web-Anwendungen zu betreiben, die ebenfalls in Java programmiert sind.<br />
Basis-Technologien sind [http://de.wikipedia.org/wiki/Servlet Java-Servlets] und [http://de.wikipedia.org/wiki/JSP Java Server Pages (JSP)].<br />
<br />
== Spezielle Installation bei Hostsharing ==<br />
<br />
In jedem dynamischen Webhosting-Paket der Hostsharing eG können einer (oder mehrere) Tomcat-Webserver betrieben werden.<br />
<br />
Dazu muss die die kostenpflichtige Option [https://www.hostsharing.net/produkte/web-pakete "Betrieb eines eigenen Serverdienstes"] gebucht werden.<br />
<br />
Diese Anleitung dokumentiert die Installation des Apache Tomcat Servers als Paket-Admin in einem WEB-Paket bei Hostsharing. (Nicht SW-Paket)<br />
Mit der Einrichtung der Option "eigener Serverdienst" werden für die Paket-IP-Adresse einer oder mehrere IP-Ports reserviert. An diese Ports wird der eigene Serverdienst (also der Tomcat-Server) auf der paketeigenen IP-Adresse gebunden.<br />
<br />
== Installation == <br />
<br />
Die Tomcat-Distribution kann von den Apache-Servern heruntergeladen werden. Wir empfehlen die Installation des Tomcats im Paket, für die Tomcat-Software wird nur ca. 8 MB Speicherplatz benötigt.<br />
<br />
Zur Zeit ist die Version 7.0.41 aktuell (Juni 2013).<br />
<br />
Die Software wird heruntergeladen und entpackt. Das Installationsverzeichnis wird in "tomcat7" umbenannt:<br />
<br />
<pre><br />
cd /home/pacs/xyz00<br />
wget http://apache.mirror.iphh.net/tomcat/tomcat-7/v7.0.41/bin/apache-tomcat-7.0.41.tar.gz<br />
tar xzf apache-tomcat-7.0.41.tar.gz<br />
mv apache-tomcat-7.0.41 tomcat7<br />
rm apache-tomcat-7.0.41.tar.gz<br />
</pre><br />
<br />
In der Hauptsache muss die Konfigurationsdatei "server.xml" im Verzeichnis "~/tomcat7/conf/" angepasst werden.<br />
<br />
Beispiel für eine minimale "server.xml":<br />
<br />
<pre><br />
<?xml version='1.0' encoding='utf-8'?><br />
<Server port="-1" shutdown="SHUTDOWN"><br />
<br />
<Listener className="org.apache.catalina.core.JasperListener" /><br />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /><br />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /><br />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /><br />
<br />
<GlobalNamingResources><br />
<br />
<Resource name="UserDatabase" auth="Container"<br />
type="org.apache.catalina.UserDatabase"<br />
description="User database that can be updated and saved"<br />
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"<br />
pathname="conf/tomcat-users.xml" /><br />
<br />
</GlobalNamingResources><br />
<br />
<Service name="Catalina"><br />
<br />
<Connector <br />
address="xyz00.hostsharing.net" port="31313" <br />
protocol="AJP/1.3" redirectPort="443" /><br />
<br />
<Engine name="Catalina" defaultHost="xyz00.hostsharing.net"><br />
<br />
<Realm className="org.apache.catalina.realm.LockOutRealm"><br />
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"<br />
resourceName="UserDatabase"/><br />
</Realm><br />
<br />
<Host name="xyz00.hostsharing.net" <br />
appBase="../webapps/default" <br />
unpackWARs="true" autoDeploy="true"><br />
</Host><br />
<br />
</Engine><br />
</Service><br />
</Server><br />
</pre><br />
<br />
Angepasst werden müssen:<br />
* der Paketname (im Beispiel xyz00) und<br />
* der IP-Port (im Beispiel 31313)<br />
<br />
== Deployment einer Anwendung ==<br />
<br />
In der Beispiel-Konfiguration wurde das Verzeichnis "~/webapps/default" für die Anwendungen konfiguriert.<br />
Wir legen dieses Verzeichnis an und kopieren eine Beispielanwendung hinein:<br />
<br />
<pre><br />
cd /home/pacs/xyz00<br />
mkdir webapps<br />
mkdir webapps/default<br />
cp -a tomcat7/webapps/examples webapps/default/<br />
</pre><br />
<br />
Nun können wir die HTTP-Requests, die an eine Domain im Paket gesendet werden, an den Tomcat weiterleiten.<br />
Das funktioniert über eine ".htaccess"-Datei, zum Beispiel im Verzeichnis "~/doms/example.org/htdocs":<br />
<br />
<pre><br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-l<br />
RewriteRule ^(.*) ajp://xyz00.hostsharing.net:31313/$1 [proxy,last]<br />
</pre><br />
<br />
Paketname und Port müssen wieder angepasst werden!<br />
<br />
Dann können wir unsere Tomcat-Examples unter der URL "http://examples.org/examples/" erreichen.<br />
<br />
== Start des Tomcat Servers ==<br />
<br />
Der Tomcat kann über die Skripte in "~/tomcat7/bin/" gestartet und gestoppt werden.<br />
<br />
<pre><br />
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk<br />
cd /home/pacs/xyz00/tomcat7<br />
./bin/catalina.sh start<br />
</pre><br />
<br />
'''Anmerkung:''' Die Export-Zeile lautet bei shared hosting aktuell '''export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-i386/'''<br />
<br />
Log-Ausgaben des Servers sind in "~/tomcat7/logs/catalina.out" zu finden.<br />
<br />
Damit der Tomcat bei einem Reboot der Hostsharing-Server automatisch gestartet wird,<br />
kann "monit" als einfaches Überwachungswerkzeug genutzt werden.<br />
Ein Anleitung dazu gibt es in diesem Wiki: [[Monit_installieren]] Die Anleitung bezieht sich auf einen eigenen <br />
Apache-Webserver und muss entsprechend für Tomcat adaptiert werden.<br />
<br />
== Links ==<br />
<br />
*[http://tomcat.apache.org/ Apache Tomcat Homepage (Englisch)]<br />
*[http://tomcat.apache.org/tomcat-7.0-doc/index.html Apache Tomcat Dokumentation (Version 5.*, Englisch)]<br />
*[http://wiki.apache.org/tomcat/FrontPage Apache Tomcat Wiki (Englisch)]<br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]<br />
[[Kategorie:Eigene Daemons]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3913TYPO3 Neos installieren2014-06-27T22:39:22Z<p>Cgl00-cglass: /* Migration der Doctrine-Datenbank */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Die PHP-Kommandozeilenversion (PHP-CLI) erfüllt die geforderte Versionsnummer von 5.3.7: Installiert ist PHP 5.4.4-14+deb7u11 (cli)<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
'''composer update'''<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
<br />
=== Weitere Einstellungen ===<br />
<br />
==== URI Suffix ändern ====<br />
<br />
Das URI-Suffix ist standardmäßig auf ".html" eingestellt. Man kann dieses Suffix zentral ändern und auch ganz entfernen:<br />
<br />
nano /home/doms/example.org/TYPO3-Neos/Configuration/Routes.yaml<br />
<br />
Der Eintrag für defaultUriSuffix kann hierzu geändert werden:<br />
<br />
# TYPO3 Neos subroutes<br />
-<br />
name: 'TYPO3 Neos'<br />
uriPattern: '<TYPO3NeosSubroutes>'<br />
subRoutes:<br />
'TYPO3NeosSubroutes':<br />
package: 'TYPO3.Neos'<br />
variables:<br />
'defaultUriSuffix': <nowiki>''</nowiki><br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden].<br />
<br />
Quelle: https://review.typo3.org/#/c/25746<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Logs/Security_Development.log<br />
| Logdatei analog zu '''Security.log''' (s.u.), allerdings für den '''Development-Kontext'''.<br />
|-<br />
| Data/Logs/Security.log<br />
| Logdatei, die '''Loginversuche im Production-Kontext''' protokolliert.<br />
|-<br />
| Data/Logs/System_Development.log<br />
| Logdatei analog zu '''System.log''' (s.u.), allerdings für den '''Development-Kontext'''.<br />
|-<br />
| Data/Logs/Sytem.log<br />
| '''System-Logdatei im Production-Kontext''' (enthält auch Hinweise auf Fehler oder Exceptions, siehe "CRITICAL").<br />
|-<br />
| Data/Logs/Exceptions/<br />
| Zu jeder '''Fehlermeldung (Exception)''' liegt hier eine *.txt-Datei, die Tag und Uhrzeit im Dateinamen trägt. In den Textdateien findet man die Fehlermeldung und einen Trace.<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
'''In beiden Fällen''' müssen anschließend die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] und eine [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Migration_der_Doctrine-Datenbank Migration der Doctrine-Datenbank] durchgeführt werden.<br />
<br />
Vor jedem Update sollte man prüfen, ob composer selbst ein Update benötigt:<br />
<br />
composer self-update<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
(Statt <version> z.B. 1.0.*)<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neos-nodetypes:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
'''Einmalig''' ist zuvor in der composer.json (siehe TYPO3-Neos Rootverzeichnis) statt "1.0.*" der Eintrag "dev-master" zu hinterlegen:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
nano composer.json<br />
<br />
dort sind die vorhandenen Einträge wiefolgt zu ändern (Die Leerzeichen zu Beginn sind wichtig, da sie zum Syntax gehören!):<br />
<br />
"require": {<br />
"typo3/neos": "dev-master",<br />
"typo3/neos-nodetypes": "dev-master",<br />
"typo3/neosdemotypo3org": "dev-master",<br />
"typo3/neos-kickstarter": "dev-master",<br />
"doctrine/migrations": "@dev"<br />
}<br />
<br />
Anschließend kann das Update jedes Mal durch composer angestoßen werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
<br />
=== Migration der Doctrine-Datenbank ===<br />
<br />
./flow core:migrate<br />
./flow doctrine:migrationgenerate<br />
./flow doctrine:migrate<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
== Weiterführende Links ==<br />
<br />
http://neos.typo3.org/<br />
<br />
http://docs.typo3.org/neos/TYPO3NeosDocumentation/Appendixes/ChangeLogs/101.html<br />
<br />
https://twitter.com/TYPO3Neos<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3912TYPO3 Neos installieren2014-06-27T14:39:31Z<p>Cgl00-cglass: /* Bemerkung zu bereitstehenden PHP Versionen */ PHP-CLI-Versionsnummer aktualsisiert</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Die PHP-Kommandozeilenversion (PHP-CLI) erfüllt die geforderte Versionsnummer von 5.3.7: Installiert ist PHP 5.4.4-14+deb7u11 (cli)<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
'''composer update'''<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
<br />
=== Weitere Einstellungen ===<br />
<br />
==== URI Suffix ändern ====<br />
<br />
Das URI-Suffix ist standardmäßig auf ".html" eingestellt. Man kann dieses Suffix zentral ändern und auch ganz entfernen:<br />
<br />
nano /home/doms/example.org/TYPO3-Neos/Configuration/Routes.yaml<br />
<br />
Der Eintrag für defaultUriSuffix kann hierzu geändert werden:<br />
<br />
# TYPO3 Neos subroutes<br />
-<br />
name: 'TYPO3 Neos'<br />
uriPattern: '<TYPO3NeosSubroutes>'<br />
subRoutes:<br />
'TYPO3NeosSubroutes':<br />
package: 'TYPO3.Neos'<br />
variables:<br />
'defaultUriSuffix': <nowiki>''</nowiki><br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden].<br />
<br />
Quelle: https://review.typo3.org/#/c/25746<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Logs/Security_Development.log<br />
| Logdatei analog zu '''Security.log''' (s.u.), allerdings für den '''Development-Kontext'''.<br />
|-<br />
| Data/Logs/Security.log<br />
| Logdatei, die '''Loginversuche im Production-Kontext''' protokolliert.<br />
|-<br />
| Data/Logs/System_Development.log<br />
| Logdatei analog zu '''System.log''' (s.u.), allerdings für den '''Development-Kontext'''.<br />
|-<br />
| Data/Logs/Sytem.log<br />
| '''System-Logdatei im Production-Kontext''' (enthält auch Hinweise auf Fehler oder Exceptions, siehe "CRITICAL").<br />
|-<br />
| Data/Logs/Exceptions/<br />
| Zu jeder '''Fehlermeldung (Exception)''' liegt hier eine *.txt-Datei, die Tag und Uhrzeit im Dateinamen trägt. In den Textdateien findet man die Fehlermeldung und einen Trace.<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
'''In beiden Fällen''' müssen anschließend die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] und eine [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Migration_der_Doctrine-Datenbank Migration der Doctrine-Datenbank] durchgeführt werden.<br />
<br />
Vor jedem Update sollte man prüfen, ob composer selbst ein Update benötigt:<br />
<br />
composer self-update<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
(Statt <version> z.B. 1.0.*)<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neos-nodetypes:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
'''Einmalig''' ist zuvor in der composer.json (siehe TYPO3-Neos Rootverzeichnis) statt "1.0.*" der Eintrag "dev-master" zu hinterlegen:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
nano composer.json<br />
<br />
dort sind die vorhandenen Einträge wiefolgt zu ändern (Die Leerzeichen zu Beginn sind wichtig, da sie zum Syntax gehören!):<br />
<br />
"require": {<br />
"typo3/neos": "dev-master",<br />
"typo3/neos-nodetypes": "dev-master",<br />
"typo3/neosdemotypo3org": "dev-master",<br />
"typo3/neos-kickstarter": "dev-master",<br />
"doctrine/migrations": "@dev"<br />
}<br />
<br />
Anschließend kann das Update jedes Mal durch composer angestoßen werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
<br />
=== Migration der Doctrine-Datenbank ===<br />
<br />
./flow doctrine:migrate<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
== Weiterführende Links ==<br />
<br />
http://neos.typo3.org/<br />
<br />
http://docs.typo3.org/neos/TYPO3NeosDocumentation/Appendixes/ChangeLogs/101.html<br />
<br />
https://twitter.com/TYPO3Neos<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3911TYPO3 Neos installieren2014-06-27T14:37:06Z<p>Cgl00-cglass: /* Systemvoraussetzungen */ Hinweis bzgl. anstehender Wheezy-Installation entfernt- das Update wurde inzwischen vorgenommen.</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
'''composer update'''<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
<br />
=== Weitere Einstellungen ===<br />
<br />
==== URI Suffix ändern ====<br />
<br />
Das URI-Suffix ist standardmäßig auf ".html" eingestellt. Man kann dieses Suffix zentral ändern und auch ganz entfernen:<br />
<br />
nano /home/doms/example.org/TYPO3-Neos/Configuration/Routes.yaml<br />
<br />
Der Eintrag für defaultUriSuffix kann hierzu geändert werden:<br />
<br />
# TYPO3 Neos subroutes<br />
-<br />
name: 'TYPO3 Neos'<br />
uriPattern: '<TYPO3NeosSubroutes>'<br />
subRoutes:<br />
'TYPO3NeosSubroutes':<br />
package: 'TYPO3.Neos'<br />
variables:<br />
'defaultUriSuffix': <nowiki>''</nowiki><br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden].<br />
<br />
Quelle: https://review.typo3.org/#/c/25746<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Logs/Security_Development.log<br />
| Logdatei analog zu '''Security.log''' (s.u.), allerdings für den '''Development-Kontext'''.<br />
|-<br />
| Data/Logs/Security.log<br />
| Logdatei, die '''Loginversuche im Production-Kontext''' protokolliert.<br />
|-<br />
| Data/Logs/System_Development.log<br />
| Logdatei analog zu '''System.log''' (s.u.), allerdings für den '''Development-Kontext'''.<br />
|-<br />
| Data/Logs/Sytem.log<br />
| '''System-Logdatei im Production-Kontext''' (enthält auch Hinweise auf Fehler oder Exceptions, siehe "CRITICAL").<br />
|-<br />
| Data/Logs/Exceptions/<br />
| Zu jeder '''Fehlermeldung (Exception)''' liegt hier eine *.txt-Datei, die Tag und Uhrzeit im Dateinamen trägt. In den Textdateien findet man die Fehlermeldung und einen Trace.<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
'''In beiden Fällen''' müssen anschließend die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] und eine [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Migration_der_Doctrine-Datenbank Migration der Doctrine-Datenbank] durchgeführt werden.<br />
<br />
Vor jedem Update sollte man prüfen, ob composer selbst ein Update benötigt:<br />
<br />
composer self-update<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
(Statt <version> z.B. 1.0.*)<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neos-nodetypes:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
'''Einmalig''' ist zuvor in der composer.json (siehe TYPO3-Neos Rootverzeichnis) statt "1.0.*" der Eintrag "dev-master" zu hinterlegen:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
nano composer.json<br />
<br />
dort sind die vorhandenen Einträge wiefolgt zu ändern (Die Leerzeichen zu Beginn sind wichtig, da sie zum Syntax gehören!):<br />
<br />
"require": {<br />
"typo3/neos": "dev-master",<br />
"typo3/neos-nodetypes": "dev-master",<br />
"typo3/neosdemotypo3org": "dev-master",<br />
"typo3/neos-kickstarter": "dev-master",<br />
"doctrine/migrations": "@dev"<br />
}<br />
<br />
Anschließend kann das Update jedes Mal durch composer angestoßen werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
<br />
=== Migration der Doctrine-Datenbank ===<br />
<br />
./flow doctrine:migrate<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
== Weiterführende Links ==<br />
<br />
http://neos.typo3.org/<br />
<br />
http://docs.typo3.org/neos/TYPO3NeosDocumentation/Appendixes/ChangeLogs/101.html<br />
<br />
https://twitter.com/TYPO3Neos<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3910TYPO3 Neos installieren2014-06-27T14:30:31Z<p>Cgl00-cglass: /* Upgrade von TYPO3 Neos... */ Funktion self-update von composer ergänzt</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
'''composer update'''<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
<br />
=== Weitere Einstellungen ===<br />
<br />
==== URI Suffix ändern ====<br />
<br />
Das URI-Suffix ist standardmäßig auf ".html" eingestellt. Man kann dieses Suffix zentral ändern und auch ganz entfernen:<br />
<br />
nano /home/doms/example.org/TYPO3-Neos/Configuration/Routes.yaml<br />
<br />
Der Eintrag für defaultUriSuffix kann hierzu geändert werden:<br />
<br />
# TYPO3 Neos subroutes<br />
-<br />
name: 'TYPO3 Neos'<br />
uriPattern: '<TYPO3NeosSubroutes>'<br />
subRoutes:<br />
'TYPO3NeosSubroutes':<br />
package: 'TYPO3.Neos'<br />
variables:<br />
'defaultUriSuffix': <nowiki>''</nowiki><br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden].<br />
<br />
Quelle: https://review.typo3.org/#/c/25746<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Logs/Security_Development.log<br />
| Logdatei analog zu '''Security.log''' (s.u.), allerdings für den '''Development-Kontext'''.<br />
|-<br />
| Data/Logs/Security.log<br />
| Logdatei, die '''Loginversuche im Production-Kontext''' protokolliert.<br />
|-<br />
| Data/Logs/System_Development.log<br />
| Logdatei analog zu '''System.log''' (s.u.), allerdings für den '''Development-Kontext'''.<br />
|-<br />
| Data/Logs/Sytem.log<br />
| '''System-Logdatei im Production-Kontext''' (enthält auch Hinweise auf Fehler oder Exceptions, siehe "CRITICAL").<br />
|-<br />
| Data/Logs/Exceptions/<br />
| Zu jeder '''Fehlermeldung (Exception)''' liegt hier eine *.txt-Datei, die Tag und Uhrzeit im Dateinamen trägt. In den Textdateien findet man die Fehlermeldung und einen Trace.<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
'''In beiden Fällen''' müssen anschließend die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] und eine [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Migration_der_Doctrine-Datenbank Migration der Doctrine-Datenbank] durchgeführt werden.<br />
<br />
Vor jedem Update sollte man prüfen, ob composer selbst ein Update benötigt:<br />
<br />
composer self-update<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
(Statt <version> z.B. 1.0.*)<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neos-nodetypes:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
'''Einmalig''' ist zuvor in der composer.json (siehe TYPO3-Neos Rootverzeichnis) statt "1.0.*" der Eintrag "dev-master" zu hinterlegen:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
nano composer.json<br />
<br />
dort sind die vorhandenen Einträge wiefolgt zu ändern (Die Leerzeichen zu Beginn sind wichtig, da sie zum Syntax gehören!):<br />
<br />
"require": {<br />
"typo3/neos": "dev-master",<br />
"typo3/neos-nodetypes": "dev-master",<br />
"typo3/neosdemotypo3org": "dev-master",<br />
"typo3/neos-kickstarter": "dev-master",<br />
"doctrine/migrations": "@dev"<br />
}<br />
<br />
Anschließend kann das Update jedes Mal durch composer angestoßen werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
<br />
=== Migration der Doctrine-Datenbank ===<br />
<br />
./flow doctrine:migrate<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
== Weiterführende Links ==<br />
<br />
http://neos.typo3.org/<br />
<br />
http://docs.typo3.org/neos/TYPO3NeosDocumentation/Appendixes/ChangeLogs/101.html<br />
<br />
https://twitter.com/TYPO3Neos<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3842TYPO3 Neos installieren2014-02-19T20:38:19Z<p>Cgl00-cglass: /* Wichtige Pfade und Dateien */ System- und Security-Logs ergänzt</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
'''composer update'''<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
<br />
=== Weitere Einstellungen ===<br />
<br />
==== URI Suffix ändern ====<br />
<br />
Das URI-Suffix ist standardmäßig auf ".html" eingestellt. Man kann dieses Suffix zentral ändern und auch ganz entfernen:<br />
<br />
nano /home/doms/example.org/TYPO3-Neos/Configuration/Routes.yaml<br />
<br />
Der Eintrag für defaultUriSuffix kann hierzu geändert werden:<br />
<br />
# TYPO3 Neos subroutes<br />
-<br />
name: 'TYPO3 Neos'<br />
uriPattern: '<TYPO3NeosSubroutes>'<br />
subRoutes:<br />
'TYPO3NeosSubroutes':<br />
package: 'TYPO3.Neos'<br />
variables:<br />
'defaultUriSuffix': <nowiki>''</nowiki><br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden].<br />
<br />
Quelle: https://review.typo3.org/#/c/25746<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Logs/Security_Development.log<br />
| Logdatei analog zu '''Security.log''' (s.u.), allerdings für den '''Development-Kontext'''.<br />
|-<br />
| Data/Logs/Security.log<br />
| Logdatei, die '''Loginversuche im Production-Kontext''' protokolliert.<br />
|-<br />
| Data/Logs/System_Development.log<br />
| Logdatei analog zu '''System.log''' (s.u.), allerdings für den '''Development-Kontext'''.<br />
|-<br />
| Data/Logs/Sytem.log<br />
| '''System-Logdatei im Production-Kontext''' (enthält auch Hinweise auf Fehler oder Exceptions, siehe "CRITICAL").<br />
|-<br />
| Data/Logs/Exceptions/<br />
| Zu jeder '''Fehlermeldung (Exception)''' liegt hier eine *.txt-Datei, die Tag und Uhrzeit im Dateinamen trägt. In den Textdateien findet man die Fehlermeldung und einen Trace.<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
'''In beiden Fällen''' müssen anschließend die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] und eine [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Migration_der_Doctrine-Datenbank Migration der Doctrine-Datenbank] durchgeführt werden.<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
(Statt <version> z.B. 1.0.*)<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neos-nodetypes:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
'''Einmalig''' ist zuvor in der composer.json (siehe TYPO3-Neos Rootverzeichnis) statt "1.0.*" der Eintrag "dev-master" zu hinterlegen:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
nano composer.json<br />
<br />
dort sind die vorhandenen Einträge wiefolgt zu ändern (Die Leerzeichen zu Beginn sind wichtig, da sie zum Syntax gehören!):<br />
<br />
"require": {<br />
"typo3/neos": "dev-master",<br />
"typo3/neos-nodetypes": "dev-master",<br />
"typo3/neosdemotypo3org": "dev-master",<br />
"typo3/neos-kickstarter": "dev-master",<br />
"doctrine/migrations": "@dev"<br />
}<br />
<br />
Anschließend kann das Update jedes Mal durch composer angestoßen werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
<br />
=== Migration der Doctrine-Datenbank ===<br />
<br />
./flow doctrine:migrate<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
== Weiterführende Links ==<br />
<br />
http://neos.typo3.org/<br />
<br />
http://docs.typo3.org/neos/TYPO3NeosDocumentation/Appendixes/ChangeLogs/101.html<br />
<br />
https://twitter.com/TYPO3Neos<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3841TYPO3 Neos installieren2014-02-19T20:21:03Z<p>Cgl00-cglass: /* Wichtige Pfade und Dateien */ Exceptions-Ordner ergänzt</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
'''composer update'''<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
<br />
=== Weitere Einstellungen ===<br />
<br />
==== URI Suffix ändern ====<br />
<br />
Das URI-Suffix ist standardmäßig auf ".html" eingestellt. Man kann dieses Suffix zentral ändern und auch ganz entfernen:<br />
<br />
nano /home/doms/example.org/TYPO3-Neos/Configuration/Routes.yaml<br />
<br />
Der Eintrag für defaultUriSuffix kann hierzu geändert werden:<br />
<br />
# TYPO3 Neos subroutes<br />
-<br />
name: 'TYPO3 Neos'<br />
uriPattern: '<TYPO3NeosSubroutes>'<br />
subRoutes:<br />
'TYPO3NeosSubroutes':<br />
package: 'TYPO3.Neos'<br />
variables:<br />
'defaultUriSuffix': <nowiki>''</nowiki><br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden].<br />
<br />
Quelle: https://review.typo3.org/#/c/25746<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Logs/Exceptions/<br />
| Zu jeder '''Fehlermeldung (Exception)''' liegt hier eine *.txt-Datei, die Tag und Uhrzeit im Dateinamen trägt. In den Textdateien findet man die Fehlermeldung und einen Trace.<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
'''In beiden Fällen''' müssen anschließend die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] und eine [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Migration_der_Doctrine-Datenbank Migration der Doctrine-Datenbank] durchgeführt werden.<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
(Statt <version> z.B. 1.0.*)<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neos-nodetypes:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
'''Einmalig''' ist zuvor in der composer.json (siehe TYPO3-Neos Rootverzeichnis) statt "1.0.*" der Eintrag "dev-master" zu hinterlegen:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
nano composer.json<br />
<br />
dort sind die vorhandenen Einträge wiefolgt zu ändern (Die Leerzeichen zu Beginn sind wichtig, da sie zum Syntax gehören!):<br />
<br />
"require": {<br />
"typo3/neos": "dev-master",<br />
"typo3/neos-nodetypes": "dev-master",<br />
"typo3/neosdemotypo3org": "dev-master",<br />
"typo3/neos-kickstarter": "dev-master",<br />
"doctrine/migrations": "@dev"<br />
}<br />
<br />
Anschließend kann das Update jedes Mal durch composer angestoßen werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
<br />
=== Migration der Doctrine-Datenbank ===<br />
<br />
./flow doctrine:migrate<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
== Weiterführende Links ==<br />
<br />
http://neos.typo3.org/<br />
<br />
http://docs.typo3.org/neos/TYPO3NeosDocumentation/Appendixes/ChangeLogs/101.html<br />
<br />
https://twitter.com/TYPO3Neos<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3840TYPO3 Neos installieren2014-02-19T19:11:44Z<p>Cgl00-cglass: /* ...auf den Development Master (neueste Version) */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
'''composer update'''<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
<br />
=== Weitere Einstellungen ===<br />
<br />
==== URI Suffix ändern ====<br />
<br />
Das URI-Suffix ist standardmäßig auf ".html" eingestellt. Man kann dieses Suffix zentral ändern und auch ganz entfernen:<br />
<br />
nano /home/doms/example.org/TYPO3-Neos/Configuration/Routes.yaml<br />
<br />
Der Eintrag für defaultUriSuffix kann hierzu geändert werden:<br />
<br />
# TYPO3 Neos subroutes<br />
-<br />
name: 'TYPO3 Neos'<br />
uriPattern: '<TYPO3NeosSubroutes>'<br />
subRoutes:<br />
'TYPO3NeosSubroutes':<br />
package: 'TYPO3.Neos'<br />
variables:<br />
'defaultUriSuffix': <nowiki>''</nowiki><br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden].<br />
<br />
Quelle: https://review.typo3.org/#/c/25746<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
'''In beiden Fällen''' müssen anschließend die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] und eine [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Migration_der_Doctrine-Datenbank Migration der Doctrine-Datenbank] durchgeführt werden.<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
(Statt <version> z.B. 1.0.*)<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neos-nodetypes:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
'''Einmalig''' ist zuvor in der composer.json (siehe TYPO3-Neos Rootverzeichnis) statt "1.0.*" der Eintrag "dev-master" zu hinterlegen:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
nano composer.json<br />
<br />
dort sind die vorhandenen Einträge wiefolgt zu ändern (Die Leerzeichen zu Beginn sind wichtig, da sie zum Syntax gehören!):<br />
<br />
"require": {<br />
"typo3/neos": "dev-master",<br />
"typo3/neos-nodetypes": "dev-master",<br />
"typo3/neosdemotypo3org": "dev-master",<br />
"typo3/neos-kickstarter": "dev-master",<br />
"doctrine/migrations": "@dev"<br />
}<br />
<br />
Anschließend kann das Update jedes Mal durch composer angestoßen werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
<br />
=== Migration der Doctrine-Datenbank ===<br />
<br />
./flow doctrine:migrate<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
== Weiterführende Links ==<br />
<br />
http://neos.typo3.org/<br />
<br />
http://docs.typo3.org/neos/TYPO3NeosDocumentation/Appendixes/ChangeLogs/101.html<br />
<br />
https://twitter.com/TYPO3Neos<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3839TYPO3 Neos installieren2014-02-19T19:09:53Z<p>Cgl00-cglass: /* ...auf eine bestimmte TYPO3 Neos Version */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
'''composer update'''<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
<br />
=== Weitere Einstellungen ===<br />
<br />
==== URI Suffix ändern ====<br />
<br />
Das URI-Suffix ist standardmäßig auf ".html" eingestellt. Man kann dieses Suffix zentral ändern und auch ganz entfernen:<br />
<br />
nano /home/doms/example.org/TYPO3-Neos/Configuration/Routes.yaml<br />
<br />
Der Eintrag für defaultUriSuffix kann hierzu geändert werden:<br />
<br />
# TYPO3 Neos subroutes<br />
-<br />
name: 'TYPO3 Neos'<br />
uriPattern: '<TYPO3NeosSubroutes>'<br />
subRoutes:<br />
'TYPO3NeosSubroutes':<br />
package: 'TYPO3.Neos'<br />
variables:<br />
'defaultUriSuffix': <nowiki>''</nowiki><br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden].<br />
<br />
Quelle: https://review.typo3.org/#/c/25746<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
'''In beiden Fällen''' müssen anschließend die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] und eine [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Migration_der_Doctrine-Datenbank Migration der Doctrine-Datenbank] durchgeführt werden.<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
(Statt <version> z.B. 1.0.*)<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neos-nodetypes:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
'''Einmalig''' ist in der composer.json (siehe TYPO3-Neos Rootverzeichnis) statt "1.0.*" der Eintrag "dev-master" zu hinterlegen:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
nano composer.json<br />
<br />
dort sind die vorhandenen Einträge wiefolgt zu ändern (Die Leerzeichen zu Beginn sind wichtig, da sie zum Syntax gehören!):<br />
<br />
"require": {<br />
"typo3/neos": "dev-master",<br />
"typo3/neos-nodetypes": "dev-master",<br />
"typo3/neosdemotypo3org": "dev-master",<br />
"typo3/neos-kickstarter": "dev-master",<br />
"doctrine/migrations": "@dev"<br />
}<br />
<br />
Anschließend kann das Update durch composer angestoßen werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
<br />
=== Migration der Doctrine-Datenbank ===<br />
<br />
./flow doctrine:migrate<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
== Weiterführende Links ==<br />
<br />
http://neos.typo3.org/<br />
<br />
http://docs.typo3.org/neos/TYPO3NeosDocumentation/Appendixes/ChangeLogs/101.html<br />
<br />
https://twitter.com/TYPO3Neos<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3838TYPO3 Neos installieren2014-02-19T19:03:58Z<p>Cgl00-cglass: /* ...auf den Development Master (neueste Version) */ notwendige einmalige änderung an composer.json für dev-master ergänzt</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
'''composer update'''<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
<br />
=== Weitere Einstellungen ===<br />
<br />
==== URI Suffix ändern ====<br />
<br />
Das URI-Suffix ist standardmäßig auf ".html" eingestellt. Man kann dieses Suffix zentral ändern und auch ganz entfernen:<br />
<br />
nano /home/doms/example.org/TYPO3-Neos/Configuration/Routes.yaml<br />
<br />
Der Eintrag für defaultUriSuffix kann hierzu geändert werden:<br />
<br />
# TYPO3 Neos subroutes<br />
-<br />
name: 'TYPO3 Neos'<br />
uriPattern: '<TYPO3NeosSubroutes>'<br />
subRoutes:<br />
'TYPO3NeosSubroutes':<br />
package: 'TYPO3.Neos'<br />
variables:<br />
'defaultUriSuffix': <nowiki>''</nowiki><br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden].<br />
<br />
Quelle: https://review.typo3.org/#/c/25746<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
'''In beiden Fällen''' müssen anschließend die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] und eine [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Migration_der_Doctrine-Datenbank Migration der Doctrine-Datenbank] durchgeführt werden.<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neos-nodetypes:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
'''Einmalig''' ist in der composer.json (siehe TYPO3-Neos Rootverzeichnis) statt "1.0.*" der Eintrag "dev-master" zu hinterlegen:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
nano composer.json<br />
<br />
dort sind die vorhandenen Einträge wiefolgt zu ändern (Die Leerzeichen zu Beginn sind wichtig, da sie zum Syntax gehören!):<br />
<br />
"require": {<br />
"typo3/neos": "dev-master",<br />
"typo3/neos-nodetypes": "dev-master",<br />
"typo3/neosdemotypo3org": "dev-master",<br />
"typo3/neos-kickstarter": "dev-master",<br />
"doctrine/migrations": "@dev"<br />
}<br />
<br />
Anschließend kann das Update durch composer angestoßen werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
<br />
=== Migration der Doctrine-Datenbank ===<br />
<br />
./flow doctrine:migrate<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
== Weiterführende Links ==<br />
<br />
http://neos.typo3.org/<br />
<br />
http://docs.typo3.org/neos/TYPO3NeosDocumentation/Appendixes/ChangeLogs/101.html<br />
<br />
https://twitter.com/TYPO3Neos<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3821TYPO3 Neos installieren2014-01-01T19:18:49Z<p>Cgl00-cglass: Absatz ergänzt: Weiterführende Links</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
'''composer update'''<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
<br />
=== Weitere Einstellungen ===<br />
<br />
==== URI Suffix ändern ====<br />
<br />
Das URI-Suffix ist standardmäßig auf ".html" eingestellt. Man kann dieses Suffix zentral ändern und auch ganz entfernen:<br />
<br />
nano /home/doms/example.org/TYPO3-Neos/Configuration/Routes.yaml<br />
<br />
Der Eintrag für defaultUriSuffix kann hierzu geändert werden:<br />
<br />
# TYPO3 Neos subroutes<br />
-<br />
name: 'TYPO3 Neos'<br />
uriPattern: '<TYPO3NeosSubroutes>'<br />
subRoutes:<br />
'TYPO3NeosSubroutes':<br />
package: 'TYPO3.Neos'<br />
variables:<br />
'defaultUriSuffix': <nowiki>''</nowiki><br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden].<br />
<br />
Quelle: https://review.typo3.org/#/c/25746<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
'''In beiden Fällen''' müssen anschließend die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] und eine [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Migration_der_Doctrine-Datenbank Migration der Doctrine-Datenbank] durchgeführt werden.<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neos-nodetypes:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
<br />
=== Migration der Doctrine-Datenbank ===<br />
<br />
./flow doctrine:migrate<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
== Weiterführende Links ==<br />
<br />
http://neos.typo3.org/<br />
<br />
http://docs.typo3.org/neos/TYPO3NeosDocumentation/Appendixes/ChangeLogs/101.html<br />
<br />
https://twitter.com/TYPO3Neos<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3820TYPO3 Neos installieren2014-01-01T19:14:17Z<p>Cgl00-cglass: /* URI Suffix ändern */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
'''composer update'''<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
<br />
=== Weitere Einstellungen ===<br />
<br />
==== URI Suffix ändern ====<br />
<br />
Das URI-Suffix ist standardmäßig auf ".html" eingestellt. Man kann dieses Suffix zentral ändern und auch ganz entfernen:<br />
<br />
nano /home/doms/example.org/TYPO3-Neos/Configuration/Routes.yaml<br />
<br />
Der Eintrag für defaultUriSuffix kann hierzu geändert werden:<br />
<br />
# TYPO3 Neos subroutes<br />
-<br />
name: 'TYPO3 Neos'<br />
uriPattern: '<TYPO3NeosSubroutes>'<br />
subRoutes:<br />
'TYPO3NeosSubroutes':<br />
package: 'TYPO3.Neos'<br />
variables:<br />
'defaultUriSuffix': <nowiki>''</nowiki><br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden].<br />
<br />
Quelle: https://review.typo3.org/#/c/25746<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
'''In beiden Fällen''' müssen anschließend die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] und eine [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Migration_der_Doctrine-Datenbank Migration der Doctrine-Datenbank] durchgeführt werden.<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neos-nodetypes:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
<br />
=== Migration der Doctrine-Datenbank ===<br />
<br />
./flow doctrine:migrate<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3819TYPO3 Neos installieren2014-01-01T19:11:48Z<p>Cgl00-cglass: /* Upgrade von TYPO3 Neos... */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
'''composer update'''<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
<br />
=== Weitere Einstellungen ===<br />
<br />
==== URI Suffix ändern ====<br />
<br />
Das URI-Suffix ist standardmäßig auf ".html" eingestellt. Man kann dieses Suffix zentral ändern und auch ganz entfernen:<br />
<br />
nano /home/doms/example.org/TYPO3-Neos/Configuration/Routes.yaml<br />
<br />
Der Eintrag für defaultUriSuffix kann hierzu geändert werden:<br />
<br />
# TYPO3 Neos subroutes<br />
-<br />
name: 'TYPO3 Neos'<br />
uriPattern: '<TYPO3NeosSubroutes>'<br />
subRoutes:<br />
'TYPO3NeosSubroutes':<br />
package: 'TYPO3.Neos'<br />
variables:<br />
'defaultUriSuffix': <nowiki>''</nowiki><br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
'''In beiden Fällen''' müssen anschließend die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] und eine [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Migration_der_Doctrine-Datenbank Migration der Doctrine-Datenbank] durchgeführt werden.<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neos-nodetypes:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
<br />
=== Migration der Doctrine-Datenbank ===<br />
<br />
./flow doctrine:migrate<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3818TYPO3 Neos installieren2014-01-01T19:09:15Z<p>Cgl00-cglass: /* URI Suffix ändern */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
'''composer update'''<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
<br />
=== Weitere Einstellungen ===<br />
<br />
==== URI Suffix ändern ====<br />
<br />
Das URI-Suffix ist standardmäßig auf ".html" eingestellt. Man kann dieses Suffix zentral ändern und auch ganz entfernen:<br />
<br />
nano /home/doms/example.org/TYPO3-Neos/Configuration/Routes.yaml<br />
<br />
Der Eintrag für defaultUriSuffix kann hierzu geändert werden:<br />
<br />
# TYPO3 Neos subroutes<br />
-<br />
name: 'TYPO3 Neos'<br />
uriPattern: '<TYPO3NeosSubroutes>'<br />
subRoutes:<br />
'TYPO3NeosSubroutes':<br />
package: 'TYPO3.Neos'<br />
variables:<br />
'defaultUriSuffix': <nowiki>''</nowiki><br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
'''In beiden Fällen''' müssen anschließend die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.) und eine [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Migration_der_Doctrine-Datenbank Migration der Doctrine-Datenbank] durchgeführt werden (s.u.).<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neos-nodetypes:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
<br />
=== Migration der Doctrine-Datenbank ===<br />
<br />
./flow doctrine:migrate<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3817TYPO3 Neos installieren2014-01-01T19:09:03Z<p>Cgl00-cglass: /* TYPO3 Flow Konfiguration: PHP-Umgebung */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
'''composer update'''<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
<br />
=== Weitere Einstellungen ===<br />
<br />
==== URI Suffix ändern ====<br />
<br />
Das URI-Suffix ist standardmäßig auf ".html" eingestellt. Man kann dieses Suffix zentral ändern und auch ganz entfernen:<br />
<br />
nano /home/doms/example.org/TYPO3-Neos/Configuration/Routes.yaml<br />
<br />
Der Eintrag für defaultUriSuffix kann hierzu geändert werden:<br />
<br />
# TYPO3 Neos subroutes<br />
-<br />
name: 'TYPO3 Neos'<br />
uriPattern: '<TYPO3NeosSubroutes>'<br />
subRoutes:<br />
'TYPO3NeosSubroutes':<br />
package: 'TYPO3.Neos'<br />
variables:<br />
'defaultUriSuffix': <nowiki>''</nowiki><br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
'''In beiden Fällen''' müssen anschließend die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.) und eine [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Migration_der_Doctrine-Datenbank Migration der Doctrine-Datenbank] durchgeführt werden (s.u.).<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neos-nodetypes:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
<br />
=== Migration der Doctrine-Datenbank ===<br />
<br />
./flow doctrine:migrate<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3816TYPO3 Neos installieren2014-01-01T19:08:03Z<p>Cgl00-cglass: /* TYPO3 Neos Setup */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
'''composer update'''<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
<br />
=== Weitere Einstellungen ===<br />
<br />
==== URI Suffix ändern ====<br />
<br />
Das URI-Suffix ist standardmäßig auf ".html" eingestellt. Man kann dieses Suffix zentral ändern und auch ganz entfernen:<br />
<br />
nano /home/doms/example.org/TYPO3-Neos/Configuration/Routes.yaml<br />
<br />
Der Eintrag für defaultUriSuffix kann hierzu geändert werden:<br />
<br />
# TYPO3 Neos subroutes<br />
-<br />
name: 'TYPO3 Neos'<br />
uriPattern: '<TYPO3NeosSubroutes>'<br />
subRoutes:<br />
'TYPO3NeosSubroutes':<br />
package: 'TYPO3.Neos'<br />
variables:<br />
'defaultUriSuffix': <nowiki>''</nowiki><br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
'''In beiden Fällen''' müssen anschließend die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.) und eine [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Migration_der_Doctrine-Datenbank Migration der Doctrine-Datenbank] durchgeführt werden (s.u.).<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neos-nodetypes:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
<br />
=== Migration der Doctrine-Datenbank ===<br />
<br />
./flow doctrine:migrate<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3815TYPO3 Neos installieren2014-01-01T18:58:13Z<p>Cgl00-cglass: /* Migration der Doctrine-Datenbank */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
'''composer update'''<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
'''In beiden Fällen''' müssen anschließend die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.) und eine [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Migration_der_Doctrine-Datenbank Migration der Doctrine-Datenbank] durchgeführt werden (s.u.).<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neos-nodetypes:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
<br />
=== Migration der Doctrine-Datenbank ===<br />
<br />
./flow doctrine:migrate<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3814TYPO3 Neos installieren2014-01-01T18:57:37Z<p>Cgl00-cglass: /* Upgrade von TYPO3 Neos... */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
'''composer update'''<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
'''In beiden Fällen''' müssen anschließend die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.) und eine [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Migration_der_Doctrine-Datenbank Migration der Doctrine-Datenbank] durchgeführt werden (s.u.).<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neos-nodetypes:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
<br />
=== Migration der Doctrine-Datenbank ===<br />
<br />
./flow doctrine:migrate<br />
<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3813TYPO3 Neos installieren2014-01-01T18:56:34Z<p>Cgl00-cglass: /* Upgrade von TYPO3 Neos... */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
'''composer update'''<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neos-nodetypes:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.) und eine [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Migration_der_Doctrine-Datenbank Migration der Doctrine-Datenbank] durchgeführt werden (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
<br />
=== Migration der Doctrine-Datenbank ===<br />
<br />
./flow doctrine:migrate<br />
<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3812TYPO3 Neos installieren2014-01-01T18:11:24Z<p>Cgl00-cglass: /* TYPO3 Neos und Abhängigkeiten herunterladen und installieren */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
'''composer update'''<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3811TYPO3 Neos installieren2014-01-01T17:34:10Z<p>Cgl00-cglass: /* Anpassen der index.php-Datei */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird. '''''(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)'''''<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3810TYPO3 Neos installieren2014-01-01T17:25:23Z<p>Cgl00-cglass: /* Anpassen der index.php-Datei */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile "<?php") mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
<?php<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
/*<br />
* This script belongs to the TYPO3 Flow framework. *<br />
<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird.<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3809TYPO3 Neos installieren2014-01-01T17:23:25Z<p>Cgl00-cglass: /* Anpassen der index.php-Datei */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 1 und 2) mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing '''Apache mit SuExec''' betrieben wird.<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3808TYPO3 Neos installieren2014-01-01T17:22:34Z<p>Cgl00-cglass: /* Anpassen der index.php-Datei */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss zu Beginn (Zeilen 1 und 2) mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
<br />
'''Anmerkung:'''<br />
<br />
Die Verwendung der Umgebungsvariable '''FLOW_REWRITEURLS=1''' ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing Apache mit SuExec betrieben wird.<br />
<br />
Genauere Beschreibung: http://forge.typo3.org/issues/54451<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3807TYPO3 Neos installieren2014-01-01T16:36:47Z<p>Cgl00-cglass: /* Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
'''Eine entsprechende php-cli.ini muss natürlich angelegt worden sein. Dies könnte beispielsweise eine Kopie der php.ini sein oder ein Symlink dorthin.'''<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3806TYPO3 Neos installieren2014-01-01T16:35:13Z<p>Cgl00-cglass: /* Cache eines TYPO3 Flow-Kontextes löschen */ Mögliche Fehlermeldung ergänzt</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Es ist ein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) nötig, falls beim Löschen des Caches Fehlermeldungen wie diese auftreten:<br />
<br />
''Flow requires the PHP setting "magic_quotes_gpc" set to Off. (Error #1224003190)''<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3805TYPO3 Neos installieren2014-01-01T15:56:21Z<p>Cgl00-cglass: /* Abschluss des Setups */ Ersten Konfigurationsschritt im GUI ergänzt: Site mit Domain verknüpfen</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
==== Site mit Domain verknüpfen ====<br />
<br />
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im "Sites Management" erledigt:<br />
<br />
Klickpfad dorthin: '''3 waagerechte weiße Streifen''' (oben links) -> "'''Sites Management'''"<br />
<br />
In der Zeile mit der Site das '''Bleistift-Symbol''' anklicken -> rechte Seite "'''Add domain'''" (hellblauer Button) anklicken -> '''Domainname eintragen''' -> Radiobutton "'''Active'''" anklicken -> "'''Create'''" (hellblauer Button) anklicken<br />
<br />
'''Save''' (hellblauer Button) anklicken<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3804TYPO3 Neos installieren2014-01-01T15:42:41Z<p>Cgl00-cglass: </p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3803TYPO3 Neos installieren2014-01-01T15:42:11Z<p>Cgl00-cglass: /* TYPO3 Flow Konfiguration: Datenbank-Setup */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql' # Datenbanktyp (DB-Treiber)<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3802TYPO3 Neos installieren2014-01-01T15:37:41Z<p>Cgl00-cglass: /* Setup-Passwort */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql'<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt:<br />
<br />
Initial Password: The initial password for accessing the setup can be found in the file<br />
/home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3801TYPO3 Neos installieren2014-01-01T15:30:09Z<p>Cgl00-cglass: /* TYPO3 Flow Konfiguration: PHP-Umgebung */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql'<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
######################################################################################<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt.<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3800TYPO3 Neos installieren2014-01-01T15:11:37Z<p>Cgl00-cglass: /* TYPO3 Neos und Abhängigkeiten herunterladen und installieren */ Hinweis zu auftretenden Warnungen ergänzt</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
Während der Installation erscheinen mehrere dieser Warnungen:<br />
<br />
''Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script''<br />
<br />
'''Diese Warnungen können ignoriert werden''', siehe http://forum.typo3.org/index.php/t/200300/<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql'<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt.<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3799TYPO3 Neos installieren2013-12-30T20:00:54Z<p>Cgl00-cglass: /* Notwendige Schritte zur Installation */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]<br />
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql'<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt.<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3798TYPO3 Neos installieren2013-12-30T19:56:17Z<p>Cgl00-cglass: /* Notwendige Schritte zur Installation */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql'<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt.<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3797TYPO3 Neos installieren2013-12-30T19:54:30Z<p>Cgl00-cglass: /* TYPO3 Flow Konfiguration: PHP-Umgebung mitteilen */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#FLOW_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql'<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt.<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3796TYPO3 Neos installieren2013-12-30T19:54:12Z<p>Cgl00-cglass: /* FLOW Konfiguration: Datenbank-Setup */ Flow-Konfiguration für die PHP-Umgebung ergänzt</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#FLOW_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql'<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
<br />
=== TYPO3 Flow Konfiguration: PHP-Umgebung mitteilen ===<br />
<br />
Die Datei Settings.yaml muss erneut angepasst werden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
core:<br />
# Path and filename of the PHP binary<br />
# The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably<br />
phpBinaryPathAndFilename: '/usr/bin/php'<br />
<br />
# Set which php.ini file should be used for the CLI sub requests.<br />
# If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server's) is used.<br />
# If set to a path and filename, the specified php.ini file is loaded.<br />
# If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.<br />
subRequestPhpIniPathAndFilename: '/home/doms/example.org/php-cli.ini'<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt.<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3795TYPO3 Neos installieren2013-12-30T19:41:05Z<p>Cgl00-cglass: /* Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden */ Nur so geht es!</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#FLOW_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== FLOW Konfiguration: Datenbank-Setup ===<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql'<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt.<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-c/home/doms/example.org/php-cli.ini'''<br />
<br />
'''Detaillierte Erklärung:''' Bei Debian darf die Shebang Zeile nur 127 Zeichen (byte) lang sein und maximal 1 Leerzeichen enthalten. Es hängt dann vom Binary ab, ob es das darüber hinaus "am Stück" und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. <br />
Die Lösung besteht darin, die nötigen PHP-Direktiven in einer eigenen php-cli.ini abzulegen und diese durch Anhängen des Parameters -c an die Shebang-Zeile dem PHP-CLI-binary mitzugeben.<br />
<br />
Die besondere Feinheit ist dabei allerdings, zwischen -c und dem Pfad kein Leerzeichen zu lassen und den Pfad auch nicht in Anführungszeichen einzuschließen, sondern direkt mit /pfad/zur/php-cli.ini anzuschließen!<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3794TYPO3 Neos installieren2013-12-30T13:55:47Z<p>Cgl00-cglass: /* Wichtige Pfade und Dateien */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#FLOW_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== FLOW Konfiguration: Datenbank-Setup ===<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql'<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt.<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| '''Konfigurationsdatei für TYPO3 Flow''' (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes '''Setup-Passwort vergessen'''] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-d magic_quotes_gpc=0 -d date.timezone="Europe/Berlin"'''<br />
<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3793TYPO3 Neos installieren2013-12-30T13:55:12Z<p>Cgl00-cglass: /* Wichtige Pfade und Dateien */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#FLOW_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== FLOW Konfiguration: Datenbank-Setup ===<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql'<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt.<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Configuration/Settings.yaml<br />
| Konfigurationsdatei für TYPO3 Flow (u.a. für Datenbank-Zugangsdaten)<br />
|-<br />
| Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes Setup-Passwort vergessen] hat.<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-d magic_quotes_gpc=0 -d date.timezone="Europe/Berlin"'''<br />
<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3792TYPO3 Neos installieren2013-12-30T13:44:09Z<p>Cgl00-cglass: /* Wichtige Pfade und Dateien */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#FLOW_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== FLOW Konfiguration: Datenbank-Setup ===<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql'<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt.<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/TYPO3-Neos/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-d magic_quotes_gpc=0 -d date.timezone="Europe/Berlin"'''<br />
<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3791TYPO3 Neos installieren2013-12-30T13:42:15Z<p>Cgl00-cglass: /* Wichtige Pfade und Dateien */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#FLOW_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== FLOW Konfiguration: Datenbank-Setup ===<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql'<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt.<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad''' (mit Präfix /home/doms/example.org/)<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| TYPO3-Neos/Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| TYPO3-Neos/Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| TYPO3-Neos/Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| TYPO3-Neos/Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| TYPO3-Neos/Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| TYPO3-Neos/Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| TYPO3-Neos/Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| TYPO3-Neos/Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| TYPO3-Neos/Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; auch "main typoscript configuration"; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-d magic_quotes_gpc=0 -d date.timezone="Europe/Berlin"'''<br />
<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3790TYPO3 Neos installieren2013-12-30T13:38:07Z<p>Cgl00-cglass: Abschnitt "Wichtige Pfade und Dateien" ergänzt</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#FLOW_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== FLOW Konfiguration: Datenbank-Setup ===<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql'<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt.<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
<br />
== Wichtige Pfade und Dateien ==<br />
<br />
{| class="wikitable"<br />
|-<br />
| '''Pfad'''<br />
| '''Beschreibung des Inhalts'''<br />
|-<br />
| /home/doms/example.org/TYPO3-Neos/Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für '''Fluid-Templates von TYPO3 Neos''' im Auslieferungszustand<br />
|-<br />
| /home/doms/example.org/TYPO3-Neos/Packages/Sites/Abc.Xyz/Configuration/<br />
| '''Konfigurationsdateien des Paketes''' (= der Site)<br />
|-<br />
| /home/doms/example.org/TYPO3-Neos/Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml<br />
| Ablageort für '''eigene TYPO3-Flow Inhaltselemente'''<br />
|-<br />
| /home/doms/example.org/TYPO3-Neos/Packages/Sites/Abc.Xyz/Resources/Public<br />
| Ablageort für alle '''öffentlich zugänglichen Dateien''' wie z.B. CSS- oder JS-Dateien<br />
|-<br />
| /home/doms/example.org/TYPO3-Neos/Packages/Sites/Abc.Xyz/Resources/Private<br />
| Ablageort für alle internen Dateien<br />
|-<br />
| /home/doms/example.org/TYPO3-Neos/Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html<br />
| '''Fluid-Template''' mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein<br />
|-<br />
| /home/doms/example.org/TYPO3-Neos/Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/<br />
| Ablageort für alle eigenen TypoScript-Objekte<br />
|-<br />
| /home/doms/example.org/TYPO3-Neos/Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/<br />
| Ablageort für alle TypoScript-Dateien<br />
|-<br />
| /home/doms/example.org/TYPO3-Neos/Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2<br />
| Root-Template der gesamten Site; Wird durch den site-kickstarter angelegt<br />
|-<br />
|}<br />
<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-d magic_quotes_gpc=0 -d date.timezone="Europe/Berlin"'''<br />
<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3789TYPO3 Neos installieren2013-12-30T12:52:32Z<p>Cgl00-cglass: /* Systemvoraussetzungen */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
**''' proc_open()'''<br />
**''' exec()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#FLOW_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== FLOW Konfiguration: Datenbank-Setup ===<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql'<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt.<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-d magic_quotes_gpc=0 -d date.timezone="Europe/Berlin"'''<br />
<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3788TYPO3 Neos installieren2013-12-30T12:44:06Z<p>Cgl00-cglass: </p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#FLOW_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== FLOW Konfiguration: Datenbank-Setup ===<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql'<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt.<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-d magic_quotes_gpc=0 -d date.timezone="Europe/Berlin"'''<br />
<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3787TYPO3 Neos installieren2013-12-30T12:43:47Z<p>Cgl00-cglass: /* Setzen eines Flow-Kontextes */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#FLOW_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== FLOW Konfiguration: Datenbank-Setup ===<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql'<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt.<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-d magic_quotes_gpc=0 -d date.timezone="Europe/Berlin"'''<br />
<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3786TYPO3 Neos installieren2013-12-30T12:42:56Z<p>Cgl00-cglass: </p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#FLOW_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== FLOW Konfiguration: Datenbank-Setup ===<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql'<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt.<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-d magic_quotes_gpc=0 -d date.timezone="Europe/Berlin"'''<br />
<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3785TYPO3 Neos installieren2013-12-30T12:42:27Z<p>Cgl00-cglass: /* Setzen eines Flow-Kontextes */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#FLOW_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== FLOW Konfiguration: Datenbank-Setup ===<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql'<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt.<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren:<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-d magic_quotes_gpc=0 -d date.timezone="Europe/Berlin"'''<br />
<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglasshttps://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&diff=3784TYPO3 Neos installieren2013-12-30T12:39:45Z<p>Cgl00-cglass: /* Zugang zur Installation */</p>
<hr />
<div>{{Baustelle}}<br />
<br />
Teile der Installation von TYPO3 Neos sind aus dem [http://www.typovision.de/fileadmin/slides/TYPO3-Neos-Das-Kompendium-Patrick-Lobacher-typovision-20130818.pdf Neos-Kompendium] von Patrick Lobacher (Typovision GmbH) entnommen und wurden auf die Besonderheiten bei Hostsharing angepasst.<br />
<br />
Beschrieben wird hier in erster Linie die Installation in einem Shared Hosting Paket. Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert. Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
'''''TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.'''''<br />
<br />
<br />
== Systemvoraussetzungen ==<br />
<br />
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.<br />
Bei Hostsharing erfüllen alle Shared Hosting Pakete im '''Auslieferungszustand''' diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:<br />
<br />
*''' Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default'''<br />
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)<br />
*''' Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):'''<br />
**''' system()'''<br />
**''' shell_exec()'''<br />
**''' escapeshellcmd()'''<br />
**''' escapeshellarg()'''<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off<br />
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= "Europe/Berlin"<br />
*''' [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default'''<br />
*''' [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default'''<br />
<br />
<br />
=== Bemerkung zu bereitstehenden PHP Versionen ===<br />
<br />
Darüber hinaus erfüllt derzeit lediglich die PHP-Kommandozeilenversion (PHP-CLI) '''''nicht''''' die geforderte Versionsnummer von 5.3.7, sondern ist auf dem Stand [http://packages.debian.org/squeeze/php5-cli Debian "Squeeze" php5-cli 5.3.3-7+squeeze18]. '''''TODO: Ob dies bei Hostsharing für die Installation kritisch ist, muss noch geprüft werden.''''' Die Versionsnummer alleine sagt im Falle der Debian-Pakete aufgrund der stetig einfließenden Backports aus neueren Original-Paketen wenig aus ([http://typo3.3.n7.nabble.com/PHP-version-requirement-td239599.html siehe Diskussion zum Thema Systemvoraussetzungen bei TYPO3 CMS 6.0]).<br />
<br />
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:<br />
<br />
php --version<br />
<br />
<br />
'''Hinweis:''' Die neueren Managed Server bei Hostsharing laufen bereits unter Debian Wheezy und erfüllen damit auch die Systemvoraussetzungen von TYPO3 Neos bzgl. PHP und PHP-CLI. Ein Update von Debian Squeeze auf Debian Wheezy befindet sich auch für die Shared Hosting Server bei Hostsharing in Vorbereitung. '''''TODO: voraussichtlichen Termin ergänzen!'''''<br />
<br />
<br />
=== Umsetzung der Einstellungen für php.ini ===<br />
<br />
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:<br />
/home/doms/example.org/fastcgi<br />
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):<br />
<br />
touch php.ini<br />
nano php.ini<br />
<br />
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]<br />
<br />
<br />
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&paste an das Ende der php.ini<br />
<br />
memory_limit = 256M ; default ist 128M<br />
xdebug.max_nesting_level = 500 ; Einkommentieren sofern xdebug verwendet wird<br />
detect_unicode = Off<br />
date.timezone = "Europe/Berlin"<br />
magic_quotes_gpc = Off<br />
<br />
Zum Erzwingen einer direkten Übernahme der Änderungen an der php.ini bei FastCGI müssen die PHP Prozesse des Users neu gestartet werden. Es ist im Folgenden keine Ersetzung von $USER nötig:<br />
<br />
killall php -u $USER<br />
<br />
<br />
== Notwendige Schritte zur Installation ==<br />
<br />
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.<br />
<br />
Die Installation besteht im Wesentlichen aus diesen Schritten:<br />
<br />
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]<br />
# [[TYPO3_Neos_installieren#FLOW_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]<br />
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]<br />
<br />
<br />
== Composer herunterladen und installieren ==<br />
<br />
Composer ist ein Dependency Manager für PHP. Da es für Composer kein Debian-Paket gibt, muss er in jedem Shared Hosting Paket separat installiert werden.<br />
<br />
Mit diesem Befehl wird Composer heruntergeladen und die Datei '''composer.phar''' im aktuellen Verzeichnis angelegt:<br />
<br />
curl -sS https://getcomposer.org/installer | php<br />
<br />
<br />
An dieser Stelle ist es praktisch, sich einen Alias für composer anzulegen. Dazu öffnet man die Datei ~.bashrc<br />
<br />
nano ~/.bashrc<br />
<br />
und ergänzt dort die Zeile<br />
<br />
alias composer="~/composer/composer.phar"<br />
<br />
<br />
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==<br />
<br />
Composer sorgt für das Herunterladen von TYPO3 Neos und TYPO3 Flow mitsamt der benötigten Module (z.B. Doctrine 2, Aloha, ...). Hierzu ist dieser Befehl nötig (alles in einer Zeile):<br />
<br />
composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos<br />
<br />
<br />
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit "Y" bestätigen:<br />
<br />
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?<br />
<br />
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter<br />
<br />
/home/doms/example.org/TYPO3-Neos<br />
<br />
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.<br />
<br />
<br />
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===<br />
<br />
Der Installationsordner TYPO3-Neos liegt oberhalb des DocumentRoot. Damit der Webserver dennoch auf die Installation zugreifen kann, muss man nun den Inhalt des Verzeichnisses /home/doms/example.org/TYPO3-Neos/Web in das Verzeichnis /home/doms/example.org/htdocs kopieren:<br />
<br />
cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs<br />
<br />
<br />
=== Anpassen der .htaccess-Datei ===<br />
<br />
Die .htaccess-Datei im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz für die Umgebungsvariable '''FLOW_ROOTPATH''' mit dem Pfad zu TYPO3 Flow versehen werden:<br />
<br />
# If the root path is not the parent of the Web directory,<br />
# TYPO3 Flow's root path must be specified manually:<br />
# SetEnv FLOW_ROOTPATH /var/www/myapp/<br />
'''SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/'''<br />
<br />
<br />
Weiterhin ist die Anpassung dieses Absatzes nötig<br />
<br />
# You will have to change the path in the following option if you<br />
# experience problems while your installation is located in a subdirectory<br />
# of the website root.<br />
# RewriteBase /TYPO3-Neos/Web/<br />
'''RewriteBase /'''<br />
<br />
<br />
Bei Hostsharing ist die Webserver-Option "MultiViews" per default ausgeschaltet. Im Shared Hosting kann man zudem - abgesehen von [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] - keine eigenen Webserver-Optionen nutzen. Die Angabe der Option -MultiViews in der .htaccess-Datei würde zu einem Fehler im Weblog führen! Daher ist im folgenden Abschnitt eine Zeile auzukommentieren:<br />
<br />
# prevents Apache's automatic file negotiation, it breaks resource URLs<br />
'''#Options -MultiViews'''<br />
<br />
<br />
=== Anpassen der index.php-Datei ===<br />
<br />
Die Datei index.php im Pfad<br />
<br />
/home/doms/example.org/htdocs<br />
<br />
muss im folgenden Absatz mit den Umgebungsvariablen '''FLOW_REWRITEURLS''' und '''FLOW_CONTEXT''' versehen werden:<br />
<br />
if ($rootPath === FALSE) {<br />
$rootPath = dirname(__FILE__) . '/../';<br />
} elseif (substr($rootPath, -1) !== '/') {<br />
$rootPath .= '/';<br />
}<br />
'''putenv ("FLOW_REWRITEURLS=1");'''<br />
'''putenv ("FLOW_CONTEXT=Production");'''<br />
require($rootPath . 'Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Core/Bootstrap.php');<br />
<br />
<br />
=== FLOW Konfiguration: Datenbank-Setup ===<br />
<br />
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/Configuration<br />
cp Settings.yaml.example Settings.yaml<br />
nano Settings.yaml<br />
<br />
Folgende Einstellungen müssen vorgenommen werden<br />
<br />
TYPO3:<br />
Flow:<br />
persistence:<br />
# It is good practice to not specify user name and password of the database<br />
# connection in this global Settings.yaml file. Rather specify them in the<br />
# settings of the respective context (Production / Development ...).<br />
backendOptions:<br />
driver: 'pdo_mysql'<br />
dbname: 'DBNAME' # an DB-Namen anpassen<br />
user: 'DBUSER' # an DB-User anpassen<br />
password: 'PASSWORT' # an DB-Passwort anpassen<br />
host: 'localhost' # an DB-Host anpassen (bei HS: localhost)<br />
<br />
'''Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:''' [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]<br />
<br />
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]<br />
<br />
<br />
== TYPO3 Neos Setup ==<br />
<br />
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:<br />
<br />
http://example.org/setup/<br />
<br />
<br />
=== Setup-Passwort ===<br />
Eine Passwortabfrage schützt die Setup-Routine. Das benötigte initiale Passwort wird beim Starten der Setup-Routine in einer temporären Textdatei auf dem Webserver gespeichert. Diese Datei kann man nur über die Konsole öffnen. Der Pfad zum Ablageort der Datei wird im Bildschirmdialog angezeigt.<br />
<br />
<br />
==== Wiederherstellung des Setup-Passwortes ====<br />
<br />
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.<br />
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:<br />
<br />
rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey<br />
<br />
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.<br />
<br />
<br />
=== Datenbank Setup ===<br />
<br />
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.<br />
Anzugeben sind im Bildschirmdialog nun noch der DB Username, das DB-Passwort, der DB-Host (= localhost) und der DB-Name.<br />
<br />
Die Einstellung eines anderen Datenbanktyps kann durch Änderung des DB-Treibers in der Datei<br />
<br />
/home/doms/example.org/TYPO3-Neos/Configuration/Settings.yaml<br />
<br />
erzielt werden.<br />
<br />
<br />
=== Administrator anlegen ===<br />
<br />
Das Anlegen des Administrators wird per GUI-Backend erledigt.<br />
<br />
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.<br />
<br />
Alternativ lassen sich User auch in der Konsole anlegen per:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:create <Username> <Passwort> <Vorname> <Nachname><br />
<br />
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! '''''TODO: Prüfen!''''')<br />
<br />
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow typo3.neos:user:addrole <Username> Administrator<br />
<br />
=== Abschluss des Setups ===<br />
<br />
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines "Package Name" und eines "Site Name" eine leere Webseite anlegen lassen.<br />
<br />
<br />
== Zugang zur Installation ==<br />
<br />
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:<br />
<br />
'''Setup:''' http://example.org/setup/<br />
<br />
'''Frontend:''' http://example.org/<br />
<br />
'''Backend:''' http://example.org/neos/<br />
<br />
== Upgrade von TYPO3 Neos... ==<br />
<br />
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= "Development Master").<br />
<br />
<br />
=== ...auf eine bestimmte TYPO3 Neos Version ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer require "typo3/neos:<version>"<br />
composer require "typo3/neosdemotypo3org:<version>"<br />
composer require "typo3/sitekickstarter:<version>"<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== ...auf den Development Master (neueste Version) ===<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
composer update<br />
<br />
Anschließend müssen die [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Cache_eines_TYPO3_Flow-Kontextes_l.C3.B6schen Caches der Flow-Kontexte gelöscht werden] (s.u.).<br />
<br />
<br />
=== Cache eines TYPO3 Flow-Kontextes löschen ===<br />
<br />
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.<br />
<br />
Löschen des Standard-Flow-CLI-Kontextes "Development":<br />
<br />
cd /home/doms/example.org/TYPO3-Neos/<br />
./flow flow:cache:flush --force<br />
<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Setzen_eines_Flow-Kontextes Setzen eines Flow Kontextes] (s.u.).<br />
<br />
<br />
Falls beim Löschen des Caches Fehlermeldungen auftreten, könnte der [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Workaround_falls_Einstellungen_einer_eigenen_php-cli.ini_nicht_von_Flow_ber.C3.BCcksichtigt_werden Workaround] (s.u.) helfen.<br />
<br />
<br />
=== Setzen eines Flow-Kontextes ===<br />
<br />
Das '''Kommandozeilentool flow''' arbeitet ohne weitere Angabe '''standardmäßig im Development-Kontext'''.<br />
<br />
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. "Production"):<br />
<br />
FLOW_CONTEXT=Production ./flow ''...weitere Parameter...''<br />
<br />
Alternativ kann man den Kontext auch über '''Umgebungsvariablen der Kommandozeile''' definieren.<br />
<br />
<br />
Bei einem '''eigenen Apache-Server''' wird der Production-Kontext normalerweise wiefolgt konfiguriert:<br />
<br />
SetEnv FLOW_CONTEXT Production<br />
<br />
Im '''Shared Hosting''' ist dies nicht möglich. Stattdessen wird der Kontext über den '''putenv-Befehl''' in einem PHP-Skript gesetzt:<br />
<br />
putenv ("FLOW_CONTEXT=Production");<br />
<br />
<br />
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===<br />
<br />
Abändern der Shebang-Zeile des Skriptes "flow" innerhalb des Verzeichnisses "TYPO3-Neos" in:<br />
#!/usr/bin/php '''-d magic_quotes_gpc=0 -d date.timezone="Europe/Berlin"'''<br />
<br />
<br />
=== Prüfen, welche Paketversionen installiert sind ===<br />
<br />
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:<br />
<br />
composer show -i<br />
<br />
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show<br />
<br />
<br />
== Fehlerbehebung während und nach der Installation ==<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: icons ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/icons, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
'''''TODO: Lösung beschreiben'''''<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.<br />
<br />
<br />
<br />
=== Fehlermeldung im Webserverlog - Options not allowed here ===<br />
<br />
Nach dem Aufruf des URL<br />
<br />
http://www.example.org/<br />
<br />
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung<br />
<br />
/home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]<br />
<br />
<br />
==== Lösung ====<br />
<br />
Siehe Konfigurationsschritt '''''TODO: Referenz verankern'''''<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===<br />
<br />
Ruft man den URL http://example.org (= ohne vorangestelltes "www") auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
page<TYPO3.Neos:Page>/<br />
body<TYPO3.TypoScript:Template>/<br />
parts/<br />
mainMenu:<br />
Invalid paths: path of starting point must first part of end point path.<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
=== Fehlermeldung bei Aufruf von www.example.org ===<br />
<br />
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser<br />
Exception while rendering<br />
landingPage:<br />
No "landingPage" TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)<br />
<br />
<br />
==== Lösung ====<br />
<br />
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:<br />
<br />
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]<br />
<br />
<br />
== Installation mit eigenem Serverdienst/root-Server ==<br />
<br />
Für die Installation mit der Option "Eigener Serverdienst" sind '''zusätzlich''' weitere Schritte notwendig bzw. empfehlenswert.<br />
<br />
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes '''nicht''' erforderlich!<br />
<br />
<br />
=== Optional: Virtuellen Host einrichten ===<br />
<br />
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.<br />
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option "Betrieb eines eigenen Serverdienstes") entwickelt wird.<br />
<br />
<br />
==== Notwendigkeit der Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Mit der Paket-Option "Betrieb eines eigenen Serverdienstes" lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn<br />
<br />
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder<br />
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.<br />
<br />
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.<br />
<br />
<br />
==== Ohne Paket-Option "Betrieb eines eigenen Serverdienstes" ====<br />
<br />
Auf Hostsharing Systemen läuft für die Shared Hosting Pakete ein zentraler Apache, der standardmäßig die Anfragen für die in den Paketen aufgeschalteten Domains verarbeitet und die Webseiten ausliefert.<br />
<br />
Durch ein zentrales Template wird für jede aufgeschaltete Domain im Apache automatisch (von hsadmin) ein Virtual Host eingerichtet. Die Konfiguration lässt sich lediglich durch einige der [https://wiki.hostsharing.net/index.php?title=Hsadmin/Domainoptionen HSAdmin-Domain-Options] beeinflussen.<br />
<br />
<br />
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====<br />
<br />
Als Template-"Sprache" kommt [http://velocity.apache.org/ velocity] zum Einsatz.<br />
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:<br />
<br />
TODO: Hier Template des Virtual Hosts einfügen<br />
<br />
<br />
=== Dateirechte für TYPO3 Flow setzen ===<br />
<br />
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:<br />
<br />
cd /home/doms/example.org/TYPO3-Neos<br />
sudo ./flow flow:core:setfilepermissions <shelluser> <wwwuser> <wwwgroup><br />
<br />
'''wobei:'''<br />
<br />
<shelluser> ::= User mit dem man in der Konsole eingeloggt ist (Befehl "whoami" eingeben; bei Hostsharing ist dies der Paketadmin der Form '''xyz00''' oder ein User der Form '''xyz00-username''')<br />
<br />
<wwwuser> ::= User, unter dem der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) der Domain-User der Form '''xyz00-username''' '''''TODO: Prüfen!''''')<br />
<br />
<wwwgroup> ::= Gruppe, unter der der Webserver läuft (steht in der Datei httpd.conf; bei Hostsharing ist dies für Shared Hosting Pakete (PHP via FastCGI) die Gruppe des Paketes (zu dem die Domain gehört) der Form '''xyz00''' '''''TODO: Prüfen!''''')<br />
<br />
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]<br />
<br />
'''''TODO: Hier entsprechende Ergänzungen für "non-Shared Hosting" machen...'''''<br />
<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Installationsanleitungen]]<br />
[[Kategorie:Software]]</div>Cgl00-cglass