Android

Как установить magento 2 на Ubuntu 18.04

How to install Ubuntu Server 18.04 on Windows 10 (VirtualBox) - Magento 2 Tutorial

How to install Ubuntu Server 18.04 on Windows 10 (VirtualBox) - Magento 2 Tutorial

Оглавление:

Anonim

Magento является ведущей платформой электронной коммерции корпоративного класса, основанной на технологии с открытым исходным кодом, сочетающей в себе мощные функции с гибкостью и удобным интерфейсом.

Благодаря таким функциям, как привлечение покупателей, гибкая модульная архитектура и масштабируемость и производительность корпоративного уровня, Magento является платформой выбора для большинства онлайн-продавцов.

В этом уроке мы покажем вам, как установить Magento 2.3 на компьютер с Ubuntu 18.04. Мы будем использовать Nginx в качестве веб-сервера, последнюю версию PHP 7.2 и MySQL / MariaDB в качестве сервера базы данных.

Предпосылки

Убедитесь, что вы выполнили следующие предварительные условия, прежде чем продолжить этот учебник:

  • Иметь доменное имя, указывающее на IP вашего публичного сервера. Мы будем использовать example.com .Nginx установлен на вашем сервере Ubuntu, следуя этим инструкциям. SSL-сертификат установлен для вашего домена для шифрования информации пользователя. Вы можете установить бесплатный SSL-сертификат Let's Encrypt, следуя этим инструкциям.

Чтобы получить доступ к хранилищу кода Magento 2, вам необходимо сгенерировать ключи аутентификации. Если у вас нет учетной записи в Magento Marketplace, вы можете создать ее здесь. Создав учетную запись, ознакомьтесь с этими инструкциями о том, как создать новый набор ключей аутентификации.

Обновите системные пакеты до последних версий и установите утилиту unzip:

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

Создание базы данных MySQL

Если на вашем сервере установлен MySQL или MariaDB, вы можете пропустить этот шаг, в противном случае вы можете установить серверный пакет MySQL 5.7 из репозиториев Ubuntu по умолчанию, набрав:

sudo apt install mysql-server mysql-client Для новых установок MySQL рекомендуется выполнить команду mysql_secure_installation чтобы повысить безопасность вашего сервера MySQL.

Войдите в оболочку MySQL, используя следующую команду:

sudo mysql

В оболочке MySQL выполните следующую инструкцию SQL, чтобы создать новую базу данных с именем magento :

CREATE DATABASE magento;

Затем создайте учетную запись пользователя MySQL с именем magento и предоставьте необходимые разрешения пользователю, выполнив следующую команду:

GRANT ALL ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'change-with-strong-password'; Убедитесь, что вы изменили change-with-strong-password с помощью надежного пароля.

Когда закончите, выйдите из консоли MySQL, набрав:

EXIT;

Создание пользователя системы

Создайте нового пользователя и группу, которая будет владельцем файловой системы Magento, для простоты мы назовем пользователя magento :

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

Добавьте пользователя www-data в группу magento и измените разрешения для каталога /opt/magento чтобы Nginx мог получить доступ к установке Magento:

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

Установка и настройка PHP

PHP 7.2, которая является версией PHP по умолчанию в Ubuntu 18.04, полностью поддерживается и рекомендуется для Magento 2.3. Поскольку мы будем использовать Nginx в качестве веб-сервера, мы также установим пакет PHP-FPM.

Выполните следующую команду, чтобы установить PHP и все необходимые модули 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

Служба PHP-FPM автоматически запустится после завершения процесса установки, вы можете проверить это, напечатав статус службы:

sudo systemctl status php7.2-fpm

Выходные данные должны указывать, что служба fpm активна и работает.

● 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

Установите необходимые и рекомендуемые параметры PHP, отредактировав файл php.ini с помощью 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

Далее нам нужно создать пул FPM для пользователя magento .

Откройте ваш текстовый редактор и создайте следующий файл:

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 = /

Перезапустите службу PHP-FPM, чтобы изменения вступили в силу:

systemctl restart php7.2-fpm

Проверьте, был ли сокет PHP успешно создан, выполнив следующую команду ls:

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

Вывод должен выглядеть примерно так:

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

Установка Composer

