Magento je přední platforma elektronického obchodování podnikové třídy postavená na open source technologii kombinující výkonné funkce s flexibilitou a uživatelsky přívětivým rozhraním.
Díky funkcím, jako jsou poutavé nákupní zážitky, flexibilní modulární architektura a škálovatelnost a výkon na podnikové úrovni, je Magento platformou, kterou si vybere většina online obchodníků.
Toto je první příspěvek v sérii Jak nainstalovat a nakonfigurovat Magento 2 na CentOS 7. V tomto tutoriálu vás provedeme kroky instalace Magento 2 na váš počítač CentOS 7.
Předpoklady #
Předpokladem pro sledování tohoto kurzu je:
- Server CentOS 7, podle oficiálních systémových požadavků Magento 2 potřebujete alespoň 2G RAM. Pokud používáte server s méně než 2 GB RAM, měli byste vytvořit odkládací soubor.
- Přihlášeni jako uživatelský účet s právy sudo.
- Název domény odkazující na IP vašeho veřejného serveru. V tomto tutoriálu budeme používat
example.com. - Nainstalovali a nakonfigurovali Nginx, MySQL a PHP 7.1. Pokud jste to neudělali, podívejte se na naši příručku LEMP na CentOS 7.
- Platný certifikát SSL. Pokud jej nemáte, můžete si vytvořit bezplatný certifikát Lets Encrypt SSL podle Secure Nginx s Let's Encrypt na CentOS 7.
Pár přístupových klíčů Magento #
Potřebujeme vygenerovat přístupové klíče k ověření přístupu k úložišti kódu Magento 2 a rozšířením a motivům třetích stran.
Pokud nemáte účet Magento Marketplace, můžete si jej vytvořit zde. Po vytvoření účtu si prosím přečtěte tyto pokyny, jak vygenerovat novou sadu přístupových klíčů.
Vytvořit databázi MySQL #
Magento 2 je kompatibilní s MySQL 5.6 a 5.7, MariaDB 10.x a Percona 5.7. Pokud na svém serveru nemáte nainstalované MySQL nebo MariaDB, můžete se podívat na tuto příručku.
Přihlaste se do prostředí MySQL:
mysql -u root -p A spusťte následující příkazy pro vytvoření nové databáze a uživatele a udělte tomuto uživateli oprávnění k nově vytvořené databázi:
CREATE DATABASE magento;GRANT ALL ON magento.* TO magento@localhost IDENTIFIED BY 'P4ssvv0rD';
Instalovat rozšíření PHP #
Předpokládáme, že jste již povolili úložiště PHP 7.1 Remi pomocí našeho průvodce.
Nainstalujte všechna požadovaná rozšíření PHP pomocí následujícího příkazu:
sudo yum install php-mysql php-opcache php-xml php-mcrypt php-gd php-soap php-redis php-bcmath php-intl php-mbstring php-json php-iconv php-fpm php-zip
Po dokončení instalace nastavte požadované a doporučené možnosti PHP úpravou php.ini soubor s sed :
sudo sed -i "s/memory_limit = .*/memory_limit = 756M/" /etc/php.inisudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php.inisudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php.inisudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php.inisudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php.inisudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php.d/10-opcache.ini
Instalovat Composer #
Composer je správce závislostí pro PHP, který se používá k instalaci, aktualizaci a správě knihoven.
Chcete-li nainstalovat Composer globálně, stáhněte si instalační program Composer pomocí curl a přesuňte soubor do /usr/local/bin adresář:
curl -sS https://getcomposer.org/installer | phpsudo mv composer.phar /usr/local/bin/composer
Vytvořit nového systémového uživatele #
Vytvořte nového uživatele a skupinu, která bude spouštět naši instalaci Magento, pro jednoduchost pojmenujeme našeho uživatele magento :
sudo useradd -m -U -r -d /opt/magento magento
Přidejte nginx uživatele na magento skupinu a změňte /opt/magento oprávnění k adresáři, aby Nginx mohl přistupovat k naší instalaci Magento:
sudo usermod -a -G magento nginxsudo chmod 750 /opt/magento
Nakonfigurujte PHP FPM #
Dále musíme nakonfigurovat PHP a vytvořit fond FPM pro naše magento uživatel.
Otevřete textový editor a vytvořte následující soubor:
/etc/php-fpm.d/magento.conf[magento]
user = magento
group = nginx
listen.owner = magento
listen.group = nginx
listen = /run/php-fpm/magento.sock
pm = ondemand
pm.max_children = 50
pm.process_idle_timeout = 10s
pm.max_requests = 500
chdir = /
Uložte soubor a restartujte službu PHP FPM, aby se změny projevily:
sudo systemctl restart php-fpm Instalovat Magento #
Magento lze nainstalovat několika způsoby. Vyhněte se instalaci Magenta z úložiště Github, protože tato verze je určena pro vývoj a ne pro produkční instalace. V tomto tutoriálu nainstalujeme Magento z jejich repozitářů pomocí skladatele.
Přepněte na uživatelskémagento :
sudo su - magento
Spusťte instalaci stažením magento souborů do /opt/magento/public_html adresář:
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /opt/magento/public_html
Během vytváření projektu vás skladatel požádá o zadání přístupových klíčů, zkopírování klíčů z účtu Magento Marketplace a uložení do auth.json souboru, takže později při aktualizaci instalace nemusíte znovu přidávat stejné klíče.
Authentication required (repo.magento.com):
Username: e758ec1745d190520ca246e4e832e12c
Password:
Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ? [Yn]
Jakmile je projekt vytvořen, můžeme zahájit instalaci. Magento můžeme nainstalovat buď pomocí příkazového řádku nebo pomocí webového průvodce nastavením. V tomto tutoriálu nainstalujeme Magento pomocí příkazového řádku.
K instalaci našeho obchodu Magento použijeme následující možnosti:
- Základní a základní zabezpečené adresy URL jsou nastaveny na
https://example.com, změňte jej pomocí vaší domény. - Administrátor Magento:
JohnDoejako jméno a příjmení.john@example.comjako e-mail.johnjako uživatelské jméno aj0hnP4ssvv0rDjako heslo.
- Název databáze
magento, uživatelské jménomagento, hesloP4ssvv0rDa databázový server je na stejném hostiteli jako webový server. en_US, americká angličtina jako výchozí jazyk.USDdolary jako výchozí měna.America/Chicagojako časové pásmo.
Změňte na Magento ~/public_html adresář:
cd ~/public_html Spusťte následující příkaz pro spuštění instalace:
php bin/magento setup:install --base-url=https://example.com/ \
--base-url-secure=https://example.com/ \
--admin-firstname="John" \
--admin-lastname="Doe" \
--admin-email="john@example.com" \
--admin-user="john" \
--admin-password="j0hnP4ssvv0rD" \
--db-name="magento" \
--db-host="localhost" \
--db-user="magento" \
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1 \
--db-password="P4ssvv0rD"
Nezapomeňte si změnit heslo (j0hnP4ssvv0rD ) na něco bezpečnějšího. Pokud je instalace úspěšná, zobrazí se vám zpráva, která obsahuje URI do administračního panelu Magento.
[Progress: 485 / 485]
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_1csalp
Nothing to import.
Vytvořit Magento crontab #
Magento používá úlohy cron k plánování úloh, jako je opětovné indexování, upozornění, mapy webu, e-maily a další.
Chcete-li vytvořit Magento crontab, spusťte následující příkaz jako magento uživatel:
php ~/public_html/bin/magento cron:install Můžeme ověřit, že je crontab nainstalován spuštěním:
crontab -l #~ MAGENTO START adc062915d7b30804a2b340095af072d
* * * * * /usr/bin/php /opt/magento/public_html/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /opt/magento/public_html/var/log/magento.cron.log
* * * * * /usr/bin/php /opt/magento/public_html/update/cron.php >> /opt/magento/public_html/var/log/update.cron.log
* * * * * /usr/bin/php /opt/magento/public_html/bin/magento setup:cron:run >> /opt/magento/public_html/var/log/setup.cron.log
#~ MAGENTO END adc062915d7b30804a2b340095af072d
Nakonfigurujte Nginx #
Pokud jste postupovali podle našeho průvodce LEMP na CentOS 7, měli byste již mít na svém počítači nainstalovaný Nginx. Nyní zbývá pouze vytvořit nový blok serveru pro naši instalaci Magento. Zahrneme výchozí konfiguraci Nginx dodávanou s magento:
/etc/nginx/conf.d/example.com.confupstream fastcgi_backend {
server unix:/run/php-fpm/magento.sock;
}
server {
listen 80;
server_name example.com www.example.com;
include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
set $MAGE_ROOT /opt/magento/public_html;
set $MAGE_MODE developer; # or production
access_log /var/log/nginx/example.com-access.log;
error_log /var/log/nginx/example.com-error.log;
include /opt/magento/public_html/nginx.conf.sample;
}
Znovu načtěte službu Nginx, aby se změny projevily:
sudo systemctl reload nginx
Nakonec byste měli být schopni se přihlásit k instalaci Magento na https://example.com/admin_1csalp pomocí uživatele admin, kterého jste zadali při spuštění instalačního programu Magento.