Руководство по установке Magento 2

- Magento 2

В этом посте мы подробно описали весь процесс установки Magento 2. Более подробно о новой версии платформы читайте в этой статье: “Magento 2 – обзор, особенности, обновления“.

магенто2-мадженто2

Системные требования Magento 2

Следующие системные требования необходимы для того, чтобы установить Magento 2:

  • Операционная система: Linux distributions (RHEL, Ubuntu, CentOS, Debian)
  • Последняя стабильная версия Composer
  • Apache 2.2 or 2.4 (не забываем включить модуль mod_rewrite)
  • PHP: 5.4.x (x is 11 или более новая); 5.5.x
  • PHP расширения: PDO/MySQL, mcrypt, mbstring, mhash, curl, simplexml, gd2, ImageMagick 6.3.7, soap
  • MySQL 5.6.x
  • SMTP сервер MTA

Что касается других важных советов, то это: php_xdebug2.2.0 или более поздняя версия (только для разработки); PHPUnit 4.1 для тестирование в режиме командной строкой.

Composer и Magento repository

Composer и Magento 2

Чтобы установить Magento 2, вам необходим Composer. Он позволит управлять системой, расширениями зависимостями. основные особенности Composer’а:

  • Позволяет использовать сторонние библиотеки без необходимости связывать их с исходным кодом;
  • Создает компонентную архитектуру с надежным управлением зависимостями;
  • Позволяет сократить количество конфликтов между модулями;
  • Предоставляет разные версии зависимостей;
  • Семантический контроль над версиями (Semantic versioning);
  • Composer поддерживает стандарт PHP Framework Interoperability.

Устанавливаем Composer Installation

  1. создайте новую директорию на Magento сервере.
  2. введите следующую команду::

Дополнительные опции можно найти тут: Composer installation documentation.

  1. Перезапустите: для Ubuntu используйте service apache2 restart ; для CentOS используйте: service httpd restart

Клонирование Magento 2 репозитория из GitHub

  1. Используйте SSH: создайте SSH ключи; добавьте публичный ключ для GitHub.
  2. Скопируйте HTTPS клон URL или SSH  репозитория Magento GitHub в буфер обмена .
  • Откройте репозиторий Magento GitHub в браузере.
  • Нажмите на SSH или HTTPS (под полем “Clone URL” справа).
  • Воспользуйтесь кнопкой “Copy to clipboard”.

пример для HTTPS клона URL:

  1. Поменяйте docroot директорию веб-сервера: для Ubuntu –  /var/www; для CentOS – /var/www/html.
  2. Используйте следующие команды:
  • Для HTTPS: git clone https://github.com/magento/magento2.git
  • Для SSH: git clone git@github.com:magento/magento2.git
  1. Новый репозиторий будет клонирован на сервер.

Разрешения и права доступа для файловой системы

Рекомендованные настройки для разрешений:

  • 700 разрешений для всех директорий (drwx——). В таком случае владелец получает полный контроль на системой, другие пользователи таких прав лишены.
  • 600 разрешений для всех файлов (-rw——-). Владелец может читать и писать, но ни у кого другого таких прав нет.

Теперь, когда у пользователя есть права на работу в файловой системе Magento 2, необходимо сделать следующее:

  1. Используйте cd magento2 ,чтобы поменять директорию Magento.
  2. Используйте ps -ef | grep apache2 чтобы найти веб-сервер для Ubuntu; grep User /etc/httpd/conf/httpd.conf – для CentOS.
  3. Используйте chown -R [your web server user name]  установить право собственности: в CentOS – chown -R apache ; в Ubuntu – chown -R www-data .
  4. Установите разрешения:

Обновление зависимостей

Впервые работа Magento связана с Composer’ом. Это приложение создано для того, чтобы управлять PHP зависимостями. Прежде чем устанавливать какой-либо Magento софт, вы должны настроить Composer:

  1. Сначала установите Composer.
  2. Теперь переключитесь на Apache пользователя, это позволит Composer’у правильно писать файлы в docroot вебсервера.
  3. Для обоих директорий запустите команду composer install

<your Magento install dir>
<your Magento install dir>/setup

Большинство проблем, которые возникают на данном этапе, связаны с некорректной установкой Композера.

Переключение на Apache пользователя

Для Ubuntu и CentOS избегайте работы Composer’а в качестве root пользователя. Не забывайте, что пользователь CentOS – apache; Ubuntu – www-data.

Ubuntu

  1. Введите su www-data ;
  2. Если же вы не знаете пароля пользователя, но соответствующее окно с запросом его ввода появилось на экране, переходите к следующему пункту;
  3. Используйте www-data , чтобы включить оболочку пользователя и установить пароль:

  1. Запустите su www-data еще раз и введите пароль;
  2. Чтобы завершить процедуру, перейдите к следующему этапу установки.

