Installationsanleitung für Akeneo

Mit dieser Installationsanleitung führen wir Sie Schritt für Schritt durch die Installation von Akeneo auf Ihrem Cluster.

Bei maxcluster ist es möglich, Akeneo in der Community Edition zu hosten. Wir bieten
das Hosting der Versionen 4, 5 und 6 an.

Bei Neukunden sind die Systemanforderungen bei der Bereitstellung des Web Cluster bereits installiert bzw. vorinstalliert.

Bestandskunden wird empfohlen, Kontakt per E-Mail oder Telefon zur technischen Beratung aufzunehmen, um überprüfen zu lassen, ob die Systemanforderungen erfüllt sind. Gerne hilft Ihnen die technische Beratung unter beratung@maxcluster.de oder per Telefon unter +49 (0) 5251 4141-350 schnell weiter.

1. Systemanforderungen

Eine Auflistung der Systemanforderungen finden Sie hier: https://maxcluster.de/knowledge-base/managedcenter/faq-zu-akeneo-hosting-bei-maxcluster

2. Domain anlegen

Um Akeneo auf Ihrem maxcluster Web Cluster betreiben zu können, benötigen Sie eine neue Domain als vHost. Im Folgenden ist die Einrichtung von Akeneo für Apache beschrieben.

Melden Sie sich im Managed Center an und folgen Sie den Anweisungen auf den Screenshots, um in den Bereich Apache (Punkt 1) zu wechseln und klicken Sie auf Domains + (Punkt 2) um eine neue Domain anzulegen.


Unter Allgemein (Punkt 1) tragen Sie den gewünschten Domainnamen in das Feld Domain (Punkt 2) ein.

Hinweis: Wir benutzen für diese Dokumentation in den Screenshots den Namen akeneo.c-xx.maxcluster.net. Wann immer Sie im weiteren Verlauf dieser Anleitung diesen Domain-Namen oder den Platzhalter ${VHOST} sehen, sollten Sie ihn durch den von Ihnen in diesem Schritt gewählten Domainnamen ersetzen.


Zu beachten ist, dass Sie hier einen neuen Domain-Namen verwenden, da im späteren Verlauf der Installation alle Dateien im DocumentRoot dieser Domain gelöscht werden.


Wechseln Sie danach auf den Reiter SSL-Zertifikat (Punkt 1), setzen Sie den Haken bei Let’s Encrypt-Zertifikat (Punkt 2) und wählen Sie im Pull-Down-Menü die IP-Adresse des Clusters aus (Punkt 3). Dies dient der Einrichtung eines Let’s Encrypt-SSL-Zertifikats, damit Ihre Webseite mittels HTTPS aufgerufen werden kann.


Wechseln Sie danach auf den Reiter SSL-Optionen (Punkt 1). Dort aktivieren Sie nun die automatische Weiterleitung auf SSL (Punkt 2), damit Ihre Akeneo-Installation ausschließlich abgesichert aufgerufen werden kann.

3. PHP-Version festlegen 

Wechseln Sie auf den Reiter Modus (Punkt 1). Je nach verwendeter Akeneo-Version wählen Sie an der im Screenshot gezeigten Stelle die passende PHP-Version aus. Die richtigen PHP-Versionen zur Akeneo-Version sind:

  • Akeneo 4: PHP 7.3
  • Akeneo 5: PHP 7.4
  • Akeneo 6: PHP 8.0

In diesem Beispiel verwenden wir PHP 7.3 (Punkt 2) als PHP-Version für Akeneo 4.

Bestätigen Sie alle Eingaben, indem Sie auf Speichern klicken (Punkt 3).



Damit die Cronjobs später fehlerfrei laufen, müssen Sie noch die zu Ihrer Akeneo-Version passende PHP-CLI-Version (Punkt 1) einstellen. Wählen Sie analog zum Screenshot die passende PHP-Version (Punkt 2):

  • Akeneo 4: PHP 7.3
  • Akeneo 5: PHP 7.4
  • Akeneo 6: PHP 8.0


Wenn alles korrekt eingestellt ist, sollte die Anzeige im Managed Center wie folgt aussehen:

  1. Domain 
  2. PHP-Version, die zu der von Ihnen installierten Akeneo-Version passt
  3. PHP-CLI-Version, die zu der von Ihnen installierten Akeneo-Version passt

4. Composer-Version einstellen

