GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat PrestaShop na Debian 9

V této příručce vám ukážeme, jak nainstalovat a nakonfigurovat nejnovější verzi Prestashopu ve verzi Debian 9.1, abyste si mohli vytvořit svůj bezplatný online nákupní košík.

Prestashop je bezplatná platforma pro správu obsahu elektronického obchodování s otevřeným zdrojovým kódem napsaná v programovacím jazyce PHP, která je často nasazena na Linuxu pod webovými servery Apache/Nginx, PHP a databázovým systémem MySQL/MariaDB. Prestashop CMS se dnes velmi používá k vytváření online obchodů pro různé podniky a k propagaci a prodeji služeb a zboží.

Požadavky

  • Minimální instalace Debianu 9 na holém počítači nebo na virtuálním privátním serveru.
  • Statická adresa IP nakonfigurovaná pro jednu z vašich systémových síťových karet.
  • práva sudo root pro místní nebo vzdálený účet nebo přímý přístup k účtu root.
  • Název domény, soukromý nebo veřejný, v závislosti na vašem nasazení, se správnými nakonfigurovanými záznamy DNS.

Počáteční konfigurace

Než začnete instalovat a konfigurovat Prestashop ze zdroje na vašem vlastním serveru, nejprve se ujistěte, že systém splňuje všechny softwarové požadavky pro kompilaci a instalaci aplikace. V prvním kroku aktualizujte svá systémová úložiště a softwarové balíčky vydáním níže uvedeného příkazu.

aktualizace apt
upgrade apt

V dalším kroku spusťte následující příkaz, abyste nainstalovali některé potřebné nástroje, které budou použity k další správě vašeho systému z příkazového řádku.

apt install wget bash-completion zip unzip

Dále nastavte název vašeho systému provedením následujícího příkazu. Podle toho nahraďte proměnnou názvu hostitele.

hostnamectl set-hostname shop

Ověřte název hostitele počítače a soubor hostitelů zadáním níže uvedených příkazů.

hostnamectl
cat /etc/hostname
název hostitele –s
název hostitele –f

Nakonec restartujte server Debian, aby se mohly správně aplikovat aktualizace jádra a název hostitele.

restart systemctl

Prestashop je webová platforma CMS pro elektronické obchodování napsaná převážně v programovacím jazyce PHP na straně serveru. Aby bylo možné spouštět skripty souborů Prestashop PHP, musí být na serveru nainstalován a funkční webový server, jako je server Apache HTTP, a brána pro zpracování PHP. Chcete-li nainstalovat webový server Apache a interpret PHP spolu se všemi požadovanými moduly PHP, které Prestashop potřebuje ke správnému fungování, zadejte na konzoli serveru následující příkaz.

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-xml php7.0-gd php7.0-json php7.0-zip php7.0-intl php7.0-mcrypt php7.0- curl php7.0-intl php7.0-opcache

Po instalaci Apache a PHP otestujte, zda je webový server v provozu a naslouchá síťovým připojením na portu 80 zadáním následujícího příkazu s právy root.

netstat –tlpn

V případě, že síťový nástroj netstat není ve výchozím nastavení na vašem systému Debian nainstalován, nainstalujte jej provedením níže uvedeného příkazu.

apt install net-tools

Prozkoumáním výstupu příkazu netstat můžete vidět, že webový server Apache naslouchá příchozím síťovým připojením na portu 80. Pro stejný úkol můžete také použít ss příkaz, který je automaticky nainstalován ve výchozím nastavení v Debianu 9.

ss -tlpn

V případě, že máte ve svém systému povolenou bránu firewall, jako je například aplikace brány firewall UFW, měli byste přidat nové pravidlo, které umožní průchod HTTP provozu přes bránu firewall, zadáním následujícího příkazu.

ufw povolit WWW

nebo

ufw povolit 80/tcp

