トップページphp
989コメント287KB

【公開】apache総合スレッド【鯖】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/07/10 00:59ID:???
apacheで自宅鯖立てているヤシも鯖立て方が分からないヤシも皆集合!

本家サイト

http://www.apache.jp/
http://www.apache.org/

関連スレ

Apacheの設定を教えてください
http://pc.2ch.net/test/read.cgi/php/1003772635/l50

Apache2.x 【新鯖入荷しました】
http://pc.2ch.net/test/read.cgi/php/1018333172/l50
062462102/10/27 00:26ID:???
PHP自体は使えるんですがapache2と連帯して使わせたいんです。
062562102/10/27 00:27ID:???
すいません↑は>>623さんへのレスでした
0626nobodyさん02/10/27 01:08ID:???
apache2と連帯してっちゅーことは、つまり普通にブラウザで***.phpなんかに
アクセスして動作させたいっちゅーことでよろしいんでっしゃろか?
0627nobodyさん02/10/27 01:56ID:???
>>621
>まだサポートされてないんですか?
>それとも、書き足さなくてはいけないんでしょうか。

そういうことはまず自分で書き足して試してから聞けよ。
人に聞く前に試行錯誤しろよ。
0628nobodyさん02/10/27 04:32ID:???
>>624
モジュールとして動かしたいならこれだ
LoadModule php4_module c:/php/sapi/php4apache2.dll
AddType application/x-httpd-php .php
0629nobodyさん02/10/27 13:33ID:???
つまりこういうことでっしゃろ。
Perl(.pl)がそうなように、*.phpに対しphp.exeを関連付けて
いたりすれば、コマンドプロンプト上でphpスクリプツは走る状態。
これをApache2で>>626のように普通な使い方をしたい。
で、ようは>>628が正解。これに
AddHandler isapi-isa dll
を追加すれば幸せになれます。ガンガレ!
0630nobodyさん02/10/27 13:54ID:jOKFgmsb
普通に
LoadModule php4_module modules/php4apache.dll
AddModule mod_php4.c
AddHandler isapi-isa dll
<IfModule mod_php4.c>
AddType application/x-httpd-php php
</IfModule>

と書いたんですけどVirtualhostを使用すると、
Warning: Failed opening '/www/public_html/php/env.php' for inclusion (include_path='.;c:/usr/bin/php/includes;c:/usr/bin/php/pear') in Unknown on line 0
と出てしまいます。しかしVirtualhostの部分をコメントアウトすると正常に動作します。
対処方法を教えて下さい。
サーバ環境は
Apache/1.3.27 (Win32) PHP/4.2.1
です。Virtualhostの設定は下記のような単純な設定です。
NameVirtualHost *
<VirtualHost *>
ServerName hoge.hoge
ServerAdmin hoge@hoge
DocumentRoot /www/public_html
</VirtualHost>
063162102/10/27 14:36ID:???
>>626
そうです。

>>627
うう、すいませんです。。