Akeneo wird über Composer geladen und installiert. Dementsprechend müssen Sie noch die Composer-Version wie im Screenshot gezeigt auf eine Composer 2-Version umstellen.

5. MySQL-Datenbank anlegen 

Die Datenbank können Sie vor oder nach dem MySQL-Upgrade auf Version 8 anlegen. Wir empfehlen aber, bis nach dem Upgrade zu warten.

Wählen Sie dazu Datenbank + aus und geben Sie der Datenbank im zweiten Schritt einen Beschreibungstext.


Der Beschreibungstext (Punkt 1) hilft Ihnen in der Übersicht des Managed Center bei einer schnellen und einfachen Identifizierung der Zugehörigkeit.

Bestätigen Sie Ihre Eingaben, indem Sie auf Speichern klicken (Punkt 2).


Anschließend werden Ihnen die Zugangsdaten der Datenbank angezeigt. Bitte speichern Sie den Datenbanknamen, den Datenbank-Benutzer und das Datenbank-Passwort zwischen, da Sie diese später bei der Akeneo-Installation zum Erstellen der Konfigurationsdatei benötigen.


Sobald MySQL korrekt eingerichtet ist, sollte dies im Managed Center wie folgt aussehen.

6. Elasticsearch-/OpenSearch-Installation 

Als nächstes müssen Sie Elasticsearch installieren und eine Instanz erstellen. Alternativ können Sie auch OpenSearch benutzen.

Die empfohlenen Versionen sind:

  • Akeneo 4: Elasticsearch = 7.5
  • Akeneo 5: Elasticsearch = 7.10
  • Akeneo 6: OpenSearch >= 1.3

6.1 Elasticsearch installieren

Öffnen Sie den Bereich Elasticsearch (Punkt 1) in der Seitenleiste und wählen Sie Elasticsearch installieren (Punkt 2) aus.



Während der Installation müssen Sie die zu verwendende Version auswählen (Punkt 1) und anschließend die Installation starten mit Jetzt installieren (Punkt 2).



Wählen Sie anschließend die Option Elasticsearch Server +, um eine neue Elasticsearch-Instanz zu erstellen.


Beim Anlegen müssen Sie beachten, dass Sie eine Beschreibung (Punkt 1) festlegen und eine Heap-Size (Punkt 2) einstellen. Eine Heap-Size von 1024 MB ist für die Installation ausreichend und kann für den Live-Betrieb jederzeit erhöht werden.

Speichern Sie die neue Instanz, indem Sie auf Hinzufügen klicken (Punk 3).

6.2 OpenSearch installieren

Öffnen Sie den Bereich OpenSearch (Punkt 1) in der Seitenleiste und wählen Sie OpenSearch installieren (Punkt 2) aus.


Während der Installation müssen Sie die zu verwendende Version auswählen (Punkt 1) und anschließend die Installation starten mit Jetzt installieren (Punkt 2).


Wählen Sie anschließend die Option OpenSearch Server +, um eine neue OpenSearch-Instanz zu erstellen:


Beim Anlegen müssen Sie eine Beschreibung festlegen und eine Heap-Size einstellen. Eine Heap-Size von 1024 MB ist für die Installation ausreichend und kann für den Live-Betrieb jederzeit erhöht werden.


Der fertige Elasticsearch/OpenSearch Server sollte im Managed Center wie folgt angezeigt werden. Hier bitte die Port-Nummer notieren (im Beispiel OpenSearch mit Port 9500), da diese später zur Konfiguration der Environment-Datei benötigt wird.

7. Supervisor installieren

Die Vorbereitungen sind nun größtenteils abgeschlossen. Jetzt müssen Sie nur noch Supervisor installieren.


Wenn die Installation abgeschlossen ist, können Sie sich um die Vorbereitung des Document Roots kümmern. Die Einrichtung des Supervisor-Programms nehmen Sie vor, nachdem Akeneo installiert ist. Dementsprechend benötigen Sie jetzt eine SSH-Verbindung zum Cluster.

8. DocumentRoot vorbereiten 

Jetzt muss das DocumentRoot mittels eines Symlink angepasst werden, damit die Domain innerhalb des Akeneo-Verzeichnisses auf dem von Akeneo zur Verfügung gestellten Public-Verzeichnis liegt.

8.1 Wechseln des Verzeichnisses

Als Erstes navigieren Sie in das Verzeichnis der neu angelegten Domain. Ersetzen Sie dazu in der folgenden Zeile den Ordnernamen akeneo.c-xx.maxcluster.net durch den von Ihnen gewählten Domainnamen.

