Обзор
Этапы переноса:- Подготовка dump файла MySQL базы данных
- Архивация директорий media и theme
- Копирование файлов на сервер
- Установка Magento
- Импортирование dump файла в новую базу даных
- Размещение скопированных данных по директориям Magento
Старый сервер
Залогиньтесь на сервер, который содержит систему управления Magento, предназначенную к переносу. Перейдите в директорию, где установлен Magento. В данной инструкции далее будет использован путь:- /home/username/public_html/
Для проверки создайте файл test.html в public_html, и проверьте его доступность из интернета:
- http://www.example.com/test.html
- cd public_html
- mkdir backup
MySQL Dump
Создание dump файла MySQL существующей базы данных:- mysqldump -h DBHOST -u DBUSER -pDBPASS DBNAME > data.sql
- DBHOST - имя хоста, обычно localhost,
- DBUSER - имя пользователя с правами доступа к базе данных,
- DBPASS - пароль пользователя,
- DBNAME - название базы данных, которое использует Magento.
- --default-character-set=utf8
- mv data.sql backup/
Директория Media
Сожмите данные директории media:- tar -cvf media.tar media/*
- mv media.tar backup/
Файлы тем (Theme)
Следующим шагом подготовьте для переноса содержание директорий app и skin:- cd app/design/frontend/default/
Сожмите директорию:
- tar -cvf app.tar mytheme/
- mv app.tar ../../../../backup/
- cd ../../../../skin/frontend/default/
- tar -cvf skin.tar mytheme/
- 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
- 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 .= '
- PHP 5.2.0 (or greater)
'; - }
- 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 .= '
- MySQL 4.1.20 (or greater)
'; - }
- }
- }
- foreach($extensions as $extension) {
- if(!extension_loaded($extension)) {
- $fail .= '
- '
.$extension.'
';
}
}
if($fail) {
echo 'Your server does not meet the requirements for Magento.';
echo 'The following requirements failed:';
echo '
- '.$fail.'
} else {
echo 'Congratulations! Your server meets the requirements for Magento.
';
';
}
}
?>
Далее запросите в браузере адрес:
http://www.example.com/magento-check.php
Если вы увидите надпись: "Congratulations! Your server meets the requirements for Magento.", - значит сервер готов к работе с Magento.
Включите на веб сервере модуль mod_rewrite. Для этого добавьте в конфиг апача httpd.conf строку:
Для сервера на базе Ubuntu это делается с помощью команды:
Разрешите менять конфигурацию апача с помощью файлов .htaccess. Для этого в конфигурационном файле веб-сервера нужно заменить строку AllowOverride None на AllowOverride All для директории /home/username/public_html/. Не забудьте перезапустить сервер с новыми настройками!
Создайте директорию backup:
Перейдите в директорию:
Теперь все данные готовы и скопированы и можно приступать к установке чистой Magento.
Вернитесь в директорию public_html:
Очистите данные:
Разархивируйте файлы:
Проверьте, работает ли сайт на Magento.
Удалите директорию:
Скачайте и разархивируйте на новом сервере Magento:
Переместите файлы:
Переместите директорию:
Создайте новую базу данных MySQL и импортируйте dump-файл в неё.
Откройте новую базу данных с 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).
Очистите директорию:
Установите разрешения:
Проверьте, работает ли сайт на Magento на новом сервере.
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
- sudo a2enmod rewrite
Создайте директорию 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
Вернитесь в директорию 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/
Удалите директорию:
- rm -rf backup/
Альтернативный метод
Сожмите всю директорию public_html вместе со всеми файлами Magento:- tar -cvf backup.tar public_html/
- tar -xvf backup.tar
- mv public_html/* public_html/.htaccess .
- rm -rf public_html/
- 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
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
Комментариев нет:
Отправить комментарий