Поиск по сайту:

Как установить и настроить Magento в Ubuntu 14.04


Введение

Magento — самая популярная система управления контентом для сайтов электронной коммерции. Он используется как малыми предприятиями, так и крупными корпоративными компаниями и может быть дополнен тысячами расширений и тем. Magento использует систему баз данных MySQL, язык программирования PHP и части Zend Framework.

В этом руководстве мы рассмотрим, как установить Magento с веб-сервером Apache в Ubuntu 14.04, включая некоторые общие настройки производительности и безопасности.

Предпосылки

Прежде чем приступить к работе с этим руководством, необходимо выполнить несколько шагов.

Из-за требований обработки операций Magento рекомендуется устанавливать Magento на VPS с оперативной памятью не менее 2 ГБ. Это гарантирует, что у всего программного обеспечения, задействованного в управлении магазином, будет достаточно памяти для работы.

Вам потребуется доступ к пользователю без полномочий root с привилегиями sudo. Если вы еще этого не сделали, вы можете запустить руководство по начальной настройке сервера Ubuntu 14.04, чтобы создать эту учетную запись.

Кроме того, на вашем экземпляре VPS должен быть установлен стек LAMP (Linux, Apache, MySQL и PHP). Если у вас еще не установлены и не настроены эти компоненты, вы можете использовать это руководство, чтобы узнать, как установить LAMP в Ubuntu 14.04.

Когда вы закончите с этими шагами, вы можете подключиться к своему серверу Ubuntu как пользователь без полномочий root и продолжить установку Magento.

Шаг 1 — Настройте Apache и PHP

Прежде чем мы загрузим и установим Magento, необходимо настроить Apache и PHP для правильной обработки трафика и вычислительных задач Magento, а также необходимо установить и активировать некоторые дополнительные модули.

Виртуальный хост Apache

Во-первых, нам нужно настроить файл виртуального хоста, чтобы Apache знал, как правильно управлять нашим сайтом Magento. Мы можем использовать наш текстовый редактор для создания нового файла виртуального хоста в /etc/apache2/sites-available/. В этом примере виртуальный хост называется magento, но вы можете назвать его по-другому, если хотите.

sudo nano /etc/apache2/sites-available/magento.conf

Потребности виртуального хоста Magento довольно просты. Начните с тега , который прослушивает весь трафик с порта 80, стандартного HTTP-порта. Затем добавьте строку, сообщающую Apache, где найти файлы вашего сайта, с помощью директивы DocumentRoot:

<VirtualHost *:80>
    DocumentRoot /var/www/html
</VirtualHost>

Нам нужно добавить некоторые дополнительные параметры для правильной работы Magento. Внутри тега , указывающего на корень нашего документа, мы введем параметры индексации каталога Apache, поддержки символических ссылок и многоязычной поддержки. Мы также добавим строку, позволяющую файлам .htaccess переопределять настройки Apache, что обеспечивает более точный контроль над отдельными папками.

. . .
    <Directory /var/www/html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
    </Directory>
. . .

Со всеми этими компонентами ваш файл виртуального хоста будет выглядеть так:

<VirtualHost *:80>
    DocumentRoot /var/www/html
    <Directory /var/www/html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
    </Directory>
</VirtualHost>

Когда вы закончите писать блок сервера, сохраните и закройте файл. Чтобы включить новый сайт с Apache, используйте команду a2ensite:

sudo a2ensite magento.conf

Мы также хотим отключить виртуальный хост по умолчанию, поставляемый с Apache, так как он будет конфликтовать с нашим новым виртуальным хостом. Чтобы отключить сайт с Apache, используйте команду a2dissite:

sudo a2dissite 000-default.conf

Настройки PHP

Далее нам нужно изменить объем памяти, который Apache предоставляет процессам PHP. Magento использует PHP практически для всего, что он делает, и ему требуется приличный объем памяти для сложных операций, таких как индексирование продуктов и категорий. По умолчанию PHP выделяет максимум 128 МБ памяти каждому скрипту, работающему на Apache. Мы должны увеличить это ограничение до разумного значения, чтобы гарантировать, что ни один из скриптов Magento не исчерпает память, что может привести к сбою скрипта.

Откройте файл конфигурации Apache PHP с помощью текстового редактора и привилегий root:

sudo nano /etc/php5/apache2/php.ini

Найдите следующую строку, в которой объявляется ограничение памяти для каждого PHP-скрипта:

memory_limit = 128M

