OpenCart ist eine kostenlose Open-Source-E-Commerce-Software, die auf PHP und MySQL basiert. Mit OpenCart können Sie Ihren eigenen Online-Shop zu minimalen Kosten einrichten und betreiben. Die Software eignet sich für kleine und mittlere Online-Unternehmen, ist einfach zu installieren und es sind viele Add-Ons und Erweiterungen verfügbar. OpenCart enthält Übersetzungen für zahlreiche Sprachen und unterstützt mehrere Währungen.
Dieses Tutorial behandelt die OpenCart-Installation mit Nginx, PHP-fpm und MariaDB unter Ubuntu 15.10.
Voraussetzung
- Ubuntu 15.10 – 64 Bit
- Root-Berechtigungen
Schritt 1 – Nginx installieren
Wir werden nginx als Webserver verwenden, es ist ein leichtgewichtiger Webserver, der schnell ist und einen geringen Speicherbedarf hat. Installieren Sie nginx mit dem apt-Befehl aus den Ubuntu-Repositories:
sudo apt-get install nginx
Überprüfen Sie nun Nginx mit curl oder indem Sie Ihre Server-IP mit dem Browser wie Firefox usw. besuchen.
curl -I 192.168.1.101
Sie sollten die Ubuntu-Standardseite sehen.
Schritt 2 – PHP-FPM installieren und konfigurieren
In diesem Schritt werde ich als php-fpm-Version installieren, php-fpm (FastCGI Process Manager) ist eine moderne Alternative für den klassischen PHP-FastCGI-Modus. Wir werden php-fpm mit einigen PHP-Modulen installieren, die von OpenCart benötigt werden.
- php-mysql
- php-gd
- php-curl
- php-mcrypt
Installieren Sie PHP-FPM und die PHP-Erweiterung mit dem folgenden apt-Befehl:
sudo apt-get install php5 php5-fpm php5-mysql php5-curl php5-gd php5-mcrypt
Wenn die Pakete installiert sind, gehen Sie in das php-fpm-Konfigurationsverzeichnis und bearbeiten Sie die 'php.ini ' Datei mit vim.
cd /etc/php5/fpm
vim php.ini
Entkommentieren Sie Zeile 773 und ändern Sie den Wert auf '0' :
cgi.fix_pathinfo=0
Speichern Sie die Datei und beenden Sie sie.
Jetzt müssen wir das mcrypt-Modul aktivieren, das von OpenCart benötigt wird. Gehen Sie in das Verzeichnis php-fpm conf.d und erstellen Sie einen Symlink für die .ini-Datei.
cd /etc/php5/fpm/conf.d/
ln -s ../../mods-available/mcrypt.ini mcrypt.ini
Das mcrypt-Modul ist aktiviert, starten Sie nun php-fpm und nginx neu, um die Änderungen zu übernehmen:
systemctl nginx neu starten
systemctl php5-fpm neu starten
Jetzt sollten wir überprüfen, ob php-fpm und Nginx korrekt funktionieren. Bearbeiten Sie die Standardkonfiguration des virtuellen Hosts von nginx, um den php-Speicherort zu aktivieren, und erstellen Sie eine phpinfo-Datei im Web-Root-Verzeichnis.
cd /etc/nginx/sites-available/
vim default
Entkommentieren Sie die php-fpm-Direktive:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # Nur mit php5-cgi:
# fastcgi_pass 127.0.0.1:9000;
# # Mit php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
Speichern Sie die Datei und beenden Sie sie.
Gehen Sie in das Verzeichnis „/var/www/html/“ und fügen Sie eine phpinfo-Datei hinzu.
cd /var/www/html/
echo ""> info.php
Besuchen Sie die Server-IP (in meinem Fall IP 192.168.1.103):http://
http:// 192.168.1.103/info.php.
Nginx und PHP-FPM sind richtig konfiguriert.
Schritt 3 – MariaDB installieren und konfigurieren
MariaDB ist ein Fork des MySQL-Datenbankservers. Ich bevorzuge MariaDB gegenüber MySQL, aber es liegt an Ihnen, welchen Datenbankserver Sie in diesem Schritt verwenden. Installieren Sie MariaDB mit dem apt-Befehl:
sudo apt-get install mariadb-server mariadb-client
Konfigurieren Sie dann das MariaDB/MySQL-Root-Passwort mit der 'mysql_secure_installation ' Befehl:
mysql_secure_installation
Root-Passwort setzen? [Y/n] Y
Anonyme Benutzer entfernen? [Y/n] Y
Root-Anmeldung aus der Ferne nicht zulassen? [Y/n] Y
Testdatenbank und Zugriff darauf entfernen? [Y/n] Y
Berechtigungstabellen jetzt neu laden? [J/n] Ja
Der MariaDB-Root-Benutzer und das Passwort wurden eingerichtet. Jetzt müssen wir eine neue Datenbank und einen neuen Benutzer für unsere OpenCart-Installation erstellen. Melden Sie sich bei der mysql/mariadb-Shell an, um alles zu erstellen.
Melden Sie sich bei der MySQL/MariaDB-Shell an, um die Datenbank und den Benutzer zu erstellen.
mysql -u root -p
GEBEN SIE IHR PASSWORT EIN
erstellen Sie die Datenbank opencartdb;
erstellen Sie den Benutzer [email protected], identifiziert durch '[email protected]';
gewähre [email protected], identifiziert durch '[email protected]', alle Privilegien auf opencartdb.*;
leere Privilegien;
Die MySQL-Datenbank wird erstellt, wir haben eine neue Datenbank namens „opencartdb“ und einen Benutzer mit dem Namen „opencartuser“ und dem Passwort „[email protected]“. Diese Angaben benötigen wir später für die OpenCart-Installation. Bitte verwenden Sie ein sichereres Passwort für Ihre Installation.
Schritt 4 – SSL installieren
Stellen Sie sicher, dass OpenSSL auf Ihrem Server installiert ist.
sudo apt-get install openssl
Erstellen Sie ein neues Verzeichnis für das SSL-Zertifikat und generieren Sie das Zertifikat mit OpenSSL.
mkdir -p /etc/nginx/ssl
cd /etc/nginx/ssl
Generieren Sie das Zertifikat und die Schlüsseldatei:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/opencart.key -out /etc/nginx/ssl/opencart.crt
Ändern Sie die Berechtigung des privaten Schlüssels auf 600:
chmod 600 opencart.key
Die Installation des SSL-Zertifikats ist abgeschlossen.
Schritt 5 – Konfigurieren Sie den VirtualHost für OpenCart
Erstellen Sie eine neue virtuelle Host-Konfigurationsdatei für OpenCart im Verzeichnis „sites-available“ von Nginx. Gehen Sie in das Nginx-Verzeichnis virtualhost und erstellen Sie eine neue Konfiguration mit vim:
cd /etc/nginx/sites-available/
vim opencart
Fügen Sie die Konfiguration unten ein:
Server {
Servername www.myopencart.co; ## Ihre Domain
root /var/www/opencart/upload; ## Web Root Directory
index index.php index.html;
listen 80;
listen [::]:80;
listen 443 default ssl;
ssl_certificate /etc/nginx/ssl/opencart.crt;
ssl_certificate_key /etc/nginx/ssl/opencart.key;
# HTTP auf HTTPS umleiten
if ($scheme =http) {
return 301 https://$server_name$request_uri;
}
access_log /var/log/nginx/myopencart_access.log;
location /image/data {
autoindex on;
}
location /admin {
index index.php;
}
location / {
try_files $uri @opencart;
}
location @opencart {
rewrite ^/(.+)$ /index.php?_route_=$1 last;
}
# Stellen Sie sicher, dass Dateien mit den folgenden Erweiterungen nicht von nginx geladen werden, da nginx den Quellcode anzeigen würde und diese Dateien PASSWÖRTER enthalten können!
location ~* \ .(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Einträge.* |Repository|Root|Tag|Template)$|\.php_ {
alle verweigern;
}
# Alle Zugriffsversuche auf versteckte Dateien wie .htaccess, .htpasswd, .DS_Store ( Mac).
Standort ~ /\. {
alle verweigern;
access_log off;
log_not_found off;
}
location ~* \.(jpg|jpeg|png|gif|css|js|ico )$ {
läuft maximal ab;
log_not_found off;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}Ersetzen Sie den Domänennamen in der Zeile server_name durch Ihren eigenen Domänennamen.
Speichern Sie die Datei und beenden Sie sie.
Aktivieren Sie den neuen virtuellen Host mit einem Symlink zur Datei „opencart“ im Verzeichnis „sites-enabled“ und überprüfen Sie die Nginx-Konfigurationssyntax mit dem Befehl „nginx -t“.
ln -s /etc/nginx/sites-available/opencart /etc/nginx/sites-enabled/
nginx -t
Schritt 6 – OpenCart installieren und konfigurieren
Wir verwenden das Verzeichnis ‚/var/www/‘ für die OpenCart-Installation. Gehen Sie in das Verzeichnis „/var/www/“, laden Sie OpenCart herunter und extrahieren Sie das heruntergeladene .zip-Archiv.
Sie können opencart hier herunterladen:http://www.opencart.com/?route=download/download.
cd /var/www/
opencart-2.1.0.1.zip entpackenBenennen Sie das Verzeichnis in opencart um und wechseln Sie dann in das Upload-Verzeichnis.
mv opencart-opencart-2.1.0.1/ opencart/
cd opencart/upload/Kopieren Sie die config-dist-Dateien in das Upload- und Admin-Verzeichnis:
cp config-dist.php config.php
cp admin/config-dist.php admin/config.phpWechseln Sie zurück zum Verzeichnis „/var/www/“ und ändern Sie den Eigentümer der OpenCart-Dateien und -Verzeichnisse in den Benutzer „www-data '.
cd /var/www/
chown -R www-data:www-data opencart/Hinweis :Wir führen nginx als www-data-Benutzer und -Gruppe aus. Wenn Sie nginx als Ihren eigenen Benutzer oder Benutzer Nginx ausführen, ändern Sie den Eigentümer in Ihren eigenen Namen und Ihre eigene Gruppe.
Starten Sie nginx und php-fpm neu, um sicherzustellen, dass die von uns eingerichtete Konfiguration fehlerfrei ist:
systemctl nginx neu starten
systemctl php5-fpm neu startenÖffnen Sie nun Ihren Webbrowser und geben Sie Ihre Opencart-Domain in die Adressleiste ein, mein Domainname in diesem Beispiel lautet: www.myopencart.co .
Das Installationsprogramm zeigt Ihnen die "Lizenzvereinbarung " Lesen Sie es und klicken Sie auf "Weiter ".
Der Installer überprüft nun Ihr Server-Setup, vergewissern Sie sich, dass alle Statusfelder "Grün sind " und klicken Sie dann auf "Weiter ".
Das Installationsprogramm zeigt die Konfiguration der Datenbank und des Administratorkontos an. Geben Sie die Datenbankdetails der Datenbank ein, die wir zuvor erstellt haben, und wählen Sie einen Admin-Benutzernamen und ein Passwort, und klicken Sie dann auf „Weiter ".
Die OpenCart-Installation ist abgeschlossen. Sie können Ihre Webshop-Domain (in meinem Fall www.myopencart.co) besuchen und sich beim OpenCart-Backend anmelden.
Vergessen Sie nicht, das Installationsverzeichnis auf dem Server zu löschen .
cd /var/www/opencart/upload/
rm -rf install/Opencart mit Nginx und php-fpm ist installiert und funktioniert
Schlussfolgerung
Opencart ist eine in PHP geschriebene webbasierte Anwendung zum Erstellen von Online-Shops. Es eignet sich für kleine und mittelgroße Online-Shops. Opencart kann mit Apache- oder Nginx-Webservern (mit php-fpm) installiert werden. In diesem Tutorial wurde die OpenCart-Installation mit nginx-, php-fpm- und MariaDB-Datenbank (eine Abzweigung von MySQL) behandelt. Der Installationsprozess ist einfach, Sie müssen nur sicherstellen, dass Ihr Server für OpenCart bereit ist, wie wir es im ersten Kapitel dieses Tutorials getan haben.