GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat Magento 2.1 na CentOS 7

Magento je open source obchod (software pro elektronické obchodování) a systém pro správu obsahu pro webové stránky elektronického obchodu založený na PHP Zend Framework. Magento používá konvence objektově orientovaného programování a architektury MVC (Model-View-Controller) a jako databázi používá MySQL/MariaDB. Vyvinutý software byl spuštěn v roce 2008 společností Varien Inc. V posledních letech se Magento stalo důvěryhodnou platformou pro software pro elektronické obchodování, který pohání online podniky po celém světě.

V tomto tutoriálu vás provedu instalací Magento 2.1. Nainstalujeme Magento 2.1 s Nginx a Php7.0-fpm a MySQL jako databázi. Pro tento účel použiji server CentOS 7 s povoleným SELinux.

Krok 1 – Instalace Nginx

V tomto kroku nainstalujeme Nginx z epel-repository. Epel není ve výchozím nastavení k dispozici, takže před instalací Nginx musíme nainstalovat epel-repository.

Nainstalujte epel-repository pomocí tohoto příkazu yum.

yum -y install epel-release

Nyní můžeme nainstalovat Nginx z epel-repository.

yum -y nainstalujte nginx

Po dokončení instalace spusťte Nginx a přidejte jej, aby se spustil při spouštění.

systemctl spustit nginx
systemctl povolit nginx

Nginx je spuštěn na portu 80, můžete to zkontrolovat pomocí příkazu netstat níže.

netstat -plntu

V případě, že uvidíte výsledek 'příkaz nenalezen', můžete si nainstalovat síťové nástroje, jako je tento.

yum -y install net-tools

Krok 2 – Instalace a konfigurace PHP-FPM

V tomto tutoriálu budeme používat PHP-FPM 7 pro instalaci Magento. Budu používat balíčky PHP 7 z úložiště Webtatic.

Stáhněte si a přidejte do systému nové webové úložiště.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Nyní spusťte níže uvedený příkaz a nainstalujte PHP-FPM7 se všemi balíčky a rozšířeními potřebnými pro instalaci Magento.

yum -y nainstalujte php70w-fpm php70w-mcrypt php70w-curl php70w-cli php70w-mysql php70w-gd php70w-xsl php70w-json php70w-intl php70w-pear php70w-pear php70php php70w-pear php70phpaping /před> 

Po dokončení instalace PHP-FPM7 jej musíme nakonfigurovat. Nakonfigurujeme soubor php.ini a konfigurační soubor php-fpm 'www.conf'.

Upravte php.ini pomocí vim.

vim /etc/php.ini

Odkomentujte řádek cgi.fix_pathinfo 762 a změňte hodnotu na 0.

cgi.fix_pathinfo=0

Nakonfigurujte limit paměti, maximální dobu provádění a povolte výstupní kompresi zlib, ujistěte se, že jste nastavili hodnoty, jak je uvedeno níže.

memory_limit =512 M
max_execution_time =1800
zlib.output_compression =Zapnuto

Odkomentujte adresář cesty relace a změňte adresář, jak je uvedeno níže.

session.save_path ="/var/lib/php/session"

Uložte a ukončete.

Dále upravte konfigurační soubor php-fpm www.conf pomocí příkazu vim.

vim /etc/php-fpm.d/www.conf

PHP-FPM7 poběží pod uživatelem a skupinou 'nginx', pro řádky uživatele a skupiny změňte hodnotu na 'nginx'.

user =nginx
skupina =nginx

Spustíme php-fpm pod souborem soketu, nikoli pod portem serveru. Změňte hodnotu naslouchacího řádku na cestu k souboru soketu.

listen =/var/run/php/php-fpm.sock

Soubor soketu musí vlastnit uživatel a skupina 'nginx', odkomentujte řádky poslechu a změňte hodnoty, jak je uvedeno níže.

listen.owner =nginx
listen.group =nginx
listen.mode =0660

Nakonec odkomentujte řádky 366-370 prostředí PHP-FPM.

env[HOSTNAME] =$HOSTNAME
env[PATH] =/usr/local/bin:/usr/bin:/bin
env[TMP] =/tmp
env[ TMPDIR] =/tmp
env[TEMP] =/tmp

Uložte a ukončete.

Dále vytvořte nový adresář pro cestu relace a umístění souboru sock php. Poté změňte vlastníka na uživatele a skupinu 'nginx'.

Vytvořte nový adresář pro cestu k relaci.

mkdir -p /var/lib/php/session/
chown -R nginx:nginx /var/lib/php/session/

Vytvořte nový adresář pro umístění souboru soketu php-fpm.

mkdir -p /run/php/
chown -R nginx:nginx /run/php/

Konfigurace PHP-FPM7 je dokončena, spusťte démona nyní a povolte mu spuštění při startu pomocí příkazu systemctl níže.

systemctl spustit php-fpm
systemctl povolit php-fpm

Pokud se nevyskytnou žádné chyby, můžete pomocí příkazu níže zkontrolovat, zda pod souborem soketu běží php-fpm.

