XOOPSサイトの移設

みんなの教室 - るるblog
XOOPSサイトの移設
カテゴリ : CentOS4
投稿者: Master 掲載日: 2007-8-15
事前に把握したトラブル対処法を施してからXOOPSサイト(2.0.16a-JP)を移設します。これが済め
ばサーバー乗り換え作業はひとまず完了です。今後は、XOOPS2 → Cubeへのアップグレード、Cube
のUTF-8での運用など、時間があるときに挑戦したいと思っています。
● 移設先サーバーにXOOPSを運用するディレクトリを作成
ドキュメントルート外にディレクトリを作成し、オーナーをFTP接続するユーザーに変更します。こ
のディレクトリにXOOPSをインストールして、名前ベースのバーチャルドメインで運用します。
[root@example ]# mkdir /var/www/xoops_site.jp ← ディレクトリを新規作成 [root@
example ]# chown taro /var/www/xoops_site.jp ← ディレクトリのオーナーを変更
● XOOPSファイル群を移設
現行のXOOPSサイトから、XOOPSのファイル群をFTPでダウンロードします。そのファイル群を移設先
のサーバのXOOPS用ディレクトリにアップロードし、パーミッションの設定を行います。
[root@example ]# chmod 777 /var/www/xoops_site.jp/uploads [root@example ]# chmod 777
/var/www/xoops_site.jp/cache [root@example ]# chmod 777
/var/www/xoops_site.jp/templates_c
● Apacheにバーチャルホストを追加
Apacheの環境ファイルを書き換える必要がなく、管理も楽なので、追加するバーチャルホストは
confファイルで設定します。
[root@example ]# vi /etc/httpd/conf.d/xoops.conf ← confファイルを作成 ↓ バーチ
ャルホストを設定
ServerAdmin webmaster@xoops_site.jp ← Postfixでの設定も必要
DocumentRoot /var/www/xoops_site ← XOOPSをインストールしたディレクトリを指定
ServerName www.xoops_site
ServerAlias xoops_site ← WWW無しでもアクセスできるように
● 移設後の確認のためにAliasを設定
移設してもDNSサーバーの変更が反映されるまでは確認ができません。そのため、メインホストのサ
ブディレクトリからアクセスできるようにしておきます。confファイルで設定しますが、後で削除
するので別に作成します。
[root@example ]# vi /etc/httpd/conf.d/xoops_sub.conf ← confファイルを作成 Alias
/xoops_site /var/www/xoops_site ← サブディレクトからでアクセスできるように
● Apacheを再起動して設定を反映
[root@example ]# service httpd reload ← Apacheを再起動 httpd を再読み込み中:
[ OK ]
● bindのバーチャルドメイン設定[
DNSサーバーの構築(BIND)で行ったように設定します。Aレコードには現行サーバーのIPアドレス
を設定し、アクセスは現行サーバーに向くようにしておきます。
● XOOPS用データベースの作成
MAMPにXOOPS Cube Legacyをインストールのときのように、phpMyAdminでMySQLサーバーにデータベ
ースを新規作成します。データベース名、ユーザー名、パスワードは任意に設定してもよいのです
が、今回は現行のXOOPSサイトと同じに設定します。
http://e-class.jp
2017-2-9 4:25:32 / 1 繝壹
繧ク
● 現行のXOOPSサイトを一時閉鎖、データベースを移設
移設が完了するまで現行のXOOPSサイトを一時閉鎖し※1(管理者メニュー→システム管理→一般設
定→サイトを閉鎖する)、MAMPにデータベースを挿入と同様の手順でデータベースを書き出し、移
設先のMySQLサーバーにを挿入します。移設先のデータベースは空なので、今回は書き出すときに『
「DROP TABELE」を追加する』をチェックする必要はありません。
● mainfile.phpを編集
mainfile.phpは現行のXOOPSサイトからFTPでダウンロードしてしてきたものです。移設が成功した
か確認する前に、メインホストのサブディレクトリでアクセスできるようにmainfile.phpを編集し
ます。mainfile.phpは、現行のXOOPSサイトと同じドメイン名を使い、設定も同じにしてきた場合は
変更の必要はありません。もし、他のドメイン名で運用する場合や、XOOPSの設置場所を変えたり現
行のXOOPSサイトと異なる設定でデータベースを作成した場合などは、必要箇所を変更します。
[root@example ]# vi /var/www/xoops_site.jp/mainfile.php :
define('XOOPS_ROOT_PATH', '/var/www/xoops_site.jp'); ← XOOPSの設置
場所 : define('XOOPS_URL', 'http://main-domain.jp/xoops_site');
← 移設確認用URL : define('XOOPS_DB_PREFIX', 'xoops'); ← XOOPS接頭語 : define('XOOPS_DB_HOST', 'localhost'); ← データベ
ースホスト名 : define('XOOPS_DB_USER', 'example'); ← データベ
ースユーザー名 : define('XOOPS_DB_PASS', 'password'); ← データ
ベースパスワード : define('XOOPS_DB_NAME', 'example_xoops'); ←
データベース名が
● 移設を確認
Webブラウザでhttp://main-domain.jp/xoops_siteへアクセスします。データベースのインポート
が成功していれば、現行のXOOPSサイトと同じ一時閉鎖の状態が表示されます。ログインしてコンテ
ンツを確認し、閉鎖を解除します※2。
● AレコードのIPアドレスを変更
先に変更したmainfile.phpのXOOPS_ROOT_PATHを、現行の(今後運用する)XOOPSサイトのものに戻
します。バーチャルホスト用ゾーンデータベースのAレコードを今回構築したサーバーのIPアドレス
に変更し、BINDを再起動してから現行のXOOPSサイトのURLにアクセスします。一時閉鎖の状態なら
前のサイト、トップページが表示されたら移設先のサイトです。
[root@example ]# vi /var/www/xoops_site.jp/mainfile.php define('XOOPS_URL',
'http://existing-xoops-site.jp'); ← 現行のXOOPSサイトのURL [root@example
]# rm -r /etc/httpd/conf.d/vhost.conf ← confファイルを削除
※1:MAMPにデータベースを挿入では、追加モジュールを非アクティブにして初期状態に戻しまし
たが、今回は追加モジュールがアクティブなままでも無事にデータベースを移設することができま
した。これはXOOPSのファイル群が現行のXOOPSサイトと移設先で同一だったためかと思いますが、
確証はありません。
※2:追加したモジュールでエラーが起きる場合は、そのモジュールが生成したファイルが移設先
のcache/、templates_c/内にあるか確認します。例えば「(モジュール名)_○○.html」などです
。多くの場合、cache/、templates_c/内を空にしてアップロードしても移設に影響はありません。
cache/内のadminmenu.phpを削除しても、管理画面を開くときに「インストール後初めて・・・」と
いうメッセージが出るだけです。しかし、モジュールによっては生成したファイルが必要な場合が
あります。
http://e-class.jp
2017-2-9 4:25:32 / 2 繝壹
繧ク