サイトの引越しができない

質問全般・改善要望
kazuike
メンバー
メンバー
記事: 507
登録日時: 2009年8月12日(水) 12:53

Re: サイトの引越しができない

投稿記事 by kazuike »

kai さんが書きました: 何回も試してみましたがテーブルを全てチェックし、バックアップ・ダウンロードのボタンを押しても、何分たってもバックアップしてくれませんでした。
event_logテーブルとmanager_logテーブルを分けてチェックを入れてボタンを押してもバックアップしてくれなく、仕方なくスナップショット追加で/temp/backup/の中にsqlファイルが作られたのでバックアップができたものと思い込んでいました。
元サイトのデータが消えたのは多分ですが、スナップショットの”このデータに戻す”を押してしまった為に空のsqlファイルを読み込んで消えてしまったっぽいです。

今思えば1.0.8Jの新規インストールをしたときにインストール前の状態確認でエラーが出たのに先に進めたので気になっていたんですが1.0.8Jを使わなければよかったです。
もー以前のバージョンをダウンロードできないのですか?
コアサーバが非suEXECなので、どのバージョンでも同じことですね。
と言いますか、MODX以外のシステムでも同じようなことになります。

非suEXECな環境では、
FTPの権限とApache(つまり、ブラウザ)の権限が分けられているので、
FTP側からApache側へ権限を与えるという設定作業をしなければ、
MODXのようにブラウザから操作するシステムは、
ファイルを生成したり更新したりすることが、一切できません。

ですので、非suEXECな環境では、
こういったウェブシステムをインストールする際、パーミッションの設定は、必須です。

おそらく、今回のバックアップ機能が正常に動作しなかったのも、
パーミッションが正しく設定されていないため、
MODX側で生成するハズのファイルが、生成できなかったのではないでしょうか?

再度、引越しに使用したSQLから始めるしかないかもしれませんね。

あと、
ツール > グローバル設定 > ファイル管理の設定
・新規ファイルのパーミッション「0646」
・新規ディレクトリのパーミッション「0757」
に設定しておくことをお勧めします。
こうしておかないと、
上記とは逆に、MODXで生成したディレクトリやファイルが、
こんどはApache側の権限のディレクトリ・ファイルになってしまって、
FTPから操作できなくなりますので。
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
kai
メンバー
メンバー
記事: 15
登録日時: 2013年3月11日(月) 00:34

Re: サイトの引越しができない

投稿記事 by kai »

kazuikeさん、お返事ありがとうございます。
コアサーバが非suEXECなので、どのバージョンでも同じことですね。
と言いますか、MODX以外のシステムでも同じようなことになります。
1.0.6J-r2から1.0.8Jにアップデートした別サイトは同じ環境ですがテーブルを全てチェックし、バックアップ・ダウンロードのボタンを押すとバックアップsqlファイルはきちんと保存されています。私の環境だけかもしれませんが新規に1.0.8Jをインストールしたものだけが何回インストールしてもバックアップ・ダウンロードのボタンが効かない状態です。
また、同じ環境でWordPress3.xも問題なく稼動しております。
おそらく、今回のバックアップ機能が正常に動作しなかったのも、
パーミッションが正しく設定されていないため、
MODX側で生成するハズのファイルが、生成できなかったのではないでしょうか?
ですが、何度もパーミッションを見直していましたが間違いはありませんでした。
kazuike
メンバー
メンバー
記事: 507
登録日時: 2009年8月12日(水) 12:53

Re: サイトの引越しができない

投稿記事 by kazuike »

起こっている現象と作業された内容の順番について
どうも、私が理解できていないようです。

1.エラー発生
2.バックアップ(壊れていたことに気付かなかった)
3.パーミッションを設定
4.リストア(DBが壊れた)
5.ログインできない
というような順番かと思っていたのですが、
これとは違う順番なのでしょうか?
kai さんが書きました: 1.0.6J-r2から1.0.8Jにアップデートした別サイトは同じ環境ですがテーブルを全てチェックし、バックアップ・ダウンロードのボタンを押すとバックアップsqlファイルはきちんと保存されています。
こちらは1.0.6J-r2をインストールする際、
インストーラがパーミッションのチェックをして、その設定を促すメッセージが出たはずです。
その時点でパーミッションを設定されたから正常に動作しているのではないでしょうか?
kai さんが書きました: 私の環境だけかもしれませんが新規に1.0.8Jをインストールしたものだけが何回インストールしてもバックアップ・ダウンロードのボタンが効かない状態です。
最初の投稿で
http://modx.jp/docs/admin/move.htmlを見ながら

旧サーバのファイル一式をそのまま新サーバに移動

あらかじめバックアップをとっておいたSQLバックアップデータをphpMyAdminなどを通じてインポート

manager/includes/config.inc.phpをテキストエディタで開き、上部数行のデータベース接続情報を書き換える
とありましたので、
こちらはインストーラを使わず、FTPでファイル一式をアップロードされたのですよね?
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
kai
メンバー
メンバー
記事: 15
登録日時: 2013年3月11日(月) 00:34

Re: サイトの引越しができない

投稿記事 by kai »

kazuikeさん、お返事が遅くなってしまいすみませんでした。やっと帰ってこれました。
ひとつ間違えていまして1.0.6J-r2でなく、1.0.6J-r8から1.0.8Jにアップデートでした。

