トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

BBS-サポート掲示板/437

ページの作成や編集にはユーザ登録が必要です。

 Themeを動かすと - ampls (2005年08月30日 14時54分12秒)

自宅Local(MacOSX10.3.9)でテスト稼働させています。MacOSXではCGIディレクトリ(CGI-Excutables)内では.cssが反映しないので、themeをpublic_html(Documents)フォルダに移動し、setup.datファイルのtheme_dirとtheme_uriのパスを書き換えることによって.cssを反映させています。しかしこの方法では、ログインして「スタイル設定」を押すと、Software error:

at plugin/admin/AdminStyleHandler.pm line 102.

が出て、Themeの選択画面が出ません。

見落としている点があればご教授ください。

  • 追記ですが、他は支障なく稼働できています。 - ampls (2005年08月30日 14時57分08秒)
  • setup.datのtheme_dirを確認してください。CGIファイルが存在する位置からの相対パスになってますでしょうか?(URI上のではなく、ファイルシステム上の相対パスです) 駄目なら、CGIルートパスからのパス、それでも駄目なら絶対パスを指定してみて下さい。(だけど絶対パスはあまりオススメできない) もしくは、単純にthemeディレクトリのパーミッション(実行閲覧権限)が無いだけだと思います。 - あき (2005年08月30日 15時25分38秒)
  • http://www2.g-7.ne.jp/~hoppe/cellar/apache_on_osx/
  • ↑「『~/Sites/』以下でCGI・SSI」のとこの事をやれば、世間一般のレンタルサーバーみたいに使えるのではないかと。 - まー (2005年08月31日 02時01分54秒)
  • 私は /etc/httpd/users/name.conf(nameは自分のユーザ名)をこうしてローカルで動かしてます - kitta (2005年08月31日 14時08分11秒)
<Directory "/Users/name/Sites/">
   AddType text/html shtml
   AddHandler server-parsed shtml
   AddHandler cgi-script cgi
   Options Indexes MultiViews ExecCGI Includes
   AllowOverride None
   Order allow,deny
   Allow from all
   <IfModule mod_dir.c>
       DirectoryIndex index.html index.shtml
   </IfModule>
