サイトマップ | お問い合わせ  | ID  PASS 

SmartSection is developed by The SmartFactory (http://www.smartfactory.ca), a division of INBOX Solutions (http://inboxinternational.com)
ۡ롼 > 裏番町通信 > 仮想専用サーバ構築 > CentOS4 > XOOPSサイトの移設
XOOPSサイトの移設
投稿者: Master 掲載日: 2007-8-15 (4418 回閲覧)
事前に把握したトラブル対処法を施してから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ファイルを作成
 <VirtualHost *:80> ↓ バーチャルホストを設定
    ServerAdmin webmaster@xoops_site.jp ← Postfixでの設定も必要
    DocumentRoot /var/www/xoops_site ← XOOPSをインストールしたディレクトリを指定
    ServerName www.xoops_site
    ServerAlias xoops_site ← WWW無しでもアクセスできるように
</VirtualHost>

● 移設後の確認のために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サイトと同じに設定します。

● 現行の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ファイルを削除

※1MAMPにデータベースを挿入では、追加モジュールを非アクティブにして初期状態に戻しましたが、今回は追加モジュールがアクティブなままでも無事にデータベースを移設することができました。これはXOOPSのファイル群が現行のXOOPSサイトと移設先で同一だったためかと思いますが、確証はありません。
※2:追加したモジュールでエラーが起きる場合は、そのモジュールが生成したファイルが移設先のcache/、templates_c/内にあるか確認します。例えば「(モジュール名)_○○.html」などです。多くの場合、cache/、templates_c/内を空にしてアップロードしても移設に影響はありません。cache/内のadminmenu.phpを削除しても、管理画面を開くときに「インストール後初めて・・・」というメッセージが出るだけです。しかし、モジュールによっては生成したファイルが必要な場合があります。
  この記事を PDF フォーマットで見る 記事を印刷する 記事をメールで送信

良く読まれた記事 .htaccessで直リンクを防止 CentOS4にXOOPS Cube Legacyをインストール 次の記事
メインメニュー
大橋デザイン室