Micha fragte in den Magento-Neuigkeiten der Wochen 41/42 2014:
Hallo Matthias,
da ich jedes Mal deiner News “Magento 2″ lese, würde ich mir das gerne näher ansehen.
Leider finde ich keinen Installations-Guide oder ähnliches dazu – kannst du mir ein Tipp für die ersten Schritte geben?Danke und Gruß ins Alpenland,
Micha
Das ist tatsächlich eine gute Frage. Nicht zuletzt, weil die Installation über den Browser sich gerade im Umbruch befindet und deswegen nicht funktioniert. Stattdessen muss man den Weg über die Shell gehen. Hier eine Anleitung, die explizit nur für alpha101 gilt – denn momentan können sich die nötigen Schritte jede Woche ändern.
Update 28.10.2014: wie Tino in den Kommentaren erwähnt funktioniert das Setup, wenn man „composer install“ nicht nur im Setup-Verzeichnis sondern auch im DocumentRoot-Verzeichnis ausführt. Danke für den Hinweis!
Installation von Magento 2 0.1.0-alpha101
Was benötigt man? Neben den logischen Voraussetzungen (PHP 5.4, MySQL):
- SSH-Zugang
- Git
- Composer
Damit ausgerüstet kann es auch schon losgehen:
- Zuerst legt man sich eine Datenbank und einen Virtual-Host-Eintrag für die Domain an. Beides lasse ich an dieser Stelle aus, weil man dazu schon viele ausgezeichnete Ressourcen im Web findet. Meine Beispiel-Datenbank heißt master_dev_mz und meine Beispiel-Domain mz.master.vm-mz.matthias-zeis.com. Die Domain zeigt auf das DocumentRoot-Verzeichnis htdocs.
- Nun klont man sich den Code in das DocumentRoot-Verzeichnis.
git clone https://github.com/magento/magento2 htdocs/
Das dauert beim ersten Mal je nach Verbindung und Verfügbarkeit von Github eine Weile, weil das Code-Repository schon um die 125 MB groß ist. Wenn man sich Magento 2 häufiger installieren möchte hebt man sich das Repository am besten auf und aktualisiert es nur bei Bedarf.
Ist der Download fertig, dann sieht man einen Output wie diesen:Cloning into 'htdocs'... remote: Counting objects: 267282, done. remote: Compressing objects: 100% (1641/1641), done. remote: Total 267282 (delta 581), reused 1348 (delta 374) Receiving objects: 100% (267282/267282), 125.04 MiB | 312.00 KiB/s, done. Resolving deltas: 100% (141514/141514), done. Checking connectivity... done.
- Danach wechselt man in das htdocs-Verzeichnis und lädt über Composer die benötigten 3rd-Party-Komponenten nach:
cd htdocs/ composer install
Nun werden externe Bibliotheken heruntergeladen. Beim ersten Download kann auch das ein wenig Zeit benötigen, doch Composer lädt die Bibliotheken zukünftig aus dem Cache. Die Ausgabe sieht so aus:
Loading composer repositories with package information Installing dependencies (including require-dev) - Installing zendframework/zend-stdlib (2.0.3) Loading from cache - Installing sebastian/version (1.0.3) Loading from cache - Installing sebastian/exporter (1.0.2) Loading from cache - Installing sebastian/environment (1.2.0) Loading from cache - Installing sebastian/diff (1.2.0) Loading from cache - Installing sebastian/comparator (1.0.1) Loading from cache - Installing doctrine/instantiator (1.0.4) Loading from cache - Installing phpunit/php-text-template (1.2.0) Loading from cache - Installing phpunit/phpunit-mock-objects (2.3.0) Loading from cache - Installing phpunit/php-timer (1.0.5) Loading from cache - Installing phpunit/php-file-iterator (1.3.4) Loading from cache - Installing phpunit/php-token-stream (1.3.0) Loading from cache - Installing phpunit/php-code-coverage (2.0.11) Loading from cache - Installing phpunit/phpunit (4.1.0) Loading from cache zendframework/zend-stdlib suggests installing pecl-weakref (Implementation of weak references for Stdlib\CallbackHandler) phpunit/phpunit suggests installing phpunit/php-invoker (~1.1) Writing lock file Generating autoload files
- Jetzt haben wir die Files und können uns an die eigentliche Installation machen.
Das kann entweder über das Web-Interface oder die Shell erledigt werden.- Für den Web-Installer wechselt man in das Unterverzeichnis setup/ und installiert die Abhängigkeiten per Composer:
cd setup/ composer install Loading composer repositories with package information Installing dependencies (including require-dev) - Installing zendframework/zendxml (1.0.0) Loading from cache - Installing zendframework/zendframework (2.3.1) Loading from cache - Installing symfony/process (v2.5.6) Loading from cache - Installing symfony/finder (v2.5.6) Loading from cache - Installing symfony/console (v2.5.6) Loading from cache - Installing seld/jsonlint (1.3.0) Loading from cache - Installing justinrainbow/json-schema (1.1.0) Loading from cache - Installing composer/composer (1.0.0-alpha8) Loading from cache - Installing sebastian/version (1.0.3) Loading from cache - Installing sebastian/exporter (1.0.2) Loading from cache - Installing sebastian/environment (1.2.0) Loading from cache - Installing sebastian/diff (1.2.0) Loading from cache - Installing sebastian/comparator (1.0.1) Loading from cache - Installing symfony/yaml (v2.5.6) Loading from cache - Installing phpunit/php-text-template (1.2.0) Loading from cache - Installing phpunit/phpunit-mock-objects (2.1.5) Loading from cache - Installing phpunit/php-timer (1.0.5) Loading from cache - Installing phpunit/php-file-iterator (1.3.4) Loading from cache - Installing phpunit/php-token-stream (1.3.0) Loading from cache - Installing phpunit/php-code-coverage (2.0.11) Loading from cache - Installing phpunit/phpunit (4.1.6) Loading from cache - Installing squizlabs/php_codesniffer (1.5.5) Loading from cache - Installing symfony/filesystem (v2.5.6) Loading from cache - Installing symfony/config (v2.5.6) Loading from cache - Installing symfony/dependency-injection (v2.5.6) Loading from cache - Installing pdepend/pdepend (2.0.3) Loading from cache - Installing phpmd/phpmd (1.4.1) Loading from cache zendframework/zendframework suggests installing doctrine/annotations (Doctrine Annotations >=1.0 for annotation features) zendframework/zendframework suggests installing ircmaxell/random-lib (Fallback random byte generator for Zend\Math\Rand if OpenSSL/Mcrypt extensions are unavailable) zendframework/zendframework suggests installing ocramius/proxy-manager (ProxyManager 0.5.* to handle lazy initialization of services) zendframework/zendframework suggests installing zendframework/zendpdf (ZendPdf for creating PDF representations of barcodes) zendframework/zendframework suggests installing zendframework/zendservice-recaptcha (ZendService\ReCaptcha for rendering ReCaptchas in Zend\Captcha and/or Zend\Form) symfony/console suggests installing symfony/event-dispatcher () symfony/console suggests installing psr/log (For using the console logger) phpunit/phpunit suggests installing phpunit/php-invoker (~1.1) symfony/dependency-injection suggests installing symfony/proxy-manager-bridge (Generate service proxies to lazy load them) Writing lock file Generating autoload files
Somit ist alles vorbereitet und man kann die URL aufrufen, um zum Web-Installer zu gelangen:
- Für den Web-Installer wechselt man in das Unterverzeichnis setup/ und installiert die Abhängigkeiten per Composer:
- Alternativ bleibt man im Verzeichnis htdocs/ und ruft das Shell-Skript auf. Hier der Beispielaufruf mit einer Shop-Konfiguration für Österreich (Währung und Zeitzone):
php -f dev/shell/install.php -- --license_agreement_accepted yes --locale en_US --timezone "Europe/Vienna" --default_currency EUR --db_host localhost --db_name master_dev_mz --db_user user --db_pass passwort --url "http://mz.master.vm-mz.matthias-zeis.com/" --use_rewrites no --use_secure_admin yes --admin_lastname Admin --admin_firstname Admin --admin_email "[email protected]" --admin_username admin --admin_password password123 --use_secure no --secure_base_url "http://mz.master.vm-mz.matthias-zeis.com/" --cleanup_database --skip_url_validation yes
Zumindest die Parameter
--db_name
--db_user
--db_pass
--url
--secure_base_url
müssen ersetzt werden.
Die Installation läuft jetzt ab und sollte nach kurzer Zeit die ZeileInstalled successfully (encryption key "b67999e6f8f8a5f062f8c07e19d9a08f")
ausspucken.
- Nun kann man das Shop-Frontend (z.B. http://mz.master.vm-mz.matthias-zeis.com/) oder -Backend (http://mz.master.vm-mz.matthias-zeis.com/backend/) aufrufen.
Hallo Matthias,
vielen lieben Dank für diesen tollen Beitrag als Antwort auf meine Anfrage. Ich bin begeistert & werde mir das mal in einer ruhigen Minute zur Gemüte führen. 🙂
Gruß,
Micha
Hallo Micha,
gern geschehen!
Hallo Mathias,
das neue Setup-Tool für Magento2 funktioniert aktuell sehr wohl.
Damit dies jedoch so ist, muss im „setup“-Ordner von Magento2 noch ein „composer install“ ausgeführt werden.
Habe es eben mit dem Build 0.1.0-alpha101 ausprobiert und es funktioniert problemlos. 🙂
Gruß
Tino
Hallo Tino,
danke für den Hinweis. Ich hatte „composer install“ im setup-Ordner ausgeführt, aber nicht im DocumentRoot. Der Artikel ist aktualisiert!
Matthias