Pokud používáte iptables nezpracovaných pravidel pro správu pravidel firewallu na vašem serveru Debian přidejte následující pravidlo, které povolí příchozí provoz na portu 80 na firewallu, aby návštěvníci mohli procházet internetový obchod Prestashop.

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Dále povolte a použijte následující moduly Apache vyžadované systémem Prestashop CMS, aby správně fungovaly, zadáním níže uvedeného příkazu.

a2enmod přepsat
systemctl restartujte apache2

Nakonec otestujte, zda lze výchozí webovou stránku webového serveru Apache zobrazit v prohlížečích vašeho klienta návštěvou IP adresy vašeho počítače Debian nebo názvu vaší domény nebo FQDN serveru prostřednictvím protokolu HTTP, jak je znázorněno na obrázku níže. Pokud neznáte IP adresu svého počítače, spusťte ifconfig nebo ip a příkazy k odhalení IP adresy vašeho serveru.

http://vase_domena.tld

Chcete-li nainstalovat a přistupovat k webovému administračnímu panelu Prestashopu a frontendu prostřednictvím protokolu HTTPS, který zajistí provoz pro vaše klienty, zadejte následující příkaz pro povolení modulu SSL webového serveru Apache a konfiguračního souboru webu SSL.

a2enmod ssl
a2ensite default-ssl.conf

Dále otevřete výchozí konfigurační soubor webu Apache SSL pomocí textového editoru a povolte pravidla pro přepis URL přidáním následujících řádků kódu za DocumentRoot direktivu, jak je ukázáno v níže uvedeném příkladu:

nano /etc/apache2/sites-enabled/default-ssl.conf

Výňatek z konfiguračního souboru webu SSL:


  Možnosti +FollowSymlinks
  AllowOverride All
  Vyžadovat udělení všech

Proveďte také následující změnu řádku VirtualHost, aby vypadal tak, jak je znázorněno na níže uvedeném úryvku:

        

Zavřete soubor SSL Apache a otevřete /etc/apache2/sites-enabled/000-default.conf soubor pro úpravy a přidejte stejná pravidla pro přepis URL jako pro konfigurační soubor SSL. Vložte řádky kódu za DocumentRoot prohlášení, jak je znázorněno v níže uvedeném příkladu.


  Možnosti +FollowSymlinks
  AllowOverride All
  Vyžadovat udělení všech

Nakonec restartujte démona Apache, abyste použili všechna dosud nakonfigurovaná pravidla a navštivte svou doménu prostřednictvím protokolu HTTP. Protože používáte automaticky páry certifikátů s vlastním podpisem vydané Apache při instalaci, mělo by se v prohlížeči zobrazit varování o chybě. Přijměte varování, abyste mohli pokračovat, a budete přesměrováni na výchozí webovou stránku Apache.

systemctl restartujte apache2

https://vasedomena.tld

V případě, že aplikace brány firewall UFW blokuje příchozí síťová připojení k portu HTTPS, měli byste přidat nové pravidlo, které povolí průchod HTTPS přes bránu firewall, a to zadáním následujícího příkazu.

ufw povolit 'WWW Full'

nebo

ufw povolit 443/tcp

Pokud iptables je výchozí firewallová aplikace nainstalovaná pro ochranu vašeho systému Debian na úrovni sítě, přidejte následující pravidlo, které povolí příchozí provoz na portu 443 ve firewallu, aby návštěvníci mohli procházet název vaší domény.

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

V dalším kroku musíme provést nějaké další změny ve výchozím konfiguračním souboru PHP, abychom se ujistili, že jsou povoleny následující proměnné PHP a časové pásmo PHP je správně nakonfigurováno a odpovídá zeměpisné poloze vašeho systému. Otevřete /etc/php/7.0/apache2/php.ini soubor pro úpravu a ujistěte se, že následující řádky jsou nastaveny následovně. Nejprve si také vytvořte zálohu konfiguračního souboru PHP.

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

