本サイトは、サーバ移転を行ったため一部コンテンツの表示が正しく表示されていないページがあります。
Category: Develop
サーバ移転備忘録
通常のレンタルサーバーから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
<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>
AllowOverride All
</Directory>
– – – – – – – – – – – – – – – – – – – – – – – – – – – –
MySQL data import – CUI
サーバ移転時など、データ移行を行う必要がある。データ量が多すぎてphpMyAdminがタイムアウトになり、ブラウザからインポートできない場合がある。
そういった場合、コマンドラインからインポートすることで実現する。
①ログイン
[Linux]
# mysql -u root -p
Enter password:
[Mac]
# /Applications/MAMP/Library/bin/mysql -u root -p
Enter password:
②データベース作成
mysql> create database {database_name};
③DB指定
mysql> use dbname
Database changed
④データファイルを指定してインポート
mysql> source /Users/{myname}/Downloads/data.sql
ちなみに
⑤ユーザ作成
mysql> grant all privileges on {database_name}.* to {user_name}@localhost identified by '{password}';
[MAMPの場合]
$ cd /Applications/MAMP/Library/bin/
$ ./mysql -u root -p
mysql> SHOW DATABASES;