CentOS

  1. Запустите su – apache. Если появится ошибка “This account is currently not available”, перейдите к следующему шагу;
  2. Воспользуйтесь sudo chsh -s /bin/bash apache, чтобы обеспечить apache действующей оболочкой.
  3. Enter su – apache again – it should work now.

Запускам Composer для обновления зависимостей

  1. Залогиньтесь как пользователь веб-сервера для сервера Magento 2.
  2. Переключитесь на директорию установки Magento 2 – cd /var/www/html/magento2
  3. Запустите composer install, чтобы обновить пакет зависимостей.

Установка Magento 2 c использованием Magento 2 Setup Wizard

Запускаем Magento 2 Setup Wizard

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

Для начала:

  1. Откройте браузер.
  2. Введите http://[Magento host or IP]/[path to Magento root]/setup  в адресной строке. Например Для IP адреса сервера Magento “192.0.2.10” и директории magento2 необходимо ввести: http://192.0.2.10/magento2/setup
  3. Нажмите Agree and Set Up Magento.
  4. Чтобы продолжить установку, перейдите к следующей секции.

1: Проверка готовности

magento-2-readiness-check

  1. Воспользуйтесь опцией Start Readiness Check.
  2. Решите все проблемы, прежде чем переходить к следующему шагу.
  3. Используйте опцию More detail чтобы получить дополнительную информацию.
  4. нажмите Next.

2: Добавляем базу данных (database)

magento2-install-data-base-select

Наименование Описание
Database Server Host Укажите localhost для web и database серверов, которые  размещены на одном хосте. Для базы данных с другого хоста используйте IP address или hostname.
Database Server Username Введите имя пользователя владельца базы данных Magento 2.
Database Server Password Укажите пароль пользователя, или оставляет поле пустым, если пароль не предусмотрен.
Database Name Укажите имя базы данных Magento 2.
Table prefix Используйте это поле только в том случае, если вы устанавливаете таблицы в базу данных, в которой уже имеются другие таблицы. Использует префикс, чтобы идентифицировать таблицы, которые будут установлены в Magento.

 

3: Настройка веб

magento2-install-setup-web-configuration

