On March 26, 2019 we launched new MODX Forums. Please join us at the new MODX Community Forums.
Subscribe: RSS
  • ローカルで試していたMODx Resource Wizardを実際にXREAへのインストールに挑戦してみました。
    (リソースと設定等をパッケージ(zipファイル)化してくれるモジュールです。パッケージから簡単にリソースを導入できるようになります。)

    ローカルでは少しの修正でインストールできましたが、レンタルサーバにインストールする場合はもう少しやっかいでした。
    というか、結論から言うとインストールできませんでした orz

    以下、XREAで導入の際に行ったことを書いておきます。
    PHPがセーフモードではない場合には以下のやり方で動くかもしれません。
    XREAでインストールに成功してる方がいらっしゃれば教えてください…。


    環境

    • XREA(PHP5+MySQL5)
    • MODx 0.9.6.0
    • MODx Resource Wizard 2.1.0


    1.MODx Resource Wizardのダウンロード
    http://www.modxcms.com/MODx-Resource-Wizard-2.1.0-1459.html

    からリソースをダウンロードして、圧縮ファイルを展開する(/wizard/ディレクトリが作成される)。


    2.ファイルの修正
    展開した作成された/wizard/wizard.class.phpを修正します。
    修正しないでインストールすると、ほとんどのレンタルサーバでエラーがでるのではないかと思います。

    具体的には、php.iniのallow_url_includeがデフォルト設定のOffのままだとエラーが出ます(PHP 5.20以上の場合)。
    どちらにしても、これをOnにするとセキュリティ上よくないのでファイルを修正。
    PHP 4の場合は修正は必要ないかもしれません。


    495行目(修正前)
    function wizard_selfcheck($ver, $_getlang){
    include(’http://www.scottydelicious.com/MODx/mrw_version.inc’);

    495行目(修正後)
    function wizard_selfcheck($ver, $_getlang){
    include(’mrw_version.inc’);

    この部分のURI(http://www.scottydelicious.com/MODx/mrw_version.inc)にアクセスして、その内容を/wizard/mrw_version.incとして保存。
    (MODx Resource Wizardモジュール自身を自動でアップデートする機能は使えなくなります。)



    3.サーバに転送&パーミッションの変更
    /wizardディレクトリごと、MODxの/assets/modules/に転送。


    • /assets/modules/wizard/
    • /assets/modules/wizard/tvc/
    • (/assets/modules/wizard/projects/ インストールできなかったのでこれも変更が必要かどうかは不明)

    を書き込み可能なパーミッションに変更(757や777等)。


    4.モジュールの作成
    MODx Resource Wizardという名前でモジュールを新規作成。
    「モジュール コード (php)」に/wizard/mrwcode.txtの内容をコピー&ペースト。
    「設定」の「モジュール設定」に

    &useLang=Language;string;english


    と入力して保存。


    PHPがセーフモードでない場合は、ここまでの手順でMODx Resource Wizardが使えるかもしれません。


    5.セーフモード対策
    PHPがセーフモードで動作している場合はエラーが発生します。
    XREAの場合は、.htaccessを/assets/modules/wizard/に置くなどしてCGIとして動作させます。

    http://sb.xrea.com/showthread.php?t=10744


    と、ここまできて、パッケージを作成してみようとしたところ、
    うちのXREAでは次のようなwarningが出てうまく動作しませんでした。

    Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 104** is not allowed to access /virtual/ユーザ/public_html/ドメイン/assets/modules/wizard/tvc/リソース名 owned by uid 1000 in /virtual/ユーザ/public_html/ドメイン/assets/modules/wizard/wizard.class.php on line 448



    MODxはサイト制作に欠かせないものになっているので、リソースのインストールで楽できるといいと思ったのですが、
    楽にするつもりが、セーフモードだと手間がかかりそうなモジュールなのかもしれません…。
    同じようなサイトを作る場合には、1つのMODxで複数サイトを作る方法が楽そうですね。