Внимаение: данная инструкция полностью совместима с установкой Magento Enterprise Edition.
Всем привет. В данной инструкции я опишу как установить Magento 1 Community Edition в вашу Ubuntu 16.04 для того чтобы можно было локально ее посмотреть или проводить разработку.
Начнем:
ПРЕДУСЛОВИЯ:
1. У Вас должен быть установлен web server (LAMP). Если этого нет, проходим данную инструкцию Установка LAMP (Apache + PHP + MySQL) сервер в Ubuntu 16.04 для локальной разработки.
- Создан виртуальный хост для Magento. Если этого нет, проходим данную инструкцию Создание virtual host в Ubuntu 16.04
-
Загружен дистрибутив крайней версии Magento 1. Если нет, используем два способа: Ссылка на официальный сайт https://www.magentocommerce.com/download , загрузить с моего Yandex Диска https://yadi.sk/d/C6Z8Xa3FsdMeX — на момент написаня статьи крайняя версия CE была 1.9.2.4
-
Даем права 777 для папок /var/www/, /etc/apache2/sites-available/, /etc/apache2/sites-enabled/,
Для этого выполняем следующие комнады в терминале:
sudo chmod -R 777 /var/www sudo chmod -R 777 /etc/apache2/sites-*
ИНСТРУКЦИЯ:
- Распаковываем скачанный архив с дистрибутивом Magento, в папку виртуального хоста (в моем случае это папка /var/www/magento.local). Делаем так, чтобы содержмое папки magento.local являлось корнем Magento Дистрибутива
- Создаем базу данных для Magento 1 CE. для этого используем следующие команды в терминале:
//подключаемся к Mysql mysql -uroot -p //создаем базу данных mysql> create database magentoce default character set utf8; //выходим из управления mysql сервера mysql> quit;
- Даем права 777 всем файлам дистрибутива Magento командой:
sudo chmod -R 777 /var/www/magento.local/
- Включаем отображение ошибок и режим разработчика в дистрибутиве Magento
Для этого, заходим в кореньпапки /var/www/magento.local/ и открываем на редактирование файл index.php
Код файла на строках 69 — 73 должен выглядить следующим образом
#if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) { Mage::setIsDeveloperMode(true); #} ini_set('display_errors', 1);
- Переходим непосредственно к установке. Открываем браузер и переходим по адресу magento.local
Видим ошибку следующего сожержания :
There was a problem proceeding with Magento installation. Please contact developers with error messages on this page. Notice: Array to string conversion in /var/www/magento.local/app/code/core/Mage/Core/Model/Layout.php on line 555 #0 /var/www/magento.local/app/code/core/Mage/Core/Model/Layout.php(555): mageCoreErrorHandler(8, 'Array to string...', '/var/www/magent...', 555, Array) #1 /var/www/magento.local/app/code/core/Mage/Core/Controller/Varien/Action.php(390): Mage_Core_Model_Layout->getOutput() #2 /var/www/magento.local/app/code/core/Mage/Install/controllers/WizardController.php(120): Mage_Core_Controller_Varien_Action->renderLayout() #3 /var/www/magento.local/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Install_WizardController->beginAction() #4 /var/www/magento.local/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(254): Mage_Core_Controller_Varien_Action->dispatch('begin') #5 /var/www/magento.local/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http)) #6 /var/www/magento.local/app/code/core/Mage/Core/Model/App.php(365): Mage_Core_Controller_Varien_Front->dispatch() #7 /var/www/magento.local/app/Mage.php(683): Mage_Core_Model_App->run(Array) #8 /var/www/magento.local/index.php(83): Mage::run('', 'store') #9 {main}
- Это единственный баг совместимости Magento 1 c PHP 7, который идет по умолчанию в Ubuntu 16.04.
Исправляем ошибку. Находим и открываем редактором указанный файл app/code/core/Mage/Core/Model/Layout.php Идем на строку 555.
На указанной строке 555 видим такой код
$out .= $this->getBlock($callback[0])->$callback[1]();
Заменяем его на
$out .= $this->getBlock($callback[0])->{$callback[1]}();
Сохраняем файл. Закрываем. Обновляем вкладку в браузере magento.local
Все ок.
- Начинаем проходить процесс установки.
На этапе Configuration видим следующую ошибку:
8. Magento говорит нам о том, что у нас отсутствуют вот такие требуемые для работы расширения для PHP. Исправляем, путем выполнения следующих команд в терминале:
sudo apt-get install php-curl sudo apt-get install php-soap
9. Перезагружаем apache командой:
sudo service apache2 restart
10. Продолжаем установку. Далее уже проблем не будет. Коротко о Configuration Page
11.Включаем mod_rewrite у Apache2 командой
sudo a2enmod rewrite sudo service apache2 restart
Устанавливаем. Заполняем форму с данными админа, и переходим на фронтенд.