Инструкция по переносу CMS Magento с одного сервера на другой
Уровень детализации этой инструкции предполагает наличие у вебмастера базовых знаний по SSH, а также доступа по SSH к обоим серверам.
Обзор
Этапы переноса:
- Подготовка dump файла MySQL базы данных
- Архивация директорий media и theme
- Копирование файлов на сервер
- Установка Magento
- Импортирование dump файла в новую базу даных
- Размещение скопированных данных по директориям Magento
Старый сервер
Залогиньтесь на сервер, который содержит систему управления Magento, предназначенную к переносу. Перейдите в директорию, где установлен Magento. В данной инструкции далее будет использован путь:
- /home/username/public_html/
и директория public_html будет считаться корневым каталогом для вашего домена.
Для проверки создайте файл test.html в public_html, и проверьте его доступность из интернета:
- http://www.example.com/test.html
Перейдите в директорию, где установлена Magento, по команде:
- cd public_html
На уровень выше директории public_html создайте новую директорию backup, пользуясь командой:
- mkdir backup
MySQL Dump
Создание dump файла MySQL существующей базы данных:
- mysqldump -h DBHOST -u DBUSER -pDBPASS DBNAME > data.sql
Замените переменные соответствующими значениями:
- DBHOST - имя хоста, обычно localhost,
- DBUSER - имя пользователя с правами доступа к базе данных,
- DBPASS - пароль пользователя,
- DBNAME - название базы данных, которое использует Magento.
Внимание: Если вы используете MySQL 4.x, вам необходимо включить опцию :
- --default-character-set=utf8
Переместите файл data.sql в директорию backup, которую создали ранее:
- mv data.sql backup/
Директория Media
Сожмите данные директории media:
- tar -cvf media.tar media/*
Переместите полученный файл в директорию backup:
- mv media.tar backup/
Файлы тем (Theme)
Следующим шагом подготовьте для переноса содержание директорий app и skin:
- cd app/design/frontend/default/
Предполагается, что текущая тема содержится в директории mytheme (при необходимости замените на соответствующую).
Сожмите директорию:
- tar -cvf app.tar mytheme/
Переместите полученный файл в директорию backup:
- mv app.tar ../../../../backup/
Перейдите в директорию skin:
- cd ../../../../skin/frontend/default/
Сожмите директорию mytheme:
- tar -cvf skin.tar mytheme/
Переместите полученный файл в директорию backup:
- mv skin.tar ../../../backup/
Вернитесь на верхний уровень:
- cd ../../../
Файл Config
Файл содержит зашифрованные ключи, имя пользователя и пароль для доступа к базе данных. Если данные параметры серверов не совпадают, необходимо отредактировать файл local.xml.
Скопируйте файл:
- cp app/etc/local.xml backup/
На этом этапе все данные для переноса готовы.
Директория backup должна содержать:
- local.xml
- app.tar
- data.sql
- media.tar
- skin.tar
Новый сервер
Перейдите в директорию public_html, в которой будет стоять Magento:
- cd public_html
Проверьте, может ли новый сервер запускать Magento, для этого создайте файл magento-check.php в директории public_html следующего содержания:
- <?
- extension_check(array(
- 'curl',
- 'dom',
- 'gd',
- 'hash',
- 'iconv',
- 'mcrypt',
- 'pcre',
- 'pdo',
- 'pdo_mysql',
- 'simplexml'
- ));
- function extension_check($extensions) {
- $fail = '';
- if(version_compare(phpversion(), '5.2.0', '<')) {
- $fail .= '<li>PHP 5.2.0 (or greater)</li>';
- }
- if(!ini_get('safe_mode')) {
- if(preg_match('/[0-9].[0-9]+.[0-9]+/', shell_exec('mysql -V'), $version)) {
- if(version_compare($version[0], '4.1.20', '<')) {
- $fail .= '<li>MySQL 4.1.20 (or greater)</li>';
- }
- }
- }
- foreach($extensions as $extension) {
- if(!extension_loaded($extension)) {
- $fail .= '<li>'.$extension.'</li>';
- }
- }
- if($fail) {
- echo '<p>Your server does not meet the requirements for Magento.';
- echo 'The following requirements failed:</p>';
- echo '<ul>'.$fail.'</ul>';
- } else {
- echo '<p>Congratulations! Your server meets the requirements for Magento.</p>';
- }
- }
- ?>
Далее запросите в браузере адрес:
http://www.example.com/magento-check.php
Если вы увидите надпись: "Congratulations! Your server meets the requirements for Magento.", - значит сервер готов к работе с Magento.
Включите на веб сервере модуль mod_rewrite. Для этого добавьте в конфиг апача httpd.conf строку:
- LoadModule mod_rewrite modules/mod_rewrite.so
Для сервера на базе Ubuntu это делается с помощью команды:
- sudo a2enmod rewrite
Разрешите менять конфигурацию апача с помощью файлов .htaccess. Для этого в конфигурационном файле веб-сервера нужно заменить строку AllowOverride None на AllowOverride All для директории /home/username/public_html/. Не забудьте перезапустить сервер с новыми настройками!
Создайте директорию backup:
- mkdir backup
Перейдите в директорию:
- cd backup/
Копирование файлов
По команде:
- wget http://www.example.com/backup/local.xml
- wget http://www.example.com/backup/app.tar
- wget http://www.example.com/backup/data.sql
- wget http://www.example.com/backup/media.tar
- wget http://www.example.com/backup/skin.tar
Теперь все данные готовы и скопированы и можно приступать к установке чистой Magento.
Вернитесь в директорию public_html:
- cd ..
Установка Magento
Следуя командам:
- wget http://www.magentocommerce.com/downloads/assets/1.2.1.2/magento-1.2.1.2.tar.gz
- tar -zxvf magento-1.2.1.2.tar.gz
- mv magento/* magento/.htaccess .
- mv php.ini.sample php.ini
- chmod o+w var var/.htaccess app/etc
- chmod -R o+w media
Создание базы данных
- CREATE USER 'DBUSER'@'DBHOST' IDENTIFIED BY 'DBPASS';
- GRANT USAGE ON * . * TO 'DBUSER'@'DBHOST' IDENTIFIED BY 'DBPASS'
- WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
- CREATE DATABASE IF NOT EXISTS `DBNAME`;
- GRANT ALL PRIVILEGES ON `DBUSER` . * TO 'DBUSER'@'DBHOST';
Импорт базы данных
По команде:
- mysql -h DBHOST -u DBUSER -pDBPASS DBNAME < backup/data.sql
PEAR Downloader
Запустите PEAR, и Magento обновит все необходимые данные в базе:
- ./pear mage-setup .
- ./pear install magento-core/Mage_All_Latest
Очистите данные:
- rm -rf downloader/pearlib/cache/* downloader/pearlib/download/*
- rm -rf magento/ magento-1.2.1.2.tar.gz
- rm -rf index.php.sample .htaccess.sample STATUS.txt
Перенос Media и Theme
Переместите файлы:
- cp backup/app.tar app/design/frontend/default/
- cp backup/skin.tar skin/frontend/default/
- cp backup/media.tar media/
Разархивируйте файлы:
- cd app/design/frontend/default/
- tar -xvf app.tar
- rm -rf app.tar
- cd ../../../../skin/frontend/default/
- tar -xvf skin.tar
- rm -rf skin.tar
- cd ../../../media/
- tar -xvf media.tar
- rm -rf media.tar
- cd ..
Перенос файла Config
Переместите файл:
- mv backup/local.xml app/etc/
Проверьте, работает ли сайт на Magento.
Удалите директорию:
- rm -rf backup/
Альтернативный метод
Сожмите всю директорию public_html вместе со всеми файлами Magento:
- tar -cvf backup.tar public_html/
Скачайте и разархивируйте на новом сервере Magento:
- tar -xvf backup.tar
Переместите файлы:
- mv public_html/* public_html/.htaccess .
Переместите директорию:
- rm -rf public_html/
Создайте новую базу данных MySQL и импортируйте dump-файл в неё.
- CREATE USER 'DBUSER'@'DBHOST' IDENTIFIED BY 'DBPASS';
- GRANT USAGE ON * . * TO 'DBUSER'@'DBHOST' IDENTIFIED BY 'DBPASS'
- WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
- CREATE DATABASE IF NOT EXISTS `DBNAME`;
- GRANT ALL PRIVILEGES ON `DBUSER` . * TO 'DBUSER'@'DBHOST';
- mysql -h DBHOST -u DBUSER -pDBPASS DBNAME < backup/data.sql
Откройте новую базу данных с phpMyAdmin , перейдите на [mage]core_config_data table, и отредактируйте:
web/unsecure/base_url
web/secure/base_url (config_id’s 2 and 3)
в соответствии с новым URL Magento сервера.
Отредактируйте файл local.xml (app/etc/local.xml), если он отличается от старого (но оставьте значение прежним : security/encryption key).
Очистите директорию:
- rm -rf var/*
Установите разрешения:
- chmod o+w var var/.htaccess app/etc
- chmod -R o+w media
Проверьте, работает ли сайт на Magento на новом сервере.
Смотрите также:
- внедрение системы электронной коммерции Magento,
- создание интернет-магазина.
Наши новости
- Готов к эксплуатации небольшой, но функциональный сайт для компании Ремаком.24.062010
- Принят дизайн информационного портала, создаваемого для Фонда поддержки российского флота.31.052010
- Начал свою работу сайт, посвященный хирургической стоматологии.09.092009


с поддержкой или
продвижением