Magento je open source platforma elektronického obchodování napsaná v PHP. Magento patří do top 3 platforem elektronického obchodu a je jednou z předních v odvětví elektronického obchodu. Některé ze základních funkcí Magenta jsou Product management, Inventory Management, Order Management, Reporting atd. Mnoho velkých organizací si vybírá Magento jako platformu pro elektronický obchod, protože je vysoce přizpůsobitelné, škálovatelné, s pokročilým zabezpečením a je přátelské k SEO.
V tomto tutoriálu vás provedeme, jak nainstalovat Magento 2.4.5 na Ubuntu 22.04.
Začněme.
1 Předpoklady
- Ubuntu 22.04
- Alespoň 2 GB RAM nebo vyšší
2 Aktualizace systému
Než zahájíme instalaci, musíme aktualizovat náš systém.
sudo apt update -y && apt upgrade -y
3 Instalace PHP a rozšíření PHP
Požadovaná verze PHP pro Magento 2.4.5 je PHP 8.1. V této instalaci použijeme úložiště Ubuntu 22.04 k instalaci PHP 8.1, protože se jedná o výchozí sadu verzí. Nechte nás nainstalovat PHP 8.1 a rozšíření požadovaná Magento.
sudo apt install php libapache2-mod-php php-bcmath php-curl php-fpm php-gd php-intl php-mbstring php-mysql php-soap php-xml php-xsl php-zip php-cli
Upravme některé hodnoty PHP potřebné pro správné fungování Magenta.
Nejprve zkontrolujte umístění konfiguračního souboru PHP.
sudo php --ini | grep "Loaded Configuration File"
Output:
Loaded Configuration File: /etc/php/8.1/cli/php.i
Upravte konfigurační soubor PHP.
sudo nano /etc/php/8.1/cli/php.ini
Upravte konfigurační soubory s následujícími hodnotami.
memory_limit = 1G
upload_max_filesize = 128M
zlib.output_compression = on
max_execution_time = 18000
realpath_cache_size = 10M
realpath_cache_ttl = 7200
Uložte konfigurační soubor a ukončete.
4 Instalace a konfigurace databáze
Magento 2.4.5 podporuje MariaDB 10.4 nebo MySQL 8. V této příručce budeme používat MySQL 8.0.
Nechte nás nainstalovat MySQL.
sudo apt install mysql-server
Zabezpečme instalaci MySQL, ale předtím musíme nastavit kořenové heslo MySQL, abychom se vyhnuli níže uvedenému problému:
… Nezdařilo se! Chyba:SET PASSWORD nemá pro uživatele 'root'@'localhost' žádný význam, protože použitá metoda ověřování neukládá ověřovací data na serveru MySQL. Pokud chcete změnit parametry ověřování, zvažte prosím použití ALTER USER .
Nastavíme kořenové heslo MySQL.
sudo mysql
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mysecretpassword';
mysql> exit
Zabezpečíme instalaci MySQL.
sudo mysql_secure_installation
Output:
Securing the MySQL server deployment.
Enter password for user root:
The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.
Estimated strength of the password: 50
Change the password for root ? ((Press y|Y for Yes, any other key for No) : N
... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
- Dropping test database...
Success.
- Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.
All done!
Restartujte službu MySQL.
sudo systemctl restart mysql
Pojďme vytvořit databázi pro naši instanci Magento.
sudo mysql -u root -p
Příkaz bude vyžadovat zadání hesla root MySQL.
Než však budeme pokračovat ve vytváření databáze, změňme nejprve zásady pro hesla na „NÍZKÁ “ toto je volitelné, pokud nechcete používat přísnou politiku hesel.
mysql> SET GLOBAL validate_password.policy = 0;
Pojďme vytvořit databázi pro Magento.
mysql> CREATE USER 'magento_user'@'localhost' IDENTIFIED BY 'mypassword';
mysql> GRANT ALL ON magento2.* TO 'magento_user'@'localhost';
mysql> flush privileges;
mysql> exit
5 Instalace Elastic Search
Počínaje Magento 2.4 musí být všechny instalace nakonfigurovány pro použití Elasticsearch.
Zahájíme instalaci Elasticsearch.
sudo apt install apt-transport-https ca-certificates gnupg2
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
sudo apt update
sudo apt install elasticsearch
Spusťte a povolte Elasticsearch.
sudo systemctl enable elasticsearch --now
Zkontrolujte stav.
sudo systemctl status elasticsearch
6 Instalace aplikace Composer
Vzhledem k tomu, že Magento je založeno na PHP a ke spuštění vyžadovalo různé druhy balíčků ak instalaci balíčku potřebného ke spuštění Magenta, musíme nainstalovat správce balíčků nazvaný skladatel.
Chcete-li nainstalovat skladatel.
curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Zkontrolujte verzi.
sudo composer --version
Output:
Composer version 2.4.3 2022-10-14 16:56:41
7 Instalace a konfigurace webového serveru
Chystáme se nastavit Magento na webový server Nginx a Apache.
Pro Apache .
Nejprve nainstalujte webový server Apache.
sudo apt install apache2
Spusťte a povolte Apache.
sudo systemctl enable apache2 --now
Nyní nastavte virtuálního hostitele.
sudo nano /etc/apache2/sites-available/magento.conf
Přidejte obsah níže.
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /var/www/magento2/pub
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/var/www/">
AllowOverride all
</Directory>
</VirtualHost>
Uložte soubor a ukončete.
Nezapomeňte prosím změnit doménu.com do vaší vlastní domény.
Povolme virtuálního hostitele, který jsme vytvořili.
a2ensite magento.conf
Poté povolte modul mod_rewrite.
a2enmod rewrite
Poté restartujte Apache.
systemctl restart apache2
Pro Nginx .
Nejprve nainstalujme Nginx.
sudo apt install nginx -y
Povolte a spusťte Nginx.
sudo systemctl enable nginx --now
Vytvořte blok serveru.
sudo nano /etc/nginx/sites-available/magento.conf
Vložte následující:
upstream fastcgi_backend {
server unix:/run/php/php8.1-fpm.sock;
}
server {
server_name domain.com www.domain.com;
listen 80;
set $MAGE_ROOT /var/www/magento2;
set $MAGE_MODE developer; # for production change the developer to production
access_log /var/log/nginx/magento2-access.log;
error_log /var/log/nginx/magento2-error.log;
include /var/www/magento2/nginx.conf.sample;
}
Poznámka: Nezapomeňte prosím změnit „doména.com “.
Uložte soubor a ukončete.
Povolme konfigurační soubor Nginx (blok serveru).
sudo ln -s /etc/nginx/sites-available/magento.conf /etc/nginx/sites-enabled/
Restartujte Nginx.
sudo systemctl restart nginx
8 Stáhnout a nainstalovat Magento 2.4.5
Ve většině případů se doporučuje nainstalovat Magento pomocí Tržiště (https://marketplace.magento.com/) vytvořením přístupového klíče.
Chcete-li vytvořit přístupový klíč, postupujte podle následujících kroků.
- První přihlášení do účtu Tržiště
- Přejděte na Jméno->Můj profil
- Přejděte na Marketplace->Moje produkty->Přístupové klíče
- Na kartě Magento 2 klikněte na „Vytvořit nový přístupový klíč “
- Ve vyskakovacím okně zadejte do textového pole libovolný název a poté klikněte na OK.
- Hotovo a uvidíte vygenerované přístupové klíče.
Pojďme nainstalovat Magento 2.4.5
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.5 /var/www/magento2
Zobrazí se výzva k zadání uživatelského jména a hesla a uživatelské jméno a heslo je váš public_key a soukromý_klíč respektive.
Username: YOUR_PUBLIC_KEY
Password: YOUR_PRIVATE_KEY
Po zadání přihlašovacích údajů se vás zeptá, zda chcete přihlašovací údaje uložit do místního souboru, stačí odpovědět ano.
Do you want to store credentials for repo.magento.com in /root/.config/composer/auth.json ? [Yn] Y
Přejděte na Magento kořenový adresář.
cd /var/www/magento2/
Nyní spusťte instalační příkaz Magento 2.
bin/magento setup:install \
--base-url=http://domain.com \
--db-host=localhost \
--db-name=magento2 \
--db-user=magento_user \
--db-password=mypassword \
--admin-firstname=admin \
--admin-lastname=admin \
[email protected] \
--admin-user=admin \
--admin-password=myadminpassword \
--language=en_US \
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1
Poznámka: Nezapomeňte prosím upravit hodnoty (viz tučný text ) na základě vaší vlastní sady hodnot.
Po procesu instalace uvidíte odkaz pro správu vaší instance Magento 2.4.5.
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_1lswn5
Nothing to import.
9 Nastavení úloh a oprávnění Cron
Magento používá cron job k automatizaci některých operací. Pro nastavení cronu Magento spusťte tento příkaz.
sudo bin/magento cron:install
Nyní opravíme oprávnění k souboru našeho adresáře Magento.
sudo chown -R www-data:www-data /var/www/magento2
Vaše instance Magento by nyní měla být spuštěna.
Poznámka: Pokud máte problém s přihlášením ke své instanci Magento, musíte zakázat dvoufaktorovou autentizaci spuštěním příkazu níže:
sudo bin/magento module:disable Magento_TwoFactorAuth
Blahopřejeme úspěšně jste nainstalovali Magento 2.4.5 nyní můžete přistupovat k instanci Magento na http://domena.com
10 Závěr
V tomto tutoriálu jste se naučili, jak nainstalovat Magento 2.4.5 pomocí jiného webového serveru. Pokud používáte Ubuntu 22.04, můžete se podívat na náš článek o Magento 2.4.4.