So installieren und konfigurieren Sie Magento unter Ubuntu 14.04

Einführung

Magento ist das beliebteste Content-Management-System für E-Commerce-Websites. Es wird von kleinen und großen Unternehmen gleichermaßen verwendet und kann durch Tausende von Erweiterungen und Themen erweitert werden. Magento verwendet das MySQL-Datenbanksystem, die PHP-Programmiersprache und Teile des Zend Framework.

In diesem Tutorial erfahren Sie, wie Sie Magento mit einem Apache-Webserver unter Ubuntu 14.04 installieren, einschließlich einiger gängiger Leistungs- und Sicherheitskonfigurationen.

Voraussetzungen

Bevor Sie mit diesem Handbuch beginnen, müssen zunächst einige Schritte ausgeführt werden.

Aufgrund der Anforderungen für die Verarbeitung von Magento-Vorgängen wird empfohlen, Magento auf einem VPS mit mindestens 2 GB RAM zu installieren. Dadurch wird sichergestellt, dass die gesamte Software, die für die Verwaltung des Geschäfts erforderlich ist, über ausreichend Arbeitsspeicher verfügt.

Sie benötigen Zugriff auf einen Benutzer ohne Rootberechtigung, der über die Berechtigungen vonsudoverfügt. Wenn Sie dies noch nicht getan haben, können Sie dieUbuntu 14.04 initial server setup guide durchlaufen, um dieses Konto zu erstellen.

Außerdem muss auf Ihrer VPS-Instanz ein LAMP-Stack (Linux, Apache, MySQL und PHP) installiert sein. Wenn Sie diese Komponenten noch nicht installiert und konfiguriert haben, können Sie in diesem Handbuchhow to install LAMP on Ubuntu 14.04 lernen.

Wenn Sie mit diesen Schritten fertig sind, können Sie sich als Nicht-Root-Benutzer mit Ihrem Ubuntu-Server verbinden und mit Ihrer Magento-Installation fortfahren.

[[Schritt-1 - Konfigurieren von Apache und PHP]] == Schritt 1 - Konfigurieren von Apache und PHP

Bevor wir Magento herunterladen und installieren, müssen Apache und PHP so konfiguriert werden, dass sie die Verkehrs- und Computeraufgaben von Magento ordnungsgemäß ausführen. Außerdem müssen einige zusätzliche Module installiert und aktiviert werden.

Apache Virtual Host

Zuerst müssen wir eine virtuelle Hostdatei konfigurieren, damit Apache weiß, wie unsere Magento-Site richtig verwaltet wird. Mit unserem Texteditor können wir eine neue virtuelle Hostdatei in/etc/apache2/sites-available/ erstellen. In diesem Beispiel heißt der virtuelle Hostmagento, Sie können ihn jedoch auch anders benennen, wenn Sie dies bevorzugen.

sudo nano /etc/apache2/sites-available/magento.conf

Die Anforderungen an den virtuellen Host von Magento sind recht einfach. Beginnen Sie mit einem<VirtualHost>-Tag, das den gesamten Datenverkehr von Port 80, dem Standard-HTTP-Port, überwacht. Fügen Sie dann eine Zeile hinzu, die Apache mit der AnweisungDocumentRootmitteilt, wo sich die Dateien Ihrer Site befinden:


    DocumentRoot /var/www/html

Wir müssen einige zusätzliche Parameter hinzufügen, damit Magento richtig funktioniert. Innerhalb eines<Directory>-Tags, das auf unser Dokumentstammverzeichnis verweist, geben wir die Optionen für die Verzeichnisindizierung, Symlink-Unterstützung und mehrsprachige Unterstützung von Apache ein. Wir werden auch eine Zeile hinzufügen, in der.htaccess-Dateien die Apache-Einstellungen überschreiben können, um eine genauere Steuerung einzelner Ordner zu ermöglichen.

. . .
    
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
    
. . .

Wenn alle diese Komponenten vorhanden sind, sieht Ihre virtuelle Hostdatei folgendermaßen aus:


    DocumentRoot /var/www/html
    
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
    

Wenn Sie mit dem Schreiben des Serverblocks fertig sind, speichern und schließen Sie die Datei. Verwenden Sie den Befehla2ensite, um die neue Site mit Apache zu aktivieren:

sudo a2ensite magento.conf

Wir möchten auch den mit Apache gelieferten virtuellen Standardhost deaktivieren, da er mit unserem neuen virtuellen Host in Konflikt steht. Verwenden Sie den Befehla2dissite, um eine Site mit Apache zu deaktivieren:

