Android

Jak zainstalować Magento 2 na Ubuntu 18.04

Magento 2.1.x in Ubuntu localhost Installation Guide 2017 | Magento 2 Tutorials

Magento 2.1.x in Ubuntu localhost Installation Guide 2017 | Magento 2 Tutorials

Spisu treści:

Anonim

Magento jest wiodącą platformą handlu elektronicznego klasy korporacyjnej opartą na technologii open source, łączącą zaawansowane funkcje z elastycznością i przyjaznym interfejsem użytkownika.

Dzięki funkcjom takim jak angażowanie zakupów, elastyczna architektura modułowa oraz skalowalność i wydajność klasy korporacyjnej Magento jest platformą z wyboru dla większości sprzedawców internetowych.

W tym samouczku pokażemy, jak zainstalować Magento 2.3 na komputerze Ubuntu 18.04. Będziemy używać Nginx jako serwera WWW, najnowszego PHP 7.2 i MySQL / MariaDB jako serwera bazy danych.

Wymagania wstępne

Przed kontynuowaniem tego samouczka upewnij się, że zostały spełnione następujące wymagania wstępne:

  • Niech nazwa domeny wskazuje adres IP twojego publicznego serwera. Skorzystamy z example.com .Nginx jest instalowany na serwerze Ubuntu, postępując zgodnie z tymi instrukcjami. Zainstalowano certyfikat SSL dla twojej domeny, aby szyfrować informacje użytkownika. Możesz zainstalować bezpłatny certyfikat Let's Encrypt SSL postępując zgodnie z tymi instrukcjami.

Aby uzyskać dostęp do repozytorium kodów Magento 2, musisz wygenerować klucze uwierzytelniające. Jeśli nie masz konta Magento Marketplace, możesz je utworzyć tutaj. Po utworzeniu konta zapoznaj się z tymi instrukcjami dotyczącymi generowania nowego zestawu kluczy uwierzytelniających.

Zaktualizuj pakiety systemowe do najnowszych wersji i zainstaluj narzędzie do rozpakowywania:

sudo apt update && sudo apt upgrade sudo apt install unzip

Tworzenie bazy danych MySQL

Jeśli masz MySQL lub MariaDB na swoim serwerze, możesz pominąć ten krok, jeśli nie, możesz zainstalować pakiet serwera MySQL 5.7 z domyślnych repozytoriów Ubuntu, wpisując:

sudo apt install mysql-server mysql-client W przypadku świeżych instalacji MySQL zaleca się uruchomienie komendy mysql_secure_installation celu poprawy bezpieczeństwa serwera MySQL.

Zaloguj się do powłoki MySQL za pomocą następującego polecenia:

sudo mysql

Z poziomu powłoki MySQL uruchom następującą instrukcję SQL, aby utworzyć nową bazę danych o nazwie magento :

CREATE DATABASE magento;

Następnie utwórz konto użytkownika MySQL o nazwie magento i udziel mu niezbędnych uprawnień, uruchamiając następującą komendę:

GRANT ALL ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'change-with-strong-password'; Upewnij się, że zmienisz change-with-strong-password z silnym hasłem na silne hasło.

Po zakończeniu wyjdź z konsoli MySQL, wpisując:

EXIT;

Tworzenie użytkownika systemu

Utwórz nowego użytkownika i grupę, która będzie właścicielem systemu plików Magento, dla uproszczenia magento użytkownika magento :

sudo useradd -m -U -r -d /opt/magento magento

Dodaj użytkownika www-data do grupy magento i zmień uprawnienia do katalogu /opt/magento aby Nginx mógł uzyskać dostęp do instalacji Magento:

sudo usermod -a -G magento www-data sudo chmod 750 /opt/magento

Instalowanie i konfigurowanie PHP

PHP 7.2, która jest domyślną wersją PHP w Ubuntu 18.04, jest w pełni obsługiwana i zalecana dla Magento 2.3. Ponieważ będziemy używać Nginx jako serwera WWW, zainstalujemy również pakiet PHP-FPM.

Uruchom następujące polecenie, aby zainstalować PHP i wszystkie wymagane moduły PHP:

sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap

Usługa PHP-FPM uruchomi się automatycznie po zakończeniu procesu instalacji, możesz to sprawdzić, drukując status usługi:

sudo systemctl status php7.2-fpm

Dane wyjściowe powinny wskazywać, że usługa fpm jest aktywna i uruchomiona.

● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-12-12 15:47:16 UTC; 5s ago Docs: man:php-fpm7.2(8) Main PID: 16814 (php-fpm7.2) Status: "Ready to handle connections" Tasks: 3 (limit: 505) CGroup: /system.slice/php7.2-fpm.service

Ustaw wymagane i zalecane opcje PHP, edytując plik php.ini pomocą sed ::

sudo sed -i "s/memory_limit =.*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/upload_max_filesize =.*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/zlib.output_compression =.*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/max_execution_time =.*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini

Następnie musimy utworzyć pulę FPM dla użytkownika magento .

Otwórz edytor tekstu i utwórz następujący plik:

sudo nano /etc/php/7.2/fpm/pool.d/magento.conf /etc/php/7.2/fpm/pool.d/magento.conf

user = magento group = www-data listen.owner = magento listen.group = www-data listen = /var/run/php/php7.2-fpm-magento.sock pm = ondemand pm.max_children = 50 pm.process_idle_timeout = 10s pm.max_requests = 500 chdir = /

Uruchom ponownie usługę PHP-FPM, aby zmiany odniosły skutek:

systemctl restart php7.2-fpm

Sprawdź, czy gniazdo PHP zostało pomyślnie utworzone, uruchamiając następującą komendę ls:

ls -al /var/run/php/php7.2-fpm-magento.sock

Dane wyjściowe powinny wyglądać mniej więcej tak:

srw-rw---- 1 magento www-data 0 Dec 12 16:07 /var/run/php/php7.2-fpm-magento.sock=

Instalowanie kompozytora

Composer jest menedżerem zależności dla PHP i będziemy go używać do pobierania rdzenia Magento i instalowania wszystkich niezbędnych składników Magento.

Aby zainstalować kompozytora globalnie, pobierz instalator Complera za pomocą curl i przenieś plik do katalogu /usr/local/bin :

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

Sprawdź instalację, drukując wersję kompozytora:

composer --version

Dane wyjściowe powinny wyglądać mniej więcej tak:

Composer version 1.8.0 2018-12-03 10:31:16

Instalowanie Magento

Istnieje kilka sposobów instalacji Magento 2. Unikaj instalowania Magento z repozytorium Github, ponieważ ta wersja jest przeznaczona do programowania, a nie do instalacji produkcyjnych.

W chwili pisania tego artykułu najnowszą stabilną wersją Magento jest wersja 2.3.0 . W tym samouczku zainstalujemy Magento z ich repozytoriów przy użyciu kompozytora.

Przełącz się na magento użytkownika, wpisując:

sudo su - magento

Rozpocznij instalację, pobierając pliki magento do katalogu / opt / magento / public_html:

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /opt/magento/public_html

Zostaniesz poproszony o wprowadzenie kluczy dostępu, skopiowanie kluczy z konta w portalu Magento i zapisanie ich w pliku auth.json , więc później podczas aktualizacji instalacji nie musisz ponownie dodawać tych samych kluczy.

Authentication required (repo.magento.com): Username: e758ec1745d190320ca246e4e832e12c Password: Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ? Y

Powyższe polecenie pobierze wszystkie wymagane pakiety PHP. Proces może potrwać kilka minut, a jeśli się powiedzie, koniec wydruku powinien wyglądać następująco:

Writing lock file Generating autoload files

Po utworzeniu projektu możemy rozpocząć instalację Magento. Możemy zainstalować Magento z poziomu wiersza poleceń lub za pomocą kreatora konfiguracji sieci. W tym samouczku zainstalujemy Magento za pomocą wiersza polecenia.

