Opencart je oblíbené open-source řešení nákupního košíku, které vám pomůže hostit vaše vlastní plně funkční webové stránky elektronického obchodu. Opencart poskytuje jednoduché a uživatelsky přívětivé rozhraní pro online prodej vašich produktů, jako je Amazon a Flipcart. Je speciálně navržen pro malé a střední podniky a má všechny standardní funkce elektronického obchodování potřebné pro internetové obchody. Nabízí bohatou sadu funkcí včetně více měn, jazyků, neomezených kategorií, produktů, recenzí produktů, více obchodů a mnoha dalších.
V tomto tutoriálu vám ukážeme, jak nainstalovat OpenCart s Nginx na Debian 10 a zabezpečit jej pomocí Let's Encrypt SSL.
Předpoklady
- Server se systémem Debian 10.
- Na vašem serveru je nakonfigurováno heslo uživatele root.
Začínáme
Nejprve aktualizujte svůj systém na nejnovější verzi pomocí následujícího příkazu:
apt-get update -y
apt-get upgrade -y
Jakmile je váš server aktualizován, restartujte jej, aby se změny projevily.
Instalovat LEMP Server
Nejprve nainstalujte webový server Nginx, databázový server MariaDB, PHP a další požadovaná rozšíření PHP spuštěním následujícího příkazu:
apt-get install nginx mariadb-server php-common php-cli php-fpm php-opcache php-gd php-mysql php-curl php-intl php-xsl php-mbstring php-zip php-bcmath php-soap unzip git -y
Jakmile jsou všechny balíčky nainstalovány, upravte soubor php.ini a proveďte nějaké změny:
nano /etc/php/7.3/fpm/php.ini
Změňte následující řádky:
memory_limit = 256M upload_max_filesize = 100M opcache.save_comments=1 max_execution_time = 300 date.timezone = Asia/Kolkata
Po dokončení uložte a zavřete soubor.
Konfigurace databáze MariaDB
Dále budete muset nastavit root heslo MariaDB, protože není nastaveno v Debianu 10.
Chcete-li tak učinit, přihlaste se do prostředí MariaDB pomocí následujícího příkazu:
mysql
Po přihlášení nastavte root heslo MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("yournewrootpassword");
Dále nastavte ověřovací plugin MariaDB na mysql_native_password pomocí následujícího příkazu:
MariaDB [(none)]> SET GLOBAL innodb_fast_shutdown = 0;
MariaDB [(none)]> UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE User = 'root';
Dále vyprázdněte oprávnění a ukončete prostředí MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Dále se přihlaste do MariaDB jako uživatel root:
mysql -u root -p
Zadejte heslo uživatele root a vytvořte databázi a uživatele pro OpenCart pomocí následujícího příkazu:
MariaDB [(none)]> CREATE DATABASE opencartdb;
MariaDB [(none)]> GRANT ALL ON opencartdb.* TO 'opencart'@'localhost' IDENTIFIED BY 'password';
Dále vyprázdněte oprávnění a ukončete prostředí MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Jakmile je MariaDB nakonfigurována, můžete přejít k dalšímu kroku.
Stáhnout OpenCart
Nejnovější verzi OpenCart si můžete stáhnout z úložiště Git pomocí následujícího příkazu:
wget https://github.com/opencart/opencart/releases/download/3.0.3.2/opencart-3.0.3.2.zip
Po stažení OpenCart rozbalte stažený soubor pomocí následujícího příkazu:
unzip opencart-3.0.3.2.zip
Dále přesuňte adresář pro nahrávání do kořenového adresáře webu Nginx pomocí následujícího příkazu:
mv upload /var/www/html/opencart
Dále změňte adresář na opencart a přejmenujte soubor config-dist.php:
cd /var/www/html/opencart/
mv config-dist.php config.php
mv admin/config-dist.php admin/config.php
Dále udělte správná oprávnění adresáři opencart pomocí následujícího příkazu:
chown -R www-data:www-data /var/www/html/opencart/
chmod -R 775 /var/www/html/opencart/
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Konfigurace Nginx pro OpenCart
Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Nginx, který bude sloužit OpenCart. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/nginx/sites-available/opencart.conf
Přidejte následující obsah:
server { listen 80; server_name opencart.linuxbuz.com; root /var/www/html/opencart; index index.php; access_log /var/log/nginx/opencart_access.log; error_log /var/log/nginx/opencart_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.3-fpm.sock; } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { expires max; log_not_found off; } }
Uložte a zavřete soubor a poté pomocí následujícího příkazu zkontrolujte Nginx, zda neobsahuje nějakou chybu syntaxe:
nginx -t
Měli byste získat následující výstup:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Dále povolte soubor virtuálního hostitele Nginx pomocí následujícího příkazu:
ln -s /etc/nginx/sites-available/opencart.conf /etc/nginx/sites-enabled/
Poté restartujte službu Nginx a PHP-FPM, aby se změny projevily:
systemctl restart nginx
systemctl restart php7.3-fpm
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Zabezpečte OpenCart pomocí Let's Encrypt SSL
Dále budete muset nainstalovat klienta Certbot k instalaci a nastavení Let's Encrypt pro váš web.
Ve výchozím nastavení není Certbot dostupný ve výchozím úložišti Debian 10. Budete tedy muset do svého systému přidat úložiště Certbot.
Můžete jej přidat pomocí následujícího příkazu:
echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list
Dále aktualizujte úložiště a nainstalujte klienta Certbot pro Nginx pomocí následujícího příkazu:
apt-get update -y
apt-get install python3-certbot-nginx -t buster-backports
Po instalaci spusťte následující příkaz ke stažení Let's Encrypt SSL a nakonfigurujte Nginx pro použití tohoto SSL:
certbot --nginx -d opencart.linuxbuz.com
Budete vyzváni, abyste přijali podmínky služby a poskytli svou platnou e-mailovou adresu, jak je uvedeno níže:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for opencart.linuxbuz.com Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/nginx/sites-available/opencart-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/nginx/sites-available/opencart-le-ssl.conf Enabling available site: /etc/nginx/sites-available/opencart-le-ssl.conf Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
Dále budete muset zvolit, zda chcete přesměrovat provoz HTTP na HTTPS, jak je znázorněno níže:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Zadejte 2 a stiskněte Enter pokračovat. Po dokončení instalace byste měli získat následující výstup:
Redirecting vhost in /etc/nginx/sites-enabled/opencart.conf to ssl vhost in /etc/nginx/sites-available/opencart-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://opencart.linuxbuz.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=opencart.linuxbuz.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/opencart.linuxbuz.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/opencart.linuxbuz.com/privkey.pem Your cert will expire on 2020-04-30. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
V tomto okamžiku je OpenCart zabezpečen pomocí Let's Encrypt SSL.
Přístup k webovému rozhraní OpenCart
Nyní otevřete webový prohlížeč a zadejte adresu URL https://opencart.linuxbuz.com. Budete přesměrováni na stránku licenční smlouvy OpenCart:
Klikněte na tlačítko Pokračovat tlačítko pro přijetí licenční smlouvy. Měli byste vidět následující stránku:
Ujistěte se, že jsou nainstalována všechna požadovaná rozšíření PHP, a poté klikněte na POKRAČOVAT knoflík. Měli byste vidět následující stránku:
Zadejte přihlašovací údaje k databázi, uživatelské jméno správce, heslo a klikněte na tlačítko POKRAČOVAT knoflík. Po dokončení instalace byste měli vidět následující stránku:
Nyní otevřete svůj terminál a odeberte instalační adresář pomocí následujícího příkazu:
rm -rf /var/www/html/opencart/install/
Dále klikněte na PŘEJÍT DO VAŠEHO ONLINE OBCHODU . Svůj obchod OpenCart byste měli vidět na následující stránce:
Dále klikněte na PŘIHLÁSIT SE DO VAŠÍ ADMINISTRÁTORY knoflík. Měli byste vidět přihlašovací stránku OpenCart:
Zadejte své administrátorské uživatelské jméno, heslo a klikněte na Přihlásit knoflík. Administrační panel OpenCart byste měli vidět na následující stránce:
Závěr
Gratulujeme! úspěšně jste nainstalovali a zabezpečili OpenCart na Debian 10. Nyní můžete hostit svůj vlastní online nákupní košík pomocí OpenCart. Neváhejte se mě zeptat, pokud máte nějaké otázky.