yuu_nkjm blog


2010-05-25(Tue) [長年日記]

[joomla][.htaccess][Webアプリ] Joomlaで作ったサイトの移行(複製)

Joomlaで作ったサイトの移行というか複製について述べる.そのうち清書する.

やりたいこと

"http://hoge.info/"では,現在公開されているWebコンテンツをそのまま表示しておきたい."http://hoge.info/new/"において,ガシガシとWebコンテンツを更新したい.いずれ,newの方をメインに切り替えていく.

…という事がやりたい.今回は,"http://hoge.info/"の複製を"http://hoge.info/new/"に作るところまで.

  • DBに関しては以下のように設定したい.
    • /var/www/html/joomla_1_0 → dbs.hoge.infoの"DB_NAME"というDBの'jos_*'というテーブルにデータを格納
    • /var/www/html/joomla_1_0_new → dbs.hoge.infoの"DB_NAME"というDBの'jos_new_*'というテーブルにデータを格納
  • URLは以下のように設定したい
    • http://hoge.info/ → /var/www/html/joomla_1_0
    • http://hoge.info/new/ → /var/www/html/joomla_1_0_new

MySQLのデータの移行

phpMyAdminでエクスポート

phpMyAdminで元のデータをエクスポートする.エクスポートしたsqlファイルはただのテキストファイルなので,テーブル名が'jos_*'となっているところを'jos_new_'に変更する.

phpMyAdminでインポート

ブラウザ上からインポートする.

configuration.phpの記述

設置パスとURLの指定

新しいパスを指定する.

$mosConfig_absolute_path = '/var/www/html/joomla_1_0_new';
$mosConfig_cachepath = '/var/www/html/joomla_1_0_new/cache';
$mosConfig_live_site = 'http://hoge.info/new';
DBの指定

テーブルが変わるだけなので,テーブルのprefixを変更する.元のデータを残したいので'jos_new_'にする.

$mosConfig_host = 'dbs.hoge.info';
$mosConfig_db = 'DB_NAME';
$mosConfig_dbprefix = 'jos_new_';
$mosConfig_password = 'DB_PASSWD';
.htaccessの指定

.htaccessを以下のように設定する.Ruleを書く順番に依存してしまうことに注意.

RewriteEngine On
RewriteBase /
 
RewriteRule ^new/$ joomla_1_0_new/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^new/(.+)$ joomla_1_0_new/$1 [L]
 
RewriteRule ^$ joomla_1_0/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ joomla_1_0/$1 [L]
本日のリンク元
その他のリンク元
検索