Magento je bezplatná webová aplikace pro elektronické obchodování s otevřeným zdrojovým kódem, která vám umožní vytvořit plně funkční obchod s elektronickým obchodem během několika minut. Je napsán v PHP a kombinuje výkonné funkce s flexibilitou a uživatelsky přívětivým rozhraním. Je to jedno z nejoblíbenějších řešení pro online obchody s vlastním hostitelem díky své jednoduchosti a výkonnému panelu pro správu. Dodává se s bohatou sadou funkcí včetně správy webu, SEO, správy katalogu, procházení produktů a katalogů, správy objednávek, pokladny, propagací a převodních nástrojů a mnohem více.
V tomto tutoriálu vám ukážeme, jak nainstalovat platformu Magento E-commerce s Apache a Let's Encrypt SSL na Ubuntu 20.04.
Předpoklady
- Server se systémem Ubuntu 20.04 se 4 GB paměti RAM.
- Platný název domény odkazovaný na váš server.
- Na vašem serveru je nakonfigurováno heslo uživatele root.
Instalovat LAMP Server
Magento běží na webovém serveru napsaném v PHP a jako databázi používá MariaDB. Takže budete muset nainstalovat zásobník LAMP na váš server.
Nejprve nainstalujte webový server Apache a server MariaDB pomocí následujícího příkazu:
apt-get install apache2 mariadb-server mariadb-client -y
Nejnovější verze Magento je kompatibilní pouze s PHP 7.1.3+ a 7.2.x. Takže budete muset nainstalovat podporované verze PHP s požadovanými rozšířeními na váš server.
Ve výchozím nastavení se Ubuntu 20.04 dodává s verzí PHP 7.4. Takže budete muset přidat Ondřej PPA do vašeho systému, abyste mohli nainstalovat další verze PHP.
Ondřej PHP PPA můžete přidat pomocí následujícího příkazu:
apt-get install software-properties-common -y
add-apt-repository ppa:ondrej/php
Dále aktualizujte úložiště a nainstalujte PHP s dalšími požadovanými rozšířeními pomocí následujícího příkazu:
apt-get install php7.2 libapache2-mod-php7.2 php7.2-bcmath php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli php7.2-ldap php7.2-zip php7.2-curl wget curl unzip -y
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Konfigurace databáze MariaDB
Ve výchozím nastavení není MariaDB zabezpečena. Je tedy dobré zabezpečit a nastavit root heslo MariaDB. Můžete to udělat pomocí následujícího příkazu:
mysql_secure_installation
Odpovězte na všechny otázky, jak je uvedeno níže:
Enter current password for root (enter for none): Set root password? [Y/n] Y New password: Re-enter new password: Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Jakmile je MariaDB zabezpečená, přihlaste se do prostředí MariaDB:
mysql -u root -p
Zadejte své root heslo MariaDB a poté vytvořte databázi a uživatele pro Magento:
MariaDB [(none)]> CREATE DATABASE magentodb;
MariaDB [(none)]> CREATE USER 'magento'@'localhost' IDENTIFIED BY 'password';
Dále udělte všechna oprávnění databázi Magento pomocí následujícího příkazu:
MariaDB [(none)]> GRANT ALL ON magentodb.* TO 'magento'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Dále vyprázdněte oprávnění a ukončete prostředí 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.
Stáhnout Magento
V době psaní tohoto návodu je nejnovější verze Magenta 2.3.5. Můžete si jej stáhnout z oficiální stránky stahování Magento.
Po stažení rozbalte stažený soubor do webového kořenového adresáře Apache pomocí následujícího příkazu:
mkdir /var/www/html/magento
tar -xvjf magento-ce* -C /var/www/html/magento/
Dále udělte správné vlastnictví a oprávnění k adresáři magento:
chown -R www-data:www-data /var/www/html/magento/
chmod -R 755 /var/www/html/magento/
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Konfigurovat Apache pro Magento
Dále vytvořte nový konfigurační soubor virtuálního hostitele Apache, který bude sloužit webu Magento.
nano /etc/apache2/sites-available/magento.conf
Přidejte následující řádky:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/magento/ ServerName magento.linuxbuz.com <Directory /var/www/html/magento/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Uložte a zavřete soubor a poté povolte virtuální hostitel Magento a přepisovací modul Apache pomocí následujícího příkazu:
a2ensite magento.conf
a2enmod rewrite
Nakonec restartujte službu Apache a implementujte změny:
systemctl restart apache2
V tomto okamžiku je webový server Apache nakonfigurován tak, aby obsluhoval Magento.
Zabezpečte Magento pomocí Let's Encrypt SSL
Vždy je dobré zabezpečit svůj web pomocí bezplatného SSL Let's Encrypt. Nejprve si na svůj server nainstalujte klienta Certbot a stáhněte a nakonfigurujte Let's Encrypt SSL pro svůj web.
apt-get install certbot python3-certbot-apache -y
Jakmile je Certbot nainstalován, spusťte následující příkaz ke stažení a instalaci Let's Encrypt SSL pro váš web:
certbot --apache -d magento.linuxbuz.com
Budete požádáni, abyste poskytli svůj platný e-mail a přijali podmínky služby, jak je uvedeno níže:
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 at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing 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 Obtaining a new certificate Performing the following challenges: http-01 challenge for magento.linuxbuz.com Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/magento-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/magento-le-ssl.conf Enabling available site: /etc/apache2/sites-available/magento-le-ssl.conf
Dále budete požádáni, abyste zvolili, zda chcete přesměrovat provoz HTTP na HTTPS:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Zadejte 2 a stiskněte Enter pro dokončení instalace.
Redirecting vhost in /etc/apache2/sites-enabled/magento.conf to ssl vhost in /etc/apache2/sites-available/magento-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://magento.linuxbuz.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=magento.linuxbuz.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/magento.linuxbuz.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/magento.linuxbuz.com/privkey.pem Your cert will expire on 2020-08-11. 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" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - 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
Přístup k webu Magento
V tuto chvíli jsou vaše webové stránky Magento zabezpečeny pomocí Let's Encrypt SSL.
Nyní otevřete webový prohlížeč a zadejte adresu URL https://magento.linuxbuz.com. Budete přesměrováni na webového průvodce instalací Magento:
Klikněte na Souhlasím a Nastavení Magento knoflík. Měli byste vidět obrazovku Magento Readiness:
Klikněte na tlačítko Start Připravenost Zkontrolujte knoflík. Po dokončení kontroly připravenosti byste měli vidět následující obrazovku:
Klikněte na Další knoflík. Měli byste vidět obrazovku Nastavení databáze:
Zadejte název databáze Magento, uživatelské jméno databáze, heslo a klikněte na Další knoflík. Měli byste vidět průvodce webovou konfigurací Magento:
Zadejte svou adresu Magento Store a adresu správce, povolte HTTPS a klikněte na Další knoflík. Měla by se zobrazit obrazovka přizpůsobení obchodu:
Nastavte preferované časové pásmo, měnu, jazyk a klikněte na Další knoflík. Měli byste vidět obrazovku vytvoření uživatele správce:
Zadejte své uživatelské jméno správce, e-mail, heslo a klikněte na Další knoflík. Měli byste vidět následující obrazovku:
Klikněte na Instalovat Nyní tlačítko pro spuštění instalace. Po úspěšném dokončení instalace byste měli vidět následující obrazovku:
Klikněte na adresu správce Magento. Měli byste vidět stránku správce Magento:
Zadejte své uživatelské jméno a heslo správce Magento a klikněte na Podepsat v knoflík. Na následující obrazovce byste měli vidět řídicí panel Magento:
Do obchodu Magento se můžete dostat také pomocí adresy URL https://magento.linuxbuz.com. Měli byste vidět následující obrazovku:
Závěr
Gratulujeme! úspěšně jste nainstalovali Magento s Let's Encrypt SSL na Ubuntu 20.04. Nyní můžete snadno nasadit svůj vlastní internetový obchod. Pokud máte nějaké dotazy, neváhejte se mě zeptat.