Akeneo 1.7 CE - Installation auf einem Managed Server

Ausstattung Managed Server

Akeneo gibt für den Betrieb eine Minimalausstattung von 512MB Arbeitsspeicher vor. Unser kleinstes Angebot, der Managed Server 1, sollte daher ausreichen. Ein Upgrade der Ressourcen ist später ohne Weiteres möglich.

MySQL-Version

Akeneo 1.7 ist mit MySQL 5.1 oder 5.5 lauffähig. MySQL 5.7 erst ab Akeneo 2.0 unterstützt. Für Akeneo 4.0 wird MySQL 8.0 vorausgesetzt.

Einrichtung auf Managed Server

Voraussetzungen

  • Composer
  • github Account
  • MySQL Datenbank (inkl. Benutzername und Passwort)

Die Installation von Akeneo auf einem Managed Server von Providerdienste.de ist mit einem bereits installierten Composer - Einrichtung auf einem Managed Server relativ einfach. Die Loginseite der Community Edition

Es ist empfehlenswert, vor dem Beginn der Installation mit Composer ein Benutzerkonto für Github anzulegen. Sie werden während der Installation aufgefordert, ein sog. Token einzugeben: Das Herunterladen von Github wird einem Rate-Limiting unterzogen. Sie können es nur umgehen, wenn das Token eingegeben wird. Für das Token benötigen Sie einen Benutzernamen auf Github.

Vorbereitung der Installation

Folgende Einstellungen müssen in Ihrer php.ini gesetzt werden. Die php.ini legen Sie im Homeverzeichnis des Nutzers an:

date.timezone = "Europe/Berlin"
memory_limit = 512M

allow_url_fopen=On
register_argc_argv=On

extension_dir = ""
extension = apcu.so
extension = intl.so
extension = soap.so

apc.enabled = 1
apc.enable_cli = 1

Sämtliche Extensions sind auf Managed Server von Providerdienste.de bereits vorinstalliert und müssen lediglich aktiviert werden.

Der Composer ruft während der Installation die php binary auf. Diese muss auf die korrekte Version 5.6 gesetzt werden. Eine Anleitung zum Setzen der php binary Version finden Sie unter „Anpassen der PHP-CLI-Version “.

Installation von Akeneo

Die Installation von Akeneo wird mit folgendem Befehl gestartet:

/usr/local/pd-admin2/bin/php5-5.6-cli -c ~/php.ini composer.phar create-project --prefer-dist akeneo/pim-community-standard ./pim-project "1.7.*@stable"

Die Bearbeitung kann einige Zeit dauern. Composer prüft und löst etwaige Abhängigkeiten selbstständig, lädt die Software herunter und legt sie im Unterverzeichnis pim-project des aktuellen Arbeitsverzeichnisses an.

Sie können den Pfad anpassen, in dem der Teil

[] ./pim-project []

durch einen anderen Pfad ersetzt wird z.B.

[] $HOME/akeneo []

um die Installation in das Verzeichnis „akeneo“ im Heimatverzeichnis des aktuell eingeloggten Benutzers zu schreiben.

Initialisierung von Akeneo

Nach erfolgreicher Installation auf Ihrem Managed Server müssen Sie die Akeneo Installation noch initialisieren. Dazu führen Sie folgende Befehle aus:

cd pim-project
/usr/local/pd-admin2/bin/php5-5.6-cli -c ~/php.ini app/console cache:clear --env=prod
/usr/local/pd-admin2/bin/php5-5.6-cli -c ~/php.ini app/console pim:install --env=prod

Damit wurde die Tabellen für Akeneo in der Datenbank erzeugt.

Anlegen der Cronjobs

Akeneo CE benötigt zwei Cronjobs, welche regelmäßig ausgeführt werden sollen. Empfohlen wird eine Ausführung alle 15 Minuten. Bei größeren Datenbanken muss die Ausführungszeit jedoch angepasst werden, da das Skript entsprechend länger läuft.

