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:
- Domain
- PHP-Version, die zu der von Ihnen installierten Akeneo-Version passt
- 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