>>628->>630
εε=ヽ( `Д´)ノ ネ申様、ありがとうございます。
さっそく今から試してみるです。
063263002/10/27 15:42ID:jOKFgmsb
>>631
いや、漏れは質問なんだけどね(;´Д`)
063362102/10/27 18:51ID:on9lcFG7
>>630
誤爆しました (:´Д`)

>>628->>629
やってみたところ、コマンドプロントで動作するようになったのですが、
ブラウザから***.phpを開くと、認識されずダウンロードしてしまいます。
認識されるフォルダも決まってるんでしょうか。

ブラウザでhttp://localhost/を開くと
C:\adomirator\public_html\以下のindexファイルを参照するようにapache2のhttp.confを設定してるんですが、

ブラウザで
http://localhost/hoge.php(つまりC:\adomirator\public_html\hoge.php)を参照させてもhoge.phpが認識されませんでした。

C\adomirator\public_html\以下の拡張子phpファイル(サブフォルダのファイルも含む)をすべて認識させるようにしたのですが
もう一度力を貸してください(:´Д`)
0634nobodyさん02/10/27 19:12ID:???
>>630
たぶんインクルードパス絡みっすねそれ。
PHPスクリプト内でのinclude()記述が絶対アドレスに
なっていないとか、同じくスクリプト内でchdir()を
用いて今のPHPが注視しているカレントディレクトリを
変更してやる必要があると思うっす。
Apache2(win32)の問題じゃないと思うっす。
外してたらスンマソン。
063563002/10/27 22:00ID:vJskgSX8
>>634
しかしVirtualhostの設定を消すと普通に動作するんですよね・・・・(;´Д`)
ちなみに漏れはApache1.3.27です。
063662102/10/28 09:55ID:???
apache1.3に戻しますた

今のところperlもphp4も動いてます
次はMySQL入れてデータベースにしますです。

ありがとございますた。
0637nobodyさん02/10/28 22:19ID:???
無難
0638ats02/10/29 15:35ID:D9IjM8dI
windows xpでローカルにてapacheを使用して、cgiのテストをしています。
ローカルで、c:\ats\public_html配下をルートにして
このフォルダ内で、perlのcgiとかは、問題なく起動して
いますが、今回C言語にてcgiを作成してテストして
みたら上手く動作しません。なぜしょうか?C言語のソースは、以下のような簡単なものです。
*****************************************************
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char ** argv)
{
FILE * fp;
fp = stdout;
fprintf( fp, "content-type: text/html\n\n");
fprintf( fp, "<html>\n");
fprintf( fp, "<head>\n");
fprintf( fp, "<title>sample01</title>\n");
fprintf( fp, "</head>\n");
fprintf( fp, "<body>\n");
fprintf( fp, "テスト\n");
fprintf( fp, "</body>\n");
fprintf( fp, "</html>\n");
****************************************
これを、C言語の無料で有名はコンパイラであるLCCとか言うやつでコンパイルして、
一応、拡張子を.cgiにして、以下のようURLに指定して実行しています。
http://127.0.0.1/ats2.cgi
そうすると、
Internal Server Errort
となります。ちなみに、apacheのログには、
[Tue Oct 29 15:23:03 2002] [error] [client 127.0.0.1] (720005)アクセスが拒否されました。 : couldn't create child process: 720005: ats2.cgi
[Tue Oct 29 15:23:03 2002] [error] [client 127.0.0.1] (720005)アクセスが拒否されました。 : couldn't spawn child process: C:/ats/public_html/ats2.cgi
と出力されます。誰か、この解明方法を教えて下さい。
本当に困っています。
0639nobodyさん02/10/29 17:44ID:???
取りあえずいきなりApache上で動かさんで動作確認しろ、と
0640nobodyさん02/10/29 18:40ID:???
>>630

PHP スレで既出。
064164002/10/29 18:40ID:???
あっ、因みに現状解決策は無い模様。
064264002/10/29 18:41ID:???
# 何度もスマン。

勿論、ソースレベルで弄ればどうにかなるかもしれん。
0643nobodyさん02/10/29 18:55ID:???
>>638
cgi-binに置かなくていいように設定してある?
0644nobodyさん02/10/29 19:25ID:???
>これを、C言語の無料で有名はコンパイラであるLCCとか言うやつでコンパイルして、

それってもしや LSI-C86 3.30c 試食版のことか? 32ビットコード吐けるんだっけ?

>一応、拡張子を.cgiにして、以下のようURLに指定して実行しています。

よく知らんのだが、.exe じゃなくてもいいの?
Apache に問題はなくても、Windows が実行ファイルと認識してくれなさそうな気が。
064563002/10/29 21:57ID:hBLTfnzS
>>640-642
そうなんすか(;´Д`)
どのphpスレか一応教えて下さい。
0646nobodyさん02/10/30 12:29ID:???
>>639
のfprintfの意味が分からん。
064764602/10/30 12:30ID:???
まちがえた。 >>638
0648nobodyさん02/10/30 13:47ID:???
>>646
普通printfで標準出力に出力するから、
なぜわざわざファイルポインタにしてるのか意味が分からんということですか。
0649nobodyさん02/10/30 19:44ID:???
#include <stdio.h>
int main()
{
printf("Content-Type:text/plain\n\n");
printf("Test\n\nWebProg\n");
return 0;
}

でちゃんと動いた?
>>648
はげ。

そもそも設定がちゃんとできてないのでは?
0650nobodyさん02/10/30 19:45ID:???
>>644
コンパイルしてできた *.exeを *.cgiにリネームするだけでないの?

Windows上でコンパイルしたものを
UNIXで動かそうとしているに 1 hello world。
0651nobodyさん02/10/30 19:45ID:???
みすった、ローカルでてすとしてるだけか。すまそ
0652nobodyさん02/11/02 12:36ID:VI9YbmxE
質問です。
Vine2.5+Apache1.3.26で、以下のような構成。
/home/httpd/html/index.html
/home/httpd/html/css/default.css
/home/httpd/html/default.css

でindex.htmlにはcssディレクトリの中のdefault.cssを参照する
ように、<link rel="stylesheet" type="text/css" href="etc/default.css">
ってやるんですが、これだとCSSを読んでくれません。
ただ、index.htmlと同じ階層のdefault.cssを href="default.css"って指定
すると読めるんです。
これを上記のようにhref="etc/default.css"という指定で上手く読めるように
するためには、httpd.confにどういった設定をすれば良いのでしょうか。
よろしくご教授ください。
0653nobodyさん02/11/02 12:49ID:???
>>652
ぉぃ!
href="css/default.css"
大丈夫か?
0654nobodyさん02/11/02 12:51ID:???
>>653

うぉ、激しく勘違いしてました。スマソ
勿論、href="css/default.css"でございます。
0655nobodyさん02/11/02 13:28ID:???
apache 全然関係無いし
0656nobodyさん02/11/02 14:18ID:???
>>654
それじゃcssフォルダの中身探しちまうじゃないか。
0657nobodyさん02/11/02 15:15ID:???
>>656
autoindexしないようにしておけば大丈夫。
って、そゆ問題じゃないの?
065865402/11/02 16:12ID:???
>>657
えーと、httpd.confの設定では
Options Includes ExecCGI FollowSymLinks
なんで、CSSフォルダの中身は読みに逝かないかと。
あと、デフォのindexは、index.html/shtml/cgi/phpだし

話を戻すと、/home/httpd/html/(ドキュメントルート)の
index.htmlファイルが外部CSS(/home/httpd/html/css/default.css)
を読み込む場合に、href="/home/httpd/html/css/default.css"には
したくないので、href="css/default.css"みたいに、相対指定で
読めるようにしたいわけです。これって>>655さんの言うとおり、
Apacheとは関係ないのかなぁ?
0659nobodyさん02/11/02 16:16ID:???
まずローカルで表示してみろ。
0660nobodyさん02/11/03 02:14ID:???
htmlの記述ミスでは?
066165402/11/03 04:11ID:???
654です。
えーと、/home/httpd/htmlのドキュメントルートの方では上手く逝ってました。
で、ユーザディレクトリの方で相対パス指定が効かないようです。

ディレクトリ構成は
/home/hoge/public_html/index.html
default.css
/css/default.css

という感じで、index.htmlのhead要素に
<link rel="stylesheet" type="text/css" href="css/default.css">
<link rel="stylesheet" type="text/css" href="default.css">
とそれぞれ入れて試してみると、上は×で下はOKなのです。
どうも、これはcssだけではなく、JavaScriptもSSIも同様のようです。

ということで、再度質問で申し訳ありませんが、解決法・アドバイス等
お聞かせ頂ければと思います。
0662nobodyさん02/11/03 04:19ID:???
ログくらい見れ
066365402/11/03 04:35ID:???
>>662すまんでつ
アクセスログには403
エラーログには「client denied by server configuration」
でしたが、cssディレクトリ(755)もdefault.css(644)も
パーミッションは特に問題ないと思うんですが。。
066465402/11/03 04:39ID:???
自己レススマソ
cssディレクトリ内に.htaccessがありますた。
中を見てみると、「deny from all」ですた。
ハァ。あほすぎる。逝ってきます。
ご迷惑をおかけしますた。やっぱ2日ほとんど寝てないとこういうことに
なるんですな。
0665nobodyさん02/11/03 08:15ID:???
>>664
うーん、寝てるとか問題以前だな・・・
0666nobodyさん02/11/03 10:33ID:???
解決おめでとう
0667nobodyさん02/11/04 21:04ID:???
くっ!
ダミアンナンバー取られてしまった。。。
0668nobodyさん02/11/05 16:16ID:???
みんな、OSは何?
やっぱリナックス?
0669nobodyさん02/11/05 21:30ID:fF1YpdLA
漏れ個人的にはLinuxをリヌクスって言っている。
0670nobodyさん02/11/05 21:37ID:???
マク
0671nobodyさん02/11/05 21:45ID:???
ライナックス
0672nobodyさん02/11/06 03:57ID:???
>>670
かっけー
0673nobodyさん02/11/06 12:55ID:???
ぃぬくそ

犬糞



