Глава 1. Устанавливаем Magento и настраиваем рабочую среду

[16 июля 2019 г.]    Российская сборка Magento 2.52.2
Magento 2: модули и услуги
magereport.com: составление перечня необходимых для установки заплаток SUPEE
#1 Надежда А
  • Иконка
  • Группа: Администратор
  • Сообщений: 50
  • Регистрация: 12.12.2010

19.03.2011 19:47

В этой главе мы рассмотрим:
  • Подготовка платформы с виртуальным хостом

  • Настройка Subversion / SVN

  • Получение последней копии Magento с SVN Checkout

  • Настройка MySQL инструментов

  • Настройка проекта Magento с NetBeans

  • Работа с Magento кодом



Введение

Скорее всего, вы слышали похвальные отзывы о Magento. Она отмечена наградами стека электронной коммерции с открытым исходным кодом с интеллектуальными функциями, такими как многоуровневая навигация, автоматически заполняемый поиск, поддержка нескольких языков, несколько магазинов, умного просмотра, RSS товарные каналы, тегирование и анализ товаров, анализ поисковых запросов, анализ клиентских тегов, опрос менеджер, курсы валют, Google Sitemap интеграция, брошенных Корзину доклад, каталог всей сравнения продуктов, списки продуктов, пожелает, и даже масштабирование изображение продукта. Она была создана от Varien на основе высшего качества MVC Framework - Zend Framework 31 марта 2008 года. Как и другие приложения MVC, Magento продолжает логику отображения отдельно от бизнес-логики приложения. Специальная группа работает над обновлением Magento регулярно.
Magento Developer очень практичный как для новичков, так и для опытных инженеров-программистов, которые заинтересованы в достижении высоких воздействий в быстро развивающейся среде разработки с амбициозной миссией. Magento дает очень удобный способ работать с его свойствами (деталями) быстрее, чем любая другая альтернатива, знаете ли вы мало или много о программировании PHP. Давайте посмотрим, как такие вещи случаются.
Мы сделаем наше развитие платформы готовым приготовить «аппетитные рецепты» Magento в этой главе. Если вы новичок, это подходящее место для начала. Если вы профессионал, это по-прежнему подходящее место для начала, т.к. мы старались следовать некоторым рекомендациям для Magento development, что вы не могли бы знать. Давайте засучим рукава с Magento Development! Удачи!


Подготовка платформы с виртуальным хостом

Magento построена на де-факто PHP Framework, Zend Framework. Нам необходимо создать наше окружение развития, чтобы получить максимальную отдачу от него. В этом рецепте мы будем настраивать Fully Qualified Domain Name (FQDN) и виртуальный хост. Мы могли бы использовать в качестве домена http://localhost/magento или что-то вроде этого, но в этом случае доступ к административной панели может быть громоздким. В большинстве случаев, у вас есть доступ через локальный IP адрес. Используя FQDN, вам не придется беспокоиться об этом. FQDN сделает процесс отладки намного легче также.


Подготовка

Мы должны иметь следующие вещи установленными до начала настройки виртуального хоста
a.k.a. vhost:
  • Apache2

  • PHP5

  • MySQL Server 5.0

Если мы хотим установить ранее упомянутые инструменты с Ubuntu Linux CLI, можно легко сделать это, выполнив следующие команды. Мы будем использовать Linux команды, основанные на Ubuntu на протяжении всей книги.
Следующая команда является базовой Apache установочной командой:

sudo aptitude install apache2 apache2.2-common apache2-mpm-prefork
apache2-utils libexpat1 ssl-cert


Следующая команда является базовой командой установки PHP5:

sudo aptitude install libapache2-mod-php5 php5 php5-common php5-curl
php5-dev php5-gd php5-imagick php5-mcrypt php5-memcache php5-mhash php5-
mysql php5-pspell php5-snmp php5-sqlite php5-xmlrpc php5-xsl


Введите следующую команду, чтобы начать с простой установки MySQL:

sudo aptitude install mysql-server mysql-client libmysqlclient15-dev