Composer - менеджер зависимостей для PHP, и мы будем использовать его для загрузки ядра Magento и установки всех необходимых компонентов Magento.

Чтобы установить composer глобально, скачайте установщик Composer с помощью curl и переместите файл в каталог /usr/local/bin :

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

Проверьте установку, распечатав версию для композитора:

composer --version

Вывод должен выглядеть примерно так:

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

Установка Magento

Существует несколько способов установки Magento 2. Избегайте установки Magento из репозитория Github, поскольку эта версия предназначена для разработки, а не для производственных установок.

На момент написания этой статьи последняя стабильная версия Magento - это версия 2.3.0 . В этом уроке мы установим Magento из их репозиториев, используя composer.

Переключитесь на пользователя magento , набрав:

sudo su - magento

Запустите установку, загрузив файлы magento в каталог / opt / magento / public_html:

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

Вам будет предложено ввести ключи доступа, скопировать ключи из своей учетной записи на auth.json Magento и сохранить их в файле auth.json , чтобы позже при обновлении установки вам не приходилось добавлять эти же ключи снова.

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

Команда выше извлечет все необходимые пакеты PHP. Процесс может занять несколько минут, и в случае успеха конец вывода должен выглядеть следующим образом:

Writing lock file Generating autoload files

После того, как проект создан, мы можем начать установку Magento. Мы можем установить Magento либо из командной строки, либо с помощью мастера веб-настройки. В этом уроке мы установим Magento с помощью командной строки.

Мы будем использовать следующие опции для установки магазина Magento:

  • Базовые и базовые безопасные URL-адреса установлены на https://example.com , измените их с вашим доменом. Администратор Magento:
    • John Doe как имя и фамилия. [email protected] по электронной почте. john как имя пользователя и j0hnP4ssvv0rD как пароль.
    Имя базы данных magento , имя пользователя magento , пароль change-with-strong-password и сервер базы данных находятся на том же хосте, что и веб-сервер. en_US , американский английский в качестве языка по умолчанию. USD США в качестве валюты по умолчанию. America/Chicago как часовой пояс.
Вы можете найти все варианты установки здесь.

Перейдите в каталог Magento ~/public_html :

cd ~/public_html

Запустите следующую команду, чтобы начать установку:

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" Не забудьте сменить пароль ( j0hnP4ssvv0rD ) на более безопасный.

Процесс может занять несколько минут, и после его завершения вы получите сообщение с URI для панели администратора Magento.

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

Создание Magento crontab

Magento использует задания cron для планирования задач, таких как переиндексация, уведомления, карты сайта, электронная почта и многое другое.

Для создания Magento crontab выполните следующую команду от имени пользователя magento :

php ~/public_html/bin/magento cron:install

Crontab has been generated and saved

Убедитесь, что crontab установлен, набрав:

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

Настройка Nginx

К настоящему времени у вас уже должен быть установлен Nginx с SSL-сертификатом на вашем сервере Ubuntu, если нет, проверьте предварительные условия для этого учебника.

Мы собираемся включить конфигурацию Nginx по умолчанию, поставляемую с Magento.

Переключитесь на пользователя sudo, откройте текстовый редактор и создайте следующий файл:

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; } Не забудьте заменить example.com доменом Magento и указать правильный путь к файлам SSL-сертификатов. Фрагменты, используемые в этой конфигурации, созданы в этом руководстве.

Перед перезапуском службы Nginx выполните тест, чтобы убедиться в отсутствии синтаксических ошибок:

sudo nginx -t

Если ошибок нет, результат должен выглядеть следующим образом:

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

Наконец, перезапустите сервис Nginx, набрав:

sudo systemctl restart nginx

Проверка установки

Откройте браузер, введите домен и, если установка прошла успешно, появится экран, подобный следующему:

Теперь вы можете перейти к URI администратора Magento, войти в систему как пользователь администратора и начать настройку новой установки Magento.

Вывод

Поздравляем, вы успешно установили Magento 2.3 на свой сервер Ubuntu 18.04. Теперь вы можете начать настраивать свой магазин.

Документация для разработчиков Magento 2.3 - это хорошая отправная точка, чтобы узнать больше о том, как управлять установкой Magento.

Ubuntu Magento MySQL Marriadb PHP Nginx композитор электронной коммерции