順番についてですが、
1.テスト環境で1.0.8Jを新規に立ち上げたサイトを会社が持っている環境へと移した。
2.移したサイトを1.0.6J-r8でやっていたパーミッションに変更した。
3.移したサイトにログインが出来たがグローバル設定で更新をするとエラーが出た。
4.assets/cache/、content/、temp/とそれ以下のディレクトリとindex.html以外のファイル全てに書き込み権限を与えた。
5.ログインが出来なくなった。
6.パッチファイルの上書きなどをしていたら元サイトのデーターも消えてしまっつた(同期していたかの様に・・)。
です。
こちらはインストーラを使わず、FTPでファイル一式をアップロードされたのですよね?
そうです。manager/includes/config.inc.phpの上部数行のデータベース接続情報を書き換え、テスト環境から会社が持っている環境へとFTPを使って移しtemp/backup/の中の最新のsqlファイルを使いphpMyAdminにインポートしました。


テスト環境で1.0.8J を新規にインストールしたときもインストーラがパーミッションのチェックをし、その設定を促すメッセージ通りに設定しましたが・・・
kazuike
メンバー
メンバー
記事: 507
登録日時: 2009年8月12日(水) 12:53

Re: サイトの引越しができない

投稿記事 by kazuike »

kaiさん、お帰りなさい(^^)
kai さんが書きました: 1.テスト環境で1.0.8Jを新規に立ち上げたサイトを会社が持っている環境へと移した。
2.移したサイトを1.0.6J-r8でやっていたパーミッションに変更した。
3.移したサイトにログインが出来たがグローバル設定で更新をするとエラーが出た。
4.assets/cache/、content/、temp/とそれ以下のディレクトリとindex.html以外のファイル全てに書き込み権限を与えた。
5.ログインが出来なくなった。
引っ越し先のMODXでも、
バックアップ(もしくは、スナップショット)とリストアをされていたように思われたのですが、
それぞれ、どのタイミングでされまししたでしょうか?
kai さんが書きました: 6.パッチファイルの上書きなどをしていたら元サイトのデーターも消えてしまっつた(同期していたかの様に・・)。
というのが気になるのですが、具体的にはどういうことでしょうか?
kai さんが書きました:manager/includes/config.inc.phpの上部数行のデータベース接続情報を書き換え、テスト環境から会社が持っている環境へとFTPを使って移し
まさかと思いますが、元のテスト環境のconfig.inc.phpと引っ越し先のconfig.inc.phpの内容(DB接続情報)は、現時点で違うものになっていますよね?

また、
「assets/cache/」内の、「index.html」を除く全てのファイルにについて、
・元のテスト環境: パーミッション「rw-r--r--」、所有者は「nobody」(もしくは、apache?)
・引っ越し先の環境: パーミッション「rw-r--rw-」、所有者はFTPユーザ
になっていますでしょうか?
kai さんが書きました: 3.移したサイトにログインが出来たがグローバル設定で更新をするとエラーが出た。
最初に投稿いただいたエラーメッセージを見ると、
「config.siteCache.idx.php」の書き込みでエラーが出ているので、
MODXの処理の順番から考えると、
その前に書き込まれる「siteCache.idx.php」は書き込みができて、
その後で「config.siteCache.idx.php」の書き込みができなかった。
ということになると思われますので、
kai さんが書きました: 2.移したサイトを1.0.6J-r8でやっていたパーミッションに変更した。
この時、
「siteCache.idx.php」のパーミッションは変更して、
「config.siteCache.idx.php」」のパーミッションを変更しなかった。
ということか、
それ以外には、
ディスクフルとか、ディスク異常のようなことぐらいしか、思いつかないのですが…
kai さんが書きました: テスト環境で1.0.8J を新規にインストールしたときもインストーラがパーミッションのチェックをし、その設定を促すメッセージ通りに設定しましたが・・・
残念ながら、引っ越し先にFTPでアップした時点でパーミッションはすべてリセットされますね。
これ自体はどんなサーバでもたいてい同じですが…
suEXECな環境ならデフォルトのパーミッションのままで良いので問題が起こらないだけです。
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
kai
メンバー
メンバー
記事: 15
登録日時: 2013年3月11日(月) 00:34

Re: サイトの引越しができない

投稿記事 by kai »

kazuikeさん、こんばんは。
引っ越し先のMODXではリソースツリー内が空っぽになっていたのでバックアップもスナップショットもとっていないです。

パッチファイルの上書きはviewtopic.php?f=19&t=1076のinstallフォルダ以外を上書きしmanager/processors/login.processor.phpの// check if plugin authenticated the userという行の次の行に
$rt = true;を挿入し強制ログイン出来るようにしたんですがログインできなく、元サイトのほうにログインしたんですがこちらのリソースツリー内も空っぽになっていたので焦ってしまいスナップショットの”このデータに戻す”を押してしまってからログインすらできなくなってしまいました。
まさかと思いますが、元のテスト環境のconfig.inc.phpと引っ越し先のconfig.inc.phpの内容(DB接続情報)は、現時点で違うものになっていますよね?
はい。仕事先で1.0.6J-r8を新規に立ち上げ1.0.8Jにアップデートさせていますので全くの別物になっていますし、バックアップも正常にとれています。
「siteCache.idx.php」のパーミッションは変更して、
「config.siteCache.idx.php」」のパーミッションを変更しなかった。
ということか、
言われてみるとコチラに来る前ですがsiteCache.idx.phpのパーミッションは変更してましたがconfig.siteCache.idx.phpのパーミッションは変更してなかったと思います。
残念ながら、引っ越し先にFTPでアップした時点でパーミッションはすべてリセットされますね。
これ自体はどんなサーバでもたいてい同じですが…
それは理解しています。現に自分用に1.0.6J-r8から1.0.8Jにアップデートさせたちっぽけなサイトを2つ持っていまして、どちらのサイトもテスト環境から移して今も管理できています。


ただ、今回はいい勉強をさせてもらった様におもいます。今まではたいしたトラブルもなくやっていたのもので・・ さすがに汗かいちゃいましたよ・・・
返信する