PrestaShop je otevřený nákupní košík napsaný v PHP, který se používá k vytváření a správě vašeho online obchodu. Poskytuje jednoduché a snadno použitelné rozhraní, které vám pomůže spustit váš internetový obchod v minimálním čase. Poskytuje mnoho funkcí, včetně uživatelsky přívětivého rozhraní, více platebních bran (PayPal, Google Checkout), designu reagujícího na mobilní zařízení, bezplatné podpory, vícejazyčnosti, analýzy, vytváření sestav a dalších.
V tomto příspěvku vám ukážeme, jak nainstalovat PrestaShop pomocí Apache a bezplatného certifikátu Let's Encrypt SSL na CentOS 8.
Předpoklady
- Server se systémem CentOS 8.
- Platný název domény s adresou IP vašeho serveru.
- Na vašem serveru je nakonfigurováno heslo uživatele root.
Instalovat LAMP Server
Před spuštěním musí být na vašem serveru nainstalován server LAMP. Pokud není nainstalován, můžete jej nainstalovat s dalšími rozšířeními PHP pomocí následujícího příkazu:
dnf install httpd mariadb-server php php-cli php-bcmath php-mysqli php-gd php-pdo php-xmlrpc php-intl php-posix php-json php-curl php-zip unzip -y
Po instalaci všech požadovaných balíčků upravte soubor php.ini a změňte některá výchozí nastavení:
nano /etc/php.ini
Změňte následující řádky:
max_input_vars = 3000 post_max_size = 64M upload_max_filesize = 64M max_execution_time = 600 memory_limit = 256M date.timezone = Asia/Kolkata
Uložte a zavřete soubor, poté spusťte službu Apache a MariaDB a povolte jim spuštění při restartu systému:
systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb
V tomto okamžiku je LAMP server nainstalován na vašem serveru.
Vytvořit databázi pro PrestaShop
PrestaShop používá k ukládání dat databázi MySQL/MariaDB. Takže budete muset vytvořit databázi a žalovat pro PrestaShop.
Nejprve se přihlaste do MariaDB pomocí následujícího příkazu:
mysql
Po přihlášení vytvořte databázi a uživatele pomocí následujícího příkazu:
MariaDB [(none)]> CREATE DATABASE prestashopdb;
MariaDB [(none)]> CREATE USER 'prestashopuser'@'localhost' IDENTIFIED BY 'securepassword';
Dále udělte všechna oprávnění prestashopdb pomocí následujícího příkazu:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON prestashopdb. * TO 'prestashopuser'@'localhost';
Dále vyprázdněte oprávnění a ukončete MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Nainstalovat PrestaShop
Dále si budete muset stáhnout nejnovější verzi PrestaShopu z jejich oficiální stránky pro stahování. Můžete si jej stáhnout pomocí následujícího příkazu:
wget https://download.prestashop.com/download/releases/prestashop_1.7.7.3.zip
Po dokončení stahování rozbalte stažený soubor do kořenového adresáře webu Apache pomocí následujícího příkazu:
unzip prestashop_1.7.7.3.zip -d /var/www/html/prestashop
Dále nastavte správné vlastnictví adresáře prestashop pomocí následujícího příkazu:
chown -R apache:apache /var/www/html/prestashop
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Konfigurace Apache pro PrestaShop
Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Apache pro PrestaShop. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/httpd/conf.d/prestashop.conf
Přidejte následující řádky:
<VirtualHost *:80> ServerAdmin [email protected] ServerName prestashop.example.com DocumentRoot /var/www/html/prestashop <Directory /var/www/html/prestashop> Options +FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog /var/log/httpd/prestashop-error_log CustomLog /var/log/httpd/prestashop-access_log common </VirtualHost>
Po dokončení uložte a zavřete soubor. Poté restartujte službu Apache, aby se změny projevily:
systemctl restart httpd
Dále ověřte stav služby Apache pomocí následujícího příkazu:
systemctl status httpd
Měli byste získat následující výstup:
? httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/httpd.service.d ??php-fpm.conf Active: active (running) since Wed 2021-04-07 01:04:19 EDT; 2h 2min ago Docs: man:httpd.service(8) Main PID: 47841 (httpd) Status: "Total requests: 313; Idle/Busy workers 100/0;Requests/sec: 0.0425; Bytes served/sec: 1.2KB/sec" Tasks: 278 (limit: 12524) Memory: 35.9M CGroup: /system.slice/httpd.service ??47841 /usr/sbin/httpd -DFOREGROUND ??47843 /usr/sbin/httpd -DFOREGROUND ??47844 /usr/sbin/httpd -DFOREGROUND ??47845 /usr/sbin/httpd -DFOREGROUND ??47846 /usr/sbin/httpd -DFOREGROUND ??48061 /usr/sbin/httpd -DFOREGROUND Apr 07 01:04:19 centos8 systemd[1]: Stopped The Apache HTTP Server. Apr 07 01:04:19 centos8 systemd[1]: Starting The Apache HTTP Server...
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Konfigurovat bránu firewall
Dále budete muset povolit porty 80 a 443 přes firewall. Můžete je povolit pomocí následujícího příkazu:
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
Poté znovu načtěte bránu firewall, aby se změny projevily:
firewall-cmd --reload
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Přístup do PrestaShopu
Nyní otevřete webový prohlížeč a přejděte do webového rozhraní PrestaShopu pomocí adresy URL http://prestashop.example.com . Budete přesměrováni na následující stránku:
Vyberte jazyk a klikněte na Další knoflík. Měli byste vidět následující stránku:
Odsouhlaste licenční ujednání a klikněte na Další knoflík. Měli byste vidět následující stránku:
Zadejte název obchodu, informace o zemi, informace o účtu a klikněte na Další knoflík. Měli byste vidět následující stránku:
Zadejte název databáze, uživatelské jméno databáze, heslo a klikněte na Další knoflík. Po dokončení instalace byste měli vidět následující stránku:
Klikněte na Spravovat svůj obchod knoflík. Měli byste vidět následující stránku:
Nyní odeberte instalační složku pomocí následujícího příkazu:
rm -rf /var/www/html/prestashop/install
Dále klikněte na Administrátorskou adresu PrestaShop . Měli byste vidět následující stránku:
Zadejte své administrátorské uživatelské jméno, heslo a klikněte na PŘIHLÁSIT SE knoflík. Na následující stránce byste měli vidět řídicí panel PrestaShop:
Zabezpečte PrestaShop pomocí Let's Encrypt SSL
Dále budete muset nainstalovat klienta Certbot pro instalaci Let's Encrypt SSL pro PrestaShop. Můžete jej nainstalovat pomocí následujícího příkazu:
dnf install letsencrypt python3-certbot-apache
Dále získejte a nainstalujte certifikát SSL pro vaši doménu lets pomocí následujícího příkazu:
certbot --apache -d prestashop.example.com
Budete požádáni, abyste uvedli svou e-mailovou adresu a přijali podmínky služby:
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. Do you agree? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing, once your first certificate is successfully issued, 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 Account registered. Requesting a certificate for prestashop.example.com Performing the following challenges: http-01 challenge for prestashop.example.com Waiting for verification. Cleaning up challenges Deploying Certificate to VirtualHost /etc/httpd/conf.d/prestashop.conf Redirecting all traffic on port 80 to ssl in /etc/httpd/conf.d/prestashop.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://prestashop.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Subscribe to the EFF mailing list (email: [email protected]). IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/prestashop.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/prestashop.example.com/privkey.pem Your certificate will expire on 2021-06-09. 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" - 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
Nyní můžete na svůj web přistupovat zabezpečeně pomocí adresy URL https://prestashop.example.com.
Závěr
Gratulujeme! úspěšně jste nainstalovali PrestaShop s Apache a Let's Encrypt SSL na CentOS 8. Nyní můžete přidat svůj produkt do PrestaShopu a začít prodávat online. Pokud máte nějaké dotazy, neváhejte se mě zeptat.