Установка Magento 1 Community Edition в Ubuntu 16.04. Подробная инструкция с решением проблем

Внимаение:  данная инструкция полностью совместима с установкой Magento Enterprise Edition.
Всем привет. В данной инструкции  я опишу как установить Magento 1 Community Edition в вашу Ubuntu 16.04 для того чтобы можно было локально ее посмотреть или проводить разработку.
Начнем:

ПРЕДУСЛОВИЯ:
1. У Вас должен быть установлен web server (LAMP). Если этого нет, проходим данную инструкцию Установка LAMP (Apache + PHP + MySQL) сервер в Ubuntu 16.04 для локальной разработки.

  1. Создан виртуальный хост для Magento. Если этого нет, проходим данную инструкцию Создание virtual host в Ubuntu 16.04

  2. Загружен дистрибутив крайней версии Magento 1.  Если нет, используем два способа:  Ссылка на официальный сайт https://www.magentocommerce.com/download , загрузить с моего Yandex Диска https://yadi.sk/d/C6Z8Xa3FsdMeX — на момент написаня статьи крайняя версия CE была  1.9.2.4

  3. Даем права 777 для папок /var/www/, /etc/apache2/sites-available/, /etc/apache2/sites-enabled/,
    Для этого выполняем следующие комнады в терминале:

sudo chmod -R 777 /var/www
sudo chmod -R 777 /etc/apache2/sites-*

ИНСТРУКЦИЯ:

  1. Распаковываем скачанный архив с дистрибутивом Magento, в папку виртуального хоста (в моем случае это папка /var/www/magento.local). Делаем так, чтобы содержмое папки magento.local являлось корнем Magento Дистрибутива
    Selection_001

 

  1.  Создаем базу данных для Magento 1 CE. для этого используем следующие команды в терминале:
//подключаемся к Mysql
mysql -uroot -p
 
//создаем базу данных
mysql> create database magentoce default character set utf8;
 
//выходим из управления mysql сервера
mysql> quit;

 

  1. Даем права 777 всем файлам дистрибутива Magento командой:
sudo chmod -R 777 /var/www/magento.local/
  1. Включаем отображение ошибок и режим разработчика в дистрибутиве Magento
    Для этого, заходим в кореньпапки /var/www/magento.local/ и открываем на редактирование файл index.php
    Код файла на строках 69 — 73  должен выглядить следующим образом
#if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
#}

ini_set('display_errors', 1);
  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}
  1. Это единственный баг совместимости 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
Все ок.
Selection_002

 

  1. Начинаем проходить процесс установки.
    На этапе Configuration видим следующую ошибку:
    • PHP extension «curl» must be loaded.
    • PHP extension «soap» must be loaded.
Please set all required settings before clicking Continue

8. Magento говорит нам о том, что у нас отсутствуют вот такие требуемые для работы расширения для PHP.  Исправляем, путем выполнения следующих команд в терминале:

sudo apt-get install php-curl
sudo apt-get install php-soap

9. Перезагружаем apache командой:

sudo service apache2 restart

10. Продолжаем установку. Далее уже проблем не будет. Коротко о Configuration PageSelection_003

11.Включаем mod_rewrite у Apache2 командой

sudo a2enmod rewrite
sudo service apache2 restart

Устанавливаем. Заполняем форму с данными админа, и переходим на фронтенд.
Selection_004

Поздравляю, Вы успешно установили Magento 1 Community Edition  в своей Ubuntu 16.04

Оставьте комментарий

%d такие блоггеры, как: