TYPO3 Flow auf (L)Ubuntu installieren

Im folgenden kurz zusammengefasst wie man auf einem frisch aufgesetzten Lubuntu (alternativ geht auch Ubuntu und jedes andere Derivat) einen „LAMP-Stack“ installiert und auf selbigem TYPO3 Flow zum laufen bekommt.

Basics im Umgang mit Linux setze ich hierbei voraus. Im speziellen den Umgang mit der Konsole und dem Kommandozeileneditor „nano„. Ob die folgenden Operationen direkt auf dem Gerät oder remote per SSH durchgeführt werden ist hierbei egal. Zeilen die mit „#“ beginnen sind lediglich Kommentare und sollen nur dem Verständnis dienen.

LAMP installieren

Als erstes werden die Softwarequellen aktualisiert und dann die benötigten Softwareteile installiert:

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install apache2 mysql-server php5 libapache2-mod-php5 php5-gd php5-curl libssh2-php phpmyadmin git

Nun aktivieren wir benötigte Module des Apache2 Webservers und hinterlegen unsere Daten in GIT.

#Modul mcrypt für phpmyadmin aktivieren
sudo php5enmod mcrypt
#Modul mod_rewrite aktivieren
sudo a2enmod rewrite
# Namen und E-Mail global in GIT hinterlegen
git config --global user.name "Max Mustermann" 
git config --global user.email "max@mustermann.de"