Użyjemy następujących opcji, aby zainstalować sklep Magento:

  • Podstawowe i podstawowe bezpieczne adresy URL są ustawione na https://example.com , zmień je w domenie. Administrator Magento:
    • John Doe jako imię i nazwisko. [email protected] jako e-mail. john jako nazwa użytkownika i j0hnP4ssvv0rD jako hasło.
    Nazwa bazy danych magento , nazwa użytkownika magento , change-with-strong-password hasła change-with-strong-password a serwer bazy danych znajduje się na tym samym hoście, co serwer WWW. en_US , angielski angielski jako język domyślny. Dolary USD jako domyślna waluta. America/Chicago jako strefa czasowa.
Tutaj znajdziesz wszystkie opcje instalacji.

Przejdź do katalogu Magento ~/public_html :

cd ~/public_html

Uruchom następujące polecenie, aby rozpocząć instalację:

php bin/magento setup:install --base-url=https://example.com/ \ --base-url-secure=https://example.com/ \ --admin-firstname="John" \ --admin-lastname="Doe" \ --admin-email="[email protected]" \ --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="change-with-strong-password" Nie zapomnij zmienić hasła ( j0hnP4ssvv0rD ) na coś bardziej bezpiecznego.

Proces może potrwać kilka minut, a po zakończeniu zostanie wyświetlony komunikat zawierający identyfikator URI na pulpicie administracyjnym Magento.

: Magento installation complete.: Magento Admin URI: /admin_13nv5k Nothing to import.

Tworzenie crontab Magento

Magento używa zadań cron do planowania zadań, takich jak ponowne indeksowanie, powiadomienia, mapy witryn, wiadomości e-mail i inne.

Aby utworzyć crontab Magento, uruchom następujące polecenie jako użytkownik magento :

php ~/public_html/bin/magento cron:install

Crontab has been generated and saved

Sprawdź, czy crontab jest zainstalowany, wpisując:

crontab -l

#~ MAGENTO START adc062915d7b30804a2b340095af072d * * * * * /usr/bin/php7.2 /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/php7.2 /opt/magento/public_html/update/cron.php >> /opt/magento/public_html/var/log/update.cron.log * * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento setup:cron:run >> /opt/magento/public_html/var/log/setup.cron.log #~ MAGENTO END adc062915d7b30804a2b340095af072d

Konfigurowanie Nginx

Do tej pory powinieneś już mieć Nginx z certyfikatem SSL zainstalowanym na serwerze Ubuntu, jeśli nie, sprawdź wymagania wstępne tego samouczka.

Zamierzamy uwzględnić domyślną konfigurację Nginx dostarczaną z Magento.

Przełącz się na użytkownika sudo, otwórz edytor tekstu i utwórz następujący plik:

sudo nano /etc/nginx/sites-available/example.com /etc/nginx/sites-available/example.com

upstream fastcgi_backend { server unix:/var/run/php/php7.2-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; include snippets/letsencrypt.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; include snippets/letsencrypt.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; } Nie zapomnij zastąpić example.com domeną Magento i ustawić prawidłową ścieżkę do plików certyfikatów SSL. Fragmenty użyte w tej konfiguracji są tworzone w tym przewodniku.

Przed ponownym uruchomieniem usługi Nginx wykonaj test, aby upewnić się, że nie występują błędy składniowe:

sudo nginx -t

Jeśli nie ma błędów, wynik powinien wyglądać następująco:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Na koniec zrestartuj usługę Nginx, wpisując:

sudo systemctl restart nginx

Weryfikacja instalacji

Otwórz przeglądarkę, wpisz domenę i zakładając, że instalacja zakończy się powodzeniem, pojawi się ekran podobny do następującego:

Możesz teraz przejść do identyfikatora URI Magento, zalogować się jako administrator i rozpocząć dostosowywanie nowej instalacji Magento.

Wniosek

Gratulacje, pomyślnie zainstalowałeś Magento 2.3 na swoim serwerze Ubuntu 18.04. Możesz teraz rozpocząć dostosowywanie swojego sklepu.

Dokumentacja programisty Magento 2.3 to dobre miejsce do rozpoczęcia nauki o zarządzaniu instalacją Magento.

ubuntu magento mysql mariadb php nginx kompozytor ecommerce