netstat -pl | grep php-fpm.sock

Krok 3 – Instalace serveru MySQL 5.7

Magento 2.1 vyžaduje aktuální verzi MySQL, pro instalaci můžete použít MySQL 5.6 nebo 5.7. V tomto tutoriálu budeme používat MySQL 5.7, který lze nainstalovat z oficiálního úložiště MySQL. Nejprve tedy musíme přidat nové úložiště MySQL.

Stáhněte si a přidejte nové úložiště MySQL pro instalaci MySQL 5.7.

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

Nyní nainstalujte MySQL 5.7 z úložiště MySQL pomocí příkazu yum níže.

yum install mysql-community-server

Po dokončení instalace spusťte mysql a přidejte jej, aby se spustil při spouštění.

systemctl spustit mysqld
systemctl povolit mysqld

MySQL 5.7 byla nainstalována s výchozím heslem root, je uloženo v souboru mysqld.log. Pro zobrazení výchozího hesla pro MySQL 5.7 použijte příkaz grep. Spusťte níže uvedený příkaz.

grep 'temporary' /var/log/mysqld.log

Nyní vidíte aktuální heslo root MySQL, měli byste změnit výchozí heslo.

Připojte se k shellu mysql pomocí root uživatele a výchozího hesla.

mysql -u root -p
VÝCHOZÍ HESLO TYPU

Změňte výchozí heslo uživatele root pomocí níže uvedeného dotazu. Zde použiji nové heslo „[email protected]“. Zvolte prosím bezpečné heslo.

ALTER USER 'root'@'localhost' IDENTIFIKOVANÝ BY '[email protected]';
vyprázdnit oprávnění;

Výchozí heslo root MySQL bylo změněno. Dále musíme vytvořit nového uživatele a novou databázi pro instalaci Magenta.

Vytvoříme novou databázi s názvem 'magentodb' a nového uživatele 'magentouser' s heslem '[email protected]'. Poté novému uživateli udělte všechna oprávnění databáze. Spusťte níže dotaz mysql.

vytvořit databázi magentodb;
vytvořit uživatele [chráněno e-mailem] označeného jako '[chráněno e-mailem]';
udělit všechna oprávnění na magentodb.* uživateli [chráněno e-mailem] označenému jako '[chráněn e-mailem]';
vyprázdnit oprávnění;

Instalace a konfigurace MySQL 5.7 je dokončena a databáze pro instalaci Magento byla vytvořena.

Krok 4 Instalace a konfigurace Magento

V tomto kroku začneme instalovat a konfigurovat Magento. Pro webový kořenový adresář použijeme adresář '/var/www/magento2'. Potřebujeme PHP skladatel pro instalaci balíčku Magento.

Nainstalujte PHP Composer

Použijeme Composer pro instalaci závislostí balíčku PHP. Nainstalujte skladatel pomocí příkazu curl níže.

curl -sS https://getcomposer.org/installer | sudo php ---install-dir=/usr/bin --filename=composer

Po dokončení instalace můžete zkontrolovat verzi skladatele, jak je uvedeno níže.

skladatel -v

PHP Composer byl nainstalován.

Stáhnout a extrahovat Magento

Přejděte do adresáře '/var/www' a stáhněte si kód Magento pomocí příkazu wget.

cd /var/www/
wget https://github.com/magento/magento2/archive/2.1.zip

Nainstalujte unzip pomocí yum.

yum -y install unzip

Extrahujte kód Magento a přejmenujte adresář na adresář 'magento2'.

unzip 2.1.zip
mv magento2-2.1 magento2

Nainstalujte závislosti PHP

Přejděte do adresáře magento2 a nainstalujte všechny závislosti Magento pomocí příkazu skladatel.

cd magento2
instalace skladatele -v

Počkejte na dokončení instalace PHP Dependency.

Konfigurace virtuálního hostitele Magento

Přejděte do adresáře Nginx a vytvořte nový konfigurační soubor virtuálního hostitele s názvem 'magento.conf' v adresáři 'conf.d'.

cd /etc/nginx/
vim conf.d/magento.conf

Níže vložte konfiguraci virtuálního hostitele.

upstream fastcgi_backend {
        server  unix:/run/php/php-fpm.sock;
}

server {

        listen 80;
        název_serveru magento.hakase-labs.com;
        nastavit $MAGE_ROOT /var/www/magento2;
        nastavit $MAGE_MODE vývojáře;
        zahrnout /var/wwwinx.magento2/var/wwwinx. conf.sample;
}

Uložte a ukončete.

Nyní otestujte konfiguraci. Když nedojde k žádné chybě, restartujte službu Nginx.

nginx -t
systemctl restart nginx

Nainstalujte Magento 2.1

Přejděte do adresáře magento2 a nainstalujte Magento na příkazový řádek.

cd /var/www/magento2

Spusťte níže uvedený příkaz a ujistěte se, že máte správnou konfiguraci. Hodnoty, které je třeba změnit, jsou vysvětleny níže.

