Magento 2 installieren (Stand: 0.1.0-alpha101)

Magento 2 in Version 0.1.0-alpha101 bei Github.

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:
      Der Web-Installer von Magento 2 0.1.0-alpha101.

  • 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 Zeile

    Installed 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.

5 Antworten

  1. Micha sagt:

    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!

      • Tino sagt:

        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

  1. 31.10.2014

    […] Eine gute Installationsanleitung für die aktuelle Magento 2 alpha Version findet Ihr übrigens hier: http://www.matthias-zeis.com/archiv/magento-2-installieren-stand-0-1-0-alpha101 […]