Измените эту строку, чтобы ограничение было увеличено до 512 МБ. Потребность в памяти вашего магазина может быть выше в зависимости от количества товаров в вашем каталоге и количества посетителей, которых вы принимаете ежедневно. Некоторым крупным магазинам необходимо установить лимит памяти на 2 ГБ или более, но на данный момент 512 МБ должно быть достаточно.

memory_limit = 512M

Примечание: Обязательно используйте \M в конце номера памяти.

Когда вы закончите вносить это изменение, сохраните и закройте файл. При следующем перезапуске Apache изменение лимита памяти вступит в силу.

Magento нужна пара модулей PHP в дополнение к тем, которые поставляются с PHP. Мы можем получить их непосредственно из репозиториев Ubuntu по умолчанию после обновления нашего локального индекса пакетов:

sudo apt-get update
sudo apt-get install libcurl3 php5-curl php5-gd php5-mcrypt

Эти расширения позволят Magento правильно обрабатывать HTTP-запросы, миниатюры изображений и шифрование данных. Теперь, когда у нас есть все необходимые пакеты, мы можем включить поддержку перезаписи URL для Apache и поддержку шифрования для PHP:

sudo a2enmod rewrite
sudo php5enmod mcrypt

После внесения всех этих изменений в конфигурацию и расширение пришло время перезапустить экземпляр сервера Apache, чтобы изменения вступили в силу:

sudo service apache2 restart

Шаг 2 — Создайте базу данных MySQL и пользователя

Magento использует базу данных MySQL для управления данными сайта, такими как информация о продуктах и заказах. У нас установлен и настроен MySQL, но нам нужно создать базу данных и пользователя для работы с Magento.

Начните с входа в корневую учетную запись MySQL:

mysql -u root -p

Вам будет предложено ввести пароль корневой учетной записи MySQL, который вы установили при установке MySQL. Как только правильный пароль будет отправлен, вам будет предоставлена командная строка MySQL.

Во-первых, мы создадим базу данных, в которую Magento сможет записывать данные. В этом примере база данных будет называться magento, но вы можете назвать ее по своему усмотрению.

CREATE DATABASE magento;

Примечание. Каждый оператор MySQL должен заканчиваться точкой с запятой (;), поэтому убедитесь, что вы включили ее, если у вас возникнут какие-либо проблемы.

Далее мы собираемся создать новую учетную запись пользователя MySQL, которая будет использоваться исключительно для работы с новой базой данных. Создание однофункциональных баз данных и учетных записей — хорошая идея, поскольку это позволяет лучше контролировать разрешения и другие потребности безопасности.

Я назову новую учетную запись magento_user и назначу ей пароль password. Вам определенно следует использовать другое имя пользователя и пароль, так как эти примеры не очень безопасны.

CREATE USER magento_user@localhost IDENTIFIED BY 'password';

На данный момент у вас есть база данных и учетная запись пользователя, каждая из которых создана специально для Magento. Однако у пользователя нет прав доступа к базе данных. Нам нужно связать два компонента вместе, предоставив нашим пользователям права доступа к базе данных:

GRANT ALL PRIVILEGES ON magento.* TO magento_user@localhost IDENTIFIED BY 'password';

Теперь, когда у пользователя есть доступ к базе данных, нам нужно сбросить привилегии, чтобы MySQL знала о недавних изменениях привилегий, которые мы сделали. Как только это будет сделано, мы можем выйти из командной строки MySQL.

FLUSH PRIVILEGES;
exit

Теперь вы должны вернуться к своей обычной командной строке SSH.

Шаг 3 — Загрузите и настройте файлы Magento

Теперь мы готовы загрузить и установить Magento. Чтобы узнать, какая последняя стабильная версия Magento Community Edition, перейдите на страницу загрузки сообщества. В этом примере номер текущей версии был 1.9.0.1, но вы должны заменить этот номер последней доступной вам версией. Всегда рекомендуется использовать последнюю версию Magento, так как новые выпуски часто включают важные обновления безопасности в дополнение к новым и улучшенным функциям.

Используйте wget, чтобы загрузить файловый архив Magento в свой домашний каталог:

cd ~
wget http://www.magentocommerce.com/downloads/assets/1.9.0.1/magento-1.9.0.1.tar.gz

Мы можем извлечь заархивированные файлы, чтобы восстановить каталог Magento с помощью tar:

tar xzvf magento-1.9.0.1.tar.gz

Теперь у вас будет каталог с именем magento в вашем домашнем каталоге. Нам нужно будет переместить распакованные файлы в корень документа Apache, где они могут быть предоставлены посетителям нашего веб-сайта. Мы будем использовать rsync для передачи туда наших файлов Magento, поскольку rsync будет включать важные скрытые файлы, такие как .htaccess. После завершения переноса мы можем очистить наш домашний каталог, удалив папку magento и заархивировав ее.