Vyhledejte, upravte a změňte následující proměnné v php.ini konfigurační soubor:

file_uploads =Zapnuto
allow_url_fopen =Zapnuto
memory_limit =128 M
upload_max_file_size =64 mil.
date.timezone =Evropa/Londýn

Zvyšte memory_limit proměnnou jako vhodnou pro podporu příloh velkých souborů a nahrazující time.zone proměnná podle vašeho fyzického času pomocí seznamu časových pásem poskytovaných dokumenty PHP na následujícím odkazu http://php.net/manual/en/timezones.php

Chcete-li zvýšit rychlost načítání svých webových stránek pomocí pluginu OPCache dostupného pro PHP7, přidejte následující nastavení OPCache na konec konfiguračního souboru PHP interpretu, jak je podrobně popsáno níže:

opcache.enable=1 
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache. save_comments=1
opcache.revalidate_freq=1

Zavřete konfigurační soubor php.ini a zkontrolujte, zda je ověřte konec konfiguračního souboru PHP, abyste zkontrolovali, zda byly proměnné správně přidány zadáním níže uvedeného příkazu.

tail /etc/php/7.0/apache2/php.ini

Po provedení všech změn vysvětlených výše restartujte démona apache, aby se nové změny aplikovaly, zadáním následujícího příkazu.

systemctl restartujte apache2

Nakonec vytvořte soubor s informacemi o PHP provedením následujícího příkazu a zkontrolujte, zda bylo časové pásmo PHP správně nakonfigurováno tím, že navštívíte soubor skriptu PHP info z prohlížeče na následující adrese URL, jak je znázorněno na obrázku níže. Přejděte dolů na datum nastavení pro kontrolu konfigurace časového pásma php.

echo ''| tee /var/www/html/info.php 

https://domena.tld/info.php

Prestashop ukládá různé konfigurace, jako jsou uživatelé, relace, kontakty, produkty, katalogy a další, v databázi RDBMS. V této příručce nakonfigurujeme Prestashop tak, aby používal databázi MariaDB jako backend. Vydáním níže uvedeného příkazu nainstalujte databázi MariaDB a modul PHP potřebný pro přístup k databázi mysql.

apt install mariadb-server php7.0-mysql

Po instalaci MariaDB ověřte, zda démon běží a naslouchá připojení na localhost, port 3306, spuštěním netstat příkaz.

netstat –tlpn | grep mysql

Poté se přihlaste do konzole MySQL a zabezpečte root účet MariaDB vydáním následujících příkazů.

mysql -h localhost
use mysql;
update user set plugin='' where user='root';
vyprázdnit oprávnění;
exit

V dalším kroku zajistěte MariaDB spuštěním skriptu mysql_secure_installation poskytované instalačními balíčky z repozitářů Debian stretch. Během běhu bude skript klást řadu otázek určených k zabezpečení databáze MariaDB, jako například:změnit heslo root MySQL, odstranit anonymní uživatele, zakázat vzdálené přihlášení root a odstranit testovací databázi. Spusťte skript vydáním níže uvedeného příkazu a ujistěte se, že na všechny položené otázky zadáte ano, abyste plně zabezpečili démona MySQL. Níže uvedený výstup skriptu použijte pouze jako vodítko.

sudo mysql_secure_installation
POZNÁMKA:SPUŠTĚNÍ VŠECH ČÁSTÍ TOHOTO SKRIPTU SE DOPORUČUJE PRO VŠECHNY MariaDB
      SERVERY VE VÝROBNÍM POUŽITÍ! ČTĚTE PROSÍM POZORNĚ KAŽDÝ KROK!
 
Abychom se mohli přihlásit do MariaDB a zabezpečit ji, budeme potřebovat aktuální
heslo pro uživatele root. Pokud jste právě nainstalovali MariaDB a
ještě jste nenastavili heslo uživatele root, heslo bude prázdné
takže zde stačí stisknout enter.
 