sudo a2dissite 000-default.conf

PHP-Einstellungen

Als nächstes müssen wir ändern, wie viel Speicher Apache PHP-Prozessen gewährt. Magento verwendet PHP für fast alles, was es tut, und benötigt eine angemessene Menge an Speicher für komplexe Vorgänge wie das Indizieren von Produkten und Kategorien. Standardmäßig weist PHP jedem Skript, das unter Apache ausgeführt wird, maximal 128 MB Speicher zu. Wir sollten dieses Limit auf einen vernünftigen Betrag beschränken, um sicherzustellen, dass keinem der Magento-Skripte der Speicher ausgeht, wodurch das Skript abstürzen würde.

Öffnen Sie die PHP-Konfigurationsdatei von Apache mit Ihrem Texteditor und Ihren Root-Rechten:

sudo nano /etc/php5/apache2/php.ini

Suchen Sie die folgende Zeile, die das Speicherlimit pro PHP-Skript angibt:

memory_limit = 128M

Ändern Sie diese Zeile so, dass das Limit auf 512 MB angehoben wird. Der Speicherbedarf Ihres Geschäfts kann je nach Anzahl der Produkte in Ihrem Katalog und der Anzahl der Besucher, die Sie täglich erhalten, höher sein. Einige größere Geschäfte müssen ihr Speicherlimit auf 2 GB oder mehr festlegen, 512 MB sollten jedoch vorerst ausreichen.

memory_limit = 512M

Note: Verwenden Sie am Ende der Speichernummer unbedingt „M“.

Wenn Sie mit der Änderung fertig sind, speichern und schließen Sie die Datei. Beim nächsten Neustart von Apache wird die Änderung des Speicherlimits wirksam.

Magento benötigt zusätzlich zu den PHP-Modulen einige PHP-Module. Wir können diese direkt von Ubuntus Standard-Repositorys beziehen, nachdem wir unseren lokalen Paketindex aktualisiert haben:

sudo apt-get update
sudo apt-get install libcurl3 php5-curl php5-gd php5-mcrypt

Mit diesen Erweiterungen kann Magento HTTP-Anforderungen, Miniaturansichten von Bildern und Datenverschlüsselung ordnungsgemäß verarbeiten. Nachdem wir alle benötigten Pakete haben, können wir die URL-Umschreibungsunterstützung für Apache und die Verschlüsselungsunterstützung für PHP aktivieren:

sudo a2enmod rewrite
sudo php5enmod mcrypt

Nachdem alle diese Konfigurations- und Erweiterungsänderungen vorgenommen wurden, muss die Apache-Serverinstanz neu gestartet werden, damit die Änderungen übernommen werden:

sudo service apache2 restart

[[Schritt-2 - Erstellen einer MySQL-Datenbank und eines Benutzers]] == Schritt 2 - Erstellen einer MySQL-Datenbank und eines Benutzers

Magento verwendet eine MySQL-Datenbank, um Site-Daten wie Produkt- und Bestellinformationen zu verwalten. Wir haben MySQL installiert und konfiguriert, aber wir müssen eine Datenbank und einen Benutzer erstellen, damit Magento damit arbeiten kann.

Beginnen Sie mit der Anmeldung beim MySQL-Root-Konto:

mysql -u root -p

Sie werden aufgefordert, das Root-Passwort für MySQL einzugeben, das Sie bei der Installation von MySQL festgelegt haben. Sobald Sie das richtige Passwort eingegeben haben, erhalten Sie eine MySQL-Eingabeaufforderung.

Zunächst erstellen wir eine Datenbank, in die Magento Daten schreiben kann. In diesem Beispiel heißt die Datenbankmagento, Sie können sie jedoch beliebig benennen.

CREATE DATABASE magento;

Note: Jede MySQL-Anweisung muss mit einem Semikolon (;) enden. Stellen Sie daher sicher, dass Sie dies eingeschlossen haben, wenn Sie auf Probleme stoßen.

Als Nächstes erstellen wir ein neues MySQL-Benutzerkonto, das ausschließlich für die Bearbeitung der neuen Datenbank verwendet wird. Das Erstellen von Datenbanken und Konten mit nur einer Funktion ist eine gute Idee, da damit Berechtigungen und andere Sicherheitsanforderungen besser kontrolliert werden können.

Ich werde das neue Kontomagento_user aufrufen und ihm ein Passwort vonpassword zuweisen. Sie sollten auf jeden Fall einen anderen Benutzernamen und ein anderes Passwort verwenden, da diese Beispiele nicht sehr sicher sind.