Wenn es sich bei dem Rechner nicht gerade um einen dedizierten Webserver handelt, möchte man eventuell nicht, dass der Apache- und MySQL-Server beim booten starten. Dies erreicht man für den Apache mit sudo update-rc.d -f apache2 remove .
Für den MySQL Server müssen wir die „mysql.conf“ öffnen (sudo nano /etc/init/mysql.conf ) und die „start on“ -Zeile auskommentieren. (start on runlevel [2345]  ändern in #start on runlevel [2345] ).

Jetzt fügen wir noch unseren Benutzer der Gruppe „www-data“ hinzu, um Rechteprobleme zu umgehen:

sudo usermod -a -G www-data meinuser
# Prüfen ob erfolgreich mit:
id meinuser
groups meinuser

Zusätzlich musste ich bei mir noch folgende Anpassungen machen:

  1. Das Wurzelverzeichnis des Webservers von „/var/www/html/“ auf „/var/www/“ ändern. (Nicht ändern, wenn man Sourcen in /var/www und damit außerhalb des Webroot halten will)
    sudo nano /etc/apache2/sites-available/000-defualt.conf
    # Dort: DocumentRoot "/var/www/html/"
    # in: DocumentRoot "/var/www/"
    # ändern
    
  2. In der „apache2.conf“ den „ServerName“ (am Ende der Datei) setzen, damit beim starten und laden keine Warnung mehr kommt.
sudo nano /etc/apache2/apache2.conf
# Am Ende: ServerName localhost
# hinzufügen

Zum aktivieren müssen wir uns jetzt noch ein mal neu anmelden oder den Rechner neu starten. Wenn wir neu starten, nicht vergessen den Apache- und MySql-Server mit sudo service apache2 start  und sudo service mysql start  zu starten.

FLOW installieren

Hierbei ist der erste Schritt via PhpMyAdmin eine neue Datenabnk anzulegen. Wichtig: unter „Optionen“ die „Kollation“ auf „utf8_general_ci“ setzen! Wer in so etwas noch nicht so sicher ist wird z.B. bei opensourcefan.org fündig.

Kommen wir zur eigentlichen Installation: Hierfür sind die Artikel hier und hier hilfreich. Zusammengefasst ergibt das:

cd /var/www

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

composer create-project --dev --keep-vcs typo3/flow-base-distribution flow 2.3
# Wenn dabei "Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable,
# can not call post-package-install script" (mit gelbem Hintergrund) erscheint,
# ist das in Ordnung und kann ignoriert werden.

cd flow/

sudo ./flow core:setfilepermissions meinuser www-data www-data

Jetzt legen wir uns noch einen Virtual Host an, um Flow im Browser unter „flow.local“ erreichen zu können, anstatt immer IP und Pfad eingeben zu müssen. Was es mit Virtual Hosts auf sich hat erklärt die Apache2 Doku.

#Neue VHost Datei anlegen
sudo nano /etc/apache2/sites-available/flow.conf

Dort folgendes einfügen

<VirtualHost *:80>
    DocumentRoot "/var/www/flow/Web/"
    # skip the following line for development
    # SetEnv FLOW_CONTEXT Production

    ServerName flow.local

    <Directory /var/www/flow/>
        AllowOverride FileInfo Options=MultiViews
    </Directory>
</VirtualHost>

und im  Anschluss dann den neu erstellten Host aktivieren sowie dem Server durch neu laden der Konfiguration bekannt machen.

sudo a2ensite flow
service apache2 reload
#ODER
service apache2 restart

Wer wie ich auch gleichzeitig auf dem Rechner entwickelt auf dem wir uns bisher bewegt haben, möchte nun auch lokal komfortabel auf den Webserver zugreifen können. Dazu passen wir nun die hosts-Datei an und hinterlegen dort, wo (unter welcher IP) das System und dessen Software „flow.local“ findet.

#Hosts anpassen:
sudo nano /etc/hosts
#Dort am Ende einfügen
127.0.0.1 flow.local

Analog sollte dieser Schritt auf allen Rechnern durchgeführt werden die auf unsere Installation zugreifen wollen. Für Windows PCs findet Ihr z.B. hier eine Anleitung dazu.

Kommen wir nun zum letzten Schritt, bevor wir uns die Willkommensseite  von Flow ansehen können. Hierfür muss noch die Zeitzone in der php.ini gesetzt werden (normale und cli).

sudo nano /etc/php5/apache2/php.ini
# mit Strg+W nach date.timezone suchen
date.timezone = Europe/Berlin

# und nun noch fürs CLI
sudo nano /etc/php5/cli/php.ini
# mit Strg+W nach date.timezone suchen
date.timezone = Europe/Berlin

Geschafft! Nun sollten wir im Browser unter http://flow.local folgendes sehen.

TYPO3 Flow Willkommensseite

Um nun auch die Verbindung zur zuvor erstellten Datenbank zu testen, halten wir uns an die entsprechende Stelle in der Flow Dokumentation und die dortige Beispielanwendung „Acme.Demo“

cd /var/www/flow

# copy the file Configuration/Settings.yaml.example to Configuration/Settings.yaml
# cp Configuration/Settings.yaml.example Configuration/Settings.yaml

nano Configuration/Settings.yaml
# hier nun die Daten der Datenbankverbindung ersetzen

# Datenbank migrieren
./flow doctrine:migrate

# Package kickstarten
./flow kickstart:actioncontroller --generate-actions --generate-related Acme.Demo CoffeeBean

# Datenbank updaten
./flow doctrine:update

Nun kann das ganze im Browser unter http://flow.local/acme.demo/coffeebean/ ausgiebig getestet werden.

Viel Spaß

Schreibe einen Kommentar

Datenschutzhinweise: Die E-Mailadresse wird an den Dienst Gravatar (der Firma Auttomatic) weiter geleitet, um zu prüfen, ob die Kommentatoren dort ein Profilbild hinterlegt haben. Sie wir jedoch NICHT veröffentlicht. Zu Details hierzu sowie generell zur Verarbeitung Ihrer Daten und Widerrufsmöglichkeiten, verweisen wir Sie auf unsere Datenschutzerklärung. Ebenfalls finden Sie dort Hinweise zu Kommentar-/Postabonnements und Hinweise zum Widerrufsrecht. Sie können für Kommentare auch gerne Pseudonyme verwenden. Erforderliche Felder sind mit * markiert.

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.