データベースを移動する手順もはいっていますので、ファイルだけ移動させたい人はデータベースに関する項目をスキップしてください。
*サーバはLinux(cent06)でphp,Apache,MySQLなどのベースソフトは既に新サーバにインストールされている前提なので、まだの方はそれらを実施したのち、下記手順をおこなってください。
Contents
既存データベースのバックアップ
データベースサーバで下記のコマンドを発行します。
[crayon]
mysqldump -u(ユーザー名) -p (データベース名) > magentodb.sql
[/crayon]
既存ファイルを圧縮
Webサーバで下記のコマンドを発行し、ファイルを圧縮します。
[crayon]
tar cvf magentofiles.tar (magentoのインストールディレクトリ)
[/crayon]
データベースを作成
移動先のサーバにデータベースを作成します。データのインポートはこの後の作業なので、ここではデータベースの箱だけ作成します。
データベースにログインします
[crayon]
mysql -u(ユーザー名) -p
[/crayon]
データベースを作成します。
[crayon]
create database (データベース名)
[/crayon]
このデータベースの専用ユーザーを作る場合はユーザーを作成し、閲覧権限をつけてください。
データベースをインポート
先のステップで作成したデータベースにデータをインポートします。
[crayon]
mysql -u(ユーザー名) -p(データベース名) < magentodb.sql
[/crayon]
ファイルを移動して展開
先のステップで圧縮したファイルをドキュメントルートに配置し、展開します。
[crayon]
tar xvf magentofiles.tar
[/crayon]
cron.phpやLicense.htmlが入っているのがルートディレクトリになるので、違う階層に展開されていたら、mvコマンドで移動させてください
設定ファイルを編集1
Magentoはデータベースにドメイン名情報を保持しているので、新環境でドメイン名が変更になる場合は、下記の手順で設定を変更してください。
MySQLにログインし、下記コマンドを発行すると、以前のサーバの設定が確認できます。これを新しい値に変更していきます。
[crayon]
use (データベース名);
select * from core_config_data where path like '%base%url%';
[/crayon]
ここでドメイン名が設定されているレコードのconfig_idを控えておきます。
更新をかけます。おそらく先ほど控えたconfig_idが二つあるので、下記の(先ほど控えたconfig_id)を変えて2回実行します。
[crayon]
update core_config_data set value='(新しいドメイン名)' where config_id='(先ほど控えたconfig_id)';
[/crayon]
設定ファイルを編集2
データベース名を変更する場合はコンフィグファイルを変更する必要があります。
/app/etc/local.xml を編集します。
Connectionタグの中を新しいデータベースの設定にします
[crayon]
[crayon]
キャッシュをクリアする
Magentoは var/cache の下にキャッシュがたまっていきます。以前のサーバの情報が残っている可能性があるので、下記コマンドでキャッシュをクリアします。
[crayon]
rm -fr (Magentoのドキュメントルート)/var/cache/*
[/crayon]
ここまでで移行設定は終わりです。新ドメインにアクセスすればめでたくサイトが表示されます。
が、おうおうにして、いろんなエラーがでますので、メジャーどころを記載しておきます。
Server not found
Apacheの設定がうまくいっていないようです。/etc/httpd/conf/httpd.conf を確認し、ドキュメントルートが正しく設定されていることを確認しましょう。
パーミッションエラー
新サーバのMagentoディレクトリに適切なパーミッションが与えられていない場合、ブラウザからアクセスできません。chmodコマンドでドキュメントルート以下のパーミッションをゆるくしましょう
cssファイルが読み込まれない
cssファイルが読み込まれず、レイアウトが崩れる。データベースでドメイン名を変更した際に間違った設定をしている可能性があります。スラッシュが適切に入っているか、もしくは余分な文字が入っていないか確認しましょう