Установка и настройка Magento в Ubuntu 14.04

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

Данное руководство поможет установить Magento на веб-сервер Apache в Ubuntu 14.04 и выполнить общие настройки производительности и безопасности.

Требования

  • Виртуальный выделенный сервер Ubuntu 14.04 (2 GB RAM минимум).
  • Не-root пользователь с доступом к команде sudo (чтобы создать такого пользователя, обратитесь к этому руководству).
  • Предустановленный стек LAMP (инструкции можно найти здесь).

1: Настройка Apache и PHP

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

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

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

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

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

Виртуальный хост Magento довольно простой. Откройте тег <VirtualHost>, прослушивающий трафик порта 80 (это стандартный порт HTTP). Затем задайте директиву DocumentRoot (это каталог, в котором будут храниться файлы сайта).

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

Теперь нужно добавить параметры Magento. В <Directory> укажите каталог document root, а затем добавьте параметры для настройки индексирования директорий, поддержку символьных ссылок и  многоязычного сайта. Также нужно добавить переопределение настроек Apache файлом .htaccess.

. . .
<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>

Сохраните и закройте файл. Чтобы включить виртуальный хост, введите:

sudo a2ensite magento.conf

Отключите виртуальный хост по умолчанию, который будет конфликтовать с новым хостом:

sudo a2dissite 000-default.conf

Настройка PHP

Теперь нужно выделить память для процессов PHP. Magento использует PHP для выполнения почти всех задач и требует большого объёма памяти для сложных операций (как индексирование продуктов, категоризация и т.п.). По умолчанию Apache выделяет максимум 128MB на каждый сценарий PHP. Нужно увеличить это значение, иначе некоторые сценарии Magento будут останавливаться из-за нехватки памяти.

Откройте конфигурационный файл Apache для PHP:

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

Найдите следующую строку:

memory_limit = 128M

Увеличьте её значение хотя бы до 512MB.

Примечание: 512MB хватит для поддержки среднестатистического сайта. Значение параметра memory_limit полностью зависит от требований сайта (количества товаров в каталоге и ежедневного числа посетителей). Некоторым крупным онлайн-магазинам бывает необходимо увеличить максимальный объем памяти до 2 GB и более.

memory_limit = 512M

Примечание: В параметре нужно использовать М, а не MB.

Сохраните и закройте файл. Изменения вступят в силу после перезагрузки Apache.

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

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

Эти расширения позволят Magento правильно обрабатывать HTTP-запросы, уменьшенные изображения и шифрование данных.

Теперь нужно включить поддержку переписывания ссылок Apache и шифрования PHP:

sudo a2enmod rewrite
sudo php5enmod mcrypt

После этого перезапустите веб-сервер, чтобы активировать новые настройки:

sudo service apache2 restart

2: Создание БД MySQL

Magento использует MySQL для управления данными сайта. СУБД MySQL уже установлена на сервер. Осталось только создать БД и пользователя для Magento.

Откройте MySQL как root:

mysql -u root -p

Программа запросит root-пароль. После этого вы получите доступ к командной строке СУБД.

Создайте БД для сайта Magento; в руководстве она называется magento, но вы можете выбрать более описательное имя.

CREATE DATABASE magento;

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

После этого нужно создать нового пользователя MySQL для работы с этой БД.

Для простоты в руководстве пользователь называется magento_user и защищён паролем password. Ни в коем случае не используйте такое имя и пароль – это очень опасно для сервера.

CREATE USER magento_user@localhost IDENTIFIED BY 'password';

Итак, теперь у вас есть БД и пользователь для работы с данными Magento. Однако пока что у пользователя нет никаких прав на эту БД. Чтобы передать права на БД пользователю magento_user, введите:

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

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

FLUSH PRIVILEGES;
exit

3: Загрузка и установка Magento

Теперь можно загрузить и установить Magento. Чтобы узнать, какая версия является последней, откройте эту страницу.

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

Чтобы загрузить файл Magento, введите:

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

Распакуйте архив с помощью команды:

tar xzvf magento-1.9.0.1.tar.gz

В домашнем каталоге появится новый каталог magento. Нужно переместить файлы программы из этого каталога в document root веб-сервера Apache, чтобы он мог обслуживать эти файлы. Для перемещения файлов Magento можно использовать rsync. Команда 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: Установка Magento в браузере

Откройте следующую ссылку, чтобы получить доступ к интерфейсу:

http://server_domain_name_or_IP/

Если все предыдущие настройки выполнены правильно, на экране появится приветственная страница мастера установки Magento, на которой вы найдёте лицензионное соглашение. Примите условия лицензии и нажмите Continue.

На следующей странице (Localization) можно изменить региональные настройки: язык, часовой пояс и валюту. Указав все необходимые данные, нажмите Continue.

Страница Configuration разделена на три части. Первая часть – настройки взаимодействия Magento с БД MySQL. В Database Type установите «MySQL», в Host выберите «localhost». В полях Database Name, User Name и User Password укажите имя БД, имя пользователя БД и его пароль.

Вторая часть страницы Configuration – это настройки ссылок сайта и других функций Apache. В Base URL укажите своё доменное имя; если у вас нет доменного имени, используйте внешний IP-адрес сервера. В пути Admin Path рекомендуется заменить раздел «admin». Выберите какое-нибудь менее очевидное значение, чтобы другие пользователи не могли открыть страницу входа в панель управления. Поставьте галочку в Use Web Server (Apache) Rewrites, чтобы включить поддержку чистых ссылок. Для этого Apache использует модуль mod_rewrite.

Последняя часть страницы Configuration – настройки хранения данных сеанса. Magento предлагает два метода сохранения данных сеанса пользователя. Метод File System сохраняет сеансы в виде файлов; это самый простой вариант, который хорошо подходит для начала. Метод Database хранит сеансы в виде записей БД MySQL; этот метод подойдёт для сайтов Magento, данные которых распределены между несколькими серверами. В данном руководстве используется File System.

После этого вы перейдёте на страницу настройки аккаунта администратора. С её помощью можно учетную запись администратора, который отвечает за поддержку онлайн-магазина Magento. Выберите уникальное имя пользователя и сложный пароль. Поле Encryption Key нужно оставить пустым (если только вы не перемещаете данные с существующей установки Magento). Если оставить поле пустым, Magento сгенерирует новый ключ шифрования при нажатии кнопки Continue и выведет его на следующей странице. Сохраните этот ключ в безопасном месте на случай, если в дальнейшем вам понадобится переместить данные.

Установка Magento завершена. Откройте следующую ссылку, чтобы просмотреть свой сайт:

http://server_domain_name_or_IP/

Если всё выполнено правильно, на экране вы увидите приветственную страницу сайта.

Чтобы получить доступ к панели управления, перейдите по ссылке:

http://server_domain_name_or_IP/admin/

Чтобы пройти аутентификацию, введите учётные данные администратора.

Заключение

Система управления контентом Magento установлена и полностью готова к работе. После этого рекомендуется защитить сайт с помощью SSL-сертификата.

Tags: , ,

Добавить комментарий