Magento-Hosting auf nginx

Magento

Magento ist eine weitverbreitete Onlineshopsoftware, die unter einer Open-Source-Lizenz (Open Software License) veröffentlicht wird. Magento bietet Händlern vollständige Flexibilität und Kontrolle über Aussehen, Inhalt und Funktionalität ihres Online-Shops. Magentos Marketing-, Suchmaschinen-Optimierungs- und Katalog-Management-Tools geben Händlern die Möglichkeit, E-Commerce-Seiten zu erstellen, die auf ihre individuellen Geschäftsanforderungen zugeschnitten sind.

Magento ist in drei Versionen verfügbar, der kostenlosen Community Edition, der kostenpflichtigen Professional Edition und der ebenfalls kostenpflichtigen Enterprise Edition. Der Core ist bei allen Versionen identisch; Unterschiede gibt es vor allem bei der Gewährleistung, dem Support und den integrierten Funktionen.

 

Zu unseren Magento-Hosting-Angeboten >

 

Für das Magento-Hosting unter nginx wird die folgende Konfiguration benötigt - die Konfiguration übernehmen wir natürlich für unsere Kunden (die Konfiguration ist der Anleitung Running Magento 1.6.0.0 On Nginx (LEMP) on Debian Squeeze/Ubuntu 11.04 entnommen, die Falko Timme auf HowtoForge veröffentlicht hat):

    location / {
        index index.html index.php; ## Allow a static html file to be shown first
        try_files $uri $uri/ @handler; ## If missing pass the URI to Magento's front handler
        expires 30d; ## Assume all files are cachable
    }

    ## These locations would be hidden by .htaccess normally
    location /app/                { deny all; }
    location /includes/           { deny all; }
    location /lib/                { deny all; }
    location /media/downloadable/ { deny all; }
    location /pkginfo/            { deny all; }
    location /report/config.xml   { deny all; }
    location /var/                { deny all; }

    location /var/export/ { ## Allow admins only to view export folder
        auth_basic           "Restricted"; ## Message shown in login window
        auth_basic_user_file /var/www/www.example.com/.htpasswd; ## See /etc/nginx/htpassword
        autoindex            on;
    }

    ## Disable .htaccess and other hidden files
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

    location @handler { ## Magento uses a common front handler
        rewrite / /index.php;
    }

    location ~ \.php/ { ## Forward paths like /js/index.php/x.js to relevant handler
        rewrite ^(.*\.php)/ $1 last;
    }

    location ~ \.php$ { ## Execute PHP scripts
        if (!-e $request_filename) { rewrite / /index.php last; } ## Catch 404s that try_files miss

        expires        off; ## Do not cache dynamic content
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_param  HTTPS $fastcgi_https;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  MAGE_RUN_CODE default; ## Store code is defined in administration > Configuration > Manage Stores
        fastcgi_param  MAGE_RUN_TYPE store;
        include        fastcgi_params; ## See /etc/nginx/fastcgi_params
    }

Damit sind auch schon die Rewrite Rules abgedeckt, die für Real URLs notwendig sind. Die Variable $fastcgi_https, die im location ~ \.php$ {} Block benutzt wird, muß vorher im http {} Block des nginx gesetzt werden (über diese Variable wird Magento mitgeteilt, ob es über http oder https aufgerufen wird):

        ## Detect when HTTPS is used
        map $scheme $fastcgi_https {
          default off;
          https on;
        }

Da das /var/export-Verzeichnis über einen Passwortschutz verfügen soll, muß schließlich noch die entsprechende Passwort-Datei erzeugt werden (der Pfad muß natürlich an das Document Root der Webseite angepasst werden):

htpasswd -c /var/www/www.example.com/.htpasswd admin1

Danach kann Magento ganz einfach über den webbasierten Installer installiert werden, wie es in dem Tutorial von Falko Timme weiter beschrieben ist.

  • Die Magento-Installation übernehmen wir auf Wunsch auch gerne für Sie; wenn Sie eine bestehende Magento-Seite haben, ziehen wir diese kostenlos für Sie von Ihrem alten Hoster zu Timme Hosting um.
  • Unsere Magento-Demo-Seite vermittelt einen Eindruck davon, wie schnell Magento unter nginx läuft.

 

Zu unseren Magento-Hosting-Angeboten >

Nach oben