Zadejte aktuální heslo pro root (zadejte pro žádné):
OK, úspěšně použité heslo, pokračujeme...
 
Nastavení hesla uživatele root zajistí, že se nikdo nemůže přihlásit do MariaDB
uživatel root bez řádného oprávnění.
 
Už máte nastavené heslo uživatele root, takže můžete bezpečně odpovědět 'n'.
 
Změnit heslo uživatele root? [A/n] y 
Nové heslo:
Znovu zadejte nové heslo:
Heslo bylo úspěšně aktualizováno!
Opětovné načítání tabulek oprávnění...
 ... Úspěch!
 
 
Ve výchozím nastavení má instalace MariaDB anonymního uživatele, který umožňuje komukoli
pro přihlášení do MariaDB, aniž byste museli mít vytvořený uživatelský účet pro
jít trochu plynuleji. Před přesunem do
byste je měli odstranit
produkční prostředí.
 
Odebrat anonymní uživatele? [A/n] y 
 ... Úspěch!
 
Normálně by měl mít root povoleno připojení pouze z 'localhost'. Toto
zajišťuje, že někdo nemůže uhodnout heslo root ze sítě.
 
Zakázat vzdálené přihlášení root? [A/n] y 
 ... Úspěch!
 
Ve výchozím nastavení je MariaDB dodávána s databází s názvem 'test', kterou může každý
přístup. Toto je také určeno pouze pro testování a mělo by být odstraněno
před přesunem do produkčního prostředí.
 
Odebrat testovací databázi a získat k ní přístup? [A/n] y 
 - Ruší testovací databáze...
 ... Úspěch!
 – Odebírání oprávnění k testovací databázi...
 ... Úspěch!
 
Opětovné načtení tabulek oprávnění zajistí provedení všech dosud provedených změn
vstoupí v platnost okamžitě.
 
Obnovit nyní tabulky oprávnění? [A/n] y
 ... Úspěch!
 
Probíhá úklid...
 
Vše hotovo! Pokud jste provedli všechny výše uvedené kroky, vaše MariaDB
instalace by nyní měla být bezpečná.
 
Děkujeme, že používáte MariaDB!

Chcete-li otestovat zabezpečení MariaDB, zkuste se přihlásit do databáze z konzole bez hesla root. Pokud není pro účet root poskytnuto žádné heslo, měl by být přístup k databázi odepřen. Pokud je zadáno heslo, měl by být proces přihlášení povolen konzoli MySQL, jak je znázorněno na níže uvedeném snímku obrazovky.

mysql -h localhost -u root
mysql -h localhost -u root –p

Dále se přihlaste k databázové konzoli MariaDB, vytvořte databázi pro Prestashop a uživatele s heslem, který bude použit pro správu databáze Prestashop, zadáním následujících příkazů. Podle toho nahraďte název databáze PrestaShop, uživatele a heslo.

mysql –u root -p
vytvořit databázi my_shop;
udělte všechna oprávnění v my_shop.* uživateli 'shop_user' identifikovanému pomocí 'shop_password';
vyprázdnit oprávnění;
ukončit

Chcete-li použít všechny dosud provedené změny, restartujte démony MySQL a Apache a ověřte, zda démoni běží, zadáním následujících příkazů.

systemctl restart mysql apache2
stav systemctl mysql apache2

Nainstalovat PrestaShop

Po splnění všech systémových požadavků pro instalaci vašeho internetového obchodu elektronického obchodu navštivte stránku vydání Prestashopu na GitHubu https://github.com/PrestaShop/PrestaShop/releases a stáhněte si nejnovější komprimovaný archiv balíčku zip vydáním nástroje wget, jako znázorněno v následujícím příkladu.

wget https://github.com/PrestaShop/PrestaShop/releases/download/1.7.2.3/prestashop_1.7.2.3.zip

Po dokončení stahování archivu zip rozbalte archiv zip Prestashop přímo do kořenového adresáře dokumentů vašeho webového serveru a vypište extrahované soubory pomocí níže uvedených příkazů. Odstraňte také výchozí soubor index.html nainstalovaný webovým serverem Apache na cestu webroot a také odstraňte dříve vytvořený soubor info.php.

rm /var/www/html/index.html
rm /var/www/html/info.php
rozbalte prestashop_1.7.2.3.zip -d /var/www/html/
ls /var/www/html/

Dále spusťte níže uvedené příkazy, abyste udělili uživateli Apache runtime plná oprávnění k zápisu do webové kořenové cesty. Použijte ls příkaz k zobrazení seznamu oprávnění pro instalační soubory Prestashopu umístěné v adresáři /var/www/html/.

chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/

Pokračujte v instalaci Prestashop CMS otevřením prohlížeče a procházením IP adresy nebo názvu domény vašeho serveru pomocí protokolu HTTPS. Na první instalační obrazovce rozbalí instalační skript Prestashop obsah souboru prestashop.zip z kořenové cesty webového serveru, jak je znázorněno na obrázku níže.

https://yourdomain.tld

Po dokončení extrakce se můžete přepnout na příkazový řádek a vypsat obsah adresáře /var/www/html/, abyste viděli všechny soubory extrahované Prestashopem.

ls -la /var/www/html/

Na další obrazovce instalační program Prestashop zobrazí uvítací obrazovku a požádá vás o výběr jazyka instalace, abyste mohli pokračovat v procesu instalace. Vyberte svůj jazyk a stiskněte tlačítko Další pro pokračování dalším krokem.

Na další instalační obrazovce zaškrtněte „Souhlasím s licenčními podmínkami“ a pokračujte stisknutím tlačítka Další, jak je znázorněno na obrázku níže.

Instalační program Prestashop nyní provede řadu kontrol, aby zjistil kompatibilitu s vaším systémem a prostředím, a vypíše případné chyby, pokud se najdou. Pokud je vaše systémové prostředí kompatibilní s instalací PrestaShop, měla by se na vaší webové stránce zobrazit zelená zpráva, jak je znázorněno na obrázku níže. Znovu klikněte na tlačítko Další a posuňte se dále v procesu instalace.

Na další obrazovce přidejte požadované informace o vašem obchodě, jako je název obchodu, hlavní činnost, země, kde je váš obchod registrován, a podrobnosti o účtu. Zadejte e-mailovou adresu pro přístup k backendovému webovému panelu Prestashop a silné heslo, které bude použito pro tento účet, jak je znázorněno na níže uvedeném snímku obrazovky. Po dokončení pokračujte stisknutím tlačítka Další.

na další instalační obrazovce přidejte adresu databáze MySQL, jméno a přihlašovací údaje vytvořené dříve pro Prestashop, klikněte na 'Otestujte připojení k databázi nyní' knoflík. Pokud je připojení k databázi MySQL úspěšné, stiskněte tlačítko Další pro zahájení procesu instalace.

Počkejte několik minut, než instalační program naplní databázi všemi požadovanými informacemi a dokončí proces instalace, jak je znázorněno na níže uvedených snímcích obrazovky.

Po dokončení instalace instalační program zobrazí vaše přihlašovací informace k panelu webového administrátora a požadované hypertextové odkazy pro přístup k Prestashop Backend Office , který bude použit ke správě vašeho online obchodu, a Front Office vašeho obchodu, které se zobrazí vašim klientům.

Ujistěte se, že stisknete tlačítko Back Office Manage, abyste získali přístup k backendu obchodu. Adresu Back Office byste si měli poznamenat nebo uložit do záložek, abyste se v budoucnu mohli přihlásit k panelu správce webu z jiných prohlížečů.

Při pokusu o přihlášení do Back Office vás varovná zpráva, jak je znázorněna na obrázku níže, bude informovat, že byste měli odstranit instalační adresář z cesty webroot vaší domény.

