Mage-OS Hosting bei maxcluster

In diesem FAQ-Beitrag geben wir einen Überblick über Mage-OS, die technischen Anforderungen und die Installation bei maxcluster.

Was ist Mage-OS?

Mage-OS ist ein Fork von Magento 2. Um unabhängiger von Adobe zu werden, wurde https://mage-os.org aus der Community heraus entwickelt.

Hierbei wurde eine Magento-Distribution erschaffen, die es erlaubt, Magento ohne einen Adobe-Account zu installieren. Mage-OS ist dabei in zwei Variationen verfügbar. Zum einen gibt es einen Mirror, welcher identisch zum offiziellen Magento Release ist, allerdings keinen Adobe Account benötigt. Die andere Variante ist ein Fork mit eigenen Features, welcher sich zum Teil unterscheidet. 

Ausführliche Informationen finden Sie hier: https://mage-os.org/organization/about.

Kann ich meinen maxcluster-Cluster mit Mage-OS nutzen?

Wir haben einen sogenannten Mirror erstellt, womit wir Mage-OS für jede Version ab Magento 2.3.7-p3 unterstützen. Sie müssen hier also keine Besonderheiten beachten.

Im Managed Center bieten wir an einigen Stellen, wie beispielsweise beim NGINX-Template, separate Auswahlmöglichkeiten für Mage-OS an, um ggf. auf zukünftige Abweichungen zu Magento besser reagieren zu können.

Auch unsere Tools ShopPerformance und ShopSecurity im Managed Center sind mit Mage-OS kompatibel.

Für Fragen zu unseren Servern stehen wir natürlich gerne wie gewohnt unter support@maxcluster.de zur Verfügung.

Wie installiere ich Mage-OS?

Im Folgenden erklären wir, wie die Magento-Distribution Mage-OS bei maxcluster installiert wird.

Zum aktuellen Stand ist es möglich, mit dieser Anleitung die “Mirror”-Distribution zu installieren.

Zusätzlich bietet Mage-OS neben dem Mirror auch einen Fork an. Die Details dazu sind hier zu finden: https://mage-os.org/distribution/ .

Vorbereitungen

Legen Sie zuerst im maxcluster-Interface einen neuen vHost an. Dies kann im Menüpunkt Apache oder NGINX erfolgen.

Apache: Für die aktuelle Version Mage-OS 2.4.5 stellen Sie bitte hier PHP 8.1 ein.

NGINX: Für NGINX wählen Sie bitte zusätzlich noch das Anwendungs-Template Magento 2 aus.

Zusätzlich wird eine Datenbank benötigt, die bei maxcluster unter Datenbank und SucheMySQL erstellt werden kann.

Darüber hinaus wird auch eine OpenSearch- oder eine Elasticsearch-Instanz benötigt. Für MageOS 2.4.5 empfehlen wir OpenSearch in der Version 1.2 zu verwenden.

Die Installation der Instanzen kann bei maxcluster bequem über den Menüpunkt Datenbank und SucheOpenSearch oder Elasticsearch erfolgen.

Bitte beachten Sie: Nach der Installation müssen Sie noch eine neue Instanz anlegen.

Download

Die eigentliche Installation erfolgt im nächsten Schritt per SSH. Die notwendigen Zugangsdaten hierfür sind im Managed Center unter SSH verfügbar.

Hinweis: Falls eine CI/CD-Pipeline bzw. ein Deployment-Tool eingesetzt werden soll, kann die Installation auch außerhalb des Clusters erfolgen. In dieser Anleitung gehen wir jedoch davon aus, dass die Installation auf dem Cluster selbst durchgeführt wird.

Wechseln Sie bitte zuerst in den Ordner, in dem Magento abgelegt werden soll. Bitte beachten Sie: Bei Apache sollte dies nicht der Dokument-Ordner “root (htdocs)” sein.

cd /var/www/share/mage-os.c-421.maxcluster.net


Anschließend installieren Sie bitte per composer Mage-OS mit dem folgenden Befehl:

composer2 create-project --repository-url=https://mage-os.maxcluster.net/mirror/ magento/project-community-edition magento


Der letzte Befehl legt dabei den Ordner fest, in dem Magento installiert werden soll.

Falls nicht der von maxcluster bereitgestellte Mage-OS Mirror verwendet werden soll, kann unter https://mage-os.org/distribution/ ein anderes Repository ausgewählt werden.

Installation

Nun erfolgt die eigentliche Installation.

