通常のレンタルサーバーからVPSサーバへの移転時、データとプロダクトすべてを丸々移行させ成功したときの備忘録
 
※VPSサーバでバーチャルホストで複数サイトを運用していることが前提
 

プロダクト移行

①以前のサーバから必要な Drupal6 のディレクトリすべてをローカルにダウンロード
 
②圧縮し移転先のVPSサーバへアップロード
 
③適切な箇所へ配置
 
④settings.phpの設定
・データベースへの接続先を修正する
# vi {drupal_directory}/sites/default/settings.php
– – – – – – – – – – – – – – – – – – – – – – – – – – – –
$db_url = 'mysqli://{username}:{password}@localhost/{database_name}';
– – – – – – – – – – – – – – – – – – – – – – – – – – – –
 

データ移行

①phpMyAdmin などで移行させたい Drupal6 のSQLをダウンロード
 
②移転先のVPSサーバへアップロード
 
③コマンドラインから指定のデータベースへインポートする
 # mysql -u root -p
 
mysql> use dbname
 
mysql> source /{directory}/data.sql
 

Clean URLs 設定

以前のサーバで URLをパラメーターではなくSEOに有効とされる Clean URLs としたので、その設定を行う。
 
①htaccessの設定
・下記のように、(1)RewriteEngine が On であること(2)RewriteBase のパスがあっていることを確認
# vi {drupal_root}/.htaccess
– – – – – – – – – – – – – – – – – – – – – – – – – – – –
# Various rewrite rules.
<IfModule mod_rewrite.c>
  RewriteEngine on

  RewriteBase /{drupal_directory}

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>

– – – – – – – – – – – – – – – – – – – – – – – – – – – –
 
②Apacheの設定を確認
・.htaccessファイルの許可を与える
# vi /etc/httpd/conf/httpd.conf
– – – – – – – – – – – – – – – – – – – – – – – – – – – –
<Directory "/var/www/html/{drupal_directory}">
    AllowOverride All
</Directory>
– – – – – – – – – – – – – – – – – – – – – – – – – – – –