cd /var/www/share/akeneo.c-xx.maxcluster.net


8.2 Entfernen des Standard-DocumentRoot

Nachdem Sie im Hauptverzeichnis der Domain angekommen sind, löschen Sie mit dem folgenden Befehl den Ordner 'htdocs' samt Inhalt.

rm -r htdocs


Dies wird benötigt, da der Public-Ordner im Akeneo-Verzeichnis das spätere DocumentRoot sein wird.

8.3 Symlink für DocumentRoot anlegen

Nun legen Sie einen Symlink namens 'htdocs' an, der auf den Ordner public im Verzeichnis akeneo verweist:

ln -s akeneo/public htdocs

So sorgt man dafür, dass das DocumentRoot der Domain innerhalb des Akeneo-Verzeichnisses auf dem von Akeneo zur Verfügung gestellten Public-Verzeichnis liegt.

9. Akeneo-Download

Nun können Sie auch schon mit dem Download von Akeneo beginnen.

Akeneo 4

Für Akeneo 4 müssen Sie folgenden Befehl ausführen:

composer2 create-project akeneo/pim-community-standard akeneo '4.0.*@stable'

Akeneo 5

Für Akeneo 5 müssen Sie folgenden Befehl ausführen:

composer2 create-project akeneo/pim-community-standard akeneo '5.0.*@stable'

Akeneo 6

Für Akeneo 6 müssen Sie folgenden Befehl ausführen:

composer2 create-project akeneo/pim-community-standard akeneo '6.0.*@stable'

10. Secret erstellen

Für die Installation von Akeneo benötigen Sie einen bestenfalls 50 Zeichen langes Secret. Dieses können Sie wie folgt erstellen:

pwgen 50 1

Hinweis: Dieses neu erstellte Secret müssen Sie einmal zwischenspeichern, da Sie es im nächsten Schritt benötigen.

11. Environment-Datei

Sie erstellen nun eine .env.local-Datei, in der die Parameter für Akeneo festgelegt werden:

nano akeneo/.env.local


Dort tragen Sie folgenden Inhalt ein:

LOGGING_LEVEL=NOTICE

APP_DEBUG=0

APP_ENV=prod

APP_DATABASE_HOST=localhost

APP_DATABASE_PORT=3306

APP_DATABASE_NAME=db-NUMBER

APP_DATABASE_USER=db-user-NUMBER

APP_DATABASE_PASSWORD='PASSWORD'

APP_INDEX_HOSTS='localhost:9200'

APP_SECRET=SECRET

APP_DEFAULT_LOCALE=en

APP_PRODUCT_AND_PRODUCT_MODEL_INDEX_NAME=akeneo_pim_product_and_product_model

MAILER_URL=null://localhost

AKENEO_PIM_URL=http://${VHOST}

APP_ELASTICSEARCH_TOTAL_FIELDS_LIMIT=10000


Geändert werden müssen hier folgende Einträge:

  • APP_DATABASE_HOST: Sollte auf localhost gesetzt werden, wenn die Datenbank auf Ihrem Cluster liegt, was der Normalfall ist. Ansonsten muss hier der Hostname des externen Datenbank-Servers eingetragen werden.
  • APP_DATABASE_NAME: Hier muss NUMBER durch die Datenbank-Nummer ersetzt werden, die Ihnen beim Erstellen der Datenbank angezeigt wurde.
  • APP_DATABASE_USER: Hier muss NUMBER durch die Datenbank-Benutzer-Nummer ersetzt werden, die Ihnen beim Erstellen der Datenbank angezeigt wurde.
  • APP_DATABASE_PASSWORD: PASSWORD muss hier durch das Datenbank-Passwort ersetzt werden, das Ihnen beim Erstellen der Datenbank angezeigt wurde.
  • APP_INDEX_HOSTS: Hier muss 9200 durch die korrekte Portnummer der Elastic-/Opensearch Instanz ersetzt werden, die Ihnen beim Erstellen der Search-Instanz angezeigt wurde.
  • APP_SECRET: An dieser Stelle muss das Wort SECRET durch das vorher erstellte 50 Zeichen lange Secret ersetzt werden.
  • AKENEO_PIM_URL: Die Variable ${VHOST} müsste durch den Namen der erstellten Domain ersetzt werden.

12. Akeneo-Installation