</Directory>
  • たくさんのご教授、ありがとうございます。まずパーミッションについては755で設置しています。CGIディレクトリに置く時と同じ権限にしています。次にsetup.datのtheme_dirですが、その下のtheme_uriと同じ相対パスで記述しています。私としては下のtheme_uriの方がアヤシイと思い、URLにしたり絶対パスにしたりと色々イジったのですが、変わりませんでした。最後にUserのSitesでCGIを動かす件ですが、これはセキュリティ上その設定で動かそうとは思っていません。現にMovableTypeなども別にして動かしていますし。更に試行錯誤を続けてみますので、上手くいった時にはご報告させていただきます。ありがとうございました。 - ampls (2005年08月31日 19時09分32秒)
  • 着目してる部分が違うと思います。なぜtheme_uri側が怪しいと思うのですか? 根拠は? エラー箇所から判断するとtheme_dirのはずです。それと一点、おたずねしたいことがあります。「他は支障なく稼働できています」と書かれていますが、ということは、テーマを選択しない場合は、デフォルトのテーマがきちんと反映されて表示されている、ということでしょうか?(「追加したテーマに変更出来ない」ということ?)だとしたら、theme_dirのパーミッションではなく、theme_dir内に入れたディレクトリのパーミッションが怪しいです。theme_dirのパーミッションと同じか確認して下さい。 - あき (2005年08月31日 20時49分54秒)
  • themeディレクトリ自体をpublic_html(Documents)フォルダに移動した、ということですね。だとしたら、theme_uriは相対パスでは指定できません。テスト的にpublic_html内に画像ファイルか何か(CGIではない静的なファイル)を置いて、それが表示できるURIをまずハッキリさせて下さい。(そこからがスタートです)それの「http://サーバ名」より右側(の最後の「/」の直前まで)がtheme_uriになります。先頭に「/」が必要です。次は、theme_dir側ですが、こちらはwiki.cgiから見た相対パスでOKです。これで動かなければ、パーミッションの問題です。public_html内の画像ファイル(か何か)を表示するURI自体が分からないようであれば、もう少し環境について教えて下さい。 - あき (2005年08月31日 21時15分29秒)
  • 問題の切り分けについて。theme_dirは「サーバの実行したcgiスクリプト」が見る位置です。値が正しくなかったり、スクリプトの実行権限で見る事が出来ないと、始めに書かれているようなSoftware errorが発生します。 - typer (2005年08月31日 23時51分02秒)
  • theme_uriは「ブラウザ」が見る位置です。この値が(場合により修正が入りますが)HTMLソースの<link rel="stylesheet" 〜>に使われます。現在意図した様な出力になっていますか?そしてそこはブラウザでアクセス出来ますか? - typer (2005年08月31日 23時52分01秒)
  • 補足ありがとうです。>typer殿 - あき (2005年09月01日 00時29分06秒)
  • お二人より丁寧な解説をいただき、ありがとうございます。状況を追加で説明させていただきます。まず、デフォルト(.cssファイルがCGIフォルダにある)の場合、Wikiにcssが反映されない状態になります。そこでcssをpublic_htmlフォルダに移し、 - ampls (2005年09月01日 00時39分42秒)
  • setup.datファイルのtheme_dirとtheme_uriのパスを、wiki.cgiからの相対パスで記述したところcssは有効になるのですが、ログインして「スタイル設定」を押すと(初めに投稿したような)エラーが返ってくるということです。 - ampls (2005年09月01日 00時45分25秒)
  • さらに実験として、typerさん作成のhatena-greenテーマをダウンロードしてCGIの方にthemeフォルダを戻しその中にhatena-greenを入れ、更にdatファイルの中のパスもデフォルトに戻すと「スタイル設定」は出ますので、そこでthemeを選択。その後、themeをpublic_htmlに移しsetup.dat内のパスを書き直すと、hatena-greenのcssは有効になりますが、「スタイル選択」はやはり選べないという感じです。 - ampls (2005年09月01日 00時52分55秒)
  • つまりpublic_html内のCSSを有効には出来るが、「スタイル設定」で参照することは出来ないということです。これはやっぱりtheme_dirの方の問題なんでしょうか?ちょっとtheme_dirとtheme_uriの違いがいま一つ判らず、みなさんにご迷惑をおかけしています。 - ampls (2005年09月01日 00時57分07秒)
    • はいそうです。そのような現象であれば間違いなく、theme_dir側の問題です。 - あき (2005年09月01日 01時41分40秒)
  • WebServerというディレクトリの中にDocumentsというディレクトリと、CGI-Excutablesというディレクトリがあります。Documetsの方がpublic_htmlディレクトリで、CGI-Excutablesがcgi-binディレクトリになるとご理解ください。それぞれのディレクトリの中にfswikiというディレクトリを作り、public_htmlの方のfswikiディレクトリにthemaを入れている状態で「CSSは有効だが、スタイル設定でエラー」になるということです。wiki.cgiからの相対パスは、../../fswiki/themeです。 - ampls (2005年09月01日 01時09分00秒)
  • なお、themeディレクトリをpublic_htmlに置いている(cssが有効な)時のブラウザが呼び出しているファイルは、http://127.0.0.1/cgi-bin/fswiki/wiki.cgiと、http://127.0.0.1/fswiki/theme/default/default.cssです。 - ampls (2005年09月01日 01時19分06秒)
  • 長くなりましたが最後に。いまパーミッションを確認しましたが、public_htmlのfswikiディレクトリ以下、全て755で設定しています。 - ampls (2005年09月01日 01時26分48秒)
  • 詳細な情報ありがとうございます。この情報から考えたところ、theme_dir,theme_uriは下記のとおりとなります。 - あき (2005年09月01日 01時49分36秒)