CREATE USER magento_user@localhost IDENTIFIED BY 'password';

Zu diesem Zeitpunkt verfügen Sie über eine Datenbank und ein Benutzerkonto, die jeweils speziell für Magento erstellt wurden. Der Benutzer hat jedoch keine Zugriffsrechte auf die Datenbank. Wir müssen die beiden Komponenten miteinander verbinden, indem wir unseren Benutzern Zugriffsrechte auf die Datenbank gewähren:

GRANT ALL PRIVILEGES ON magento.* TO magento_user@localhost IDENTIFIED BY 'password';

Nachdem der Benutzer Zugriff auf die Datenbank hat, müssen wir die Berechtigungen löschen, damit MySQL über die letzten von uns vorgenommenen Berechtigungsänderungen informiert wird. Sobald dies erledigt ist, können wir die MySQL-Eingabeaufforderung verlassen.

FLUSH PRIVILEGES;
exit

Sie sollten nun zu Ihrer normalen SSH-Eingabeaufforderung zurückkehren.

[[Schritt-3 -—- Magento-Dateien herunterladen und einrichten]] == Schritt 3 - Magento-Dateien herunterladen und einrichten

Wir können jetzt Magento herunterladen und installieren. Um zu sehen, was die neueste stabile Version der Magento Community Edition ist, gehen Sie zucommunity download page. In diesem Beispiel war die aktuelle Versionsnummer 1.9.0.1. Sie sollten diese Nummer jedoch durch die neueste Version ersetzen, die Ihnen zur Verfügung steht. Es wird immer empfohlen, die neueste Version von Magento zu verwenden, da neue Versionen neben neuen und verbesserten Funktionen häufig wichtige Sicherheitsupdates enthalten.

Verwenden Siewget, um das Magento-Dateiarchiv in Ihr Home-Verzeichnis herunterzuladen:

cd ~
wget http://www.magentocommerce.com/downloads/assets/1.9.0.1/magento-1.9.0.1.tar.gz

Wir können die archivierten Dateien extrahieren, um das Magento-Verzeichnis mittar neu zu erstellen:

tar xzvf magento-1.9.0.1.tar.gz

Sie haben jetzt ein Verzeichnis namensmagento in Ihrem Home-Verzeichnis. Wir müssen die entpackten Dateien in das Dokumentenstammverzeichnis von Apache verschieben, wo sie den Besuchern unserer Website zur Verfügung gestellt werden können. Wir werdenrsync verwenden, um unsere Magento-Dateien dorthin zu übertragen, darsync wichtige versteckte Dateien wie.htaccess enthalten wird. Sobald die Übertragung abgeschlossen ist, können wir unser Home-Verzeichnis bereinigen, indem wir den Ordnermagentolöschen und dort archivieren.

sudo rsync -avP ~/magento/. /var/www/html/
rm -rf ~/magento*

rsync kopiert sicher den gesamten Inhalt aus dem Verzeichnis, das Sie bei/var/www/html/ in das Dokumentstammverzeichnis entpackt haben. Jetzt müssen wir den Benutzern und Gruppen von Apache den Besitz der Dateien und Ordner zuweisen:

sudo chown -R www-data:www-data /var/www/html/

Diese Änderung ermöglicht es Apache, Magento-Dateien zu erstellen und zu ändern. Jetzt können wir den Installationsvorgang über die browserbasierte Konfigurationsoberfläche von Magento abschließen.

[[Schritt 4 - Abschluss der Installation über das Webinterface]] == Schritt 4 - Abschluss der Installation über das Webinterface

Um mit Ihrem Browser auf die Weboberfläche zuzugreifen, navigieren Sie zum Domänennamen oder zur öffentlichen IP-Adresse Ihres Servers:

http://server_domain_name_or_IP/

Wenn die vorherigen Schritte korrekt ausgeführt wurden, wird der Magento-Installationsassistent angezeigt. Auf der ersten Seite wird die Lizenzvereinbarung angezeigt, der Sie zustimmen müssen, bevor SieContinue erreichen können.

Magento Installation Wizard

Auf der nächsten Seite können Sie Ihre Ländereinstellungen wie Sprache, Zeitzone und Währung ändern. Ändern Sie diese in die Einstellungen, die für den Verkaufsort Ihrer Produkte am besten geeignet sind, und drücken Sie dannContinue.

Magento Localization Settings