Nun kann die Installation von Akeneo selbst beginnen. Sie wechseln zunächst in das Akeneo-Verzeichnis:

cd akeneo


Die Installation können Sie wie folgt starten:

NO_DOCKER=true make prod


Sollte hier eine Abfrage kommen, bestätigen Sie diese bitte durch das Tippen der Taste y, gefolgt von der Entertaste.

Sobald die Installation durchgelaufen ist, wechseln Sie in das htdocs-Verzeichnis:

cd ../htdocs


Sie legen nun die .htaccess-Datei an, in der Sie die Umschreibungen aktivieren:

nano .htaccess


Hier tragen Sie folgenden Inhalt ein:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php [QSA,L]


Für die letzten zwei Schritte der Einrichtung von Akeneo wechseln Sie jetzt wieder in das Managed Center. Dort müssen Sie abschließend die Cronjobs eintragen und Supervisor fertig einrichten.

13. Cronjobs einrichten

Sie können Cronjobs auf der Kommandozeile mittels crontab -e anlegen oder das Managed Center dafür verwenden. Die folgende Anleitung zeigt die Einrichtung über das Managed Center:


Wir fügen hier als Beispiel den ersten Cronjob von Akeneo 4 hinzu, wobei die Vorgehensweise für alle Cronjobs dieselbe ist. Eine Liste der Cronjobs finden Sie weiter unten.

Fügen Sie für jeden Cronjob die ersten fünf Zahlen oder Zeichen in die Felder ein (Punkt 1-5) und den Befehlsstring dahinter in das Textfeld Befehl (Punkt 6).

Beispiel:
30 1 * * * php7.3 /var/www/share/${VHOST}/akeneo/bin/console pim:versioning:refresh

Bestätigen Sie Ihre Eingaben, indem Sie auf Speichern klicken (Punkt 7).



Liste der Cronjobs aller unterstützten Akeneo-Versionen

Hier die Auflistung der Cronjobs der einzelnen Akeneo-Versionen:

Akeneo 4

30 1 * * * php7.3 /var/www/share/${VHOST}/akeneo/bin/console pim:versioning:refresh

30 2 * * * php7.3 /var/www/share/${VHOST}/akeneo/bin/console pim:versioning:purge --more-than-days 90

1 * * * * php7.3 /var/www/share/${VHOST}/akeneo/bin/console akeneo:connectivity-audit:update-data

20 0 1 * * php7.3 /var/www/share/${VHOST}/akeneo/bin/console akeneo:batch:purge-job-execution

30 4 * * * php7.3 /var/www/share/${VHOST}/akeneo/bin/console pim:volume:aggregate

Akeneo 5

30 1 * * * php7.4 /var/www/share/${VHOST}/akeneo/bin/console pim:versioning:refresh

30 2 * * * php7.4 /var/www/share/${VHOST}/akeneo/bin/console pim:versioning:purge --more-than-days 90

1 * * * * php7.4 /var/www/share/${VHOST}/akeneo/bin/console akeneo:connectivity-audit:update-data

20 0 1 * * php7.4 /var/www/share/${VHOST}/akeneo/bin/console akeneo:batch:purge-job-execution

30 4 * * * php7.4 /var/www/share/${VHOST}/akeneo/bin/console pim:volume:aggregate

10 * * * * php7.4 /var/www/share/${VHOST}/akeneo/bin/console akeneo:connectivity-connection:purge-error

40 12 * * * php7.4 /var/www/share/${VHOST}/akeneo/bin/console akeneo:connectivity-audit:purge-error-count

15 0 * * * php7.4 /var/www/share/${VHOST}/akeneo/bin/console pim:data-quality-insights:schedule-periodic-tasks

*/10 * * * * php7.4 /var/www/share/${VHOST}/akeneo/bin/console pim:data-quality-insights:prepare-evaluations

*/30 * * * * php7.4 /var/www/share/${VHOST}/akeneo/bin/console pim:data-quality-insights:evaluations

0 */2 * * * php7.4 /var/www/share/${VHOST}/akeneo/bin/console akeneo:messenger:doctrine:purge-messages messenger_messages default

Akeneo 6

30 1 * * * php8.0 /var/www/share/${VHOST}/akeneo/bin/console pim:versioning:refresh

30 2 * * * php8.0 /var/www/share/${VHOST}/akeneo/bin/console pim:versioning:purge --more-than-days 90

1 * * * * php8.0 /var/www/share/${VHOST}/akeneo/bin/console akeneo:connectivity-audit:update-data

20 0 1 * * php8.0 /var/www/share/${VHOST}/akeneo/bin/console akeneo:batch:purge-job-execution

30 4 * * * php8.0 /var/www/share/${VHOST}/akeneo/bin/console pim:volume:aggregate

10 * * * * php8.0 /var/www/share/${VHOST}/akeneo/bin/console akeneo:connectivity-connection:purge-error

40 12 * * * php8.0 /var/www/share/${VHOST}/akeneo/bin/console akeneo:connectivity-audit:purge-error-count

15 0 * * * php8.0 /var/www/share/${VHOST}/akeneo/bin/console pim:data-quality-insights:schedule-periodic-tasks

*/10 * * * * php8.0 /var/www/share/${VHOST}/akeneo/bin/console pim:data-quality-insights:prepare-evaluations

*/30 * * * * php8.0 /var/www/share/${VHOST}/akeneo/bin/console pim:data-quality-insights:evaluations

0 */2 * * * php8.0 /var/www/share/${VHOST}/akeneo/bin/console akeneo:messenger:doctrine:purge-messages messenger_messages default

5 * * * *  php8.0 /var/www/share/${VHOST}/akeneo/bin/console akeneo:connectivity-connection:purge-events-api-logs

0 0 * * 0 php8.0 /var/www/share/${VHOST}/akeneo/bin/console akeneo:connectivity-connection:openid-keys:create


Hinweis: Bitte beachten Sie beim Eintragen der Cronjobs, dass Sie den Platzhalter ${VHOST} durch die von Ihnen gewählte Domain ersetzen.

14. Supervisor-Programm einrichten


Als letztes müssen Sie jetzt noch Supervisor fertig einrichten. Dies ist erst nach erfolgreicher Installation von Akeneo möglich. Hierbei geht es darum, unter Supervisor (Punkt 1), über die Option Programme + (Punkt 2) ein neues Supervisor-Programm anzulegen. Folgen Sie den Anweisungen des Screenshots.



Sie können die Akeneo Version-spezifischen Supervisor-Programme weiter unten finden und bei der Einrichtung eintragen.



Wenn Supervisor korrekt eingerichtet ist, sollte es wie im folgenden Screenshot aussehen:



Liste der Supervisor Programme aller unterstützten Akeneo-Versionen

Bei den Programmen gibt es ebenfalls leichte Unterschiede in den verwendeten Akeneo-Versionen. Im Folgenden finden Sie die entsprechende Auflistung:

Akeneo 4

[program:akeneo_queue_daemon]

command=/usr/bin/php7.3 /var/www/share/${VHOST}/akeneo/bin/console akeneo:batch:job-queue-consumer-daemon --env=prod

autostart=true

autorestart=true

stderr_logfile=/var/www/share/${VHOST}/akeneo/var/logs/akeneo_daemon.err.log

stdout_logfile=/var/www/share/${VHOST}/akeneo/var/logs/akeneo_daemon.out.log

Akeneo 5

[program:akeneo_queue_daemon]

command=/usr/bin/php7.4 /var/www/share/${VHOST}/akeneo/bin/console akeneo:batch:job-queue-consumer-daemon --env=prod

autostart=true

autorestart=true

stderr_logfile=/var/www/share/${VHOST}/akeneo/var/logs/akeneo_daemon.err.log

stdout_logfile=/var/www/share/${VHOST}/akeneo/var/logs/akeneo_daemon.out.log

Akeneo 6

[program:akeneo_queue_daemon]

command=/usr/bin/php8.0 /var/www/share/${VHOST}/akeneo/bin/console messenger:consume ui_job import_export_job data_maintenance_job --env=prod -vv # optional: --limit=3

autostart=true

autorestart=true

stderr_logfile=/var/www/share/${VHOST}/akeneo/var/logs/akeneo_daemon.err.log

stdout_logfile=/var/www/share/${VHOST}/akeneo/var/logs/akeneo_daemon.out.log


Hinweis: Bitte beachten Sie beim Eintragen des Programm-Codes, dass Sie die Variable ${VHOST} durch die passende erstellte Domain ersetzen.

Bei Fragen steht Ihnen unser Support telefonisch unter 05251/414130 oder per E-Mail an support@maxcluster.de zur Verfügung.

Veröffentlicht am 01.03.2024