Обратите внимание, что мы установили библиотеки и заголовки разработки с libmysqlclient15-dev пакетом. Вы можете оставить это вне, но было установлено, что они полезны во многих ситуациях.
В качестве альтернативы мы можем использовать единый пакет, например, XAMPP, чтобы получить все вышеупомянутые инструменты в один клик. Пакет XAMPP можно загрузить с http://www.apachefri.../en/xampp.html.


Как это сделать?

1. Чтобы проверить домен без создания зоны DNS и записи (и) на некоторых Интернет
именах, давайте изменим /etc/hosts файл на нашем локальном компьютере, чтобы включать
некоторые записи отображение magento.local.com, и так далее до публичного IP адреса локальной машины (в большинстве случаев, 127.0.0.1). Откройте /etc/hosts файл в любом текстовом редакторе или выполните следующую команду в терминале:

sudo nano /etc/hosts

2. Добавьте следующую строку, как аналогичный в /etc/hosts файле:

127.0.0.1 magento.local.com

Расположение хост-файла в зависимости от загруженной ОС. Если это операционная система Windows, должно быть c:/windows/system32/drivers/etc/hosts.
3. Теперь давайте создадим макет для нашей области. Откройте терминал и измените свое местоположение к WEBROOT каталогу, выполнив следующую команду:

cd /var/www/

Если вы используете XAMPP, это будет C: \ XAMPP \ htdocs.
4. Сейчас для нашего домена мы хотим назначить главным узлом / создать папку со стандартным набором вложенных папок:

mkdir -p magento.local.com/{public,private,log,cgi-bin,backup}

5. Давайте создадим файл index.html для нашего домена:

sudo nano /var/www/magento.local.com/public/index.html

6. Пришло время вложить некоторое содержание в наш индексный файл:
<html>
<head>
<title>Welcome to magento.local.com</title>
</head>
<body>
<h1>Welcome to magento.local.com</h1>
</body>
</html>

7. Мы создали основы и теперь мы готовы добавить свои виртуальные хосты, так что мы может начать обеспечивать наш домен. Давайте пойдем дальше и создадим vhost файл для magento.local.com:

sudo nano /etc/apache2/sites-available/magento.local.com

8. Контенты должны выглядеть следующим образом:
# Place any notes or comments you have here
# It will make any customization easier to understand in the weeks
to come
# domain: magento.local.com
# public: /var/www/magento.local.com/public
<VirtualHost *:80>
# Admin email, Server Name (domain name) and any aliases
ServerAdmin webmaster@magento.local.com
ServerName magento.local.com
# Index file and Document Root (where the public files are
located)
DirectoryIndex index.php index.html
DocumentRoot /var/www/magento.local.com/public
# Custom log file locations
LogLevel warn
ErrorLog /var/www/magento.local.com/log/error.log
CustomLog /var/www/magento.local.com/log/access.log combined
</VirtualHost>

9. Теперь у нас есть доступный сайт, нам нужно включить его:

sudo a2ensite magento.local.com

10. Похоже, хороший совет перезагрузить Apache:

sudo /etc/init.d/apache2 reload

11. С такими изменениями теперь мы можем перейти на наш сайт в веб-браузере на нашем локальном компьютере, как показано на следующем скриншоте:

Прикрепленное изображение: 1.png

Тада! Теперь у нас есть содержание public/index.html показанное.


Как это работает ...

Рецепт подготовки описывает процесс установки Apache, PHP и MySQL из командной строки Linux. Если у вас они уже установлены, вы можете пропустить это и приступить непосредственно к настройке макета и виртуального хоста (vhost).
Файлы Magento источника будут введены в общем каталоге. Другие каталоги представляют по мере того, как их названия предлагаются. Обычно в производственном сервере мы не должны писать имя домена вручную, как мы писали здесь, как и зоны DNS. Все остальное из этого рецепта такое же, как рабочий сервер. Содержание (контент) виртуального хоста имеет некоторые встроенные комментарии, начинающиеся с # для описания цели.