Zum Anlegen der Cronjobs müssen Sie auf Ihrem Managed Server in die Endkunden-Ansicht von pd-admin gehen. Unter dem Menüpunkt ‚Cronjobs‘ können Sie die zwei Cronjobs anlegen:

/usr/local/pd-admin2/bin/php5-5.6-cli -c ~/php.ini ~/pim-project/app/console pim:completeness:calculate --env=prod
/usr/local/pd-admin2/bin/php5-5.6-cli -c ~/php.ini ~/pim-project/app/console pim:versioning:refresh --env=prod

Wenn Sie die Ausgabe des Cronjobs in eine Log Datei umleiten möchten, sehen die Befehle wie folgt aus

/usr/local/pd-admin2/bin/php5-5.6-cli -c ~/php.ini ~/pim-project/app/console pim:completeness:calculate --env=prod >> ~/pim-project/app/logs/cron_calculate.log 2>&1
/usr/local/pd-admin2/bin/php5-5.6-cli -c ~/php.ini ~/pim-project/app/console pim:versioning:refresh --env=prod >> ~/pim-project/app/logs/cron_refresh.log 2>&1

Umstellung des Zielverzeichnisses

Zum Schluss muss das Zielverzeichnis Ihrer Domain auf Ihrem Managed Server angepasst werden. In pd-admin in der Endkunden-Ansicht muss unter

Subdomains => Übersicht

das Ziel (Document Root) der Webseite auf das Verzeichnis pim-project/web setzen.

Abschluss der Installation

Die Installation auf Ihrem Managed Server ist nun abgeschlossen, Sie können sich nun an www.example.com mit folgenden Daten anmelden:

Benutzer: admin
Passwort: admin

Bitte ändern Sie die Logindaten umgehend, um Mißbrauch vorzubeugen.

Bekannte Fehler

Internal Server Error nach Anmeldung

Sollte nach der Anmeldung ein Internal Server Error mit gleichzeitig folgender Meldung in der Logdatei app/log/prod.log ausgegeben werden:

[2017-06-27 13:58:55] request.INFO: Matched route "oro_default".
{"route_parameters":{"template":"PimDashboardBundle:Dashboard:index.html.twig","_controller":"Symfon
y\\Bundle\\FrameworkBundle\\Controller\\TemplateController::templateAction","_route":"oro_default"},
"request_uri":"http://www.example.com.pdtest.test20000.de/"}
[]
[2017-06-27 14:00:38] request.CRITICAL: Uncaught PHP Exception
Twig_Error_Loader:
[.]

Laut dieser Diskussion folgender Befehl einmalig ausgeführt werden:

/usr/local/pd-admin2/bin/php5-5.6-cli -c ~/php.ini app/console --env=prod oro:translation:dump en_US

Wenn Ihre Standard-Sprache im Browser Deutsch sein sollte, führen Sie den o.g. Befehl bitte für de_DE aus:

/usr/local/pd-admin2/bin/php5-5.6-cli -c ~/php.ini app/console --env=prod oro:translation:dump de_DE

Anschließend sollte das Login funktionieren.

Import/Export bleibt im Status „Startet“

Eine Ursache kann sein, dass die falsche php.ini geladen wird. Hier kann man sich behelfen, indem im /web Order von Akeneo ein symbolischer Link auf die php.ini im Home-Verzeichnis des Nutzers angelegt wird:

$ ln -s ~/php.ini ~/pim-project/web/php.ini

Anschließend sollte die php.ini noch vor Zugriffen von außen geschützt werden. Fügen Sie dazu folgende Zeile in der .htaccess Datei im /web Ordner ein:

RewriteRule "\.ini$" "-" [F]

Quellen

Akeneo Doc <https://docs.akeneo.com/latest/index.html> Github der Community Edition <https://github.com/akeneo/pim-community-standard#using-composer-to-create-the-project>