На тесте установлю Magento в Ubuntu Server 16.04 & PHP 7.
Сначала обновим систему и установим необходимые компоненты:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install apache2 php mysql-server mysql-client openssl libcurl3 php-curl php-gd php-mcrypt php-xml php-intl php-zip php-mbstring php-soap php-mysql php-cli php-json libapache2-mod-php php-xsl composer
Откроем файл конфигурации PHP в текстовом редакторе:
sudo nano /etc/php/7.0/apache2/php.ini
И установим или убедимся что memory_limit не меньше 512M:
memory_limit = 512M
Активируем необходимые модули:
sudo a2enmod rewrite
sudo phpenmod mcrypt
В конфигурации apache2 добавим сайт или отредактируем стандартный:
sudo nano /etc/apache2/sites-enabled/000-default.conf
Добавим внутри тегов VirtualHost параметры:
<Directory /var/www/html/magento_test>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
Перезапустим apache2 чтобы применить изменения:
sudo service apache2 restart
Подключимся к MySQL серверу, создадим базу и пользователя:
mysql -u root -p
CREATE DATABASE magento;
CREATE USER magento@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON magento.* TO magento@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit
Скачаем архив с последней версией Magento и распакуем его:
cd /tmp/
wget https://github.com/magento/magento2/archive/2.2.3.tar.gz
tar xzvf 2.2.3.tar.gz
Переместим файлы в директорию веб-сервера:
sudo mv magento2-2.2.3 /var/www/html/magento_test
Выполним команду:
cd /var/www/html/magento_test
sudo composer install
Установим на файлы права, владельца и группу под которым работает веб-сервер:
cd /var/www/html/magento_test
sudo find var vendor pub/static pub/media app/etc -type f -exec chmod u+w {} \;
sudo find var vendor pub/static pub/media app/etc -type d -exec chmod u+w {} \;
sudo chmod u+x bin/magento
sudo chown -R www-data:www-data /var/www/html/magento_test/
Откроем в браузере http://SERVER/magento_test и продолжим процесс установки следуя инструкциям, запомним логин/пароль и «Magento Admin Address» так как по нему будет открываться админ панель.
После установки посмотрим где находится php чтобы правильно указать путь в cron заданиях (обычно он в /usr/bin/php):
which php
Откроем crontab:
sudo crontab -u www-data -e
И добавим задания:
* * * * * /usr/bin/php /var/www/html/magento_test/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/html/magento_test/var/log/magento.cron.log
* * * * * /usr/bin/php /var/www/html/magento_test/update/cron.php >> /var/www/html/magento_test/var/log/update.cron.log
* * * * * /usr/bin/php /var/www/html/magento_test/bin/magento setup:cron:run >> /var/www/html/magento_test/var/log/setup.cron.log
На этом установка Magento завершена.
Смотрите также:
Решение ошибки «Autoload error» при установке Magento
Использование и настройка CRON