Настройка Subversion / SVN

Subversion - это популярная система контроля версий, начатая в 2000 году CollabNet Inc. Мы будем использовать этот инструмент на протяжении всей книги в качестве источника управления. Ее целью должен быть преимущественно совместимый преемник к широко используемой Concurrent Versions System (CVS).


Подготовка

Если вы пользователь Windows, загрузите TortoiseSVN client отсюда:
http://tortoisesvn.tigris.org/ и если вы являетесь пользователем Linux, запустите терминал.


Как это сделать?

1. Выполните следующую команду в терминале для установки Subversion:

sudo apt-get install subversion

Убедитесь, что у вас есть активное соединение с Интернетом, т.к. соответствие установит пакет из репозитория Ubuntu.
Если вы используете Windows и использовали по назначению TortoiseSVN, вы можете получить Windows бинарный от http://tortoisesvn.tigris.org.

2. После загрузки файла установки TortoiseSVN дважды щелкните на TortoiseSVN установочный файл и следуйте инструкциям на экране.
3. Теперь давайте добавим новую группу под названием Subversion к нашей системе и добавим текущее имя пользователя группе Subversion.

sudo addgroup subversion
sudo adduser <your_username_here> subversion


Если у вас нет ни малейшего понятия о вашем текущем имени пользователя, поставьте команду Whoami в вашем терминале.
4. После завершения установки Subversion давайте создадим наш репозиторий для Magento
проекта. Теперь введите следующую команду в терминале:

sudo mkdir /home/svn
cd /home/svn
sudo mkdir magento
sudo chown -R www-data:subversion magento
sudo chmod -R g+rws magento


5. Теперь начнем SVN репозиторий с помощью следующей команды:

sudo svnadmin create /home/svn/magento

6. В случае TortoiseSVN откройте папку, где вы хотите разместить Magento
хранилище (репозиторий) и щелкните правой кнопкой мыши и найдите create repository here... из контекстного меню TortoiseSVN. Введите имя для вашего хранилища, в этом случае имя репозитория может быть Magento.
7. Пришло время изменить свой текущий рабочий каталог в терминал:

cd /var/www/magento.local.com

8. Проверим проект Magento, выполнив следующую команду в терминале:

svn co file:///home/svn/magento public


Как это работает ...

Когда мы выполняем какую-либо apt-getкоманду, соответствие позаботится о процессе установки. Соответствие (aptitude) будет искать пакет из центрального хранилища Ubuntu, и загружать его в случае необходимости, и выполнять необходимые задачи.
После завершения процесса установки мы создали новую группу под названием Subversion и добавили имя пользователя для subversion вновь созданной группы. Затем мы создали каталог в /home/location для хранения всех репозиториев. После этого мы создали новое хранилище для нашего Magento проекта под названием magento. Наконец, мы проверили хранилище в местоположении нашего сайта в общем каталоге.


Получение последней копии Magento с SVN Checkout

Мы уже установили Subversion и подготовили среду для запуска нашего проекта Magento. Давайте использовать новейшую и самую лучшую версию Magento 1.4 через SVN.


Подготовка

Вы должны иметь активное соединение к Интернету, чтобы проверить Magento из хранилища, и около 250 Мб свободного пространства на жестком диске. Запустите терминал и будьте готовы дать некоторые необходимые команды, чтобы захватить Magento файлы в вашем компьютере.
Чтобы создать каталог для проведения всей SVN, проверьте файлы и создайте Lib каталог в /var/location следующим образом:

sudo mkdir /var/lib


Как это сделать ...

Сейчас мы получим Magento 1.4 пакет из хранилища и вставим его в наш локальный Magento репозиторий.

Проверка Magento:
1. Измените текущий каталог на /var/lib/, выполнив следующую команду на вашем терминале:

cd /var/lib

2. Magento источник доступен на http://svn.magentoco...ches/1.4-trunk. Выполните следующую команду, чтобы проверить версию Magento 1.4, названную как Magento-1.4:

svn checkout http://svn.magentoco...nches/1.4-trunk magento-1.4


Экспорт полученных файлов:

1. Давайте экспортируем проверенные файлы в общий каталог нашего локального проекта Magento. Выпустим следующую команду для экспорта проверенных файлов на локальный проект Magento:

svn --force export /var/lib/magento-1.4/ /var/www/magento.local.com/public/

Мы форсировали процесс экспорта, т.к. у нас уже есть каталог здесь под названием public.
2. Давайте добавим его в рабочую копию нашего локального Magento репозитория. Выполните следующую команду, чтобы добавить экспортированные файлы в рабочую копию Magento:

cd /var/www/magento.local.com/public
svn add *


svn add добавит все файлы рекурсивно.
3. Теперь совершим изменения в локальном Magento хранилище:

svn ci -m 'Magento-1.4 files added'

Не расстраивайтесь, если это занимает немного больше времени, чем вы ожидали. Вы знаете, что в Magento очень много файлов!


Как это работает ...

Мы создали библиотеку для хранения проверенных файлов Subversion (Subversion checkout files) для Magento в /var/directory, и захватим файлы через SVN Checkout команду из терминала. Затем мы экспортировали содержание рабочей копии нашего Magento репозитория. Наконец, мы добавили и направили его в локальный репозиторий. Мы не сделали SVN слияние или импорт, т.к. Magento не поддерживает его.


Больше...

Вы можете прочитать о других командах SVN на http://svnbook.red-bean.com/.


Настройка MySQL инструментов

Мы будем использовать MySQL Query Browser для инструмента MySQL GUI, как Magento использует базы данных MySQL. Это официальный инструмент для обработки баз данных MySQL.Давайте получим это.


Подготовка

Получите ваш MySQL Query Browser установщик с http://dev.mysql.com...tools/5.0.html.


Как это сделать...

1. Запустите установщик, который вы скачали из http://dev.mysql.com...-tools/5.0.html и следуйте инструкциям на экране.
2. Если вы хотите установить его из терминала в Ubuntu, запустите терминал и выполните эту команду:

sudo apt-get install mysql-query-browser

3. Теперь мы создадим базу данных для нашего Magento проекта с MySQL Query Browser. Запустите MySQL Query Browser и создайте новую базу данных с именем Magento. Кроме того, вы можете запустить эту команду в терминале MySQL:

CREATE DATABASE `magento` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Прикрепленное изображение: 2.png


Как это работает ...

Давайте предположим, что вы уже знаете основы MySQL и любого процесса общей установки. Мы просто установили GUI инструменты для обработки базы данных MySQL здесь и создали базу данных под именем magento.


Настройка проекта Magento с NetBeans

NetBeans является мощным свободным и открытым IDE, который можно использовать практически для любого языка. Мы будем использовать этот IDE в этой книге. Вы можете посмотреть, почему мы должны использовать его на http://netbeans.org/switch/why.html.


Подготовка

Получите копию NetBeans от http://netbeans.org/...oads/index.html и
установите ее. Убедитесь, что вы установили правильно загруженный пакет, которым является либо PHP или All.


Как это сделать...

Теперь вы должны иметь все готовым и настроенным для создания проекта Magento в NetBeans.
1. Начните NetBeans. Когда IDE появляется, создайте новый проект PHP (File | New Project | PHP | PHP Application with Existing Sources; PHP Application from Remote Server). Обратите внимание, что мы выбрали второй, то есть PHP Application with Existing Sources, т.к. у нас есть код Magento источника уже под рукой.

Прикрепленное изображение: 3.png

2. Затем кликните Next.

Прикрепленное изображение: 4.png

3. В поле Sources Folder введите или выберите каталог, куда вы ранее экспортировали Magento источники (/var/www/magento.local.com).
4. Затем выберите Project Name (magento).
5. Затем нажмите кнопку Next. Диалог Run Configuration появится.

Прикрепленное изображение: 5.png

