How to install Ubuntu Server 18.04 on Windows 10 (VirtualBox) - Magento 2 Tutorial
Оглавление:
- Предпосылки
- Создание базы данных MySQL
- Создание пользователя системы
- Установка и настройка PHP
- Установка Composer
- Установка Magento
- Создание Magento crontab
- Настройка Nginx
- Проверка установки
- Вывод
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, набрав:
Создание пользователя системы
Создайте нового пользователя и группу, которая будет владельцем файловой системы 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:-
JohnDoeкак имя и фамилия.[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, набрав:
Проверка установки
Откройте браузер, введите домен и, если установка прошла успешно, появится экран, подобный следующему:

Теперь вы можете перейти к URI администратора Magento, войти в систему как пользователь администратора и начать настройку новой установки Magento.
Вывод
Поздравляем, вы успешно установили Magento 2.3 на свой сервер Ubuntu 18.04. Теперь вы можете начать настраивать свой магазин.
Документация для разработчиков Magento 2.3 - это хорошая отправная точка, чтобы узнать больше о том, как управлять установкой Magento.
Ubuntu Magento MySQL Marriadb PHP Nginx композитор электронной коммерцииРуководство по привратнику: как с его помощью установить и установить приложения Mac
Узнайте больше о Gatekeeper и о том, как использовать его для установки самых безопасных приложений на ваш Mac.
Как установить, установить принтер hp officejet 6500a plus "все в одном"
Узнайте, как настроить и установить принтер HP Officejet 6500A Plus «все в одном».
Как установить и настроить magento 2 на centos 7
В этой серии вы узнаете, как установить Magento 2 на сервер CentOS с Nginx, MariaDB и PHP 7.1.