Hierfür wechseln Sie bitte zuerst in den Magento-Ordner.

cd magento

Anschließend führen Sie die Installation mithilfe von /bin/magento durch.

Mit dem Befehl ./bin/magento setup:install --help lassen sich dabei alle möglichen Parameter sehen.

In unserem Beispiel erfolgt die Installation mit diesem Befehl:

./bin/magento setup:install \ --base-url=https://mage-os.c-421.maxcluster.net/ \ --db-host=localhost \ --db-name=db-1 \ --db-user=db-user-1 \ --db-password=... \ --admin-firstname=max \ --admin-lastname=muster \ --admin-email=admin@admin.com \ --admin-user=admin \ --admin-password=admin123 \ --language=de_DE \ --currency=EUR \ --timezone=Europe/Berlin \ --use-rewrites=1 \ --search-engine=elasticsearch7 \ --elasticsearch-host=127.0.0.1 \ --elasticsearch-port=9500 \ --backend-frontname=secret


Damit die Installation anschließend aufgerufen werden kann, setzen Sie bitte noch einen Symlink zum Dokumentroot des Webservers.

Dazu löschen Sie bitte den bisherigen htdocs-Ordner: 

Beispiel: rm -rf ~/mage-os.cluster.maxcluster.net/htdocs/

und verlinken den pub-Ordner.

Bitte beachten Sie: Bei NGINX verlinken Sie bitte den magento-Ordner statt des pub-Ordners, da das NGINX-Template bereits dafür sorgt, dass der pub-Ordner ausgeliefert wird.

Beispiel: ln -s ~/mage-os.c-421.maxcluster.net/magento/pub/ ~/mage-os.cluster.maxcluster.net/htdocs

Anschließend starten Sie bitte PHP über das maxcluster Managed Center – oder für automatisierte Deployments mit Cluster-Control – neu.

Sie können nun eine leere Magento-Installation im Browser sehen:


Abschließend installieren Sie bitte noch den Magento-Cronjob über diesen Befehl:

bin/magento cron:install


Optimierungen

Bitte beachten Sie: Die so installierte Magento-Instanz ist noch nicht für den Produktivbetrieb ausgelegt, daher sollte sie auf jeden Fall erst in den Produktmodus versetzt werden:

bin/magento deploy:mode:set production

Anschließend müssen die statischen Dateien neu erzeugt werden:

rm -rf pub/static/adminhtml/ rm -rf pub/static/frontend/ bin/magento setup:static-content:deploy

Hinweis: Wenn nicht alle Daten in Echtzeit verfügbar sein müssen, kann der Magento-Indexer in den “Schedule”-Mode geschaltet werden. Dies ist auch für einzelne Indizes möglich. Mit dem folgenden Befehl werden alle Indexer entsprechend umgestellt:

bin/magento indexer:set-mode schedule

Wir empfehlen am Ende eines Deployments noch die Optimierung des Autoloaders, um die Ladezeit weiter zu optimieren.

composer2 dump-autoload -o --apcu


Über bin/magento lassen sich auch diverse Einstellungen für Magento setzen. Dies ist natürlich auch über das Magento-Backend möglich.

bin/magento config:set system/smtp/set_return_path 2 bin/magento config:set system/smtp/return_path_email support@musterfirma.de


Für eine produktive Umgebung empfehlen wir die folgenden Einstellungen zu setzen:

bin/magento config:set dev/js/minify_files 1 bin/magento config:set dev/css/minify_files 1 bin/magento config:set web/seo/use_rewrites 1


In einem nächsten Schritt empfehlen wir zusätzlich Varnish zu integrieren. Eine Anleitung zur Integration haben wir in unserem Blog dokumentiert.

Abschließend können Sie mit dem Tool ShopPerformance noch überprüfen, ob gegebenenfalls weitere Optimierungen möglich sind.


Wechsel zwischen Mage-OS und Magento 2

Es ist möglich, zwischen Mage-OS und Magento 2 zu wechseln. Hierzu genügt es, das Repository in der composer.json entsprechend anzupassen:

Für Magento 2:

'repositories': [ { 'type': 'composer', 'url': 'https://repo.magento.com/' } ],

Für den maxcluster Mage-OS-Mirror:

'repositories': [ { 'type': 'composer', 'url': 'https://mage-os.maxcluster.net/mirror/' } ],

Für den offiziellen Mage-OS-Mirror:

'repositories': [ { 'type': 'composer', 'url': 'https://mirror.mage-os.org/' } ],

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