6. В шаге Run Configuration выберите Local Web Site(running on local web server) в поле Run As.
7. Введите URL, чтобы открыть главную страницу Magento в браузере (http://magento.
local.com /).
8. Нажмите теперь кнопку Finish, чтобы завершить установку проекта. Теперь вы должны получить что-то вроде этого:

Прикрепленное изображение: 6.png


Как это работает...

С NetBeans IDE для PHP вы получаете лучшее из обоих миров: производительность IDE (код завершения, проверка ошибок в режиме реального времени, отладки и более) со скоростью и простотой вашего любимого текстового редактора менее чем в 30 МБ загрузки.
По завершении проектной установки NetBeans будет открывать файлы Magento проекта и файлы проверки для информации отладки и Subversion истории. Это может занять некоторое время.


Работа с Magento кодом

Кто-то может сказать вам, что Magento имеет слишком много файлов, чтобы иметь с ней дело, и его конвенция именования сумасшедшая! Да, это так!
Но вместе они имеют хорошую гармонию. Если вы узнали глюки. чтобы иметь дело с этой ОГРОМНОЙ файловой структурой, я уверен, вы будете любить ее. Итак, какие глюки?
Сначала, давайте узнаем файловую структуру Magento.


Подготовка

Начните NetBeans и нажмите Ctr + 1 или выберите Window | Project из меню. Посмотрите на структуру файла. Мы сохранили все файлы Magento источников под общим каталогом. Есть и другие каталоги, чтобы помочь сохранить эти необходимые файлы.


Как это сделать?

  • Наши пути Magento проекта:

/ -private: Keeps the private files.
/ -cgi-bin: Here should be some cgi binaries if required.
/ -backup: Keep backup data.
/ -public: This is the Directory Root of Magento in our project.
/app: This is where all the PHP code for the application
resides.
/lib - The external code library.
/skin - This is where css and other images resides.
  • Краткий обзор каталога app:

/app
/code - Where all types of modules resides.
/design - Contains both layout xml files and template .phtml files.
/etc - Global configuration.
Mage.php - Static class Mage, where everything is held together.
  • Прежде чем перейти к другим каталогам, давайте посмотрим каталоги в этом (/app/code) каталоге:

/code
/community - Downloaded modules built by Magento community.
/core - The core modules 'out of the box' build by Magento.
/local - Any module we build ourselves.
  • Что о /app/design каталоге?

/app
/design
/adminhtml - Admin designs.
/frontend - Front End designs.
/default - This is the default Interface.
/default – This is the default theme.
/layout – Contains all the layout xml files.
/template - Contains all the template .phtml files.
  • Наконец, дадим обзор /public/skin каталога:

/public
/skin
/adminhtml - Admin styles directory.
/frontend - frontend styles directory.
/default - Our default interface.
/default - Our default theme.
/css
/images
/js


Как это работает...

Имена Magento класса следуют строгому правилу, который является Camel случаем и разделен путем подчеркивания. Вы можете легко интерпретировать любое имя класса на его месте, заменив подчеркивания косыми чертами.
Мы не обязаны следовать Magento конвенциям, но если мы будем следовать Magento конвенции, мы получим некоторые дополнительные преимущества, такие как – Magento примет название, заменит подчеркивания косыми чертами, включит этот файл, а затем загрузит запрошенный класс, и вернет экземпляр этого класса. Довольно прохладно!


Здесь больше ...

Если вы хотите скачать образец данных в другом формате, посетите эту страницу и скачайте свой собственный:
http://www.magentoco...or-magento-120.

Убедитесь, что вы запустили SQL и вставили медиа каталог перед началом установки Magento.


Некоторые замечания по установке и выборочным данным

Теперь вы можете указать в браузере на http://magento.local.com для начала процесса Magento установки. Если это ваш первый опыт в Magento, вы также должны установить образец данных, предоставленные Magento. Вы можете скачать образец данных для Magento версии 1.4 здесь:
http://www.magentocommerce.com/downloads/assets/1.2.0/magento-sample-data-1.2.0.tar.gz
.

Поделиться темой: