OpenCartis je bezplatná a open source platforma PHP pro elektronické obchodování kombinující výkonné funkce s flexibilitou a uživatelsky přívětivým rozhraním.
Díky funkcím, jako je správa uživatelů, více obchodů, přidružení partneři, slevy, recenze produktů, vícejazyčné a vícenásobné platební brány, je OpenCart platformou, kterou volí mnoho online obchodníků.
V tomto tutoriálu vám ukážeme, jak nainstalovat OpenCart na server Ubuntu 18.04. Budeme používat Nginx jako webový server, nejnovější PHP 7.2 a MySQL/MariaDB jako databázový server.
Předpoklady #
Než budete pokračovat v tomto kurzu, ujistěte se, že jste splnili následující předpoklady:
- Mějte název domény odkazující na IP vašeho veřejného serveru. Použijeme
example.com
. - Nginx se nainstaluje na váš server Ubuntu podle těchto pokynů.
- Certifikát SSL nainstalovaný pro vaši doménu k šifrování informací o uživateli. Bezplatný certifikát Let’s Encrypt SSL si můžete nainstalovat podle těchto pokynů.
Aktualizujte systémové balíčky na nejnovější verze a nainstalujte nástroj pro rozbalení:
sudo apt update && sudo apt upgrade
sudo apt install unzip
Vytváření databáze MySQL #
Pokud máte na svém serveru nainstalovanou MySQL nebo MariaDB, můžete tento krok přeskočit, pokud ne, můžete nainstalovat serverový balíček MySQL 5.7 z výchozích repozitářů Ubuntu zadáním:
sudo apt install mysql-server mysql-client
Pro čerstvé instalace MySQL se doporučuje spustit mysql_secure_installation
příkaz ke zlepšení zabezpečení vašeho serveru MySQL. Přihlaste se do prostředí MySQL pomocí následujícího příkazu:
sudo mysql
Z prostředí MySQL spusťte následující příkaz SQL a vytvořte novou databázi s názvem opencart
:
CREATE DATABASE opencart;
Dále vytvořte uživatelský účet MySQL s názvem opencart
a udělte uživateli potřebná oprávnění spuštěním následujícího příkazu:
GRANT ALL ON opencart.* TO 'opencart'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Ujistěte se, že jste změnili change-with-strong-password
se silným heslem. Po dokončení ukončete konzolu mysql zadáním:
EXIT;
Instalace a konfigurace PHP #
PHP 7.2, což je výchozí verze PHP v Ubuntu 18.04, je plně podporováno a doporučeno pro OpenCart. Protože budeme používat Nginx jako webový server, nainstalujeme také balíček PHP-FPM.
Spusťte následující příkaz pro instalaci PHP a všech požadovaných modulů PHP:
sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap
Služba PHP-FPM se automaticky spustí po dokončení procesu instalace, můžete si to ověřit vytištěním stavu služby:
sudo systemctl status php7.2-fpm
Výstup by měl indikovat, že služba fpm je aktivní a běží.
● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-02-25 10:45:42 UTC; 53s ago
Docs: man:php-fpm7.2(8)
Main PID: 27446 (php-fpm7.2)
Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
Tasks: 3 (limit: 505)
CGroup: /system.slice/php7.2-fpm.service
├─27446 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)
Nastavte požadované a doporučené možnosti PHP úpravou php.ini
soubor s sed
::
sudo sed -i "s/memory_limit = .*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini
Instalace OpenCart #
V době psaní tohoto článku je nejnovější stabilní verze OpenCart verze 3.0.3.1
.
Před stažením archivu OpenCart nejprve vytvořte adresář, který bude obsahovat naše soubory OpenCart:
sudo mkdir -p /var/www/html/example.com
Stáhněte si nejnovější verzi OpenCart z úložiště OpenCart Github pomocí následujícího příkazu wget:
cd /tmp
wget https://github.com/opencart/opencart/releases/download/3.0.3.1/opencart-3.0.3.1.zip
Po dokončení stahování rozbalte archiv OpenCart a přesuňte extrahované soubory do kořenového adresáře dokumentů domény:
unzip opencart-*.zip
sudo mv /tmp/upload/* /var/www/html/example.com/
Zkopírujte konfigurační soubory pomocí cp
příkaz:
sudo cp /var/www/html/example.com/{config-dist.php,config.php}
sudo cp /var/www/html/example.com/admin/{config-dist.php,config.php}
Nastavte správná oprávnění, aby měl webový server plný přístup k souborům a adresářům webu pomocí následujícího příkazu chown:
sudo chown -R www-data: /var/www/html
Konfigurace Nginx #
Nyní byste již měli mít na svém serveru Ubuntu nainstalovaný Nginx s certifikátem SSL, pokud ne, zkontrolujte předpoklady pro tento tutoriál.
Otevřete textový editor a vytvořte následující soubor:
sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com# Redirect HTTP -> HTTPS
server {
listen 80;
server_name www.example.com example.com;
include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}
# Redirect WWW -> NON WWW
server {
listen 443 ssl http2;
server_name www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com;
root /var/www/html/example.com;
index index.php;
# SSL parameters
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;
# log files
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires max;
log_not_found off;
}
}
Nezapomeňte nahradit example.com svou doménou OpenCart a nastavit správnou cestu k souborům certifikátu SSL. Všechny požadavky HTTP budou přesměrovány na HTTPS. Fragmenty použité v této konfiguraci jsou vytvořeny v této příručce. Před restartováním služby Nginx proveďte test, abyste se ujistili, že neexistují žádné syntaktické chyby:
sudo nginx -t
Pokud nejsou žádné chyby, výstup by měl vypadat takto:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Nakonec restartujte službu Nginx zadáním:
sudo systemctl restart nginx
Dokončení instalace OpenCart #
Nyní, když je OpenCart stažen a konfigurace serveru dokončena, můžete dokončit instalaci přes webové rozhraní.
Otevřete prohlížeč, zadejte svou doménu a objeví se obrazovka podobná následující:
Přečtěte si licenční smlouvu OpenCart, vyberte jazyk, který chcete používat, a klikněte na Continue
tlačítko.
Dále uvidíte následující informační stránku:
Ujistěte se, že jsou splněny všechny předinstalační požadavky, a klikněte na Continue
tlačítko.
Na další obrazovce vás průvodce nastavením požádá o zadání údajů o připojení k databázi. Zadejte podrobnosti o uživateli MySQL a databázi, které jste dříve vytvořili.
Zadejte uživatelské jméno, heslo a emailovou adresu pro administraci a spusťte instalaci kliknutím na Continue
tlačítko.
Po dokončení instalace budete přesměrováni na stránku s informací, že byl nainstalován OpenCart.
Pro přístup k vašemu administrativnímu panelu OpenCart klikněte na Login to your Administration
knoflík. Zadejte své uživatelské jméno a heslo a budete přesměrováni na administrační panel.
Při prvním přihlášení se zobrazí vyskakovací okno s žádostí o přesunutí adresáře úložiště mimo webový adresář.
Ponechte výchozí Automatically Move
a klikněte na červený Move
knoflík. Adresář, kam přesouváte storage
adresář musí být přístupný webovému serveru.
Odtud můžete začít přizpůsobovat instalaci OpenCart a přidávat nové produkty.
Budete také muset odstranit instalační adresář. Chcete-li tak učinit, vraťte se do terminálu a zadejte následující rm
příkaz:
sudo rm -rf /var/www/html/example.com/install