bin/magento setup:install --backend-frontname="adminlogin" \
--key="biY8vdWx4w8KV5Q59380Fejy36l6ssUb" \
--db-host="localhost" \
- -db-name="magentodb" \
--db-user="magentouser" \
--db-password="[e-mail chráněný]" \
--language="en_US " \
--currency="USD" \
--timezone="Amerika/New_York" \
--use-rewrites=1 \
--use-secure=0 \
--base-url="http://magento.hakase-labs.com" \
--base-url-secure="https://magento.hakase-labs.com " \
--admin-user=adminuser \
[e-mail chráněný] \
[e-mail chráněný] \
--admin-firstname=admin \
-- admin-lastname=user \
--cleanup-database

Změnit hodnotu pro:

  • --backend-frontname:Přihlašovací stránka správce Magento "adminlogin"
  • --key:vygenerování vlastního klíče
  • --db-host:Hostitel databáze localhost
  • --db-name:název databáze 'magentodb'
  • --db-user:uživatel databáze 'magentouser'
  • --db-password:heslo databáze '[e-mail chráněný]'
  • --base-url:Magento URL
  • --admin-user:Váš administrátor
  • --admin-password:Vaše heslo správce Magento
  • --admin-email:Vaše e-mailová adresa

Pokud v příkazu není žádná chyba, uvidíte výsledky níže.

Magento 2.1 je nainstalováno. Spuštěním příkazu níže změňte oprávnění pro adresář etc a změňte vlastníka adresáře magento2 na uživatele 'nginx'.

chmod 700 /var/www/magento2/app/etc
chown -R nginx:nginx /var/www/magento2

Nakonfigurujte Magento Cron

Tento cronjob je potřeba pro Magento indexer. Vytvořte nový cronjob jako uživatel 'nginx' (protože magento běží pod uživatelem a skupinou nginx).

crontab -u nginx -e

Vložte konfiguraci níže.

* * * * * /usr/bin/php /var/www/magento2/bin/magento cron:run | grep -v "Spouštět úlohy podle plánu">> /var/www/magento2/var/log/magento.cron.log
* * * * * /usr/bin/php /var/www/magento2/update /cron.php> > /var/www/magento2/var/log/update.cron.log
* * * * * /usr/bin/php /var/www/magento2/bin/magento setup:cron :run>> /var/www/magento2/var/log/setup.cron.log

Uložte a ukončete.

Krok 5 – Konfigurace SELinux a Firewallu

V tomto tutoriálu ponecháme SELinux v režimu 'Vynucování'. Spuštěním níže uvedených příkazů zkontrolujte stav SELinux.

stav

SELinux je v režimu 'Vynucování'.

Nainstalujte nástroj pro správu SELinux 'policycoreutils-python' pomocí příkazu yum níže.

yum -y install policycoreutils-python

Přejděte do adresáře '/var/www/'.

cd /var/www/

Spusťte níže uvedené příkazy a změňte kontext zabezpečení pro soubory a adresáře Magento.

spravovat fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2(/.*)?'
spravovat fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2/app/etc(/.* )?'
spravovat fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2/var(/.*)?'
spravovat fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2/pub /media(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2/pub/static(/.*)?'
restorecon -Rv '/var/www /magento2/'

Konfigurace SELinux je hotová. Nyní musíme nakonfigurovat firewall.

Nainstalujte balíček firewalld, pokud jej ještě nemáte na svém serveru.

yum -y install firewalld

Spusťte firewall a přidejte firewalld, aby se spustil při spouštění.

systemctl spustit firewalld
systemctl povolit firewalld

Otevřete porty pro HTTP a HTTPS, abychom mohli přistupovat k Magento URL z webového prohlížeče.

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Podívejte se na otevřené porty pro služby pomocí příkazu níže.

firewall-cmd --list-all

HTTP a HTTPS jsou připraveny pro připojení.

Krok 6 – Testování

Otevřete webový prohlížeč a poté procházejte Magento URL. Můj je:

magento.hakase-labs.com

A uvidíte výchozí domovskou stránku Magento.

Dále se přihlaste do administračního panelu otevřením adminlogin URL.

magento.hakase-labs.com/adminlogin

Přihlaste se pomocí svého administrátora a hesla.

Magento administrační panel.

Magento 2.1 bylo úspěšně nainstalováno s Nginx, PHP-FPM7 a MySQL 5.7 na server CentOS 7.


Cent OS
  1. Jak nainstalovat a nakonfigurovat Nginx na CentOS 7

  2. Jak nainstalovat Nginx na CentOS 7

  3. Jak nainstalovat R na CentOS 7

  1. Jak nainstalovat phpMyAdmin s Nginx na CentOS 7

  2. Jak nainstalovat Nginx na CentOS 8

  3. Jak nainstalovat R na CentOS 8

  1. Jak nainstalovat SuiteCRM s Nginx na CentOS 7

  2. Jak nainstalovat MediaWiki s Nginx na CentOS 7

  3. Jak nainstalovat Restyaboard na CentOS 7