<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.hostsharing.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hsh-michaelhierweck</id>
	<title>Hostsharing Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hostsharing.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hsh-michaelhierweck"/>
	<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Spezial:Beitr%C3%A4ge/Hsh-michaelhierweck"/>
	<updated>2026-04-25T21:36:08Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Contao_Installieren&amp;diff=4458</id>
		<title>Contao Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Contao_Installieren&amp;diff=4458"/>
		<updated>2017-08-11T12:45:35Z</updated>

		<summary type="html">&lt;p&gt;Hsh-michaelhierweck: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
0. HSAdmin&lt;br /&gt;
Domain-Admin, Domain(s), MySQL-Benutzer und -Datenbank anlegen&lt;br /&gt;
&lt;br /&gt;
1. Shell:&lt;br /&gt;
$ mkdir contao&lt;br /&gt;
$ composer create-project --no-dev contao/managed-edition contao&lt;br /&gt;
&lt;br /&gt;
2. Symlinken&lt;br /&gt;
DocumentRoot(s) nach contao/web symlinken&lt;br /&gt;
&lt;br /&gt;
3. Installtool aufrufen&lt;br /&gt;
Installtool via /contao/install aufrufen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hsh-michaelhierweck</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&amp;diff=4457</id>
		<title>TYPO3 Neos installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&amp;diff=4457"/>
		<updated>2017-08-11T12:45:00Z</updated>

		<summary type="html">&lt;p&gt;Hsh-michaelhierweck: /* Notwendige Schritte zur Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Systemvoraussetzungen ==&lt;br /&gt;
&lt;br /&gt;
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.&lt;br /&gt;
Bei Hostsharing erfüllen alle Shared Hosting Pakete im &#039;&#039;&#039;Auslieferungszustand&#039;&#039;&#039; diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default&#039;&#039;&#039;&lt;br /&gt;
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)&lt;br /&gt;
*&#039;&#039;&#039; Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039; system()&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039; shell_exec()&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039; escapeshellcmd()&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039; escapeshellarg()&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039; proc_open()&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039; exec()&#039;&#039;&#039;&lt;br /&gt;
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher&lt;br /&gt;
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)&lt;br /&gt;
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off&lt;br /&gt;
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off&lt;br /&gt;
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039; [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039; [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bemerkung zu bereitstehenden PHP Versionen ===&lt;br /&gt;
&lt;br /&gt;
Die PHP-Kommandozeilenversion (PHP-CLI) erfüllt die geforderte Versionsnummer von 5.3.7: Installiert ist PHP 5.4.4-14+deb7u11 (cli)&lt;br /&gt;
&lt;br /&gt;
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:&lt;br /&gt;
&lt;br /&gt;
 php --version&lt;br /&gt;
&lt;br /&gt;
=== Umsetzung der Einstellungen für php.ini ===&lt;br /&gt;
&lt;br /&gt;
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:&lt;br /&gt;
 /home/doms/example.org/fastcgi&lt;br /&gt;
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):&lt;br /&gt;
&lt;br /&gt;
 touch php.ini&lt;br /&gt;
 nano php.ini&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&amp;amp;paste an das Ende der php.ini&lt;br /&gt;
&lt;br /&gt;
 memory_limit = 256M             ; default ist 128M&lt;br /&gt;
 xdebug.max_nesting_level = 500  ; Einkommentieren sofern xdebug verwendet wird&lt;br /&gt;
 detect_unicode = Off&lt;br /&gt;
 date.timezone = &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
 magic_quotes_gpc = Off&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 killall php -u $USER&lt;br /&gt;
&lt;br /&gt;
== Notwendige Schritte zur Installation ==&lt;br /&gt;
&lt;br /&gt;
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.&lt;br /&gt;
&lt;br /&gt;
Die Installation besteht im Wesentlichen aus diesen Schritten:&lt;br /&gt;
&lt;br /&gt;
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]&lt;br /&gt;
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]&lt;br /&gt;
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]&lt;br /&gt;
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]&lt;br /&gt;
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]&lt;br /&gt;
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]&lt;br /&gt;
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]&lt;br /&gt;
&lt;br /&gt;
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==&lt;br /&gt;
&lt;br /&gt;
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):&lt;br /&gt;
&lt;br /&gt;
 composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos&lt;br /&gt;
&lt;br /&gt;
Während der Installation erscheinen mehrere dieser Warnungen:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Diese Warnungen können ignoriert werden&#039;&#039;&#039;, siehe http://forum.typo3.org/index.php/t/200300/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit &amp;quot;Y&amp;quot; bestätigen:&lt;br /&gt;
&lt;br /&gt;
 Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?&lt;br /&gt;
&lt;br /&gt;
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter&lt;br /&gt;
&lt;br /&gt;
  /home/doms/example.org/TYPO3-Neos&lt;br /&gt;
&lt;br /&gt;
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.&lt;br /&gt;
&lt;br /&gt;
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos/&lt;br /&gt;
 &#039;&#039;&#039;composer update&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der .htaccess-Datei ===&lt;br /&gt;
&lt;br /&gt;
Die .htaccess-Datei im Pfad&lt;br /&gt;
&lt;br /&gt;
 /home/doms/example.org/htdocs&lt;br /&gt;
&lt;br /&gt;
muss im folgenden Absatz für die Umgebungsvariable &#039;&#039;&#039;FLOW_ROOTPATH&#039;&#039;&#039; mit dem Pfad zu TYPO3 Flow versehen werden:&lt;br /&gt;
&lt;br /&gt;
 # If the root path is not the parent of the Web directory,&lt;br /&gt;
 # TYPO3 Flow&#039;s root path must be specified manually:&lt;br /&gt;
 # SetEnv FLOW_ROOTPATH /var/www/myapp/&lt;br /&gt;
 &#039;&#039;&#039;SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weiterhin ist die Anpassung dieses Absatzes nötig&lt;br /&gt;
&lt;br /&gt;
 # You will have to change the path in the following option if you&lt;br /&gt;
 # experience problems while your installation is located in a subdirectory&lt;br /&gt;
 # of the website root.&lt;br /&gt;
 # RewriteBase /TYPO3-Neos/Web/&lt;br /&gt;
 &#039;&#039;&#039;RewriteBase /&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bei Hostsharing ist die Webserver-Option &amp;quot;MultiViews&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
 # prevents Apache&#039;s automatic file negotiation, it breaks resource URLs&lt;br /&gt;
 &#039;&#039;&#039;#Options -MultiViews&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der index.php-Datei ===&lt;br /&gt;
&lt;br /&gt;
Die Datei index.php im Pfad&lt;br /&gt;
&lt;br /&gt;
 /home/doms/example.org/htdocs&lt;br /&gt;
&lt;br /&gt;
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile &amp;quot;&amp;lt;?php&amp;quot;) mit den Umgebungsvariablen &#039;&#039;&#039;FLOW_REWRITEURLS&#039;&#039;&#039; und &#039;&#039;&#039;FLOW_CONTEXT&#039;&#039;&#039; versehen werden:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 &#039;&#039;&#039;putenv (&amp;quot;FLOW_REWRITEURLS=1&amp;quot;);&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;putenv (&amp;quot;FLOW_CONTEXT=Production&amp;quot;);&#039;&#039;&#039;&lt;br /&gt;
 /*&lt;br /&gt;
  * This script belongs to the TYPO3 Flow framework.                       *&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die Verwendung der Umgebungsvariable &#039;&#039;&#039;FLOW_REWRITEURLS=1&#039;&#039;&#039; ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing &#039;&#039;&#039;Apache mit SuExec&#039;&#039;&#039; betrieben wird. &#039;&#039;&#039;&#039;&#039;(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Genauere Beschreibung: http://forge.typo3.org/issues/54451&lt;br /&gt;
&lt;br /&gt;
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===&lt;br /&gt;
&lt;br /&gt;
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.&lt;br /&gt;
&lt;br /&gt;
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos/Configuration&lt;br /&gt;
 cp Settings.yaml.example Settings.yaml&lt;br /&gt;
 nano Settings.yaml&lt;br /&gt;
&lt;br /&gt;
Folgende Einstellungen müssen vorgenommen werden&lt;br /&gt;
&lt;br /&gt;
 TYPO3:&lt;br /&gt;
   Flow:&lt;br /&gt;
     persistence:&lt;br /&gt;
       # It is good practice to not specify user name and password of the database&lt;br /&gt;
       # connection in this global Settings.yaml file. Rather specify them in the&lt;br /&gt;
       # settings of the respective context (Production / Development ...).&lt;br /&gt;
       backendOptions:&lt;br /&gt;
         driver: &#039;pdo_mysql&#039;  # Datenbanktyp (DB-Treiber)&lt;br /&gt;
         dbname: &#039;DBNAME&#039;     # an DB-Namen anpassen&lt;br /&gt;
         user: &#039;DBUSER&#039;       # an DB-User anpassen&lt;br /&gt;
         password: &#039;PASSWORT&#039; # an DB-Passwort anpassen&lt;br /&gt;
         host: &#039;localhost&#039;    # an DB-Host anpassen (bei HS: localhost)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:&#039;&#039;&#039; [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]&lt;br /&gt;
&lt;br /&gt;
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]&lt;br /&gt;
&lt;br /&gt;
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]&lt;br /&gt;
&lt;br /&gt;
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===&lt;br /&gt;
&lt;br /&gt;
Die Datei Settings.yaml muss erneut angepasst werden:&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos/Configuration&lt;br /&gt;
 cp Settings.yaml.example Settings.yaml&lt;br /&gt;
 nano Settings.yaml&lt;br /&gt;
&lt;br /&gt;
Folgende Einstellungen müssen vorgenommen werden&lt;br /&gt;
&lt;br /&gt;
 TYPO3:&lt;br /&gt;
   Flow:&lt;br /&gt;
     core:&lt;br /&gt;
       # Path and filename of the PHP binary&lt;br /&gt;
       # The constant PHP_BINDIR usually contains the path, but on Windows this doesn&#039;t work reliably&lt;br /&gt;
       phpBinaryPathAndFilename: &#039;/usr/bin/php&#039;&lt;br /&gt;
 ######################################################################################&lt;br /&gt;
       # Set which php.ini file should be used for the CLI sub requests.&lt;br /&gt;
       # If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server&#039;s) is used.&lt;br /&gt;
       # If set to a path and filename, the specified php.ini file is loaded.&lt;br /&gt;
       # If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.&lt;br /&gt;
       subRequestPhpIniPathAndFilename: &#039;/home/doms/example.org/php-cli.ini&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:&#039;&#039;&#039; [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]&lt;br /&gt;
&lt;br /&gt;
== TYPO3 Neos Setup ==&lt;br /&gt;
&lt;br /&gt;
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:&lt;br /&gt;
&lt;br /&gt;
 http://example.org/setup/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Setup-Passwort ===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 Initial Password: The initial password for accessing the setup can be found in the file&lt;br /&gt;
 /home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Wiederherstellung des Setup-Passwortes ====&lt;br /&gt;
&lt;br /&gt;
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.&lt;br /&gt;
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:&lt;br /&gt;
&lt;br /&gt;
  rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey&lt;br /&gt;
&lt;br /&gt;
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Administrator anlegen ===&lt;br /&gt;
&lt;br /&gt;
Das Anlegen des Administrators wird per GUI-Backend erledigt.&lt;br /&gt;
&lt;br /&gt;
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.&lt;br /&gt;
&lt;br /&gt;
Alternativ lassen sich User auch in der Konsole anlegen per:&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos/&lt;br /&gt;
 ./flow typo3.neos:user:create &amp;lt;Username&amp;gt; &amp;lt;Passwort&amp;gt; &amp;lt;Vorname&amp;gt; &amp;lt;Nachname&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! &#039;&#039;&#039;&#039;&#039;TODO: Prüfen!&#039;&#039;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos/&lt;br /&gt;
 ./flow typo3.neos:user:addrole &amp;lt;Username&amp;gt; Administrator&lt;br /&gt;
&lt;br /&gt;
=== Abschluss des Setups ===&lt;br /&gt;
&lt;br /&gt;
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines &amp;quot;Package Name&amp;quot; und eines &amp;quot;Site Name&amp;quot; eine leere Webseite anlegen lassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Site mit Domain verknüpfen ====&lt;br /&gt;
&lt;br /&gt;
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im &amp;quot;Sites Management&amp;quot; erledigt:&lt;br /&gt;
&lt;br /&gt;
Klickpfad dorthin: &#039;&#039;&#039;3 waagerechte weiße Streifen&#039;&#039;&#039; (oben links) -&amp;gt; &amp;quot;&#039;&#039;&#039;Sites Management&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
In der Zeile mit der Site das &#039;&#039;&#039;Bleistift-Symbol&#039;&#039;&#039; anklicken -&amp;gt; rechte Seite &amp;quot;&#039;&#039;&#039;Add domain&#039;&#039;&#039;&amp;quot; (hellblauer Button) anklicken -&amp;gt; &#039;&#039;&#039;Domainname eintragen&#039;&#039;&#039; -&amp;gt; Radiobutton &amp;quot;&#039;&#039;&#039;Active&#039;&#039;&#039;&amp;quot; anklicken -&amp;gt; &amp;quot;&#039;&#039;&#039;Create&#039;&#039;&#039;&amp;quot; (hellblauer Button) anklicken&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039; (hellblauer Button) anklicken&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Weitere Einstellungen ===&lt;br /&gt;
&lt;br /&gt;
==== URI Suffix ändern ====&lt;br /&gt;
&lt;br /&gt;
Das URI-Suffix ist standardmäßig auf &amp;quot;.html&amp;quot; eingestellt. Man kann dieses Suffix zentral ändern und auch ganz entfernen:&lt;br /&gt;
&lt;br /&gt;
 nano /home/doms/example.org/TYPO3-Neos/Configuration/Routes.yaml&lt;br /&gt;
&lt;br /&gt;
Der Eintrag für defaultUriSuffix kann hierzu geändert werden:&lt;br /&gt;
&lt;br /&gt;
 # TYPO3 Neos subroutes&lt;br /&gt;
 -&lt;br /&gt;
   name: &#039;TYPO3 Neos&#039;&lt;br /&gt;
   uriPattern: &#039;&amp;lt;TYPO3NeosSubroutes&amp;gt;&#039;&lt;br /&gt;
   subRoutes:&lt;br /&gt;
     &#039;TYPO3NeosSubroutes&#039;:&lt;br /&gt;
       package: &#039;TYPO3.Neos&#039;&lt;br /&gt;
       variables:&lt;br /&gt;
         &#039;defaultUriSuffix&#039;: &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:&#039;&#039;&#039; [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
Quelle: https://review.typo3.org/#/c/25746&lt;br /&gt;
&lt;br /&gt;
== Zugang zur Installation ==&lt;br /&gt;
&lt;br /&gt;
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Setup:&#039;&#039;&#039; http://example.org/setup/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frontend:&#039;&#039;&#039; http://example.org/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Backend:&#039;&#039;&#039; http://example.org/neos/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wichtige Pfade und Dateien ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Pfad&#039;&#039;&#039; (mit Präfix /home/doms/example.org/TYPO3-Neos/)&lt;br /&gt;
| &#039;&#039;&#039;Beschreibung des Inhalts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Configuration/Settings.yaml&lt;br /&gt;
| &#039;&#039;&#039;Konfigurationsdatei für TYPO3 Flow&#039;&#039;&#039; (u.a. für Datenbank-Zugangsdaten)&lt;br /&gt;
|-&lt;br /&gt;
| Data/Logs/Security_Development.log&lt;br /&gt;
| Logdatei analog zu &#039;&#039;&#039;Security.log&#039;&#039;&#039; (s.u.), allerdings für den &#039;&#039;&#039;Development-Kontext&#039;&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| Data/Logs/Security.log&lt;br /&gt;
| Logdatei, die &#039;&#039;&#039;Loginversuche im Production-Kontext&#039;&#039;&#039; protokolliert.&lt;br /&gt;
|-&lt;br /&gt;
| Data/Logs/System_Development.log&lt;br /&gt;
| Logdatei analog zu &#039;&#039;&#039;System.log&#039;&#039;&#039; (s.u.), allerdings für den &#039;&#039;&#039;Development-Kontext&#039;&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| Data/Logs/Sytem.log&lt;br /&gt;
| &#039;&#039;&#039;System-Logdatei im Production-Kontext&#039;&#039;&#039; (enthält auch Hinweise auf Fehler oder Exceptions, siehe &amp;quot;CRITICAL&amp;quot;).&lt;br /&gt;
|-&lt;br /&gt;
| Data/Logs/Exceptions/&lt;br /&gt;
| Zu jeder &#039;&#039;&#039;Fehlermeldung (Exception)&#039;&#039;&#039; liegt hier eine *.txt-Datei, die Tag und Uhrzeit im Dateinamen trägt. In den Textdateien findet man die Fehlermeldung und einen Trace.&lt;br /&gt;
|-&lt;br /&gt;
| Data/Persistent/FileBasedSimpleKeyService/SetupKey&lt;br /&gt;
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes &#039;&#039;&#039;Setup-Passwort vergessen&#039;&#039;&#039;] hat.&lt;br /&gt;
|-&lt;br /&gt;
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/&lt;br /&gt;
| Ablageort für &#039;&#039;&#039;Fluid-Templates von TYPO3 Neos&#039;&#039;&#039; im Auslieferungszustand&lt;br /&gt;
|-&lt;br /&gt;
| Packages/Sites/Abc.Xyz/Configuration/&lt;br /&gt;
| &#039;&#039;&#039;Konfigurationsdateien des Paketes&#039;&#039;&#039; (= der Site)&lt;br /&gt;
|-&lt;br /&gt;
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml&lt;br /&gt;
| Ablageort für &#039;&#039;&#039;eigene TYPO3-Flow Inhaltselemente&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Packages/Sites/Abc.Xyz/Resources/Public&lt;br /&gt;
| Ablageort für alle &#039;&#039;&#039;öffentlich zugänglichen Dateien&#039;&#039;&#039; wie z.B. CSS- oder JS-Dateien&lt;br /&gt;
|-&lt;br /&gt;
| Packages/Sites/Abc.Xyz/Resources/Private&lt;br /&gt;
| Ablageort für alle internen Dateien&lt;br /&gt;
|-&lt;br /&gt;
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html&lt;br /&gt;
| &#039;&#039;&#039;Fluid-Template&#039;&#039;&#039; mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein&lt;br /&gt;
|-&lt;br /&gt;
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/&lt;br /&gt;
| Ablageort für alle eigenen TypoScript-Objekte&lt;br /&gt;
|-&lt;br /&gt;
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/&lt;br /&gt;
| Ablageort für alle TypoScript-Dateien&lt;br /&gt;
|-&lt;br /&gt;
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2&lt;br /&gt;
| Root-Template der gesamten Site; auch &amp;quot;main typoscript configuration&amp;quot;; Wird durch den site-kickstarter angelegt&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Upgrade von TYPO3 Neos... ==&lt;br /&gt;
&lt;br /&gt;
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= &amp;quot;Development Master&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In beiden Fällen&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
Vor jedem Update sollte man prüfen, ob composer selbst ein Update benötigt:&lt;br /&gt;
&lt;br /&gt;
 composer self-update&lt;br /&gt;
&lt;br /&gt;
=== ...auf eine bestimmte TYPO3 Neos Version ===&lt;br /&gt;
&lt;br /&gt;
(Statt &amp;lt;version&amp;gt; z.B. 1.0.*)&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos/&lt;br /&gt;
 composer require &amp;quot;typo3/neos:&amp;lt;version&amp;gt;&amp;quot;&lt;br /&gt;
 composer require &amp;quot;typo3/neos-nodetypes:&amp;lt;version&amp;gt;&amp;quot;&lt;br /&gt;
 composer require &amp;quot;typo3/neosdemotypo3org:&amp;lt;version&amp;gt;&amp;quot;&lt;br /&gt;
 composer require &amp;quot;typo3/sitekickstarter:&amp;lt;version&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== ...auf den Development Master (neueste Version) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Einmalig&#039;&#039;&#039; ist zuvor in der composer.json (siehe TYPO3-Neos Rootverzeichnis) statt &amp;quot;1.0.*&amp;quot; der Eintrag &amp;quot;dev-master&amp;quot; zu hinterlegen:&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos/&lt;br /&gt;
 nano composer.json&lt;br /&gt;
&lt;br /&gt;
dort sind die vorhandenen Einträge wiefolgt zu ändern (Die Leerzeichen zu Beginn sind wichtig, da sie zum Syntax gehören!):&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;require&amp;quot;: {&lt;br /&gt;
        &amp;quot;typo3/neos&amp;quot;: &amp;quot;dev-master&amp;quot;,&lt;br /&gt;
        &amp;quot;typo3/neos-nodetypes&amp;quot;: &amp;quot;dev-master&amp;quot;,&lt;br /&gt;
        &amp;quot;typo3/neosdemotypo3org&amp;quot;: &amp;quot;dev-master&amp;quot;,&lt;br /&gt;
        &amp;quot;typo3/neos-kickstarter&amp;quot;: &amp;quot;dev-master&amp;quot;,&lt;br /&gt;
        &amp;quot;doctrine/migrations&amp;quot;: &amp;quot;@dev&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Anschließend kann das Update jedes Mal durch composer angestoßen werden:&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos/&lt;br /&gt;
 composer update&lt;br /&gt;
&lt;br /&gt;
=== Cache eines TYPO3 Flow-Kontextes löschen ===&lt;br /&gt;
&lt;br /&gt;
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.&lt;br /&gt;
&lt;br /&gt;
Löschen des Standard-Flow-CLI-Kontextes &amp;quot;Development&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos/&lt;br /&gt;
 ./flow flow:cache:flush --force&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;Flow requires the PHP setting &amp;quot;magic_quotes_gpc&amp;quot; set to Off. (Error #1224003190)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Migration der Doctrine-Datenbank ===&lt;br /&gt;
&lt;br /&gt;
 ./flow core:migrate&lt;br /&gt;
 ./flow doctrine:migrationgenerate&lt;br /&gt;
 ./flow doctrine:migrate&lt;br /&gt;
&lt;br /&gt;
=== Setzen eines Flow-Kontextes ===&lt;br /&gt;
&lt;br /&gt;
Das &#039;&#039;&#039;Kommandozeilentool flow&#039;&#039;&#039; arbeitet ohne weitere Angabe &#039;&#039;&#039;standardmäßig im Development-Kontext&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. &amp;quot;Production&amp;quot;):&lt;br /&gt;
&lt;br /&gt;
 FLOW_CONTEXT=Production ./flow &#039;&#039;...weitere Parameter...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man den Kontext auch über &#039;&#039;&#039;Umgebungsvariablen der Kommandozeile&#039;&#039;&#039; definieren:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bei einem &#039;&#039;&#039;eigenen Apache-Server&#039;&#039;&#039; wird der Production-Kontext normalerweise wiefolgt konfiguriert:&lt;br /&gt;
&lt;br /&gt;
 SetEnv FLOW_CONTEXT Production&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im &#039;&#039;&#039;Shared Hosting&#039;&#039;&#039; ist dies nicht möglich. Stattdessen wird der Kontext über den &#039;&#039;&#039;putenv-Befehl&#039;&#039;&#039; in einem PHP-Skript gesetzt:&lt;br /&gt;
&lt;br /&gt;
 putenv (&amp;quot;FLOW_CONTEXT=Production&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===&lt;br /&gt;
&lt;br /&gt;
Abändern der Shebang-Zeile des Skriptes &amp;quot;flow&amp;quot; innerhalb des Verzeichnisses &amp;quot;TYPO3-Neos&amp;quot; in:&lt;br /&gt;
 #!/usr/bin/php &#039;&#039;&#039;-c/home/doms/example.org/php-cli.ini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Detaillierte Erklärung:&#039;&#039;&#039; 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 &amp;quot;am Stück&amp;quot; und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;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.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Prüfen, welche Paketversionen installiert sind ===&lt;br /&gt;
&lt;br /&gt;
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:&lt;br /&gt;
&lt;br /&gt;
 composer show -i&lt;br /&gt;
&lt;br /&gt;
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show&lt;br /&gt;
&lt;br /&gt;
== Fehlerbehebung während und nach der Installation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Fehlermeldung im Webserverlog - File does not exist: icons ===&lt;br /&gt;
&lt;br /&gt;
Nach dem Aufruf des URL&lt;br /&gt;
&lt;br /&gt;
 http://www.example.org/&lt;br /&gt;
&lt;br /&gt;
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung&lt;br /&gt;
&lt;br /&gt;
 File does not exist: /home/doms/example.org/htdocs/icons, referer [...]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Lösung ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TODO: Lösung beschreiben&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===&lt;br /&gt;
&lt;br /&gt;
Nach dem Aufruf des URL&lt;br /&gt;
&lt;br /&gt;
 http://www.example.org/&lt;br /&gt;
&lt;br /&gt;
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung&lt;br /&gt;
&lt;br /&gt;
 File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Lösung ====&lt;br /&gt;
&lt;br /&gt;
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Fehlermeldung im Webserverlog - Options not allowed here ===&lt;br /&gt;
&lt;br /&gt;
Nach dem Aufruf des URL&lt;br /&gt;
&lt;br /&gt;
 http://www.example.org/&lt;br /&gt;
&lt;br /&gt;
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung&lt;br /&gt;
&lt;br /&gt;
 /home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Lösung ====&lt;br /&gt;
&lt;br /&gt;
Siehe Konfigurationsschritt &#039;&#039;&#039;&#039;&#039;TODO: Referenz verankern&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===&lt;br /&gt;
&lt;br /&gt;
Ruft man den URL http://example.org (= ohne vorangestelltes &amp;quot;www&amp;quot;) auf, so erhält man folgende Fehlermeldung im Browser&lt;br /&gt;
 Exception while rendering&lt;br /&gt;
 page&amp;lt;TYPO3.Neos:Page&amp;gt;/&lt;br /&gt;
 body&amp;lt;TYPO3.TypoScript:Template&amp;gt;/&lt;br /&gt;
 parts/&lt;br /&gt;
 mainMenu:&lt;br /&gt;
 Invalid paths: path of starting point must first part of end point path.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Lösung ====&lt;br /&gt;
&lt;br /&gt;
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:&lt;br /&gt;
&lt;br /&gt;
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Fehlermeldung bei Aufruf von www.example.org ===&lt;br /&gt;
&lt;br /&gt;
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser&lt;br /&gt;
 Exception while rendering&lt;br /&gt;
 landingPage:&lt;br /&gt;
 No &amp;quot;landingPage&amp;quot; TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Lösung ====&lt;br /&gt;
&lt;br /&gt;
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:&lt;br /&gt;
&lt;br /&gt;
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation mit eigenem Serverdienst/root-Server ==&lt;br /&gt;
&lt;br /&gt;
Für die Installation mit der Option &amp;quot;Eigener Serverdienst&amp;quot; sind &#039;&#039;&#039;zusätzlich&#039;&#039;&#039; weitere Schritte notwendig bzw. empfehlenswert.&lt;br /&gt;
&lt;br /&gt;
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes &#039;&#039;&#039;nicht&#039;&#039;&#039; erforderlich!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional: Virtuellen Host einrichten ===&lt;br /&gt;
&lt;br /&gt;
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.&lt;br /&gt;
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option &amp;quot;Betrieb eines eigenen Serverdienstes&amp;quot;) entwickelt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Notwendigkeit der Paket-Option &amp;quot;Betrieb eines eigenen Serverdienstes&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Mit der Paket-Option &amp;quot;Betrieb eines eigenen Serverdienstes&amp;quot; lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn&lt;br /&gt;
&lt;br /&gt;
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder&lt;br /&gt;
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.&lt;br /&gt;
&lt;br /&gt;
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ohne Paket-Option &amp;quot;Betrieb eines eigenen Serverdienstes&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====&lt;br /&gt;
&lt;br /&gt;
Als Template-&amp;quot;Sprache&amp;quot; kommt [http://velocity.apache.org/ velocity] zum Einsatz.&lt;br /&gt;
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:&lt;br /&gt;
&lt;br /&gt;
 TODO: Hier Template des Virtual Hosts einfügen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Dateirechte für TYPO3 Flow setzen ===&lt;br /&gt;
&lt;br /&gt;
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos&lt;br /&gt;
 sudo ./flow flow:core:setfilepermissions &amp;lt;shelluser&amp;gt; &amp;lt;wwwuser&amp;gt; &amp;lt;wwwgroup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;wobei:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;shelluser&amp;gt; ::= User mit dem man in der Konsole eingeloggt ist (Befehl &amp;quot;whoami&amp;quot; eingeben; bei Hostsharing ist dies der Paketadmin der Form &#039;&#039;&#039;xyz00&#039;&#039;&#039; oder ein User der Form &#039;&#039;&#039;xyz00-username&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;wwwuser&amp;gt; ::= 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 &#039;&#039;&#039;xyz00-username&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;TODO: Prüfen!&#039;&#039;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;wwwgroup&amp;gt; ::= 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 &#039;&#039;&#039;xyz00&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;TODO: Prüfen!&#039;&#039;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TODO: Hier entsprechende Ergänzungen für &amp;quot;non-Shared Hosting&amp;quot; machen...&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weiterführende Links ==&lt;br /&gt;
&lt;br /&gt;
http://neos.typo3.org/&lt;br /&gt;
&lt;br /&gt;
http://docs.typo3.org/neos/TYPO3NeosDocumentation/Appendixes/ChangeLogs/101.html&lt;br /&gt;
&lt;br /&gt;
https://twitter.com/TYPO3Neos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Hsh-michaelhierweck</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&amp;diff=4456</id>
		<title>TYPO3 Neos installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren&amp;diff=4456"/>
		<updated>2017-08-11T12:44:24Z</updated>

		<summary type="html">&lt;p&gt;Hsh-michaelhierweck: Composer ist vorinstalliert.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TODO: Andere Installationsarten (eigener Serverdienst, root-Server) sind am Ende des Artikels beschrieben.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Systemvoraussetzungen ==&lt;br /&gt;
&lt;br /&gt;
Das TYPO3 Neos Kompendium nennt die folgenden Systemvoraussetzungen.&lt;br /&gt;
Bei Hostsharing erfüllen alle Shared Hosting Pakete im &#039;&#039;&#039;Auslieferungszustand&#039;&#039;&#039; diese Systemvoraussetzungen mit wenigen notwendigen manuellen Nacharbeiten:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; Webserver (empfohlen ist Apache 2.x mit aktiviertem [[mod_rewrite]] Modul) = HS Shared Hosting default&#039;&#039;&#039;&lt;br /&gt;
* [[PHP]] 5.3.7 - 5.4.x (minimal wäre PHP 5.3.2 - dort kann es zu Problemen kommen)&lt;br /&gt;
*&#039;&#039;&#039; Folgende Funktionen müssen in PHP aktiviert sein (= HS Shared Hosting default):&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039; system()&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039; shell_exec()&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039; escapeshellcmd()&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039; escapeshellarg()&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039; proc_open()&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039; exec()&#039;&#039;&#039;&lt;br /&gt;
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: memory_limit = 256M oder höher&lt;br /&gt;
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)&lt;br /&gt;
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Fügen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off&lt;br /&gt;
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off&lt;br /&gt;
* [[PHP#Anpassung_der_PHP_Grundkonfiguration|php.ini]]: Die Kommandozeile von Flow benötigt ferner noch eine Zeitzoneneinstellung: date.timezone= &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039; [[MySQL]] 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) = HS Shared Hosting default&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039; [[Login_mit_SSH|Zugang zur Konsole]] (shell-User) = HS Shared Hosting default&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bemerkung zu bereitstehenden PHP Versionen ===&lt;br /&gt;
&lt;br /&gt;
Die PHP-Kommandozeilenversion (PHP-CLI) erfüllt die geforderte Versionsnummer von 5.3.7: Installiert ist PHP 5.4.4-14+deb7u11 (cli)&lt;br /&gt;
&lt;br /&gt;
Die Versionsnummer von PHP-CLI kann mit dem folgenden Befehl in der Kommandozeile überprüft werden:&lt;br /&gt;
&lt;br /&gt;
 php --version&lt;br /&gt;
&lt;br /&gt;
=== Umsetzung der Einstellungen für php.ini ===&lt;br /&gt;
&lt;br /&gt;
Die php.ini für PHP via FastCGI muss in diesem Verzeichnis liegen:&lt;br /&gt;
 /home/doms/example.org/fastcgi&lt;br /&gt;
(existiert dort keine php.ini, kann sie manuell leer angelegt werden und anschließend mit einem Editor (z.B. nano) bearbeitet werden):&lt;br /&gt;
&lt;br /&gt;
 touch php.ini&lt;br /&gt;
 nano php.ini&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man auch eine Muster-php.ini dorthin kopieren. Siehe hierzu: [[PHP#Beispiel_muster.example.com|Beispiel muster.example.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die nötigen Einstellungen für TYPO3 Neos hier gesammelt als Block für copy&amp;amp;paste an das Ende der php.ini&lt;br /&gt;
&lt;br /&gt;
 memory_limit = 256M             ; default ist 128M&lt;br /&gt;
 xdebug.max_nesting_level = 500  ; Einkommentieren sofern xdebug verwendet wird&lt;br /&gt;
 detect_unicode = Off&lt;br /&gt;
 date.timezone = &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
 magic_quotes_gpc = Off&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 killall php -u $USER&lt;br /&gt;
&lt;br /&gt;
== Notwendige Schritte zur Installation ==&lt;br /&gt;
&lt;br /&gt;
Es ist nicht erforderlich TYPO3 CMS zu installieren, da TYPO3 CMS und TYPO3 Neos keinerlei technische Gemeinsamkeiten besitzen.&lt;br /&gt;
&lt;br /&gt;
Die Installation besteht im Wesentlichen aus diesen Schritten:&lt;br /&gt;
&lt;br /&gt;
# [[TYPO3_Neos_installieren#Composer_herunterladen_und_installieren|Composer herunterladen und installieren]]&lt;br /&gt;
# [[TYPO3_Neos_installieren#TYPO3_Neos_und_Abh.C3.A4ngigkeiten_herunterladen_und_installieren|TYPO3 Neos und Abhängigkeiten herunterladen, installieren]]&lt;br /&gt;
# [[TYPO3_Neos_installieren#Inhalte_des_Verzeichnisses_Web_in_DocumentRoot_kopieren|Inhalte des Verzeichnisses Web in DocumentRoot kopieren]]&lt;br /&gt;
# [[TYPO3_Neos_installieren#Anpassen_der_.htaccess-Datei|Anpassen der .htaccess-Datei]]&lt;br /&gt;
# [[TYPO3_Neos_installieren#Anpassen_der_index.php-Datei|Anpassen der index.php-Datei]]&lt;br /&gt;
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_Datenbank-Setup|FLOW Konfiguration: Datenbank-Setup]]&lt;br /&gt;
# [[TYPO3_Neos_installieren#TYPO3_Flow_Konfiguration:_PHP-Umgebung|FLOW Konfiguration: PHP-Umgebung]]&lt;br /&gt;
# [[TYPO3_Neos_installieren#TYPO3_Neos_Setup|TYPO3 Neos Setup]]&lt;br /&gt;
&lt;br /&gt;
== TYPO3 Neos und Abhängigkeiten herunterladen und installieren ==&lt;br /&gt;
&lt;br /&gt;
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):&lt;br /&gt;
&lt;br /&gt;
 composer create-project typo3/neos-base-distribution /home/doms/example.org/TYPO3-Neos&lt;br /&gt;
&lt;br /&gt;
Während der Installation erscheinen mehrere dieser Warnungen:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Diese Warnungen können ignoriert werden&#039;&#039;&#039;, siehe http://forum.typo3.org/index.php/t/200300/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wird die VCS-Historie (Version Control System, Versionsverwaltung) nicht benötigt, kann man die folgende Frage mit &amp;quot;Y&amp;quot; bestätigen:&lt;br /&gt;
&lt;br /&gt;
 Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?&lt;br /&gt;
&lt;br /&gt;
Nun existiert ein Verzeichnis TYPO3-Neos (etwa 200 MB) im Webroot unter&lt;br /&gt;
&lt;br /&gt;
  /home/doms/example.org/TYPO3-Neos&lt;br /&gt;
&lt;br /&gt;
Dieses Verzeichnis enthält alle Dateien von TYPO3 Neos.&lt;br /&gt;
&lt;br /&gt;
Anschließend sollte composer alle Pakete nochmal auf verfügbare Updates prüfen und diese dann auch installieren:&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos/&lt;br /&gt;
 &#039;&#039;&#039;composer update&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Inhalte des Verzeichnisses Web in DocumentRoot kopieren ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 cp /home/doms/example.org/TYPO3-Neos/Web * /home/doms/example.org/htdocs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der .htaccess-Datei ===&lt;br /&gt;
&lt;br /&gt;
Die .htaccess-Datei im Pfad&lt;br /&gt;
&lt;br /&gt;
 /home/doms/example.org/htdocs&lt;br /&gt;
&lt;br /&gt;
muss im folgenden Absatz für die Umgebungsvariable &#039;&#039;&#039;FLOW_ROOTPATH&#039;&#039;&#039; mit dem Pfad zu TYPO3 Flow versehen werden:&lt;br /&gt;
&lt;br /&gt;
 # If the root path is not the parent of the Web directory,&lt;br /&gt;
 # TYPO3 Flow&#039;s root path must be specified manually:&lt;br /&gt;
 # SetEnv FLOW_ROOTPATH /var/www/myapp/&lt;br /&gt;
 &#039;&#039;&#039;SetEnv FLOW_ROOTPATH /home/doms/example.org/TYPO3-Neos/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weiterhin ist die Anpassung dieses Absatzes nötig&lt;br /&gt;
&lt;br /&gt;
 # You will have to change the path in the following option if you&lt;br /&gt;
 # experience problems while your installation is located in a subdirectory&lt;br /&gt;
 # of the website root.&lt;br /&gt;
 # RewriteBase /TYPO3-Neos/Web/&lt;br /&gt;
 &#039;&#039;&#039;RewriteBase /&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bei Hostsharing ist die Webserver-Option &amp;quot;MultiViews&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
 # prevents Apache&#039;s automatic file negotiation, it breaks resource URLs&lt;br /&gt;
 &#039;&#039;&#039;#Options -MultiViews&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der index.php-Datei ===&lt;br /&gt;
&lt;br /&gt;
Die Datei index.php im Pfad&lt;br /&gt;
&lt;br /&gt;
 /home/doms/example.org/htdocs&lt;br /&gt;
&lt;br /&gt;
muss zu Beginn (Zeilen 2 und 3 direkt nach Zeile &amp;quot;&amp;lt;?php&amp;quot;) mit den Umgebungsvariablen &#039;&#039;&#039;FLOW_REWRITEURLS&#039;&#039;&#039; und &#039;&#039;&#039;FLOW_CONTEXT&#039;&#039;&#039; versehen werden:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 &#039;&#039;&#039;putenv (&amp;quot;FLOW_REWRITEURLS=1&amp;quot;);&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;putenv (&amp;quot;FLOW_CONTEXT=Production&amp;quot;);&#039;&#039;&#039;&lt;br /&gt;
 /*&lt;br /&gt;
  * This script belongs to the TYPO3 Flow framework.                       *&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die Verwendung der Umgebungsvariable &#039;&#039;&#039;FLOW_REWRITEURLS=1&#039;&#039;&#039; ist nötig, da es sonst zu einem Problem führt, dass bei Hostsharing &#039;&#039;&#039;Apache mit SuExec&#039;&#039;&#039; betrieben wird. &#039;&#039;&#039;&#039;&#039;(TODO: Nicht 100% sicher, ob dies bei Hostsharing nötig ist...)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Genauere Beschreibung: http://forge.typo3.org/issues/54451&lt;br /&gt;
&lt;br /&gt;
=== TYPO3 Flow Konfiguration: Datenbank-Setup ===&lt;br /&gt;
&lt;br /&gt;
Eine Datenbank (z.B. MySQL) und einen entsprechenden user sollte man sich zuvor schon per [[HSAdmin]] leer angelegt haben.&lt;br /&gt;
&lt;br /&gt;
Das browserbasierte Setup bricht mit einem Fehler ab, sofern nicht die Datenbankeinstellungen in der Datei Settings.yaml angepasst wurden:&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos/Configuration&lt;br /&gt;
 cp Settings.yaml.example Settings.yaml&lt;br /&gt;
 nano Settings.yaml&lt;br /&gt;
&lt;br /&gt;
Folgende Einstellungen müssen vorgenommen werden&lt;br /&gt;
&lt;br /&gt;
 TYPO3:&lt;br /&gt;
   Flow:&lt;br /&gt;
     persistence:&lt;br /&gt;
       # It is good practice to not specify user name and password of the database&lt;br /&gt;
       # connection in this global Settings.yaml file. Rather specify them in the&lt;br /&gt;
       # settings of the respective context (Production / Development ...).&lt;br /&gt;
       backendOptions:&lt;br /&gt;
         driver: &#039;pdo_mysql&#039;  # Datenbanktyp (DB-Treiber)&lt;br /&gt;
         dbname: &#039;DBNAME&#039;     # an DB-Namen anpassen&lt;br /&gt;
         user: &#039;DBUSER&#039;       # an DB-User anpassen&lt;br /&gt;
         password: &#039;PASSWORT&#039; # an DB-Passwort anpassen&lt;br /&gt;
         host: &#039;localhost&#039;    # an DB-Host anpassen (bei HS: localhost)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:&#039;&#039;&#039; [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]&lt;br /&gt;
&lt;br /&gt;
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html Dokumentation zur Installation von Flow]&lt;br /&gt;
&lt;br /&gt;
[http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/Configuration.html Dokumentation zur Konfiguration von Flow]&lt;br /&gt;
&lt;br /&gt;
=== TYPO3 Flow Konfiguration: PHP-Umgebung ===&lt;br /&gt;
&lt;br /&gt;
Die Datei Settings.yaml muss erneut angepasst werden:&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos/Configuration&lt;br /&gt;
 cp Settings.yaml.example Settings.yaml&lt;br /&gt;
 nano Settings.yaml&lt;br /&gt;
&lt;br /&gt;
Folgende Einstellungen müssen vorgenommen werden&lt;br /&gt;
&lt;br /&gt;
 TYPO3:&lt;br /&gt;
   Flow:&lt;br /&gt;
     core:&lt;br /&gt;
       # Path and filename of the PHP binary&lt;br /&gt;
       # The constant PHP_BINDIR usually contains the path, but on Windows this doesn&#039;t work reliably&lt;br /&gt;
       phpBinaryPathAndFilename: &#039;/usr/bin/php&#039;&lt;br /&gt;
 ######################################################################################&lt;br /&gt;
       # Set which php.ini file should be used for the CLI sub requests.&lt;br /&gt;
       # If not set (that is value equals NULL) the php.ini file of the executing process (usually the web server&#039;s) is used.&lt;br /&gt;
       # If set to a path and filename, the specified php.ini file is loaded.&lt;br /&gt;
       # If set to boolean FALSE, Flow does not try to specify any php.ini file to the sub process.&lt;br /&gt;
       subRequestPhpIniPathAndFilename: &#039;/home/doms/example.org/php-cli.ini&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:&#039;&#039;&#039; [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]&lt;br /&gt;
&lt;br /&gt;
== TYPO3 Neos Setup ==&lt;br /&gt;
&lt;br /&gt;
Die Setup-Routine von TYPO3 Neos läuft menügeführt über einen Browser ab. Der URL zum Aufruf lautet:&lt;br /&gt;
&lt;br /&gt;
 http://example.org/setup/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Setup-Passwort ===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 Initial Password: The initial password for accessing the setup can be found in the file&lt;br /&gt;
 /home/pacs/xyz00/users/username/doms/example.org/TYPO3-Neos/Data/SetupPassword.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Wiederherstellung des Setup-Passwortes ====&lt;br /&gt;
&lt;br /&gt;
Nach der erstmaligen Eingabe des Setup-Passwortes wird die temporäre Textdatei in der es enthalten ist gelöscht.&lt;br /&gt;
Hat man das Passwort vergessen, muss man für ein weiteres Aufrufen des Setups die Datei SetupKey löschen:&lt;br /&gt;
&lt;br /&gt;
  rm /home/doms/example.org/TYPO3-Neos/Data/Persistent/FileBasedSimpleKeyService/SetupKey&lt;br /&gt;
&lt;br /&gt;
und anschließend die Setup-Routine wie oben beschrieben erneut aufrufen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Administrator anlegen ===&lt;br /&gt;
&lt;br /&gt;
Das Anlegen des Administrators wird per GUI-Backend erledigt.&lt;br /&gt;
&lt;br /&gt;
Weitere User lassen sich nach der Installation in der Userverwaltung des GUI-Backends ergänzen.&lt;br /&gt;
&lt;br /&gt;
Alternativ lassen sich User auch in der Konsole anlegen per:&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos/&lt;br /&gt;
 ./flow typo3.neos:user:create &amp;lt;Username&amp;gt; &amp;lt;Passwort&amp;gt; &amp;lt;Vorname&amp;gt; &amp;lt;Nachname&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Achtung: Das so eingegebene Passwort könnte im Freitext lesbar in der Prozessliste und logdateien auftauchen! &#039;&#039;&#039;&#039;&#039;TODO: Prüfen!&#039;&#039;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Die Adminrolle lässt sich einem User ebenfalls in der Konsole vergeben:&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos/&lt;br /&gt;
 ./flow typo3.neos:user:addrole &amp;lt;Username&amp;gt; Administrator&lt;br /&gt;
&lt;br /&gt;
=== Abschluss des Setups ===&lt;br /&gt;
&lt;br /&gt;
Zum Schluss kann man entweder eine Demo-Site importieren oder unter Angabe eines &amp;quot;Package Name&amp;quot; und eines &amp;quot;Site Name&amp;quot; eine leere Webseite anlegen lassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Site mit Domain verknüpfen ====&lt;br /&gt;
&lt;br /&gt;
Im TYPO3 Neos Backend sollte zunächst die neu angelegte Site mit einer Domain verknüpft werden. Dies wird im &amp;quot;Sites Management&amp;quot; erledigt:&lt;br /&gt;
&lt;br /&gt;
Klickpfad dorthin: &#039;&#039;&#039;3 waagerechte weiße Streifen&#039;&#039;&#039; (oben links) -&amp;gt; &amp;quot;&#039;&#039;&#039;Sites Management&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
In der Zeile mit der Site das &#039;&#039;&#039;Bleistift-Symbol&#039;&#039;&#039; anklicken -&amp;gt; rechte Seite &amp;quot;&#039;&#039;&#039;Add domain&#039;&#039;&#039;&amp;quot; (hellblauer Button) anklicken -&amp;gt; &#039;&#039;&#039;Domainname eintragen&#039;&#039;&#039; -&amp;gt; Radiobutton &amp;quot;&#039;&#039;&#039;Active&#039;&#039;&#039;&amp;quot; anklicken -&amp;gt; &amp;quot;&#039;&#039;&#039;Create&#039;&#039;&#039;&amp;quot; (hellblauer Button) anklicken&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039; (hellblauer Button) anklicken&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Weitere Einstellungen ===&lt;br /&gt;
&lt;br /&gt;
==== URI Suffix ändern ====&lt;br /&gt;
&lt;br /&gt;
Das URI-Suffix ist standardmäßig auf &amp;quot;.html&amp;quot; eingestellt. Man kann dieses Suffix zentral ändern und auch ganz entfernen:&lt;br /&gt;
&lt;br /&gt;
 nano /home/doms/example.org/TYPO3-Neos/Configuration/Routes.yaml&lt;br /&gt;
&lt;br /&gt;
Der Eintrag für defaultUriSuffix kann hierzu geändert werden:&lt;br /&gt;
&lt;br /&gt;
 # TYPO3 Neos subroutes&lt;br /&gt;
 -&lt;br /&gt;
   name: &#039;TYPO3 Neos&#039;&lt;br /&gt;
   uriPattern: &#039;&amp;lt;TYPO3NeosSubroutes&amp;gt;&#039;&lt;br /&gt;
   subRoutes:&lt;br /&gt;
     &#039;TYPO3NeosSubroutes&#039;:&lt;br /&gt;
       package: &#039;TYPO3.Neos&#039;&lt;br /&gt;
       variables:&lt;br /&gt;
         &#039;defaultUriSuffix&#039;: &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Die Einzüge von exakt 2 Leerzeichen pro Ebene gehören zum Syntax! Siehe auch:&#039;&#039;&#039; [http://docs.typo3.org/flow/TYPO3FlowDocumentation/Quickstart/Index.html#database-setup Details zum DB-Setup für Flow]&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
Quelle: https://review.typo3.org/#/c/25746&lt;br /&gt;
&lt;br /&gt;
== Zugang zur Installation ==&lt;br /&gt;
&lt;br /&gt;
Nach erfolgreichem Abschluss des Setups sind die zentralen Elemente von TYPO3 Neos über einen Browser erreichbar:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Setup:&#039;&#039;&#039; http://example.org/setup/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frontend:&#039;&#039;&#039; http://example.org/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Backend:&#039;&#039;&#039; http://example.org/neos/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wichtige Pfade und Dateien ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Pfad&#039;&#039;&#039; (mit Präfix /home/doms/example.org/TYPO3-Neos/)&lt;br /&gt;
| &#039;&#039;&#039;Beschreibung des Inhalts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Configuration/Settings.yaml&lt;br /&gt;
| &#039;&#039;&#039;Konfigurationsdatei für TYPO3 Flow&#039;&#039;&#039; (u.a. für Datenbank-Zugangsdaten)&lt;br /&gt;
|-&lt;br /&gt;
| Data/Logs/Security_Development.log&lt;br /&gt;
| Logdatei analog zu &#039;&#039;&#039;Security.log&#039;&#039;&#039; (s.u.), allerdings für den &#039;&#039;&#039;Development-Kontext&#039;&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| Data/Logs/Security.log&lt;br /&gt;
| Logdatei, die &#039;&#039;&#039;Loginversuche im Production-Kontext&#039;&#039;&#039; protokolliert.&lt;br /&gt;
|-&lt;br /&gt;
| Data/Logs/System_Development.log&lt;br /&gt;
| Logdatei analog zu &#039;&#039;&#039;System.log&#039;&#039;&#039; (s.u.), allerdings für den &#039;&#039;&#039;Development-Kontext&#039;&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| Data/Logs/Sytem.log&lt;br /&gt;
| &#039;&#039;&#039;System-Logdatei im Production-Kontext&#039;&#039;&#039; (enthält auch Hinweise auf Fehler oder Exceptions, siehe &amp;quot;CRITICAL&amp;quot;).&lt;br /&gt;
|-&lt;br /&gt;
| Data/Logs/Exceptions/&lt;br /&gt;
| Zu jeder &#039;&#039;&#039;Fehlermeldung (Exception)&#039;&#039;&#039; liegt hier eine *.txt-Datei, die Tag und Uhrzeit im Dateinamen trägt. In den Textdateien findet man die Fehlermeldung und einen Trace.&lt;br /&gt;
|-&lt;br /&gt;
| Data/Persistent/FileBasedSimpleKeyService/SetupKey&lt;br /&gt;
| Datei, die gelöscht werden muss, falls man sein [https://wiki.hostsharing.net/index.php?title=TYPO3_Neos_installieren#Wiederherstellung_des_Setup-Passwortes &#039;&#039;&#039;Setup-Passwort vergessen&#039;&#039;&#039;] hat.&lt;br /&gt;
|-&lt;br /&gt;
| Packages/Application/TYPO3.Neos/Resources/Private/Templates/TypoScriptObjects/&lt;br /&gt;
| Ablageort für &#039;&#039;&#039;Fluid-Templates von TYPO3 Neos&#039;&#039;&#039; im Auslieferungszustand&lt;br /&gt;
|-&lt;br /&gt;
| Packages/Sites/Abc.Xyz/Configuration/&lt;br /&gt;
| &#039;&#039;&#039;Konfigurationsdateien des Paketes&#039;&#039;&#039; (= der Site)&lt;br /&gt;
|-&lt;br /&gt;
| Packages/Sites/Abc.Xyz/Configuration/NodeTypes.yaml&lt;br /&gt;
| Ablageort für &#039;&#039;&#039;eigene TYPO3-Flow Inhaltselemente&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Packages/Sites/Abc.Xyz/Resources/Public&lt;br /&gt;
| Ablageort für alle &#039;&#039;&#039;öffentlich zugänglichen Dateien&#039;&#039;&#039; wie z.B. CSS- oder JS-Dateien&lt;br /&gt;
|-&lt;br /&gt;
| Packages/Sites/Abc.Xyz/Resources/Private&lt;br /&gt;
| Ablageort für alle internen Dateien&lt;br /&gt;
|-&lt;br /&gt;
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/Page/Default.html&lt;br /&gt;
| &#039;&#039;&#039;Fluid-Template&#039;&#039;&#039; mit dem Default-Layout der Webseite; an den durch f:section-ViewHelper markierten Stellen rendert Neos Seiteninhalte in die Webseite hinein&lt;br /&gt;
|-&lt;br /&gt;
| Packages/Sites/Abc.Xyz/Resources/Private/Templates/TypoScriptObjects/&lt;br /&gt;
| Ablageort für alle eigenen TypoScript-Objekte&lt;br /&gt;
|-&lt;br /&gt;
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/&lt;br /&gt;
| Ablageort für alle TypoScript-Dateien&lt;br /&gt;
|-&lt;br /&gt;
| Packages/Sites/Abc.Xyz/Resources/Private/TypoScripts/Library/Root.ts2&lt;br /&gt;
| Root-Template der gesamten Site; auch &amp;quot;main typoscript configuration&amp;quot;; Wird durch den site-kickstarter angelegt&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Upgrade von TYPO3 Neos... ==&lt;br /&gt;
&lt;br /&gt;
Es kann entweder auf eine bestimmte Version aktualisiert werden oder auf die neueste Version (= &amp;quot;Development Master&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In beiden Fällen&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
Vor jedem Update sollte man prüfen, ob composer selbst ein Update benötigt:&lt;br /&gt;
&lt;br /&gt;
 composer self-update&lt;br /&gt;
&lt;br /&gt;
=== ...auf eine bestimmte TYPO3 Neos Version ===&lt;br /&gt;
&lt;br /&gt;
(Statt &amp;lt;version&amp;gt; z.B. 1.0.*)&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos/&lt;br /&gt;
 composer require &amp;quot;typo3/neos:&amp;lt;version&amp;gt;&amp;quot;&lt;br /&gt;
 composer require &amp;quot;typo3/neos-nodetypes:&amp;lt;version&amp;gt;&amp;quot;&lt;br /&gt;
 composer require &amp;quot;typo3/neosdemotypo3org:&amp;lt;version&amp;gt;&amp;quot;&lt;br /&gt;
 composer require &amp;quot;typo3/sitekickstarter:&amp;lt;version&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== ...auf den Development Master (neueste Version) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Einmalig&#039;&#039;&#039; ist zuvor in der composer.json (siehe TYPO3-Neos Rootverzeichnis) statt &amp;quot;1.0.*&amp;quot; der Eintrag &amp;quot;dev-master&amp;quot; zu hinterlegen:&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos/&lt;br /&gt;
 nano composer.json&lt;br /&gt;
&lt;br /&gt;
dort sind die vorhandenen Einträge wiefolgt zu ändern (Die Leerzeichen zu Beginn sind wichtig, da sie zum Syntax gehören!):&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;require&amp;quot;: {&lt;br /&gt;
        &amp;quot;typo3/neos&amp;quot;: &amp;quot;dev-master&amp;quot;,&lt;br /&gt;
        &amp;quot;typo3/neos-nodetypes&amp;quot;: &amp;quot;dev-master&amp;quot;,&lt;br /&gt;
        &amp;quot;typo3/neosdemotypo3org&amp;quot;: &amp;quot;dev-master&amp;quot;,&lt;br /&gt;
        &amp;quot;typo3/neos-kickstarter&amp;quot;: &amp;quot;dev-master&amp;quot;,&lt;br /&gt;
        &amp;quot;doctrine/migrations&amp;quot;: &amp;quot;@dev&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Anschließend kann das Update jedes Mal durch composer angestoßen werden:&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos/&lt;br /&gt;
 composer update&lt;br /&gt;
&lt;br /&gt;
=== Cache eines TYPO3 Flow-Kontextes löschen ===&lt;br /&gt;
&lt;br /&gt;
Jeder der drei Flow-Kontexte (Development, Testing und Production) besitzt einen eigenen Cache, der separat gelöscht werden kann.&lt;br /&gt;
&lt;br /&gt;
Löschen des Standard-Flow-CLI-Kontextes &amp;quot;Development&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos/&lt;br /&gt;
 ./flow flow:cache:flush --force&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;Flow requires the PHP setting &amp;quot;magic_quotes_gpc&amp;quot; set to Off. (Error #1224003190)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Migration der Doctrine-Datenbank ===&lt;br /&gt;
&lt;br /&gt;
 ./flow core:migrate&lt;br /&gt;
 ./flow doctrine:migrationgenerate&lt;br /&gt;
 ./flow doctrine:migrate&lt;br /&gt;
&lt;br /&gt;
=== Setzen eines Flow-Kontextes ===&lt;br /&gt;
&lt;br /&gt;
Das &#039;&#039;&#039;Kommandozeilentool flow&#039;&#039;&#039; arbeitet ohne weitere Angabe &#039;&#039;&#039;standardmäßig im Development-Kontext&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Ein anderer Kontext muss dem Kommandozeilentool flow explizit mitgegeben werden (z.B. &amp;quot;Production&amp;quot;):&lt;br /&gt;
&lt;br /&gt;
 FLOW_CONTEXT=Production ./flow &#039;&#039;...weitere Parameter...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man den Kontext auch über &#039;&#039;&#039;Umgebungsvariablen der Kommandozeile&#039;&#039;&#039; definieren:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bei einem &#039;&#039;&#039;eigenen Apache-Server&#039;&#039;&#039; wird der Production-Kontext normalerweise wiefolgt konfiguriert:&lt;br /&gt;
&lt;br /&gt;
 SetEnv FLOW_CONTEXT Production&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im &#039;&#039;&#039;Shared Hosting&#039;&#039;&#039; ist dies nicht möglich. Stattdessen wird der Kontext über den &#039;&#039;&#039;putenv-Befehl&#039;&#039;&#039; in einem PHP-Skript gesetzt:&lt;br /&gt;
&lt;br /&gt;
 putenv (&amp;quot;FLOW_CONTEXT=Production&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Workaround falls Einstellungen einer eigenen php-cli.ini nicht von Flow berücksichtigt werden ===&lt;br /&gt;
&lt;br /&gt;
Abändern der Shebang-Zeile des Skriptes &amp;quot;flow&amp;quot; innerhalb des Verzeichnisses &amp;quot;TYPO3-Neos&amp;quot; in:&lt;br /&gt;
 #!/usr/bin/php &#039;&#039;&#039;-c/home/doms/example.org/php-cli.ini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Detaillierte Erklärung:&#039;&#039;&#039; 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 &amp;quot;am Stück&amp;quot; und ohne weitere Leerzeichen Übergebene versteht. PHP kann es offensichtlich nicht. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;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.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Prüfen, welche Paketversionen installiert sind ===&lt;br /&gt;
&lt;br /&gt;
Mit composer kann man auf der Kommandozeile prüfen, welchen Versionsstand die installierten Pakete haben:&lt;br /&gt;
&lt;br /&gt;
 composer show -i&lt;br /&gt;
&lt;br /&gt;
Mehr Details unter http://getcomposer.org/doc/03-cli.md#show&lt;br /&gt;
&lt;br /&gt;
== Fehlerbehebung während und nach der Installation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Fehlermeldung im Webserverlog - File does not exist: icons ===&lt;br /&gt;
&lt;br /&gt;
Nach dem Aufruf des URL&lt;br /&gt;
&lt;br /&gt;
 http://www.example.org/&lt;br /&gt;
&lt;br /&gt;
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung&lt;br /&gt;
&lt;br /&gt;
 File does not exist: /home/doms/example.org/htdocs/icons, referer [...]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Lösung ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TODO: Lösung beschreiben&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Fehlermeldung im Webserverlog - File does not exist: favicon.ico ===&lt;br /&gt;
&lt;br /&gt;
Nach dem Aufruf des URL&lt;br /&gt;
&lt;br /&gt;
 http://www.example.org/&lt;br /&gt;
&lt;br /&gt;
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung&lt;br /&gt;
&lt;br /&gt;
 File does not exist: /home/doms/example.org/htdocs/favicon.ico, referer [...]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Lösung ====&lt;br /&gt;
&lt;br /&gt;
Es muss eine Datei namens favicon.ico in das Webroot der Neos-Installation gelegt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Fehlermeldung im Webserverlog - Options not allowed here ===&lt;br /&gt;
&lt;br /&gt;
Nach dem Aufruf des URL&lt;br /&gt;
&lt;br /&gt;
 http://www.example.org/&lt;br /&gt;
&lt;br /&gt;
erscheint im Weblog des Apachen (siehe Datei des Paketadmins /home/pacs/xyz00/var/web.err) diese Fehlermeldung&lt;br /&gt;
&lt;br /&gt;
 /home/doms/example.org/htdocs/TYPO3-Neos/Web/.htaccess: Options not allowed here, referer [...]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Lösung ====&lt;br /&gt;
&lt;br /&gt;
Siehe Konfigurationsschritt &#039;&#039;&#039;&#039;&#039;TODO: Referenz verankern&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Fehlermeldung bei Aufruf von example.org (ohne vorangestelltes www) ===&lt;br /&gt;
&lt;br /&gt;
Ruft man den URL http://example.org (= ohne vorangestelltes &amp;quot;www&amp;quot;) auf, so erhält man folgende Fehlermeldung im Browser&lt;br /&gt;
 Exception while rendering&lt;br /&gt;
 page&amp;lt;TYPO3.Neos:Page&amp;gt;/&lt;br /&gt;
 body&amp;lt;TYPO3.TypoScript:Template&amp;gt;/&lt;br /&gt;
 parts/&lt;br /&gt;
 mainMenu:&lt;br /&gt;
 Invalid paths: path of starting point must first part of end point path.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Lösung ====&lt;br /&gt;
&lt;br /&gt;
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:&lt;br /&gt;
&lt;br /&gt;
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Fehlermeldung bei Aufruf von www.example.org ===&lt;br /&gt;
&lt;br /&gt;
Ruft man den URL http://www.example.org auf, so erhält man folgende Fehlermeldung im Browser&lt;br /&gt;
 Exception while rendering&lt;br /&gt;
 landingPage:&lt;br /&gt;
 No &amp;quot;landingPage&amp;quot; TypoScript object found. Please make sure to define one in your TypoScript configuration. (20131223204230d197e0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Lösung ====&lt;br /&gt;
&lt;br /&gt;
Dieser Fehler wird mit Lösungsvorschlägen auch hier beschrieben:&lt;br /&gt;
&lt;br /&gt;
[http://forum.typo3.org/index.php/t/200456/ http://forum.typo3.org/index.php/t/200456/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation mit eigenem Serverdienst/root-Server ==&lt;br /&gt;
&lt;br /&gt;
Für die Installation mit der Option &amp;quot;Eigener Serverdienst&amp;quot; sind &#039;&#039;&#039;zusätzlich&#039;&#039;&#039; weitere Schritte notwendig bzw. empfehlenswert.&lt;br /&gt;
&lt;br /&gt;
Die in den folgenden Abschnitten beschriebenen Konfigurationen sind im Falle eines Shared Hosting Paketes &#039;&#039;&#039;nicht&#039;&#039;&#039; erforderlich!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional: Virtuellen Host einrichten ===&lt;br /&gt;
&lt;br /&gt;
Das Neos Kompendium empfiehlt die Einrichtung eines eigenen virtuellen Hosts in seiner Apache-Konfiguration.&lt;br /&gt;
Dies ist bei Hostsharing nur dann manuell erforderlich wenn ein Rootserver gebucht wurde oder auf einem lokalen Apache (kostenpflichtige Option &amp;quot;Betrieb eines eigenen Serverdienstes&amp;quot;) entwickelt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Notwendigkeit der Paket-Option &amp;quot;Betrieb eines eigenen Serverdienstes&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Mit der Paket-Option &amp;quot;Betrieb eines eigenen Serverdienstes&amp;quot; lässt sich ein eigener Apache (oder nginx, oder ...) betreiben und nach eigenen Vorstellungen frei konfigurieren. Dies ist allerdings nur erforderlich wenn&lt;br /&gt;
&lt;br /&gt;
# TYPO3 Neos mit der Hostsharing Standard-Konfiguration nicht funktioniert oder&lt;br /&gt;
# die Performance von PHP über FastCGI für eine Seite mit hohem Traffic nicht ausreicht.&lt;br /&gt;
&lt;br /&gt;
Die Installation eines eigenen Apache ist im HS-Wiki unter [[Apache_installieren|Apache installieren]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ohne Paket-Option &amp;quot;Betrieb eines eigenen Serverdienstes&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Zentrales Template des Virtual Hosts für Shared Hosting Pakete ====&lt;br /&gt;
&lt;br /&gt;
Als Template-&amp;quot;Sprache&amp;quot; kommt [http://velocity.apache.org/ velocity] zum Einsatz.&lt;br /&gt;
Template des Virtual Hosts so wie es beim Apachen über PHP via FastCGI bei HS betrieben wird:&lt;br /&gt;
&lt;br /&gt;
 TODO: Hier Template des Virtual Hosts einfügen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Dateirechte für TYPO3 Flow setzen ===&lt;br /&gt;
&lt;br /&gt;
Zum Setzen der benötigten Dateirechte gibt man diese Befehlsfolge in die Konsole ein:&lt;br /&gt;
&lt;br /&gt;
 cd /home/doms/example.org/TYPO3-Neos&lt;br /&gt;
 sudo ./flow flow:core:setfilepermissions &amp;lt;shelluser&amp;gt; &amp;lt;wwwuser&amp;gt; &amp;lt;wwwgroup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;wobei:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;shelluser&amp;gt; ::= User mit dem man in der Konsole eingeloggt ist (Befehl &amp;quot;whoami&amp;quot; eingeben; bei Hostsharing ist dies der Paketadmin der Form &#039;&#039;&#039;xyz00&#039;&#039;&#039; oder ein User der Form &#039;&#039;&#039;xyz00-username&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;wwwuser&amp;gt; ::= 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 &#039;&#039;&#039;xyz00-username&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;TODO: Prüfen!&#039;&#039;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;wwwgroup&amp;gt; ::= 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 &#039;&#039;&#039;xyz00&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;TODO: Prüfen!&#039;&#039;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartII/Installation.html#file-permissions Weitergehende Informationen zum Setzen der Dateirechte für TYPO3 Neos]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TODO: Hier entsprechende Ergänzungen für &amp;quot;non-Shared Hosting&amp;quot; machen...&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weiterführende Links ==&lt;br /&gt;
&lt;br /&gt;
http://neos.typo3.org/&lt;br /&gt;
&lt;br /&gt;
http://docs.typo3.org/neos/TYPO3NeosDocumentation/Appendixes/ChangeLogs/101.html&lt;br /&gt;
&lt;br /&gt;
https://twitter.com/TYPO3Neos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Hsh-michaelhierweck</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Contao_Installieren&amp;diff=4443</id>
		<title>Contao Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Contao_Installieren&amp;diff=4443"/>
		<updated>2017-08-02T12:02:02Z</updated>

		<summary type="html">&lt;p&gt;Hsh-michaelhierweck: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
0. HSAdmin&lt;br /&gt;
Domain-Admin, Domain(s), MySQL-Benutzer und -Datenbank anlegen&lt;br /&gt;
&lt;br /&gt;
1. Shell:&lt;br /&gt;
$ mkdir contao&lt;br /&gt;
$ curl -sS https://getcomposer.org/installer | php&lt;br /&gt;
$ php composer.phar composer create-project --no-dev contao/managed-edition contao&lt;br /&gt;
&lt;br /&gt;
2. Symlinken&lt;br /&gt;
DocumentRoot(s) nach contao/web symlinken&lt;br /&gt;
&lt;br /&gt;
3. Installtool aufrufen&lt;br /&gt;
Installtool via /contao/install aufrufen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hsh-michaelhierweck</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Contao_Installieren&amp;diff=4442</id>
		<title>Contao Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Contao_Installieren&amp;diff=4442"/>
		<updated>2017-08-02T11:42:08Z</updated>

		<summary type="html">&lt;p&gt;Hsh-michaelhierweck: Skizze&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
0. HSAdmin&lt;br /&gt;
Domain-Admin, Domain(s), MySQL-Benutzer und -Datenbank anlegen&lt;br /&gt;
&lt;br /&gt;
1. Shell:&lt;br /&gt;
$ mkdir contao&lt;br /&gt;
$ curl -sS https://getcomposer.org/installer | php&lt;br /&gt;
$ php composer.phar composer create-project --no-dev contao/managed-edition contao&lt;br /&gt;
&lt;br /&gt;
2. Symlinken&lt;br /&gt;
DocumentRoot(s) nach contao/web symlinken&lt;br /&gt;
&lt;br /&gt;
3. Installtool aufrufen&lt;br /&gt;
Installtool via /contao/install.php aufrufen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hsh-michaelhierweck</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Diskussion:Etherpad_Installieren&amp;diff=4441</id>
		<title>Diskussion:Etherpad Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Diskussion:Etherpad_Installieren&amp;diff=4441"/>
		<updated>2017-07-28T06:09:23Z</updated>

		<summary type="html">&lt;p&gt;Hsh-michaelhierweck: Die Seite wurde neu angelegt: „Bei der Installationsanleitung geht es offenbar um Etherpad Lite, während das ursprüngliche Etherpad auf Scala basiert. https://en.wikipedia.org/wiki/Etherpa…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bei der Installationsanleitung geht es offenbar um Etherpad Lite, während das ursprüngliche Etherpad auf Scala basiert.&lt;br /&gt;
https://en.wikipedia.org/wiki/Etherpad#Etherpad_Lite&lt;br /&gt;
&lt;br /&gt;
Etherpad Lite unterstützt als Datenbank auch PostgreSQL.&lt;br /&gt;
https://github.com/ether/etherpad-lite/wiki/How-to-use-Etherpad-Lite-with-PostgreSQL&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Hsh-michaelhierweck|Hsh-michaelhierweck]] ([[Benutzer Diskussion:Hsh-michaelhierweck|Diskussion]]) 08:09, 28. Jul. 2017 (CEST)&lt;/div&gt;</summary>
		<author><name>Hsh-michaelhierweck</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Drupal_installieren&amp;diff=4366</id>
		<title>Drupal installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Drupal_installieren&amp;diff=4366"/>
		<updated>2017-06-23T17:06:23Z</updated>

		<summary type="html">&lt;p&gt;Hsh-michaelhierweck: Herunterladen und Auspacken vereinfacht&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Drupal bei HS =&lt;br /&gt;
&lt;br /&gt;
== Vorbereitungen ==&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;hsadmin&#039;&#039;, zum Beispiel mit &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;hsadmin&#039;&#039;-Shell starten mit:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Dann nacheinander anlegen:&lt;br /&gt;
&lt;br /&gt;
* Linux User als Domain-Administrator&lt;br /&gt;
* Subdomain &#039;&#039;drupal.hs-example.de&#039;&#039;&lt;br /&gt;
* MySQL-User &lt;br /&gt;
* MySQL Datenbank&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-drupal&#039;,password:&#039;geheim&#039;,comment:&#039;Drupal CMS&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;drupal.hs-example.de&#039;,user:&#039;xyz00-drupal&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; mysqluser.add({set:{name:&#039;xyz00_drupaluser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; mysqldb.add({set:{name:&#039;xyz00_drupaldb&#039;,owner:&#039;xyz00_drupaluser&#039;}})&lt;br /&gt;
&lt;br /&gt;
== Drupal installieren ==&lt;br /&gt;
&lt;br /&gt;
Anmelden als Linux-User &#039;&#039;xyz00-drupal&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  ssh -l xyz00-drupal xyz00.hostsharing.net&lt;br /&gt;
&lt;br /&gt;
Und dann Drupal herunterladen und in den Webspace entpacken:&lt;br /&gt;
&lt;br /&gt;
  cd doms/drupal.hs-example.de/htdocs&lt;br /&gt;
  wget -O - https://ftp.drupal.org/files/projects/drupal-8.3.4.tar.gz |tar -xz&lt;br /&gt;
&lt;br /&gt;
== Drupal für HS anpassen ==&lt;br /&gt;
&lt;br /&gt;
  cd doms/drupal.hs-example.de/htdocs&lt;br /&gt;
  vi .htaccess&lt;br /&gt;
&lt;br /&gt;
  # If your site is running in a VirtualDocumentRoot at http://example.com/,&lt;br /&gt;
  # uncomment the following line:&lt;br /&gt;
  # RewriteBase /&lt;br /&gt;
&lt;br /&gt;
wird zu&lt;br /&gt;
&lt;br /&gt;
  # If your site is running in a VirtualDocumentRoot at http://example.com/,&lt;br /&gt;
  # uncomment the following line:&lt;br /&gt;
  RewriteBase /&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
== Drupal konfigurieren ==&lt;br /&gt;
&lt;br /&gt;
Im Browser auf die Seite &lt;br /&gt;
http://drupal.hs-example.de gehen und den Anweisungen folgen.&lt;br /&gt;
&lt;br /&gt;
== Drupal template default für HS konfigurieren ==&lt;br /&gt;
&lt;br /&gt;
  cd sites/default/files/php/twig&lt;br /&gt;
  chmod 644 .htaccess&lt;br /&gt;
  vi .htaccess&lt;br /&gt;
&lt;br /&gt;
in der Zeile 11 den Eintrag &amp;quot;-ExecCGI&amp;quot; löschen&lt;br /&gt;
&lt;br /&gt;
  Options -Indexes -ExecCGI -Includes -MultiViews&lt;br /&gt;
&lt;br /&gt;
und dann noch eine .htaccess &lt;br /&gt;
&lt;br /&gt;
  cd ../..&lt;br /&gt;
&lt;br /&gt;
  chmod 644 .htaccess&lt;br /&gt;
  vi .htaccess&lt;br /&gt;
&lt;br /&gt;
in der Zeile 2 den Eintrag &amp;quot;-ExecCGI&amp;quot; löschen&lt;br /&gt;
&lt;br /&gt;
  Options -Indexes -ExecCGI -Includes -MultiViews&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Seite im Browser neu Laden !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;br /&gt;
[[Kategorie:Blog]]&lt;br /&gt;
[[Kategorie:CMS]]&lt;/div&gt;</summary>
		<author><name>Hsh-michaelhierweck</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=TLS_/_SSL&amp;diff=4173</id>
		<title>TLS / SSL</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=TLS_/_SSL&amp;diff=4173"/>
		<updated>2016-12-09T19:27:27Z</updated>

		<summary type="html">&lt;p&gt;Hsh-michaelhierweck: StartSSL entfernt wg. unklarer Zukunft.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== SSL wird zu TLS ==&lt;br /&gt;
&lt;br /&gt;
Transport Layer Security (TLS) ist eine Weiterentwicklung des Secure Socket Layers (SSL) durch die Internet Engineering Task Force (IETF), die das SSL-Protokoll 1999 in Transport Layer Security umbenannte. Der aktuelle Standard ist in RFC 5246 beschrieben und ist von 2008. &lt;br /&gt;
&lt;br /&gt;
== Standardkonfiguration ==&lt;br /&gt;
&lt;br /&gt;
Neu aufgeschaltete Domains haben standardmäßig für die Verzeichnisse htdocs, subs, cgi und fastcgi getrennte *-ssl Ordner. Damit sind SSL-Inhalte sauber und sicher von Nicht-SSL Inhalten getrennt. &lt;br /&gt;
&lt;br /&gt;
Bei Domains, die schon vor der Einführung des SSL Features bestanden, sind die Verzeichnisse subs-ssl, cgi-ssl und fastcgi-ssl  standardmäßig als symbolische Links auf die entsprechenden nicht-ssl Verzeichnisse angelegt worden. Diese Symlinks stellen die Kompatibilität mit der früheren SSL Option her. Damals gab es nur einen Ordner für http und https.&lt;br /&gt;
&lt;br /&gt;
Wer SSL und Nicht-SSL nun sauber trennen möchte oder ganz andere Inhalte anbieten möchte kann die Symlinks löschen und durch Verzeichnisse ersetzen. Bei der Paketdomain ist dabei zu beachten, dass die Rechte neu angelegter Verzeichnisse noch anzupassen sind, wenn die SSL Verzeichnisse nicht für alle User zugänglich sein sollen. &lt;br /&gt;
&lt;br /&gt;
Wer hingegen SSL und Nicht-SSL Seiten innerhalb eines Verzeichnisbaums verwalten möchte, kann umgekehrt die SSL Verzeichnisse löschen und (ggf. auch nur selektiv für einige Unterverzeichnisse) Symlinks auf die Nicht-SSL Verzeichnisse anlegen.&lt;br /&gt;
&lt;br /&gt;
Die Symlinks erlauben es die Seiten sowohl mit als auch ohne SSL abzurufen. Konfigurations- bzw. Administrationsseiten z.B. lassen sich dadurch sehr einfach manuell auch per https:// erreichen.&lt;br /&gt;
&lt;br /&gt;
Möchte man den Zugriff auf bestimmte Seiten nur mit SSL erlauben und automatisch auf SSL umschalten, muss dies noch durch entsprechende [[.htaccess]] Dateien für die betroffenen Verzeichnisse konfiguriert werden.&lt;br /&gt;
&lt;br /&gt;
== Eigene SSL Zertifikate ==&lt;br /&gt;
&lt;br /&gt;
=== Grundsätzliche Schritte um ein TLS / SSL Zertifikat zu bekommen ===&lt;br /&gt;
&lt;br /&gt;
# es muss je aufgeschaltet (sub)Domain ein Zertifikat bereit gestellt werden&lt;br /&gt;
# es muss je eine example.com.key Datei erzeugt werden&lt;br /&gt;
# mit der example.com.key Datei wird die example.com.csr erstellt&lt;br /&gt;
# Die example.com.csr wird an die Zertifizierungstelle gesendet&lt;br /&gt;
# zurück bekommt man &lt;br /&gt;
## eine example.com.crt Datei&lt;br /&gt;
## ggf eine example.com.chain oder sub.class1.server.ca.pem Datei&lt;br /&gt;
# die example.com.crt, example.com.key und ggf die example.com.chain oder sub.class1.server.ca.pem Datei werden ins Paket ~/etc Verzeichnis kopiert&lt;br /&gt;
# zur Aktivierung info an service@hostsharing.net senden&lt;br /&gt;
&lt;br /&gt;
=== per script Zertifikat erstellen ===&lt;br /&gt;
&lt;br /&gt;
Möchte man, dass eine eigene Domain ohne Fehlermeldungen per SSL erreichbar ist, benötigt man ein eigenes Zertifikat von einer Zertifizierungsstelle, die von den Browsern standardmäßig anerkannt wird. &lt;br /&gt;
&lt;br /&gt;
Zunächst muss man als Paket-Admin einen Private Key erzeugen und dann einen CSR (Certificate Signing Request - mit dem Private Key erzeugte Anforderung für ein Zertifikat). Wie das genau funktioniert, ist meistens von Seiten der Zertifizierungsstelle beschrieben.&lt;br /&gt;
&lt;br /&gt;
Man kann aber auch ein kleines Skript nutzen, das Michael Hierweck aufgrund von einer Anleitung von Michaels Hönnig zur Erzeugung von Zertifikaten geschrieben hat:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
  &lt;br /&gt;
#Nur Zugriffe für den Owner erlauben&lt;br /&gt;
umask u=rwx,g=,o=&lt;br /&gt;
  &lt;br /&gt;
#Zertifikat erzeugen&lt;br /&gt;
openssl req -new -x509 -keyout ~/etc/cakey.pem -out ~/etc/careq.pem $*&lt;br /&gt;
openssl rsa &amp;lt;~/etc/cakey.pem &amp;gt;~/etc/https.new&lt;br /&gt;
cat ~/etc/careq.pem &amp;gt;&amp;gt;~/etc/https.new&lt;br /&gt;
  &lt;br /&gt;
#Temporäre Dateien löschen&lt;br /&gt;
rm ~/etc/cakey.pem&lt;br /&gt;
rm ~/etc/careq.pem&lt;br /&gt;
  &lt;br /&gt;
#Altes Zertifikat sichern&lt;br /&gt;
cp ~/etc/https.pem ~/etc/https.old&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es können weitere Parameter angeben werden, z.B. -days 370.&lt;br /&gt;
&lt;br /&gt;
Die Domain oder Wildcard (*.domain.TLD) für die das Zertifikat gilt, wird auf die Frage als Common Name angegeben.&lt;br /&gt;
&lt;br /&gt;
Anschließend wird der Zertifizierungsstelle der csr übermittelt. Die Datei, die man dann von der Zertifizierungsstelle erhält, muss in das Verzeichnis /etc des Paketadmins kopiert werden. Das neue Zertifikat muss dann noch manuell aktiviert werden, d.h. in https.pem umbenannt werden. Damit kann man dies zu einem beliebigen späteren Zeitpunkt tun und das Zertifikat vorher prüfen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Per Auftrag an service@ muss um Aktivierung des neuen Zertifikats gebeten werden. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Automatisierte SSL-Zertifikate von Let’s Encrypt ===&lt;br /&gt;
&lt;br /&gt;
Auf Github findet man die Buildout-Konfiguration für den Certbot, einen Installer / Updater für Let&#039;s Encrypt Zertifikate &amp;quot;userland-certbot&amp;quot;. Mithilfe dieses Projekts von Michael Hierweck und Veit Schiele lassen sich &lt;br /&gt;
tatsächlich automatisiert Let&#039;s encrypt Zertifikate automatisiert installieren und erneuern. Hier wird beschrieben, wie man diese Konfiguration in einer Hostsharing-Umgebung einsetzen kann.&lt;br /&gt;
Dazu wird im Home-Verzeichnis des Domain-Admin eine virtuelle Python-Umgebung mit virtualenv erzeugt. In der Umgebung wird Buildout installiert und mit buildout lässt sich der Certbot installieren.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
xyz00-doms@myhive:~$ virtualenv certbot&lt;br /&gt;
Running virtualenv with interpreter /usr/bin/python2&lt;br /&gt;
New python executable in certbot/bin/python2&lt;br /&gt;
Also creating executable in certbot/bin/python&lt;br /&gt;
Installing setuptools, pip...done.&lt;br /&gt;
&lt;br /&gt;
xyz00-doms@myhive:~$ cd certbot/&lt;br /&gt;
xyz00-doms@myhive:~/certbot$ . bin/activate&lt;br /&gt;
(certbot)xyz00-doms@myhive:~/certbot$ &lt;br /&gt;
(certbot)xyz00-doms@myhive:~/certbot$ pip install zc.buildout&lt;br /&gt;
Downloading/unpacking zc.buildout&lt;br /&gt;
  Downloading zc.buildout-2.5.2-py2.py3-none-any.whl (262kB): 262kB downloaded&lt;br /&gt;
Downloading/unpacking setuptools&amp;gt;=8.0 (from zc.buildout)&lt;br /&gt;
  Downloading setuptools-25.2.0-py2.py3-none-any.whl (442kB): 442kB downloaded&lt;br /&gt;
Installing collected packages: zc.buildout, setuptools&lt;br /&gt;
  Found existing installation: setuptools 5.5.1&lt;br /&gt;
    Uninstalling setuptools:&lt;br /&gt;
      Successfully uninstalled setuptools&lt;br /&gt;
Successfully installed zc.buildout setuptools&lt;br /&gt;
Cleaning up...&lt;br /&gt;
&lt;br /&gt;
(certbot)xyz00-doms@myhive:~/certbot$ git clone https://github.com/veit/userland-certbot.git&lt;br /&gt;
Cloning into &#039;userland-certbot&#039;...&lt;br /&gt;
remote: Counting objects: 55, done.&lt;br /&gt;
remote: Total 55 (delta 0), reused 0 (delta 0), pack-reused 55&lt;br /&gt;
Unpacking objects: 100% (55/55), done.&lt;br /&gt;
Checking connectivity... done.&lt;br /&gt;
&lt;br /&gt;
(certbot)xyz00-doms@myhive:~/certbot$ cd userland-certbot/&lt;br /&gt;
(certbot)xyz00-doms@myhive:~/certbot/userland-certbot$ buildout&lt;br /&gt;
Creating directory &#039;/home/pacs/xyz00/users/doms/certbot/userland-certbot/bin&#039;.&lt;br /&gt;
Creating directory &#039;/home/pacs/xyz00/users/doms/certbot/userland-certbot/parts&#039;.&lt;br /&gt;
Creating directory &#039;/home/pacs/xyz00/users/doms/certbot/userland-certbot/develop-eggs&#039;.&lt;br /&gt;
Installing certbot.&lt;br /&gt;
Generated script &#039;/home/pacs/xyz00/users/doms/certbot/userland-certbot/bin/certbot&#039;.&lt;br /&gt;
Installing certbot-directories.&lt;br /&gt;
certbot-directories: created path: /home/pacs/xyz00/users/doms/certbot/userland-certbot/parts/certbot&lt;br /&gt;
certbot-directories: created path: /home/pacs/xyz00/users/doms/certbot/userland-certbot/parts/certbot/bin&lt;br /&gt;
certbot-directories: created path: /home/pacs/xyz00/users/doms/certbot/userland-certbot/parts/certbot/etc&lt;br /&gt;
certbot-directories: created path: /home/pacs/xyz00/users/doms/certbot/userland-certbot/parts/certbot/lib&lt;br /&gt;
certbot-directories: created path: /home/pacs/xyz00/users/doms/certbot/userland-certbot/parts/certbot/log&lt;br /&gt;
certbot-directories: created path: /home/pacs/xyz00/users/doms/certbot/userland-certbot/parts/certbot/web&lt;br /&gt;
Installing certbot-runner.&lt;br /&gt;
Installing certbot-crontab.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als nächstes muss man sich bei Let&#039;s Encrypt registrieren. Eine Kontakt-Adresse wird erfragt und man muss den Nutzungsbedingungen zustimmen. Dabei wird ein Let&#039;s Encrypt Konto erzeugt, dass die angegebene Email-Adresse mit der Certbot-Installation in Relation setzt.&lt;br /&gt;
Die Kontoinformationen werden im Verzeichnis /home/pacs/xyz00/users/doms/certbot/userland-certbot/parts/certbot/etc gespeichert und es wird empfohlen diese Daten zu sichern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(certbot)xyz00-doms@myhive:~/certbot/userland-certbot$ bin/certbot-register&lt;br /&gt;
Enter email address (used for urgent notices and lost key recovery) (Enter &#039;c&#039;&lt;br /&gt;
to cancel):webmaster@example.org&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
Please read the Terms of Service at&lt;br /&gt;
https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. You must agree&lt;br /&gt;
in order to register with the ACME server at&lt;br /&gt;
https://acme-v01.api.letsencrypt.org/directory&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
(A)gree/(C)ancel: A&lt;br /&gt;
&lt;br /&gt;
IMPORTANT NOTES:&lt;br /&gt;
 - If you lose your account credentials, you can recover through&lt;br /&gt;
   e-mails sent to webmaster@example.org.&lt;br /&gt;
 - Your account credentials have been saved in your Certbot&lt;br /&gt;
   configuration directory at&lt;br /&gt;
   /home/pacs/pxyz00/users/doms/certbot/userland-certbot/parts/certbot/etc.&lt;br /&gt;
   You should make a secure backup of this folder now. This&lt;br /&gt;
   configuration directory will also contain certificates and private&lt;br /&gt;
   keys obtained by Certbot so making regular backups of this folder&lt;br /&gt;
   is ideal.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Certbot legt während der Zertifikatserstellung eine geheime Datei im Verzeichnis /home/pacs/xyz00/users/pronto/certbot/userland-certbot/parts/certbot/web/.well-known ab, die Let&#039;s Encrypt über den Webserver erreichen muss, um sicherzustellen,&lt;br /&gt;
dass der Domain-Admin die erforderlichen Berechtigungen hat. Im hier dokumentierten Fall wird das Standard-Setup bei Hostsharing, also der vorinstallierte Apache als Webserver genutzt. &lt;br /&gt;
Dazu wird ein Symlink zum obengenannten Verzeichnis im Apache Webverzeichnis angelegt. (Evtl. muss das Verzeichnis .well-known vorher angelegt werden.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(certbot)xyz00-doms@myhive:~/certbot/userland-certbot$ cd ~/doms/example.org/subs/www/&lt;br /&gt;
(certbot)xyz00-doms@myhive:~/doms/example.org/subs/www$ mkdir ~/certbot/userland-certbot/parts/certbot/web/.well-known&lt;br /&gt;
(certbot)xyz00-doms@myhive:~/doms/example.org/subs/www$ ln -s ~/certbot/userland-certbot/parts/certbot/web/.well-known .well-known&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Zertifikat wird folgendermaßen erzeugt. (Achtung: Hier sollten alle Domains des Domain-Admins angegeben werden, die evtl. abgesichert werden sollen. Und natürlich muss auch eine Verlinkung zu .wellknown im Apache Webverzeichnis einer jeden Domain angelegt werden. Also z. B. example.org und www.example.org. Sollte im Webverzeichnis eine RewriteRule o. ä. aktiv sein, so muss diese natürlich vorher deaktiviert werden.):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(certbot)xyz00-doms@myhive:~/certbot/userland-certbot$ bin/certbot-runner certonly -d example.org -d www.example.org&lt;br /&gt;
2016-08-16 14:12:19,526:WARNING:certbot.client:Non-standard path(s), might not work with crontab installed by your operating system package manager&lt;br /&gt;
&lt;br /&gt;
IMPORTANT NOTES:&lt;br /&gt;
 - Congratulations! Your certificate and chain have been saved at&lt;br /&gt;
   /home/pacs/xyz00/users/doms/certbot/userland-certbot/parts/certbot/etc/live/example.org/fullchain.pem.&lt;br /&gt;
   Your cert will expire on 2016-11-14. To obtain a new or tweaked&lt;br /&gt;
   version of this certificate in the future, simply run certbot&lt;br /&gt;
   again. To non-interactively renew *all* of your certificates, run&lt;br /&gt;
   &amp;quot;certbot renew&amp;quot;&lt;br /&gt;
 - If you like Certbot, please consider supporting our work by:&lt;br /&gt;
&lt;br /&gt;
   Donating to ISRG / Let&#039;s Encrypt:   https://letsencrypt.org/donate&lt;br /&gt;
   Donating to EFF:                    https://eff.org/donate-le&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun ist es so, dass Zertifikate bei Hostsharing durch eine E-Mail an service@hostsharing.net aktiviert werden. Dieser Vorgang muss zur Zeit noch &amp;quot;per Hand&amp;quot; initiert werden.&lt;br /&gt;
Außerdem wird von Hostsharing erwartet, einer gewisse Namenskonvention bei der Benennung der Zertifikate und Schlüssel zu folgen. Deshalb Kopiert man die Symlinks ins Verzeichnis &amp;quot;etc&amp;quot; der Domain und bennent die Endungen entsprechend um.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/doms/example.org/etc&lt;br /&gt;
cp ~/certbot/userland-certbot/parts/certbot/etc/live/example.org/cert.pem example.org.crt&lt;br /&gt;
cp ~/certbot/userland-certbot/parts/certbot/etc/live/example.org/chain.pem example.org.chain&lt;br /&gt;
cp ~/certbot/userland-certbot/parts/certbot/etc/live/example.org/privkey.pem example.org.key&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und schickt eine Mail mit der Bitte um Aktivierung des Zertifikats unter Angabe des Verzeichnisses ~/doms/example.org/etc an service@hostsharing.net.&lt;br /&gt;
&lt;br /&gt;
=== Automatisierte Verlängerung der Let’s Encrypt Zertifikate ===&lt;br /&gt;
&lt;br /&gt;
Let’s Encrypt Zertifikate haben eine Gültigkeit von 3 Monaten. Das ist nicht viel. Wenn die Verlängerungsprozedur automatisiert ist, dann muss man sich auf absehbare Zeit gar nicht mehr kümmern. Buildout ist so konfiguriert, dass ein Cronjob zur Zertifikatserneuerung angelegt wird, der täglich ausgeführt wird. Vor Ablauf des Zertifikats wird ein neues Zertifikat erstellt und ersetzt das alte. Außerdem wird eine Mail an die registrierte Adresse gesendet. Theoretisch sollte man diese Mail an service@hostsharing.net weiterleiten können, um das erneuerte Zertifikat ersetzen zu können. Eine Möglichkeit lässt sich mittels einer Cronjob gesteuerten E-Mail realisieren. Dazu legt man eine Textdatei (z.B. mail.txt) mit ähnlichem Inhalt z. B. im Verzeichnis ~/etc an.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hallo Hostsharing Service&lt;br /&gt;
&lt;br /&gt;
Ich bitte um die Neuinstallation des Zertifikats für die Domain example.org.&lt;br /&gt;
&lt;br /&gt;
Es liegt im Verzeichnis&lt;br /&gt;
/home/pacs/xyz00/users/doms/certbot/userland-certbot/parts/certbot/etc/live/example.org/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(automatisierte mail)&lt;br /&gt;
&lt;br /&gt;
Gruß&lt;br /&gt;
Euer Cronjob&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Cronjob wird beispielsweise folgendermaßen im crontab eingetragen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# email to service@hostsharing.net for installing new cert of domain example.org&lt;br /&gt;
17 7 8 1,4,7,10 * cat /home/pacs/xyz00/users/doms/etc/email.txt  | mail -s&amp;quot;Erneuern von Zertifikat&amp;quot; service@hostsharing.net&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Cronjob soll viermal im Jahr laufen, und sinnvollerweise ca. 2 Wochen vor Ablauf des alten Zertifikats ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:WWW]]&lt;br /&gt;
[[Kategorie:Glossar]]&lt;/div&gt;</summary>
		<author><name>Hsh-michaelhierweck</name></author>
	</entry>
</feed>