sudo rsync -avP ~/magento/. /var/www/html/
rm -rf ~/magento*

rsync безопасно скопирует все содержимое из каталога, который вы распаковали, в корень документа в /var/www/html/. Теперь нам нужно назначить право собственности на файлы и папки пользователю и группе Apache:

sudo chown -R www-data:www-data /var/www/html/

Это изменение позволит Apache создавать и изменять файлы Magento. Теперь мы готовы завершить процесс установки через браузерный интерфейс конфигурации Magento.

Шаг 4 — Завершение установки через веб-интерфейс

Чтобы получить доступ к веб-интерфейсу с помощью браузера, перейдите к доменному имени или общедоступному IP-адресу вашего сервера:

http://server_domain_name_or_IP/

Если предыдущие шаги были выполнены правильно, вам будет представлен мастер установки Magento. На первой странице будет отображаться лицензионное соглашение, с которым вам нужно будет согласиться, прежде чем вы сможете нажать «Продолжить».

На следующей странице вы можете изменить настройки локали, такие как язык, часовой пояс и валюта. Измените их на настройки, наиболее подходящие для того места, где продаются ваши продукты, затем нажмите «Продолжить».

Страница конфигурации разбита на три раздела. В первом разделе вы можете настроить подключение Magento к своей базе данных MySQL. Убедитесь, что для параметра «Тип базы данных» установлено значение «MySQL», а для параметра «Хост» установлено значение «localhost». Затем вам нужно будет заполнить имя базы данных, имя пользователя и пароль пользователя с настройками, которые вы выбрали при создании базы данных MySQL и учетной записи пользователя ранее.

В следующем разделе на странице конфигурации вы можете настроить URL-адрес вашего магазина, а также несколько других функций, контролируемых Apache. Убедитесь, что базовый URL-адрес соответствует доменному имени вашего сервера; если у вас еще не настроено доменное имя, вы можете пока использовать общедоступный IP-адрес вашего сервера. Рекомендуется изменить путь администратора на что-то менее очевидное, чем «admin», чтобы кому-то было труднее найти вашу панель администратора. Вам также следует рассмотреть возможность проверки «Использовать перезаписи веб-сервера (Apache)», чтобы сделать URL-адреса вашего сайта более удобными. для пользователей и поисковых систем. Модуль Apache, необходимый для поддержки этой функции, mod_rewrite, уже включен и готов к использованию.

Последняя часть страницы конфигурации предназначена для выбора метода хранения данных сеанса. Magento поставляется с двумя методами сохранения данных сеанса пользователя. Метод файловой системы сохраняет сеансы в файлах на сервере и является самым простым методом для начала. Метод базы данных сохраняет сеансы в виде записей в базе данных MySQL и идеально подходит для установок Magento, которые охватывают несколько серверов. На данный момент мы можем придерживаться метода файловой системы, поскольку он, как правило, работает лучше из коробки.

После того, как вы выберете параметры конфигурации и нажмете «Продолжить», вы перейдете на страницу создания учетной записи администратора. Здесь вы создадите административную учетную запись, отвечающую за обслуживание магазина Magento. Убедитесь, что имя пользователя и пароль безопасны и их трудно угадать. Поле «Ключ шифрования» следует оставить пустым, если только вы не переносите данные из существующей установки Magento. Если вы оставите это поле пустым, Magento сгенерирует новый ключ шифрования, когда вы нажмете «Продолжить», и отобразит его на следующей странице. Убедитесь, что вы сохранили этот ключ шифрования в безопасном месте на случай, если он понадобится вам для переноса позже.

После завершения веб-конфигурации ваша установка Magento будет готова к использованию. Проверьте свою новую витрину, посетив доменное имя вашего сервера или общедоступный IP-адрес в веб-браузере:

http://server_domain_name_or_IP/

Если все было настроено правильно, у вас должна появиться витрина, которая выглядит примерно так:

Вы также можете посетить свой новый сайт администратора, перейдя в каталог администратора, который вы установили ранее:

http://server_domain_name_or_IP/admin/

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

Заключение

Теперь, когда ваш магазин Magento запущен и работает, вы готовы приступить к созданию каталога вашего проекта и начать продавать!

Важным следующим шагом будет шифрование трафика вашего сайта с помощью SSL-сертификата. Вот руководство, которое поможет вам начать работу: Как установить SSL-сертификат коммерческого центра сертификации.