• ベストアンサー
  • すぐに回答を!

自社サーバでSSIを利用するには

最近、会社で COBALT CUBE というLINUXサーバを導入して、常時接続(接続先はIIJ)で、 インタネットサーバとして利用しております。 CGIとかSSIとかの実験をしている所ですが、SSIがどうしても動作しないので、教えてください。 ネットサーフレスキューとか見ますと、プロバイダーにCGI/SSIを使えるかどうかの確認を するようにとの事がよく書かれていますが、 私の会社の場合は、自社サーバですので、プロバイダーに対応するのは、自社のシステム管理者になると 思いますが、そちらに聞いてもよくわかりません。 プロバイダーにしろ、自社のシステム管理者にしろ、 SSIを使える設定が、LINUX上であるのだと思いますが、その設定方法を知りたいのです。 LINUXをインストールすれば、SSIが使えるようになり、SSIを使えなくするためには、何かを設定するのか、 それとも、インストールでは、SSIが使えず、何かの設定で、使えるようになるのか?その辺が知りたいのです。 前者になっていると思って、やっているのですが、うまく動作しません。 具体的な現象としては、ネットサーフレスキュー等を見て、 /home/users/AAA/(AAAはユーザの一つ) というディレクトリに、.htaccess ファイルを置くと、 /home/users/AAA/index.html がIEで見えなくなってしまいます。 なお、/home/users/AAA/index.html は、CGIやSSIは使っておりません。 [.htaccess の内容] Options +ExecCGI +Includes -Indexes AddType text/x-server-parsed-html .html AddType text/x-server-parsed-html .htm AddType application/x-httpd-cgi .cgi AddType audio/x-pn-realaudio .ra

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数147
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2

お使いのapache1.3.3は導入時のディフォルトではCGI/SSIともに使用しない設定になっているはずです。バージョン・ディストリビュータによって違う事が有りますが(cobaltについては未確認です)。 これらが使用できるようになっているかどうかは、先の回答+ $SERVER/conf/access.conf'に 'Options include'もしくは'Options all'(すみません、先程の説明で抜けていました)と変更されているかどうかで判断できると思います。(ちなみに新しいバージョンではaccess.confとsrm.confはhttpd.confに統合されていますが、このバージョンは統合前のはずです) で、現在の状況.htaccessを置いた時のメッセージを見る限りSSIは利用不可では? ちなみに、CGI/SSI利用可能環境でSSIを利用しないhtml文書を置いても通常問題なく動作しますので。 他に考えられるのはパーミッションぐらいですかね、・・・・? 余談ですが、SSIを利用する場合のファイル名は.htmlでは無く.shtmlを使う事をお勧めします。理由は、SSIを利用する・しないに関らず同じ名前を付けると全てのhtmlをSSI処理するため(ただのhtml文書の場合、結果的には何も処理しませんが)処理速度が遅くなると聞いた事が有りますので・・・。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございました。 おそらく、ご回答頂いた設定をすれば、SSIが使えるようになると思うのですが、access.confファイル等がどこにあるかわかりません。 各ファイルのバージョンを調べるコマンドで、apacheのバージョンはわかったのですが、apacheがどこにあるのかもわかりません。 whichコマンドでも、出てきません。which で、access.confを調べると、下記のようになりました。 [・・・・]$ which access.conf which: no access.conf in (/usr/local/bin:/bin:/usr/bin:.:/usr/X11R6/bin) どうすれば、わかるのか、お教え頂きたいのですが。

関連するQ&A

  • htmlページでSSIを利用する方法を教えてください

    htmlページでSSIを利用する方法を教えてください。 ちなみに、さくらインターネットのスタンダードプランを利用しています。 また、なぜか http://www.tagindex.com/other/htaccess.html に載っている様に Options +Includes AddType text/x-server-parsed-html .shtml .html .htm と.htaccessに入力したのですが、 エラーがでてダメでした。 (.htaccessに入力したのは Options +Includes AddType text/x-server-parsed-html .shtml .html .htm だけです。) よろしくお願いします。

    • ベストアンサー
    • CGI
  • htaccessで301リダイレクトするために統一したいのですが、うま

    htaccessで301リダイレクトするために統一したいのですが、うまくいきません。 htaccessは、サーバーで使用することは可能です。 現在ウェブサイトでSSIをつかっており、下記のように書いていました。 Options ExecCGI Includes AddType text/x-server-parsed-html .shtml AddType text/x-server-parsed-html .html AddType text/x-server-parsed-html .htm AddType application/x-httpd-cgi .cgi そのhtaccessにこのようにリダイレクトを追記したのですが ↓ Options ExecCGI Includes AddType text/x-server-parsed-html .shtml AddType text/x-server-parsed-html .html AddType text/x-server-parsed-html .htm AddType application/x-httpd-cgi .cgi RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.example\.com RewriteRule (.*) http://example.com/$1 [R=301,L] サーバーにそれをアップし、.htaccessにしたら403forbiddenになります。いろいろとぐぐってみたりしたのですが、同じような症状がみつからず、どのようにしたらいいのかわからないのです。 一応、改行もちゃんとしたつもりなのですが、・・・ htaccess自体がサーバーでつかえないというわけではないですので、おそらく書き方が間違っているのでしょうか?

    • ベストアンサー
    • SEO
  • Apache, httpd.conf設定 - .htmlでphp/ssi共に使えるようにするには?

    いつもありがとうございます。 Apacheの設定に詳しい方に質問です。 拡張子.htmlでphp使えるようにhttpd.confまたは.htaccessに記述するヤツありますよね。あのやり方は知ってるのですが、いままでうちでそれをやると.htmlファイルがダウンロードされてしまうという現象があったのですが、今日ようやくその原因がわかりました。ssiの記述とカブってるとダメなのですね。 AddHandler server-parsed .shtml .html AddType application/x-httpd-php .html と書くとうまく動きません。ssiは動くけど、phpはダメです。 それでその回避策として以下のように書くというのを教わりました。 AddHandler server-parsed .shtml .html AddType application/x-httpd-php .htm すると、 .html -> ssi .htm -> php という風に確かに動くんですが、これではちょっと困る。 既にサーバ内のあちこちで.htmlにてssiを多用してしまっているのです。 そこで質問なのですが、ssi&php共に、.htmlで動く方法はあるんでしょうか? 環境:Fedore Core 4 + Apache2.0.54 + PHP Version 5.0.4 よろしくお願いします。

その他の回答 (1)

  • 回答No.1

質問の「動作しない」の意味が正確に把握できませんので適切な回答では無いかもしれませんが、 '$SERVER/conf/access.conf'で 'Options Indexes FollowSymLinks'の削除と '$SERVER/conf/srm.conf'に 'AddType text/html .shtml AddHandler server-parsed .shtml 'の追加が必要かと? (上のshtml部分はssi記述時に併せて下さい) 但し、先にも書きましたがlinuxのバージョン・apacheのバージョン・動かない状況の詳細(メッセージ等が有ればそれも!)がないと正確な解答が出来ませんので補足をお願いします。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

2回目のご回答で、access.confファイル等がどこにあるかわからないと書きましたが、わかりました。 COBALT CUBE の場合だけ違うのか、どうか、わかりませんが、COBALTの関係サイトで、 /etc/httpd/conf/ に有ることが分かりました。ありがとうございました。

質問者からの補足

ご回答ありがとうございます。補足します。 linuxのバージョン: Cobalt Linux release 4.0 (Fargo) Kernel 2.0.34 on a mips apacheのバージョン: apache-1.3.3-1c2 動かない状況の詳細 htmlファイルをI.Eで表示しようとすると、下記メッセージが出ます。 サーバの内部エラー サーバで内部エラーまたは設定エラーが発生したため、 リクエストに対する処理を完了できませんでした。