Abyste se mohli přihlásit do administračního panelu podporovaného Prestashopem, vraťte se do konzole serveru a proveďte následující příkaz k odstranění instalačního adresáře Prestashopu.

rm -rf /var/www/html/install/

Poté znovu načtěte stránku Prestashop Back Office a přihlaste se do panelu administrátora s nastavením přihlašovacích údajů během procesu instalace, jak je znázorněno na následujícím snímku obrazovky.

Při prvním přihlášení se v prohlížeči zobrazí uvítací zpráva. Stisknutím tlačítka Start budete přesměrováni do katalogu, odkud můžete začít přidávat svůj první produkt, jak je znázorněno na níže uvedeném snímku obrazovky.

Chcete-li navštívit frontend webovou stránku Prestashop, stačí zadat název domény do prohlížeče a budete automaticky přesměrováni na úvodní stránku, jak je popsáno na následujícím snímku obrazovky.

Do obchodu je však zatím možné přistupovat pouze nezabezpečeně přes nešifrovaný protokol HTTP. Chcete-li povolit podporu HTTPS v Prestashopu, přihlaste se na panel Back Office a přejděte na Konfigurovat -> Parametry obchodu -> Obecné a klikněte na Klikněte sem a zkontrolujte, zda váš obchod podporuje HTTPS odkaz, jak je znázorněno na obrázku níže.

Po provedení testů SSL přepněte možnost Povolit SSL na ANO, přejděte dolů na konec stránky a klikněte na Uložit pro použití konfigurace. Tato konfigurace však zatím umožňuje podporu SSL pouze pro odkaz Back Office. Klienti, kteří navštíví název vaší domény obchodu, budou přesměrováni přes nešifrovaná připojení.

Chcete-li zajistit návštěvnost návštěvníka ve vaší doméně, přepněte možnost Povolit SSL na všech stránkách na Ano, jak je znázorněno na obrázku níže, přejděte dolů a stiskněte Uložit tlačítko v dolní části stránky pro použití nastavení.

Chcete-li otestovat, zda jsou klienti nyní automaticky přesměrováni k návštěvě vaší domény prostřednictvím zabezpečeného připojení prostřednictvím protokolu HTTPS, obnovte frontendovou stránku Prestashop nebo zadejte název své domény do prohlížeče. Název domény vašeho obchodu by měl být nyní přístupný prostřednictvím protokolu HTTP, jak je znázorněno na obrázku níže.

To je vše! Úspěšně jste nainstalovali a nakonfigurovali PrestaShop na Debianu 9.1. Protože však váš server Apache HTTP používá certifikáty Self-Signed k šifrování provozu mezi serverem a prohlížeči návštěvníků, vždy se při první návštěvě obchodu vygeneruje varovná zpráva a zobrazí se v jejich prohlížečích. Toto varování je pro váš internetový obchod špatné. V takovém případě byste si měli zakoupit certifikát vydaný důvěryhodnou certifikační autoritou nebo získat pár certifikátů zdarma od Let’s Encrypt CA.

Další vlastní konfigurace týkající se Prestashopu naleznete na stránce dokumentace na následující adrese:http://doc.prestashop.com/display/PS17/Installing+PrestaShop


Debian
  1. Jak nainstalovat Redis Server na Debian 11

  2. Jak nainstalovat MySQL 8.0 / 5.7 na Debian 11 / Debian 10

  3. Jak nainstalovat MySQL Server na Debian 9

  1. Jak nainstalovat Minecraft Server na Debian 9

  2. Jak nainstalovat Java 17 v Debianu 11

  3. Jak nainstalovat ProFTPD na Debian 8

  1. Jak nainstalovat SuiteCRM na Debian 9

  2. Jak nainstalovat Nextcloud na Debian 11

  3. Jak nainstalovat MySQL 8 na Debian 10