GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat OpenCart s Nginx a Lets Encrypt na Debian 10

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.


Debian
  1. Nainstalujte Lets Encrypt and Secure Nginx pomocí SSL/TLS v Debianu 9

  2. Jak nainstalovat Automad CMS s Apache a Lets encrypt na Debian 10

  3. Jak nainstalovat ElkArte Forum s Apache a Lets Encrypt na Debian 10

  1. Jak nainstalovat Askbot s Nginx a zabezpečit pomocí Lets Encrypt na CentOS 8

  2. Jak nainstalovat Drupal 9 s Nginx a nechat šifrovat SSL na Debian 10

  3. Jak nainstalovat Joomla s Apache a nechat šifrovat SSL na Debian 10

  1. Jak nainstalovat Drupal s Apache a nechat šifrovat SSL na Debian 11

  2. Nainstalujte TaskBoard s Apache a nechte šifrovat SSL na Debianu 11

  3. Jak nainstalovat SuiteCRM s Apache a zdarma Lets Encrypt SSL na Debian 11