関連するQ&A

  • ファイルのダウンロードがうまくいきません

    以前の質問にもあったと思いますが 『No.257537 質問:エクセルをダウンロードさせるには・・・?』など エクセルをUPしそのURLをリンクすると、画面(フレーム内)にエクセルが表示されてしまします。 表示ではなく、ファイルを保存したいのです。 また、wordも同様にファイルとして保存したい。 .htaccssは下記のようになっています。 directoryindex index.cgi index.html Options FollowSymlinks ExecCGI includes addtype appication/x-httpd-cgi .cgi addtype appication/x-httpd-cgi .pl addtype text/x-server-parsed-html .html addtype text/x-server-parsed-html .htm addtype text/x-server-parsed-html .shtml AddType application/vnd.ms-excel xls xlt (1) addtype application/octet-stream .xls (2) (1)と(2)の両方を入れ替えてやってみているのですが フレーム内に表示され、ダウンロードにならないのです。 どうか、ご教授ください。

    • ベストアンサー
    • CGI
  • .htaccessによる制御 phpとssi

    某ポータルサイトを運営しておりまして サイトはxhtmlで作っています。(拡張子はhtml) そこではssiを使用していて、一番トップのディレクトリ(index.htmlがあるところ)には .htaccess ------------------------------------------------------------------------------------- Options +Includes AddType text/html html .shtml .html .htm .xhtml AddHandler server-parsed html .shtml .html .htm .xhtml ------------------------------------------------------------------------------------- を設置しております。 これで問題なくhtmlの拡張子で表示しております。 次に 新しくサイトリニューアルしようとphpを使いサイトを作っていまして、 そのページ(xhtmlで作って拡張子はhtml)が入ったフォルダをアップしまして トップより下の階層(そのリニューアルページが入ったフォルダ)に.htaccessを ------------------------------------------------------------------------------------- AddType application/x-httpd-php .php .html .xhtml .shtml ------------------------------------------------------------------------------------- と書いたものをあげました。 ところがページを見るとダウンロードになってしまい、ページを読み込むことができません。 .htaccessを削除するとページは表示されますが、phpが有効になっていません。 試しにトップの階層の ssiを有効にする.htaccessを消して phpを有効にする.htaccessだけ残すと 問題なく表示されます。 上の階層のssiを有効にする.htaccessがある限りページはダウンロードになってしまいます。 .htaccessは下の階層ほど優先されるはずが、 「優先」というだけで「上の階層のは読まない」わけではないんですよね? おそらく問題は トップの階層にある、ssiを有効にする.htaccessだと思いますが なんとか旧ページのssiを有効にしつつ、新ページのphpを有効にする両方有効にする手段はないのでしょうか? 疑問(1)phpとssiは同時に動かない? 疑問(2).htaccessで下の階層だけ読んで上の階層の.htaccessは読ませない設定はあります? 疑問(3)下の階層の.htaccess(phpを有効にするhtaccess)の方で上のssiの設定を打ち消す書き方はあります? 参考までに階層はこうなっています index.html hoge.html .htaccess(ssiを有効にする設定) new ├.htaccess(phpを有効にする設定) ├salon1 |  ├index.html(問題のページ1) |  ├imgフォルダ |     ├aaa.jpg ├salon2 |  ├index.html(問題のページ2) |  ├imgフォルダ |     ├aaa.jpg ・ ・ ・ ちなみに問題のページのディレクトリに直接htaccessを置いてもダメでした。 お願いします

    • ベストアンサー
    • PHP
  • Apache2.2でPerlを呼び出すSSIを使ったHTMLをloca

    Apache2.2でPerlを呼び出すSSIを使ったHTMLをlocalhostで動かそうとしています。 exec cmdをHTMLファイルに埋め込みました。インターネットのApacheでSSIを使う方法を読み,httpd.confの中に Options FollowSymLinks Multiviews の後にIncludesをつけ 念のため Options Indexes FollowSymlinks の後にもMultiviews Includes をつけ   AddType text/html .shtml と AddHandler server-parsed .shtml を加えました。しかし、localhostで実行するとHTMLのSSIの部分だけ表示されません。 (アクセスカウンターのカウンターだけ表示されません)。どうしたらよいのでしょうか。 どなたか解決できるかた、回答よろしくお願いします。

  • PHPとshtmlのhtml化共存方法を知りたいです。

    宜しくお願いします。 現在サーバーで何故か拡張子、.phpと.shtmlが共存している部分があります。 そこで、全てをhtmlにしてやりたいのですが、一緒にする方法が分かりません。 色々調べた結果、各設定方法は分かりました。 phpの場合 AddType application/x-httpd-php .html shtmlの場合、 AddType text/x-server-parsed-html .html と記述するようで、個々で調べると確かに動作しました。 ただ、同じ.htaccess内に2つ同時に記述すると、phpの方だけ表示が出来なくなるのです・・・。 AddType application/x-httpd-php .html AddType text/x-server-parsed-html .html これらを実現する為にはどういう風に記述したらよいものでしょうか?? すみませんが、詳しい方がおられましたらアドバイスいただけないでしょうか? 宜しくお願いいたします。

  • ssi がうまく動作しません。

    サーバ会社に訪ねると.htaccessに AddType text/html shtml を記入して下さいとのことでした。 以下の方法でためしましたが、エラーがでるわけでもなく、<!--#INCLUDE VIRTUAL="/ssi/xxx.shtml"--> にした部分だけが表示されません。 http://aaa.com/bbb/ccc/ddd.html .htaccess は、bbbのファイル内におきました。 1, ssi/xxx.shtml は、indexと同じトップの階層におきました。 ddd.html に  <!!--#INCLUDE VIRTUAL="/ssi/xxx.shtml"--> を記入しました。 2, ssi/xxx.shtml は、bbbのファイル内において、ddd.html に <!--#INCLUDE FILE="/ssi/xxx.shtml"--> を記入してみましたが、これもだめでした。 パーミッションも何がいいのか、お分かりでしたらお願い致します。 ちなみに777にして試したのですが、だめでした。

    • ベストアンサー
    • CSS
  • Apache2.2でPerlを呼び出すSSIを使ったHTMLをloca

    Apache2.2でPerlを呼び出すSSIを使ったHTMLをlocalhostで動かそうとしています。 AddHandler cgi-script .cgi .plに変更。 exec cmdをHTMLファイルに埋め込みました。 <!--#exec cmd="/PROGRA~1/APACHE~1/Apache2.2/cgi-bin/counter.pl counter"--> インターネットのApacheでSSIを使う方法を読み,httpd.confの中に Options FollowSymLinks Multiviews の後にIncludesをつけ   AddType text/html .shtml と   AddHandler server-parsed .shtml を加えました。しかし、localhostで実行するとHTMLのSSIの部分だけ表示されません。 (アクセスカウンターのカウンターだけ表示されません)。エラーログには ”指定されたファイルが見つかりません。 : don't know how to spawn cmd child process: C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/counter.shtml” と記録されていました。 どうしたらよいのでしょうか。 どなたか解決できるかた、回答よろしくおねがいします。

    • 締切済み
    • CGI
  • Apach2でSSIコマンドが実行出来ないのですが教えてください

    環境は、自宅サーバ、WindouwsXP、Apache/2.0.53 (Win32) PHP/4.3.10 mod_jk2/2.0.2です。 [httpd.conf SSI関連設定] AddType application/x-server-parsed .shtml AddHandler server-parsed .shtml AddHandler cgi-script .cgi .pl .bat [SHTMLファイル] <HTML><HEAD><TITLE>counttest</TITLE></HEAD><BODY> あなたは<!--#exec cmd="countlog/count.pl" -->人目のお客様です。 </BODY></HTML> [count.plファイル] #!c:/perl/bin/perl $file="C:/ProgramFiles/Apachegroup/Apache2/htdocs /nandemokan/countlog/numfile"; open(FILE, "<$file"); #人数ファイルを読んで 以下省略 http://localhost/nandemokan/index.shtml [SHTML実行結果] あなたは人目のお客様です。 http://localhost/nandemokan/countlog/count.pl [直接SSIを指定した結果] Internal Server Error なお、コマンドプロンプトからcount.plを実行すると 正常にカウンタが出力されます。 ANHTTPDではうまくいったのですが、Apache2で出来なくて困っています。よろしくお願いします。

    • ベストアンサー
    • CGI
  • ローカルパソコンで、CGI(SSI)及びカウンタの動きを確認したいのですが…。

    翔泳社のPerl/CGI辞典を購入し、それを参考にPerlとApacheをインストールし直してみました。 以前から、少しCGIは使っていたため、Perl『ActivePerl-5.6.1.635-MSWin32-x86』とApache『apache_1.3.28-win32-x86-no_src』それにhttp://www.st.rim.or.jp/~nakata/の『AN HTTP Server』バージョン1.42kを入れていました。 それをPerl『ActivePerl-5.8.3.809-MSWin32-x86』にし、Apacheはそのままのバージョンで、『httpd.conf』の設定を行ないました。 Options Indexes FollowSymLinks MultiViews ExecCGI Includes とし、 AddHandler cgi-script .cgi AddType text/html .shtml AddHandler server-parsed .shtml の#もはずしました。 しかし、SSIが動きません。CGIは動くのですが、これは何故なのでしょうか? 画面上にHello!と表示させる簡単なプログラムです。 Apacheを起動させ、実行するのですが、画面上に何も表示されません。 Apacheを終了させ、『AN HTTP Server』で、同じ物を動かせば、ちゃんと動きます。 これらについて詳しい方、ぜひアドバイスをお願い致します。 そして、もう一つ疑問があるのですが、『AN HTTP Server』のほうで、カウンタの動作を確認してみました。 スクリプトは、『http://www2j.biglobe.ne.jp/~apollo/』さんの『お好みカウンタ』を借りて、試してみたのですか、カウンタの数字が『error』表示になったり、00000のまま動かないのです。 また、Apacheのほうでも試してみたところこちらでは、画像(数字)が『×』となってしまいます。 『AN HTTP Server』では動いているようですが、ちゃんとした動作にはなりません。 ローカルパソコンでは、限界があるということなのでしょうか? 長くなってしまい、かつわかりにくい文章だと思いますが、随時補足しますので、上記の2点についてアドバイスをよろしくお願い致します。

  • CGIスキンに外部txtを表示するには?

    お世話になります。 初歩的な質問だと思いますが、お付き合いくださるとありがたいです。 ・‥…━━━・‥…━━━ SSIやPHPで、複数ページに表示するメニューを 一個の外部ファイルにして、各ページから読み込む方法がありますよね。 <!--#include virtual="menu.txt"-->等 これは、CGIのスキンには使用出来ないでしょうか。 (例えば、apeboardやCLEVER等のスキンが使えるCGIを使用予定) 他のページと同じようにBBSやリンクCGI、 メールフォームなどのスキンも 同じファイルをメニュー部分として呼び出したいと思っています。 CGIフォルダに.htaccessで「AddType text/x-server-parsed-html .shtml .html .cgi」と書いても呼び出せませんでした。 (同じディレクトリのHTMLファイルは、呼び出せました) 何か方法があるのではないかと思い、書き込みさせて頂きます。 どうぞ宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • CGIにSSIカウンタをつけたい

    掲示板や日記帳などのCGIに、別途ダウンロードしたSSIのテキストカウンタを表示させようとしたところ、ローカル・Web共に表示されませんでした。 表示する為の記述は「<!--#include virtual="仮想パス"-->」で、HTMLファイルに記述した場合は問題なく表示・動作しました。 HTMLファイルで表示・動作しましたし、CGI・SSI・「.htaccess」ファイルなどの設定はおそらく問題ありません。 SSIのテキストカウンタは「The Room」というサイトの「Text Day Counter Ver.1.10 SSI版」を使用しています。 CGIは「掲示板や日記帳など」と言いましたが、まだ検討段階で特定のCGIはなく、色々なCGIで試しています。 ※特定のものだけではなく、テキストカウンタを表示したいと思うCGIにつけたいのです。 CGIの記述は (1) print "<!--#include virtual=\"仮想パス\"-->\n" ; (2) print '<!--#include virtual="仮想パス"-->\n' ; (3) print "<!--#include virtual='仮想パス'-->\n" ; (4) print <<"EOM"; <!--#include virtual="仮想パス"--> EOM と4通り試しましたが、どれも動作しませんでした。 SSIのテキストカウンタのパスが「http://xxx.yyy.zzz/aaa/bbb/ccc/txtdayc1.cgi」だとしたら、仮想パスは「/aaa/bbb/ccc/txtdayc1.cgi」のようなので、そう記述しましたが動作しませんでした。 CGIと同じディレクトリに置いているので、記述を「<!--#include virtual="./txtdayc1.cgi"-->」に変えたところ、HTMLファイルでは動作しました。 なぜSSIのテキストカウンタがCGIで表示されないのか、アドバイスをお願いできないでしょうか? また、「<!--#include virtual="仮想パス"-->」を「<!--#include virtual="CGIファイル名"-->」または「<!--#include virtual="フルパス"-->」のように記述しても問題ないのかも教えて頂けると助かります。 宜しくお願い致します。

    • ベストアンサー
    • CGI