theme_dir=../../fswiki/theme
theme_uri=/fswiki/theme
  • 上記設定で試してみて下さい。 - あき (2005年09月01日 01時52分39秒)
  • 夜遅くまでおつきあい下さってありがとうございます>あき氏 ご指摘のようにsetup.datの設定を見直しましたが、症状は変わりませんでした。AdminStyleHandler.pm line 102.が出ます。 - ampls (2005年09月01日 04時38分13秒)
  • う〜ん、おかしいですねぇ。theme_dirにはwiki.cgiから見た相対パスを指定すれば動くはずなんですが…。それとも、CGIが動く時、カレントディレクトリがホームに移動するのかな?(←これ独り言) じゃあ、とりあえずはtheme_dirに、絶対パス(フルパス)を指定してみてもらえませんか?カレントが動いていたとしても、これなら動作するはずですから…。それでも駄目なら、やはりパーミッションの問題か、その類の問題でしょう。 - あき (2005年09月01日 07時47分48秒)
  • theme_uri はブラウザ側から見た仮想的なパスです。 theme_dir はサーバマシン上のローカルパス (Perl CGI の先頭に書く Perl のパスなどと同類のもの) です。サーバの方でエイリアスなどを作っていると URL と DIR が異なることがしばしばあるのでそういった問題ではないでしょうか。 CGI のディレクトリと それ以外のファイル用のディレクトリは同じサーバ上のディレクトリなのかをまず確認する必要があります。(一部のマシンでは CGI 専用のサーバマシンを立ててエイリアスで同じ URL で見られるように設定してあるものもあるようです) - 名無しさん (2005年09月01日 13時26分50秒)
  • ありゃ、話を引き戻されてしまったような・・・。本人が詳細を理解しなくても解決できる方向で話を進めていますので、この段階で説明のし直しは不要です。逆に混乱を招きます。「CGI のディレクトリと それ以外のファイル用のディレクトリ…」これについては、既に解決しているはずです。よね? - あき (2005年09月01日 20時05分51秒)
  • MacOSXってシンボリックリンク使えませんっけ?もし使えるなら CGI-Excutables/fswiki 内に Documents/fswiki/theme へのシンボリックリンクを作って、theme_dirを標準に戻すととりあえず解決出来そうな気がします。つまり、cgiには標準位置にファイルがあると思わせて、実際はブラウザに別の場所(にある実体)を教えるわけです。 - typer (2005年09月01日 22時01分01秒)
  • また、シンボリックリンク等わからなければ両方に同じファイルをおいて誤魔化すのもありかも知れません。ただ、ファイル更新を片方忘れたりしてメンテナンス性やミスの発生に繋がりやすいのでお勧め出来ませんが。あと、MacOSXって、案外cgiには設置ディレクトリ以下しか見せないような保護機構があるのかも知れません。その辺りウィザードなMac使いの意見がほしい所(笑) - typer (2005年09月01日 22時16分03秒)
  • setup.datファイルのtheme_dirを絶対パス(/Library/WebServer/Documents/fswiki/theme)で記述することによって、「スタイル設定」でエラーが出なくなりました。シンボリックリンクの件は考えていない訳では無いのですが、出来ればパスの変更でやりたいというのが本音でして。更に実験を続けてみます。皆さまの丁寧なご教授に感謝します。 - ampls (2005年09月02日 17時50分23秒)
  • 追記:サイトテンプレートだけはまだ導入していないので、これから実験してみようと思ってます。 - ampls (2005年09月02日 17時56分56秒)
  • なお今回のMacOSX10.3.9上での設置に関して、このWikiの中の「ドキュメント」>「サーバの比較と使い方」にレポートを書いた方が良ければ、ご指名くださいませ。素晴らしいFreeStyleWikiを提供していただいている皆さんへの、せめても感謝としてご協力させていただく用意はありますので。 - ampls (2005年09月02日 18時20分54秒)
  • やはり、CGI実行時にカレントディレクトリが変更されてしまうようですね。一応動くようにはなったようですが、可能なら相対パスでの指定が理想です。「Documents/fswiki/theme」とかで動くんじゃ・・・。シンボリックリンクでの解決法は、そちらもスマートな解決法だと思います。 - あき (2005年09月02日 19時45分31秒)
  • 見当違いならすまん。VineLinuxで反映されなかったから調べたら、apacheであれば、httpd.confの<Directory...>のcgiの定義にAddHandler text/css .cssを追加したら動いた。ここの設定はCGIとしてどのファイルも動かそうとするらしく設定しないとダメらしい。 - J (2005年10月15日 02時42分28秒)
<Directory /home/httpd/cgi-bin>
   AllowOverride None
   Options ExecCGI
   Order allow,deny
   Allow from all
   AddHandler image/jpeg .jpeg .jpg .jpe
   AddHandler image/png .png
   AddHandler image/gif .gif
   AddHandler text/html .html .htm
   AddHandler text/css .css <=これ
</Directory>
  • nWwOyKOGSdwEzxuFHe - VRwUUVKDo (2013年01月06日 17時02分16秒)
お名前: コメント:

最終更新時間:2007年10月19日 05時24分17秒