Установка Magento
2.2.4 на базе LAMP-сервера
Debian
Установка Debian
9.4.0 x64 (CD-образ
с xfce)
[сама установка Debian
пропущена, первоначальная установка
идёт без сети, зато с рабочим столом]
Настройки:
- Когда Интернет настроен, в файл /etc/apt/sources.list добавляем строку:
#
Nano sources.list:
deb
ftp://ftp.ru.debian.org/debian
stable main contrib non-free
#
apt update
- # apt install mc (если нужно)
- В окне консоли: Правка-настройки на последней вкладке установить флажки на быстрые клавиши (то есть, отключить их).
- # apt install apache2
- Проверяем, запускается ли web-сервер. Открываем FireFox и набираем 127.0.0.1
- Создаём папку: # mkdir /var/www/magento
В неё надо
распаковать скачанный архив magento
(Magento-CE-2.2.4_sample_data-2018-05-01-09-43-25.zip)
Например:
#
unzip Magento-CE-2.2.4_sample_data-2018-05-01-09-43-25.zip -d
/var/www/magento
- В папке /etc/apache2/sites-available создаём файл имеющий название как и домен с нашим сайтом + слово «.conf», например: aaa.bbb.conf с таким содержимым:
<VirtualHost
*:80>
ServerName
aaa.bbb
ServerAlias
www.aaa.bbb
DocumentRoot
/var/www/magento
<Directory /var/www/magento>
Options -Includes -Indexes -ExecCGI
AllowOverride All
</Directory>
</VirtualHost>
Регистрируем
сайт: #
a2ensite aaa.bbb
Перезагружаем
apache: #
systemctl reload apache2
или #
service apache2 reload
- Так как виртуальные хосты создаются на одном ip адресе, то проверить наш сайт вбив в браузер ip-адрес не получится. Нужно обязательно вводить имя: например, aaa.bbb. Но в нашем случае такого реального адреса не существует на DNS-серверах, придётся нам вписать его в файл /etc/hosts:
127.0.0.1 aaa.bbb
127.0.0.1
www.aaa.bbb
Если хотите
сделать чтобы сайтом по умолчанию был
наш, тогда можно удалить текущую заглушку:
#
a2dissite
000-default
Конечно,
если у нас будет несколько виртуальных
хостов, тогда надо будет еще чего
настроить.
Не забудем
перегрузить апач.
- Проверяем работу web-сервера. Создаём в папке /var/www/magento файл index.html с таким содержимым:
<html>
Hello
world
</html>
Вводим в
браузере: aaa.bbb/index.html
(из-за опции
AllowOverride All,
которая разрешает использовать файл
настроек .htaccess, в котором
жестко прописан index.php
нам пришлось вручную дописать index.html).
И, возможно, надо изменить права на этот файл (см.
пункт 12).
- Устанавливаем php: # apt install php7.0 (вместо «php7.0» можно использовать «php» и будет установлена текущая актуальная версия PHP)
- Создаём в папке /var/www/magento файл index2.php с таким содержимым:
<?php
phpinfo();
?>
Вбиваем в
браузере aaa.bbb/index2.php
(должна отобразиться информация о PHP)
(возможно,
перед этим следует перезагрузить Апач)
- Файлам в /var/www/magento скорее всего надо дать права пользователя www-data:
#
chown -R www-data:www-data /var/www/magento/
- Устанавливаем DOM: # apt install php7.0-dom (нужно для корректного запуска установки magento). Необходимость в нём была выяснена в процессе поиска ошибок трудных. Перезагружаем Апач.
- Теперь можно запустить установку Магенто (хотя бы для того, чтобы узнать его требования к системе). Вводим в браузере aaa.bbb (теперь уже не надо вводить index.php)
Предлагает
согласиться и начать установку. Потом
предложит проверить системные требования
к ПО, вот приблизительный результат
проверки:
В принципе,
я мог бы и не показывать всех этих ошибок,
а просто заранее сказать, какие надо
установить расширения. Однако не
исключено, что у вас будут другие ошибки,
и вы будете более-менее знать, как с ними
бороться.
С версией
PHP нам повезло. Иначе
пришлось бы ставить другую версию,
возможно качая с официального сайта.
Но это уже выходит за рамки этой кратчайшей
инструкции.
Вторую
ошибку GD пропустим, она
сама собою исправится после установки
модулей.
Теперь
удовлетворим требования к расширениям
PHP:
- # apt install php7.0-curl
#
apt install php7.0-gd
#
apt install php7.0-mcrypt
#
apt install php7.0-intl
#
apt install php7.0-mbstring
#
apt install php7.0-pdo-mysql
#
apt install php7.0-soap
#
apt install php7.0-zip
#
apt install php7.0-bcmath
Перезагружаем
Апач, опять вводим в браузер aaa.bbb
и опять смотрим на проверку требований
к ПО. На этот раз у меня всё нормально.
- Чтобы можно было продолжить дальнейшую установку нам еще необходимо установить MySQL:
#
apt install mysql-server
И
на
всякий
случай:
#
apt install php7.0-mysql
- Установим популярный клиент к базе: # apt install phpmyadmin. Если спросит для какого сервера – укажем apache. Введём пароль «1». Добавим пользователя под которым будем заходить в phpmysql:
#
mysql -u root -p (спросит пароль – у нас: 1)
>
create user 'пользователь'@localhost identified by 'пароль'; (пароль в кавычках)
> grant all privileges on *.* to 'пользователь'@localhost;
> grant all privileges on *.* to 'пользователь'@localhost;
>
grant grant option on *.* to 'пользователь'@localhost;
>
flush privileges;
>
quit;
Заходим в
панель, вводим
в браузере:
aaa.bbb/phpmyadmin
Выберем
нужный язык, пользователь и пароль те,
которые вы придумали чуть выше.
Я завёл пользователя sqluser.
Создаём
базу для Магенто: выбираем Создать БД.
Имя базы, например, magento_db.
Сравнение: utf8_general_ci:
Жмём кнопку
«Создать», и в общем-то всё. Таблиц
добавлять не надо. Система Магенто сама
будет делать то, что ей нужно. Можно
нажать кнопку «выход» (она под надписью
phpMyAdmin).
- Возвращаемся к установке Магенто, теперь после проверки конфигурации можем продолжить и ввести данные для доступа к базе данных:
- Следующий шаг можете оставить как есть:
- Подправляем часовые пояса и язык.
- Создаём пользователя для входа в саму систему Магенто.
- Приступаем к инсталляции…
Иногда
инсталляция может остановиться на
каком-то проценте. Возможно, надо для
php увеличить настройки
memory_limit и
max_execution_time.
О них даже упоминается в файле
php.ini.sample,
который находится в папке magento.
Вообще,
существует способ установить магенто
и без браузера. Ищите в Интернете
информацию о командной строке начинающуюся
на php bin/magento setup:install
- Когда закончится инсталляция, надо нажать на кнопке «Launch magento admin»
- Возможно отобразится ошибка 404, и хз что делать :)
- Однако aaa.bbb покажет наш магазин. Если он без стилей, то попробуйте выполнить эти команды находясь в папке /var/www/magento:
#
php bin/magento setup:static-content:deploy -f ru_RU en_US
(ключ
-f так как
без него
не хочет
работать).
#
php bin/magento indexer:reindex
Если установка
была прервана, то возможна потом проблема
с MySQL. Поэтому, лучше найти
вручную папку с базой данных magento_db
и удалить её. Обычно расположение этой
папки указано в файле
/etc/mysql/mariadb.conf.d/50-server.cnf
опция datadir.