ウンコーヽ(・∀・)ノ
0674nobodyさん02/11/06 17:26ID:???
Windows .NET Server
0675nobodyさん02/11/07 06:25ID:???
>>674
それでApacheかよ(w
IIS6もったいないぞ
0676nobodyさん02/11/08 07:39ID:1PgaJ//F
ファイルの300バイトから最後-100バイトという取得を一発でできるのでしょうか。
0677nobodyさん02/11/08 08:09ID:???
>>676
Apacheには無理だろ。
0678nobodyさん02/11/08 08:16ID:???
>>677
Range: bytes=200-というヘッダをクライアントが送れば或いは、、、
0679nobodyさん02/11/08 09:54ID:???
Range: bytes=299-,-100

…いや、ダメだな。たぶん。
0680nobodyさん02/11/08 20:13ID:???
相対パスの処理について質問です。
GET ttp://www.yagi3.com///img///linkbo2.gif のようにアクセスした場合、
まず、アンカーテキスト、クエリーストリング、ホスト部分を除く./を全て消し、
/(^../)[^/]+/../を/に置き換え…
最後に//+を/に置換… したものと同じ内容を返すのだと思ったのですが、
http://www.dd.iij4u.or.jp///~cap/
のように、エラーになるページがあります。

何故こうなるのでしょうか??
0681nobodyさん02/11/08 20:15ID:???
/は絶対パスでしたか
0682nobodyさん02/11/09 10:18ID:???
Range: bytes=-100
0683nobodyさん02/11/09 11:38ID:lHSFyH35

ファイルread.cgiにPATH_INFOで「/test/110/」という情報を送るとします。
このとき、ファイルread.cgiと同じディレクトリに
ディレクトリread.cgi/test/110/
があれば

read.cgi/test/110/

を開くときにどうなりますか?

read.cgi〜index.htmlが表示されるとか
read.cgiが実行されるとか。
0684nobodyさん02/11/09 11:45ID:???
>>683
read.cgiが実行される。
PATH_INFO=/test/110/になる。
0685nobodyさん02/11/09 12:24ID:AVEVqkd4
>>684
Thax
0686nobodyさん02/11/09 12:55ID:???
同じ名前のファイルとディレクトリは同時に存在不可能
0687nobodyさん02/11/09 15:56ID:???
>>686
で?
0688nobodyさん02/11/09 18:57ID:???
>>687
この流れで>>686が何を示しているのかわからんのはかなり問題あるぞ
068968302/11/09 20:10ID:???
>>686
>同時に存在不可能
Thax。質問する前に実際に実験しないとダメだね。
みんなゴメソ。

>>688同意。
0690nobodyさん02/11/10 16:01ID:toIJMePB
>>686
ん?
WinNTだと「ABCD」というディレクトリ内に「ABCD.」というファイルが存在可能
なんだが。。。
こういった話じゃない?
0691nobodyさん02/11/10 16:35ID:???
>>690
うん。そういった話じゃない。
0692nobodyさん02/11/10 18:30ID:???
>>682 >>676
なんか違うような
0693nobodyさん02/11/16 02:11ID:???
>>690
そりゃ後ろに「.」が付いてれば存在可能だが。
0694nobodyさん02/11/16 12:34ID:???
これってなぜ2.X.XX系と1.3.XX系に分かれているの?
0695nobodyさん02/11/16 15:12ID:???
2.x.xxが1.3.xxよりも確実に優れているとは言えないから。
安定性や運用に関するノウハウの充実度では確実に負けてる。
0696nobodyさん02/11/16 23:01ID:cbFrgMid
>>693
Win系のOSでファイル名を「ABCD.」って書く場合、拡張子が無い「ABCD」っていうファイルだと言うことなんだよ。
だから>>690が書いた「ABCD.」ってのは実は「ABCD」なんだなこれが。

>>695
それもこれも皆apache.orgが悪いのね。Apache2本体のリリースのみに気を取られて後が全くついてきていないからね。
0697nobodyさん02/11/17 00:37ID:YgBAQ2DR
ちょっと聞きたいのですがポート80をポート70などに変更することはできるのでしょうか?
httpd.confをポート70と書き換えてみたらエラーがでたので
どうすればいいか教えてください。
0698nobodyさん02/11/17 01:00ID:???
できないはずはない。書き換え方がおかしいんだろ
0699nobodyさん02/11/17 01:21ID:YgBAQ2DR
>>698
697のものです。
いろいろ検索していたらポート70を使用するとして
アドレスにhttp://アドレス.com:70と書いたら使用できるようになりましたが
これをポート80のときと同じようにhttp://アドレス.com/のような形で使用するためにはなにか設定がいるのでしょうか?
0700nobodyさん02/11/17 02:00ID:???
>>699
それは出来ないんじゃないかな。
これは設定云々じゃない気がする…。

誰か詳しい人,説明お願い。
0701nobodyさん02/11/17 02:04ID:???
サーバが変更してもクライアントは"httpは80"と思いこんでるから
80へのアクセスを70に転送する仕掛けを用意するくらいしか・・・
0702nobodyさん02/11/17 02:56ID:n7xO86Z7
というか不特定多数のクライアントに対し:70と打たせずにアクセスさせるなんて絶対に不可能っす。
0703nobodyさん02/11/17 04:22ID:???
>699
http: のデフォルトポートは80なので、
http://www.example.net/
は、
http://www.example.net:80/
と同義。
つまり、80以外のポートを使用する場合は明示的にポート番号を指定しなければならない。

そもそもポート指定付で何か問題でも?
0704nobodyさん02/11/17 07:14ID:???
皆さん教えてくれてありがとうございました。
0705nobodyさん02/11/17 10:48ID:???
>>702
80から70へパケットを転送してやる仕組みを入れてやればできなくはないけどな。
L4で適当なトンネリングツールを使うとか、L7でリバースプロクシを使うとか。
それだったら始めから80で動かせばいいので無意味だけど。
0706nobodyさん02/11/18 10:56ID:???
遅くなりましたが>>695さんありがとうございます。
まだインストールもままならないほどの自分です…
確かにWin32版をダウンロードしたのにインストールを始めるファイルが見あたらない…
0707nobodyさん02/11/18 14:11ID:???
ソース落としたんじゃないの?
Win32用のバイナリならmsiパッケージで配布されてるから探すまでもないし。
0708nobodyさん02/11/19 10:29ID:EcT8LRjG
連続稼動サーバにてapache再起動を強要される時って
その間の代替はどうしているのでしょう?
0709nobodyさん02/11/19 10:34ID:???
>>708
再起動って1秒ぐらいで出来るけど。
0710nobodyさん02/11/19 10:46ID:???
んだんだ。
071170802/11/19 11:53ID:EcT8LRjG
>>709
それが常時クライントが接続している状態が
続いていて再起動する時がないんですけど
こんな状況って誰もなりませんか?
0712nobodyさん02/11/19 12:10ID:???
無停止サーバならハードウェアを複数用意して冗長系を作るのがふつーです。
0713nobodyさん02/11/19 12:41ID:De0GONf0
>>699
Listen 80
Port 70
じゃ、だめなの?
0714nobodyさん02/11/19 13:07ID:???
>>713
だめだろ・・・
0715nobodyさん02/11/19 14:47ID:???
graceful で良くなかったっけ?
0716nobodyさん02/11/19 16:09ID:???
それは設定ファイルの読み直しであって、再起動ではない。
0717nobodyさん02/11/19 19:32ID:???
>>711
ふつ〜に「メンテのため停止します」ってお知らせ出せば?

金と時間があるんだったらサーバーからネットワーク(有ればDBまで)冗長化して
バランサーか何かで一方の系統に負荷を集めて、空いた方を入れ換え。
んで、終わったら負荷を逆転させて空いたら交換。

ただ、動いている単一系統を(セッションを継続させたまま)冗長化するのは
かなりのコスト高だけどな(w
0718nobodyさん02/11/19 20:26ID:q+U9B6Zg
何を躊躇しておられる、ためらわずリセットポン!ですねん。
接続中のクライアントのことなど知ったことではありませんねん。w
0719 02/11/19 21:10ID:???
25歳。
去年まで金無し君だったけど、オンラインカジノとパチンコで
二年で350万貯めた。一度やってみなよ。
初回のみだけど、1ドル以上のチップを買えば30ドル(4000円くらい)貰える。
もらうだけもらってプレイせずに換金することもできるし、ルーレットで赤か黒に
思い切って賭けてしまえば50パーセントで二倍になる。
金なきゃオフラインでゲームすればいいだけ。暇つぶしになる。
ビデオポーカーとかスロとか色々あるのでマジでお勧め。
http://www.imperialcasino.com/~1kl5/japanese/
0720nobodyさん02/11/19 21:52ID:???
>>719
逝ってこいハゲ!
0721nobodyさん02/11/20 08:34ID:???
まだ1.3.xの人。
いつ2.xにしますか?
0722nobodyさん02/11/20 08:42ID:???
>>721
FreeBSDでまともにworkerが使えるようになって、
おれ様が自分のモジュールを移植したら考える。
0723nobodyさん02/11/23 17:25ID:???
環境 win2000pro + activeperl + apache1.4 win32

cgiを使いたいんですが、
perlのハスは相対パスだと動かないんですか?
#!/usr/local/bin/perl
これだとダメでした
■ このスレッドは過去ログ倉庫に格納されています