Die Konfigurationsseite ist in drei Abschnitte unterteilt. Im ersten Abschnitt können Sie festlegen, wie sich Magento mit seiner MySQL-Datenbank verbindet. Stellen Sie sicher, dassDatabase Type auf "MySQL" undHost auf "localhost" gesetzt ist. Anschließend müssen SieDatabase Name,User Name undUser Password mit den Einstellungen ausfüllen, die Sie beim Erstellen der MySQL-Datenbank und des Benutzerkontos zuvor festgelegt haben.

Magento Database Connection

Im nächsten Abschnitt auf der Konfigurationsseite können Sie die URL Ihres Shops sowie einige andere von Apache gesteuerte Funktionen konfigurieren. Stellen Sie sicher, dassBase URL mit dem Domainnamen Ihres Servers übereinstimmt. Wenn Sie noch keinen Domainnamen eingerichtet haben, können Sie vorerst die öffentliche IP-Adresse Ihres Servers verwenden. Es ist eine gute Idee, dieAdmin Pathin etwas weniger Offensichtliches als "admin" zu ändern, um es jemandem zu erschweren, Ihr Admin-Panel zu finden. Sie sollten auchUse Web Server (Apache) Rewrites überprüfen, um die URLs Ihrer Website für Benutzer und Suchmaschinen benutzerfreundlicher zu gestalten. Das zur Unterstützung dieser Funktionalität benötigte Apache-Modulmod_rewrite wurde bereits aktiviert und ist einsatzbereit.

Magento Web Access Options

Der letzte Teil der Konfigurationsseite dient zur Auswahl der Methode zur Speicherung der Sitzungsdaten. Magento wird mit zwei Methoden zum Speichern von Benutzersitzungsdaten ausgeliefert. Die MethodeFile Systempeichert Sitzungen in Dateien auf dem Server und ist die einfachste Methode, mit der Sie beginnen können. Die MethodeDatabase speichert Sitzungen als Einträge in der MySQL-Datenbank und ist ideal für Magento-Installationen, die sich über mehrere Server erstrecken. Im Moment können wir uns an die MethodeFile Systemhalten, da sie im Allgemeinen sofort eine bessere Leistung erbringt.

Magento Session Storage Options

Nachdem Sie Ihre Konfigurationsoptionen ausgewählt undContinue gedrückt haben, gelangen Sie zur Seite zur Erstellung des Administratorkontos. Hier erstellen Sie das Administratorkonto, das für die Verwaltung des Magento-Stores zuständig ist. Stellen Sie sicher, dass Benutzername und Passwort sicher und schwer zu erraten sind. Das FeldEncryption Key sollte leer bleiben, es sei denn, Sie migrieren Daten von einer vorhandenen Magento-Installation. Wenn Sie das Feld leer lassen, generiert Magento einen neuen Verschlüsselungsschlüssel, wenn Sie aufContinue klicken, und zeigt ihn auf der nächsten Seite für Sie an. Stellen Sie sicher, dass Sie diesen Verschlüsselungsschlüssel an einem sicheren Ort speichern, falls Sie ihn später für Migrationszwecke benötigen.

Magento Admin Account

Sobald Sie die webbasierte Konfiguration abgeschlossen haben, ist Ihre Magento-Installation einsatzbereit. Überprüfen Sie Ihre neue Storefront, indem Sie den Domain-Namen oder die öffentliche IP-Adresse Ihres Servers in Ihrem Webbrowser aufrufen:

http://server_domain_name_or_IP/

Wenn alles richtig konfiguriert wurde, sollte eine Storefront angezeigt werden, die ungefähr so ​​aussieht:

Magento Storefront

Sie können Ihre neue Admin-Site auch besuchen, indem Sie in das zuvor festgelegte Admin-Verzeichnis wechseln:

http://server_domain_name_or_IP/admin/

Melden Sie sich mit Ihrem Administrator-Benutzernamen und Ihrem Kennwort an, um Ihr neues Dashboard anzuzeigen:

Magento Admin Dashboard

Fazit

Nachdem Sie Ihren Magento-Store eingerichtet und in Betrieb genommen haben, können Sie mit der Erstellung Ihres Projektkatalogs beginnen und mit dem Verkauf beginnen!

Ein wichtiger nächster Schritt, um Ihren Site-Verkehr mit einem SSL-Zertifikat zu verschlüsseln. Hier ist eine Anleitung, die Ihnen den Einstieg erleichtert:How To Install an SSL Certificate from a Commercial Certificate Authority.