Наименование Описание
Your Store Address Введите URL адрес магазина  (http://www.example.com/).
Magento Admin Address Введите URL админки (Magento Admin).

 

Также не забудьте кликнуть на Advanced Options:

Наименование Описание
HTTPS Options Воспользуйтесь этой опцией, чтобы активировать SSL для URL (использовать только при наличие поддержки SSL).
Apache Rewrites Используйте эту опцию только в том случае, если вы активировали URL Rewrites во время установки Apache.
Encryption Key Используйте I want to use a Magento generated key, чтобы получить ключ шифрования. При наличие ключа шифрования, выберите I want to use my own encryption key.

 

4: Настройка магазина

magento2-setup-customize-your-store

  1. Используйте Store Default Time Zone для выбора часового пояса.
  2. Store Default Currency для выбора валюты.
  3. Use Store Default Language для выбора языка.

5: Создание аккаунта администратора

magento-2-setup-create-admin-account

Наименование Описание
New Username Введите имя пользователя для входа в админку Magento 2.
New E-Mail Введите адрес электронной почты администратора.
New Password Новый пароль.
Confirm Password Подтвердите пароль.

 

6: Установка

magento-2-install-setup

Нажмите Install Now и вы получите следующие опции:

  • Console Log – процесс установки и информация об ошибках.
  • Previous  – переход на предыдущий этап для исправления ошибок.
  • Try Again – повторная установка.

Если установка прошла нормально, то вы увидите следующее сообщение: Success.

Просмотр журнала установки

Setup Wizard создает install.log – файл,в  котором содержится вся информация об установке. Чтобы найтиего расположение, необходимо:

  1. Открыть php.ini в текстовом редакторе.  Если же вы не знаете, где находится php.ini, то:
    1. залогиньтесь как пользователь веб сервера.
    2. В docroot создайте phpinfo.php.
    3. Используйте браузер, чтобы получить доступ к phpinfo.php.
    4. Вы можете найти расположение php.ini в Loaded Configuration File.
  2. Найдите sys_temp_dir. Его значение определяет install.log. Это обычно значение – /tmp, соответственно лог –  /tmp/install.log.

Установка Magento 2 при помощи командной строки

  1. Залогиньтесь как пользователь веб сервера.
  2. Переключитесь на cd <your Magento install dir>/setup: cd /var/www/magento2/setup для Ubuntu или на cd /var/www/html/magento2/setup для CentOS.
  3. Используйте следующие команды, чтобы определить значение опций: php -f index.php help language для языка; php -f index.php help timezone для часового пояса, php -f index.php help currency для валюты.

Установка Magento при помощи командной строки

Формат установочной команды:

Название Значение Обязательное
base_url Используйте Base URL для доступа к админке и магазину в формате http[s]://[host or ip]/[your Magento base dir]/. 

[your Magento base dir] docroot-relative path – путь, по которому будет установлено Magento 2.

Используйте http://localhost/[your Magento base dir]/ или http://127.0.0.1/[your Magento base dir]/ чтобы достичь Magento на локальном хосте (localhost).

Да
backend_frontname Путь доступа к странице администратора. Привязывается к Base URL. Для Base URL http://www.example.com и Admin Patch  admin, URL выглядит так: http://www.example.com/admin да
db_host вы можете использовать полное имя хоста (hostname), IP адрес, localhost если база данных и веб сервер расположены на одном хосте, или UNIX socket (/var/run/mysqld/mysqld.sock) 

Кроме того, существует и такая возможность: www.example.com:9000

да
db_name место,к уда будут установлены таблицы баз данных. да
db_user Имя пользователя владельца базы данных Magento да
db_pass Пароль владельца нет
db_prefix Используйте для нескольких примеров (Magento instance) на одном сервере со всеми таблицами в одной базе данных. нет
admin_firstname Имя Magento администратора. да
admin_lastname Фамилия администратора. да
admin_email E-mail администратора да
admin_username имя пользователя администратора да
admin_password Пароль администратора. да
language языковой код для админки и магазина. Чтобы получить список кодов, введите: php -f index.php help language в директории setup. да
currency Валюта – php -f index.php help currency с директории setup да
timezone Часовой пояс – php -f index.php help timezone с директории setup да
use_secure 1 – разрешает использовать SSL во всех URL (должна быть поддержка SSL на сервере). 

0 – запрещает использование SSL.

нет
base_secure_url 1 – использование SSL предпочтительно в Magento URL 

0 – SSL не используется.

нет
use_secure_admin 1 – SSL используется для доступа к админке (Magento Admin). 

0  – SSL не используется с админкой.

нет
admin_use_security_key 1  – Magento использует случайный ключ. 

0 – свойство не работает.

нет
session_save Используйте files для хранения данных в файловой системе; db.files – в базе данных. нет
key Укажите ключ для шифрования данных в базе данных Magento или Magento сгенерирует собственный. нет
cleanup_database не указывайте никакого значения, чтобы удалить таблицы перед установкой Magento software installation, или же база данных Magento останется неизменной. нет
db_init_statements настройка MySQL, для дополнительной информации воспользуйтесь ссылкой: this link. нет
sales_order_increment_prefix Установите строковое значение, которое будет использоваться в качестве префикса для заказов на продажу. нет

Устанавливаем localhost

В результате упомянутых выше процедур у Magento появятся следующие опции и параметры:

  • Софт будет установлен в директорию magento2. URL магазина –  http://localhost; админка – http://localhost/admin;
  • база данных и веб сервер на одном хосте.
  • имя базы данных, имя пользователя и пароль –  magento.
  • Свойства Magento администратора:
    • Имя и фамиля – Magento User
    • Имя пользователя – admin, пароль- iamtheadmin
    • E-mail – user@example.com
  • язык – is U.S. English.
  • валюта – U.S. dollars.
  • часовой пояс – U.S. Central.

  •  

введите эту команду в одной строке

Переустановка Magento 2

  1. Удалите и создайте повторно базу данных.
  2. Залогиньтесь как пользователь, который может вносить изменения в файлы файловой системы Magento.
  3. Введите следующую команду:

  1. Повторите всю секцию, посвященную установке Magento при помощи командной строки.

Magento sample data (демонстрационные материалы – продукты, категории, заказы, клиенты и тд.)

Демонстрационные материалы (Magento sample data) доступны только в том случае, если вы отредактировали composer.json:

  1. Залогиньтесь на сервере как пользователь с root правами или как пользователь веб сервера.
  2. переключитесь на установочную директорию Magento.
  3. Откройте composer.json в текстовом редакторе.
  4. найдите секцию “repositories”:. Добавьте следующий блок без “repositories”:  к секции. Если секции “repositories”: нет, то доабавьте блок полностью перед секцией “require”:

 

    1. Добавьте “magento/sample-data”: “0.42.0-beta1” и “magento/sample-data-media”: “0.42.0-beta1” к секции “require”:.
    2. Установите Magento.

    Верификация установки Magento 2 

    Откройте главную страницу Magento в браузере. Если установка прошла успешно, то вы увидите картинку, подобную этой:

     

    magento-2-frontend

    Это же необходимо проделать и с админкой Magento 2 . Залогиньтесь в качестве администратора. Если картинка подобна нижеследующей, то установка прошла успешно.

     

    magento-2-admin-backend