We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 33649
    • 7 Posts
    MODx日本語フォーラムの皆様

    はじてめて投稿します。MODxに触れるのはこれが初めてです。というか、ApacheもMySQLもPHPも何も知らない初心者です。解説本がないと何もできないような状態で、恐れ多くもチャレンジしてます。

    解説本「MODxでつくる最強のCMSサイト」初版に従い、下記環境下にMODxをセットアップしてみました。

    ・自前サーバ
    ・MODx 0.9.6.3
    ・MySQL 5.0.45
    ・httpd 2.2.3
    ・PHP 5.1.6
    ・フレンドリーURLを使いたい
    ・MODxサンプルコンテンツはインストールしていない
    ・Wordpressとの統合を目論んでいる(今のところ)
    ・http://ホスト名/modx としてアクセスさせたい

    書籍のPart4 Chapter14に従い、書籍サンプルソースを元にHTMLページ、CSS、画像をアップしてサンプルのページを表示させようとすると、サーバがなにやら考え込んだ挙げ句、ページが見つからない、と言ってきました。
    ページツリーで表示させたかったサンプルページをクリックし、ページデータからソースを見てみると、「このドキュメントはまだキャッシュされていません」とのこと。
    再チャレンジしたら、今度は時間がかなりかかったものの、何とかページ自体は表示されたもののCSSが被さっていない状態で、肝心のCSSのページデータも上記のように「このドキュメントはまだキャッシュされていません」という表示です。

    何が行けないのか分からないでいます。どなたがご助言をお願いできないでしょうか。

    なお、フレンドリーURLを使うために、元ファイルht.accessの記述が

    RewriteEngine Off

    となっていたのを、
    RewriteEngine On
    RewriteBase /modx

    と言う風に書き換えたんですが、フレンドリーURLを使うための設定がうまくできていないんでしょうか?
      • 26012
      • 324 Posts
      zuckeyさんはじめまして。

      ”自前サーバ”を選択してる(しなければならない)理由は何でしょうか?社内WANやローカルネットワークなどの閉じた空間での利用とかですか?(差し障りのない範囲で結構です)。それと、サーバOSは何でしょう?本題に入る前に、これらの基盤システムが、CMSを使う上で正しく設定されてるかが気になりました。結果的に脱線かもしれませんが・・・
        • 33649
        • 7 Posts
        sama55さん、zuckeyです。はじめまして。
        返信いただき、ありがとうございました。

        自前サーバを選択しましたのは、職場(たいして大きくない)のイントラネットサーバとしてMODxを情報共有ツール活用したいと思ったからです。以前から備忘録ブログツールとしてWordPressを使ってきましたが、それとは別にイントラのHTMLベースのWEBサーバも動かしてました(見よう見まね程度の知識で。)
        そしたらMODxにWordPressを埋め込むことができると知り、「こりゃ、いいや。両方を1つにしてしまえ」、と思い立ったのがきっかけです。

        OSはCentOS5.3です。

        sama55さんがご指摘なさってますが、MODxがどうこう、と言うより、もっとベースの部分、具体的には何となくApacheのmod_rewriteの組み込み、or 、設定辺りに問題があるような気がしていて、ずっとネットでどうやったらいいのか調べてました。

        当方はApacheについて、ホントに分かってないくせに動かしてますが、mod_rewriteはhttpd2.2.3に標準で組み込まれていないんでしょうか?
        httpd.confにはmoduleの読み込み場所が標準で書いてあり、もちろんその場所にmod_rewrite.soは置いてあるんですが、これだけで機能するものなのだろうか?

        それとも、mod_rewriteに問題あり、と睨んだ目の付け所がお門違いかも...
        ちなみに、フレンドリーURLの設定をNoにしても、事態に変化はなし、でした。

        どこに問題があるのだろうか?と行き詰まってます。
          • 26012
          • 324 Posts
          こんな記事見つけました。2.2.3(?)はデフォルトでは無効なんでしょうかね。
          http://kaede.blog.abk.nu/mod_rewrite
          WordPressにもフレンドリーURL的な仕組みがあったと思うのですが、これまで利用されてこなかったってことですよね、きっと。
            • 33649
            • 7 Posts
            sama55さん

            度々のご返信、感謝します。教えていただいたWEBページも見させていただきました。

            ちょっとネットで調べた限り、やはりCentOS5系では標準パッケージにmod_rewriteは組み込まれているようです。

            最初のポストで「フレンドリーURL使用をNoにしても、作成したページが表示されなかった」というのは間違いで、フレンドリーURLをNoにすると、作成したページは問題なく表示されました。

            WordPressにもフレンドリーURLの設定がある、というのはその通りでしょう。ただ、自分の中でイントラの備忘録故そうした仕組みは必要ない、と判断したか何かでスルーしてしまってたんでしょうね。

            しかし、こんな初歩の初歩で躓くとは情けない。
              • 26012
              • 324 Posts
              問題を整理しましょうか。

              ・フレンドリーURLを使いたい
              ・Wordpressとの統合を目論んでいる(今のところ)  → WordPress Integratorですね。
              ・http://ホスト名/modx としてアクセスさせたい
              ・サーバがなにやら考え込んだ挙げ句ページが見つからない、と言ってくる
              ・「このドキュメントはまだキャッシュされていません」 → assets/cacheフォルダにファイルが作られてますか?
              ・時間がかかるものの、ページ自体は表示される   → assets/cacheフォルダにファイルが作られてますか?
              ・CSSが被さっていない  → 解説本P.119に従ったとすればCSSはドキュメントとして作ったと思われます。
                                その場合、CSSもキャッシュを介してアクセスされます。
                                コンテンツの内容をファイルにして、HTMLから物理パスで読むようにしたらどうなるか?

              これは必須ではありませんが、テンプレート内で<base>タグは使ってますでしょうか?

              上記を改めて眺めてみますと、modxがキャッシュを作れない状態にあるような気がします。まずは、キャッシュフォルダ(assets/cache)のパーミッションとオーナーを確認してみてください。apacheがsuExecで動作してない場合、apacheはapacheユーザで動作してると思いますので、root権限でターミナルからシステムにログインし、apacheユーザにスイッチ(su)した後、キャッシュフォルダ(assets/cache)にファイルが作れるか確認してみてください。

              なむさん!
                • 19033
                • 892 Posts
                zuckey さん。こんにちは。
                sama55さんの書き込みに加えもう一つ気になった点を。。

                ・http://ホスト名/modx としてアクセスさせたい

                ということですが、実際は、どこにMODxをインストールされたのでしょうか。
                (・http://ホスト名/modx にインストールされたと言うことであれば、私の疑問は無視してください)
                  • 33649
                  • 7 Posts
                  sama55さん、MEGUさん

                  返信ありがとうございました。
                  うまく行かない原因は、MODxが悪いんじゃなくて、99.99999%自分のせいです。が、ちょっと本日は時間がないので、明日(6/9)以降ご助言に従っていろいろ試してみます。
                  しょうもない投稿にお付き合いいただき、感謝申し上げます。
                    • 33649
                    • 7 Posts
                    皆様、こんにちは。お世話になっておりますzuckeyです。

                    作成したドキュメントがうまく表示されずに困っています。具体的にはフレンドリーURLの設定を行うと、作成したドキュメントがHTTP404エラーになります。
                    フレンドリーURLの設定を解除すると問題なく表示されます。

                    サーバの公開方法としては、最初 http://ホスト名/modx と言う風にした、と書いたんですが、それは完全な間違いで、仮装ホストmodxを作成し、

                    http://modx.○○○○○○○○/

                    と言う風にしました。

                    仮装ホストのドキュメントルートにht.accessファイルを置き、内容を下記のように書き換えた上で.htaccessにリネームしてhtpdサービスを再起動してやってみましたが、相変わらずフレンドリーURL使用をYesにすると、作成したドキュメントが表示されません。
                    フレンドリーURLの使用をNoにすると、やはり作成したドキュメントが表示され、assets/cacheディレクトリにページのキャッシュが作成されました。フレンドリーURLをYesにすると、途端にページキャッシュが作成されなくなります。


                    .htaccessファイルに記述されている主な内容

                    RewriteEngine On
                    RewriteBase /
                    RewriteCond %{REQUEST_FILENAME} ! -f
                    RewriteCond %{REQUEST_FILENAME} ! -d
                    RewriteRule `(.*)$ index.php?q=$1 [L,QSA,NC]

                    MODxをインストールした場所は /var/www/modx です。 DocumentRootも同様に指定しています。 

                    どこに問題があるのかご助言をお願いします。
                      • 33488
                      • 429 Posts
                      こんちは

                      RewriteRule `(.*)$
                      実際の`(シングルクォート)の記述は^(ハット、山形記号)の方になってますでしょうか??