Installationsanleitung für Akeneo
Mit dieser Installationsanleitung führen wir Sie Schritt für Schritt durch die Installation von Akeneo auf Ihrem Cluster.
Inhaltsverzeichnis
- Systemanforderungen
- Domain anlegen
- PHP-Version festlegen
- Composer-Version einstellen
- MySQL-Datenbank anlegen
- Elasticsearch-/Opensearch-Installation
- Supervisor installieren
- DocumentRoot vorbereiten
- Akeneo-Download
- Secret erstellen
- Environment-Datei
- Akeneo-Installation
- Cronjobs einrichten
- Supervisor-Programm einrichten
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.
Systemanforderungen
Eine Auflistung der Systemanforderungen finden Sie hier: https://maxcluster.de/knowledge-base/managedcenter/faq-zu-akeneo-hosting-bei-maxcluster
Domain anlegen
Um Akeneo auf Ihrem maxcluster Web Cluster betreiben zu können, benötigen Sie eine neue Domain. 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 zu wechseln und eine neue Domain anzulegen:
Tragen Sie den gewünschten Domainnamen in das Feld "Domain" ein. Wir benutzen für diese Dokumentation in den Screenshots den Namen akeneo.c-76.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", setzen Sie den Haken bei "Let’s Encrypt-Zertifikat" und wählen Sie im Pull-Down-Menü die IP-Adresse des Clusters aus. 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". Dort aktivieren Sie nun die automatische Weiterleitung auf SSL, damit Ihre Akeneo-Installation ausschließlich abgesichert aufgerufen werden kann:
PHP-Version festlegen
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 als PHP-Version für Akeneo 4:
Damit die Cronjobs später fehlerfrei laufen, müssen Sie noch die zu Ihrer Akeneo-Version passende PHP-CLI-Version einstellen. Wählen Sie analog zum Screenshot die passende PHP-Version:
- 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 (an den mit "2" und "3" markierten Stellen sollte die PHP- und PHP-CLI-Version zu sehen sein, die zu der von Ihnen installierten Akeneo-Version passt:
Composer-Version einstellen
Akeneo wird über Composer geladen und installiert. Dementsprechend müssen Sie noch die Composer-Version wie im Screenshot gezeigt auf Composer 2 umstellen:
MySQL-Datenbank anlegen
Die Datenbank können Sie vor oder nach dem MySQL-Upgrade auf Version 8 anlegen. Wir empfehlen aber damit bis nach dem Upgrade zu warten.
Wählen Sie dazu eine der beiden Schaltflächen “Neue Datenbank” aus und geben Sie der Datenbank im zweiten Schritt einen Beschreibungstext:
Der Beschreibungstext hilft Ihnen in der Übersicht des Managed Center bei einer schnellen und einfachen Identifizierung der Zugehörigkeit.
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:
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
Elasticsearch installieren
Während der Installation müssen Sie die zu verwendende Version auswählen und anschließend die Installation starten:
Nun können Sie die Elasticsearch-Instanz erstellen:
Beim Anlegen müssen Sie beachten, dass 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:
OpenSearch installieren
Öffnen Sie den Bereich "OpenSearch" in der Seitenleiste und wählen Sie “OpenSearch installieren” aus:
Während der Installation müssen Sie die zu verwendende Version auswählen und anschließend die Installation starten:
Über eine der beiden Schaltflächen haben Sie die Möglichkeit, 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 aussehen. Hier bitte die Port-Nummer notieren (im Beispiel OpenSearch mit Port 9500), da diese später zur Konfiguration der Environment-Datei benötigt wird.
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.
DocumentRoot vorbereiten
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-76.maxcluster.net durch den von Ihnen gewählten Domainnamen:
cd /var/www/share/akeneo.c-76.maxcluster.net
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.
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.
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"
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
Dieses neu erstellte Secret müssen Sie einmal zwischenspeichern, da Sie es im nächsten Schritt benötigen.
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.
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 mit 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.
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 1-5 ein und den Befehlsstring dahinter in das Textfeld Befehl:
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
Bitte beachten Sie beim Eintragen der Cronjobs, dass Sie den Platzhalter ${VHOST} durch die von Ihnen gewählte Domain ersetzen.
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, ein neues Supervisor-Programm anzulegen. Folgen Sie den Anweisungen des Screenshots:
Sie können die Akeneo Version-spezifischen Supervisor-Programme weiter unten finden:
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
Bitte beachten Sie beim Eintragen des Programm-Codes, dass Sie die Variable ${VHOST} durch die passende erstellte Domain ersetzen.
Sollten Sie Rückfragen haben oder Unterstützung benötigen, wenden Sie sich gerne an unseren Service per E-Mail support@maxcluster.de oder telefonisch +49 5251 41 41 30.