• ベストアンサー

バーチャルホスト&サーバー

バーチャルホスト、サーバーについて いまいち理解できていないので 1から判りやすく説明しているサイト またはアドバイスお願いできますでしょうか?

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

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

>本の通りに入力しているのがいけないのでしょうか そうですね。 211.121.144.22というのはグローバルアドレスですので、ご自分の試されているマシンの環境のアドレスとは違うハズです。 ですから、まずはご自分のマシンのIPアドレスを、 ifconfig というunixコマンドを利用して調べてみましょう。 ご自分のマシンはそうなっていないと思います。 いま、見えているページは?ですが(汗)

参考URL:
http://www.atmarkit.co.jp/fnetwork/netcom/ifconfig/ifconfig.html
ModenaSpeed
質問者

補足

アドバイスありがとうございます。 早速自分のマシンのIPアドレスを、 入力して見ました。 なぜか:80 :81は相変わらず動かず become_moduleをいれた:82のみ 動き始めました。 どこが悪いのか、どう説明したらいいか 困っています。

その他の回答 (8)

noname#12943
noname#12943
回答No.9

80番ポートはwell known portと呼ばれるものです。以下の説明がわかりやすいかと思います。 というわけで80番で動いているのも、WEBサーバーであると思います。 クライアントと、サーバーで通信するときにソケットというのを使って、ポートを知らない間に指定しているのです。 フレッツなどは別でしょう。

参考URL:
http://www.itmedia.co.jp/dict/network/protocol/tcpip/ip/02730.html
ModenaSpeed
質問者

補足

fedoraに標準で入っているらしいapacheが80番ポートを占領していたようです。 何とか動くようになりました。 ありがとうございました。

noname#12943
noname#12943
回答No.8

>(98)Address already in use: make_sock: could not bind to port 80 すでに80番ポートが使われているということです。なにかが80番ポートを利用しているということになると思います。 [crit]というのはログのレベルです。ログがどのレベルでのエラー報告をしているのかがわかります。 動作上の問題(Criticalの意)[↓@itより]となっています。 ***************** 下のunixのコマンドで、マシンのネットワークの状態を見てください。 以下、私のマシンの状態ですが、80、81、82ポートが接続要求を受け付ける状態にあることがわかります。 ずれていて見づらいですが・・・。httpというのはapacheのデフォルトで80が使用されているということです。 netstat -p -all (netstat -an でも良いかもしれません) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 *:32768 *:* LISTEN 587/rpc.statd tcp 0 0 *:sunrpc *:* LISTEN 568/portmap tcp 0 0 *:http *:* LISTEN 905/httpd tcp 0 0 *:81 *:* LISTEN 913/httpd tcp 0 0 *:82 *:* LISTEN 882/httpd tcp 0 0 *:ftp *:* LISTEN 715/xinetd tcp 0 0 *:ssh *:* LISTEN 702/sshd tcp 0 0 *:telnet *:* LISTEN 715/xinetd

参考URL:
http://www.atmarkit.co.jp/flinux/rensai/apache13/apache13a.html
ModenaSpeed
質問者

補足

度々すみません。 もしかして、port80は、フレッツADSL(常時接続) で塞がっている?ということなのでしょうか? もしそうなら、81 82 83って感じで作らないといけないのでしょうか?

noname#12943
noname#12943
回答No.7

#6さんのおかげで一歩前進したようですね。 ポート番号の82が動いているのを確認できていますから、設定上の若干の違いから、80も81もちょっとした設定のミスだけなのではないでしょうか? エラーメッセージなどが出ていれば、その解決も早いと思います。あるいはエラーログでしょうか。 たとえば・・・ cat /opt/apache/logs/error_log | more とやると、apache下にあるログを確認できます。 私の場合↓ ****************** [Wed May 19 09:08:29 2004] [notice] SIGHUP received. Attempting to restart [Wed May 19 09:08:29 2004] [notice] Apache/1.3.31 (Unix) configured -- resuming normal operations ******************* ログというのは、プログラムや、サーバーがどう動いているのかを調査したりする時に必須です。 これからプログラムを組むと思いますが、そのときにはログを出してデバッグする必要があるのです。 たとえばif文の分岐の前後や、SQL文などをログに入れて、なんで思ったように動かないのかなどを、見たりします。 あとせっかくですからunixのコマンドを覚えましょう。 わからないものがあったら、 man コマンド名 で調べられますし、手元に本を置いておいても良いでしょうね。

ModenaSpeed
質問者

お礼

アドバイスありがとうございます。 只今、パソコンの周りに本が5冊ぐらいひろげてあります。あれこれやっていると頭がオーバーヒートしそうです。夜寝るとき目をつぶっていても画面が浮かんできます。一つづつ習得していると思いますので もう少しだけお付き合いをお願いします。 申し訳ありません。 cat /opt/apache/logs/error_log | more 早速やってみます。

ModenaSpeed
質問者

補足

こういったものが出て来ました。 どう見ればいいでしょうか? [root@ocn root]# cat /opt/apache/logs/error_log | more [Wed Apr 28 20:50:54 2004] [notice] Apache/1.3.29 (Unix) configured -- resuming normal operations [Wed Apr 28 20:50:54 2004] [notice] Accept mutex: sysvsem (Default: sysvsem) [Wed Apr 28 21:36:23 2004] [notice] caught SIGTERM, shutting down [Wed Apr 28 21:36:36 2004] [notice] Apache/1.3.29 (Unix) configured -- resuming normal operations [Wed Apr 28 21:36:36 2004] [notice] Accept mutex: sysvsem (Default: sysvsem) [Wed Apr 28 23:38:33 2004] [notice] caught SIGTERM, shutting down [Fri Apr 30 15:48:11 2004] [notice] Apache/1.3.29 (Unix) configured -- resuming normal operations [Fri Apr 30 15:48:11 2004] [notice] Accept mutex: sysvsem (Default: sysvsem) [Fri Apr 30 16:14:08 2004] [notice] caught SIGTERM, shutting down [Fri Apr 30 17:21:02 2004] [notice] Apache/1.3.29 (Unix) configured -- resuming normal operations [Fri Apr 30 17:21:02 2004] [notice] Accept mutex: sysvsem (Default: sysvsem) [Fri Apr 30 17:23:15 2004] [notice] caught SIGTERM, shutting down [Thu May 13 23:49:24 2004] [notice] Apache/1.3.29 (Unix) PHP/4.3.6 configured -- resuming normal operations [Thu May 13 23:49:24 2004] [notice] Accept mutex: sysvsem (Default: sysvsem) [Fri May 14 00:40:48 2004] [notice] SIGHUP received. Attempting to restart [Fri May 14 00:40:48 2004] [notice] Apache/1.3.29 (Unix) PHP/4.3.6 configured -- resuming normal operations [Fri May 14 00:40:48 2004] [notice] Accept mutex: sysvsem (Default: sysvsem) [Fri May 14 01:36:18 2004] [notice] caught SIGTERM, shutting down [Fri May 14 17:36:32 2004] [notice] Apache/1.3.29 (Unix) PHP/4.3.6 configured -- resuming normal operations [Fri May 14 17:36:32 2004] [notice] Accept mutex: sysvsem (Default: sysvsem) [Fri May 14 19:28:36 2004] [notice] caught SIGTERM, shutting down [Sun May 16 21:11:26 2004] [notice] Apache/1.3.29 (Unix) PHP/4.3.6 configured -- resuming normal operations [Sun May 16 21:11:26 2004] [notice] Accept mutex: sysvsem (Default: sysvsem) [Sun May 16 22:22:26 2004] [notice] SIGHUP received. Attempting to restart [Sun May 16 22:22:26 2004] [notice] Apache/1.3.29 (Unix) PHP/4.3.6 configured -- resuming normal operations [Sun May 16 22:22:26 2004] [notice] Accept mutex: sysvsem (Default: sysvsem) [Sun May 16 23:19:48 2004] [notice] caught SIGTERM, shutting down [Mon May 17 23:28:46 2004] [notice] Apache/1.3.29 (Unix) PHP/4.3.6 configured -- resuming normal operations [Mon May 17 23:28:46 2004] [notice] Accept mutex: sysvsem (Default: sysvsem) [Mon May 17 23:30:31 2004] [notice] caught SIGTERM, shutting down [Wed May 19 00:27:47 2004] [crit] (98)Address already in use: make_sock: could not bind to port 80 [Wed May 19 23:08:43 2004] [crit] (98)Address already in use: make_sock: could not bind to port 80 [Thu May 20 00:00:06 2004] [crit] (98)Address already in use: make_sock: could not bind to port 80 [Thu May 20 15:12:13 2004] [crit] (98)Address already in use: make_sock: could not bind to port 80 [Thu May 20 15:40:42 2004] [crit] (98)Address already in use: make_sock: could not bind to port 80 [Thu May 20 15:49:58 2004] [crit] (98)Address already in use: make_sock: could not bind to port 80 [Thu May 20 15:58:55 2004] [crit] (98)Address already in use: make_sock: could not bind to port 80 [Thu May 20 16:37:24 2004] [crit] (98)Address already in use: make_sock: could not bind to port 80 [Thu May 20 17:56:28 2004] [crit] (98)Address already in use: make_sock: could not bind to port 80 [Thu May 20 18:05:39 2004] [crit] (98)Address already in use: make_sock: could not bind to port 80 [Thu May 20 18:23:53 2004] [crit] (98)Address already in use: make_sock: could not bind to port 80 [Thu May 20 19:57:41 2004] [crit] (98)Address already in use: make_sock: could not bind to port 80 [Thu May 20 21:22:33 2004] [crit] (98)Address already in use: make_sock: could not bind to port 80

noname#12943
noname#12943
回答No.5

こんばんは。 私が設定したのは以下の部分です。 今、両方のポートとも認識してます。 とりあえず81の方だけですが。 今postgresqlのインストール中です(汗) **************************** #↓本ではUser : apacheとなっていたと思いますが・・・ User apache Group apache # Port 81 # NameVirtualHost *:81 # <Directory /home/*/public_html> Options All -Indexes AllowOverride All Order allow,deny Allow from all </Directory> # <VirtualHost *:81> ServerAdmin tommorow_land@mail.goo.ne.jp DocumentRoot /home/admin/public_html ServerName test.admin.jp ErrorLog logs/admin CustomLog logs/dummy-host.example.com-access_log common <Directory "/home/admin/public_html"> Options All -Indexes AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> # でうまく動くと、下のunixのコマンドで起動状況が確認できます。ちょっと抜粋します。 ps aux | grep apache nobody 993 0.0 0.5 2528 1148 ? S 05:44 0:00 /opt/apache/bin/h root 4612 0.0 0.4 2376 1024 ? S 06:04 0:00 /opt/apache_suexe apache 4613 0.0 0.5 2540 1176 ? S 06:04 0:00 /opt/apache_suexe apache 4614 0.0 0.5 2540 1176 ? S 06:04 0:00 /opt/apache_suexe apache 4615 0.0 0.4 2524 1088 ? S 06:04 0:00 /opt/apache_suexe apache 4616 0.0 0.4 2524 1088 ? S 06:04 0:00 /opt/apache_suexe apache 4617 0.0 0.4 2524 1088 ? S 06:04 0:00 /opt/apache_suexe apache 4618 0.0 0.4 2524 1112 ? S 06:05 0:00 /opt/apache_suexe root 10932 0.0 0.5 2528 1160 ? S 06:40 0:00 /opt/apache_becom

ModenaSpeed
質問者

補足

アドバイスありがとうございます。 早速、修正、:wq restart して ps aux | grep apacheで 同じような起動確認できました。 しかし、ブラウザでアクセスしてみると 「211.121.144.22:81へのネットワーク接続を試みている時に接続が拒否されました。」 というエラーが相変わらず出て来ます。 本の通りに入力しているのがいけないのでしょうか?

noname#12943
noname#12943
回答No.4

どこまで動いていますか? #はじめての人のためのPHP・・・難しいですね。 色々サイトを探し回ったのですが、英語が読めたらどうぞ。一応、これをヒント?に32ページまでのものが動きました。 もし良かったら、私がhttpd.confに書いたものを書きますが・・・。

参考URL:
http://forums.devarticles.com/t5347/s.html
ModenaSpeed
質問者

補足

どうやらポートの認識がうまく言っていないようです。:81 :82 #はじめての人には難しい...本のようです。 英語はwindowsに戻って 翻訳ソフトで見ています。 インターネットにはつながるので フリーメールを介して双方で確認しながら 頑張っています。

noname#12943
noname#12943
回答No.3

>そうではありません ふ~。 よかったです。 >はじめての人のためのPHP って割には、初めて触るには設定がむずかしそうですね。 複数のサイトを立ち上げる必要があるのでしょうか? もしそうでないならば、今、戸惑ってしまっているところは無駄な部分かもしれませんが。

ModenaSpeed
質問者

お礼

確かにはじめてのという割には 頭が痛いです。 私は自動車関係の会社を経営しておりまして 会社のホームページと同時に 着うたサイトを立ち上げる計画で 軽いデータベース=php? という流れで ここにきたという訳です。 今やっていることは無駄が多分かなり多いと 自分でも思います。 ただ、ある程度自分のものにして おきたいというのが私の考えです。

noname#12943
noname#12943
回答No.2

私の書いたことで戸惑われたでしょうか? 自分も本職はプログラミングなので、説明が甘かったらごめんなさい。 @itというところが比較的、わかりやすいかもしれません。まとまっていますし、質問のできるコーナーもあります。 そうですね、アドバイス(ちょっと本筋と外れますが)としては、ご自分として実現したいこと(要件)は決まっているように思われます。ただし、それが複雑すぎると、現状では実現するのは容易ではないと思います。 まず最初は簡単なところから入られてはいかがでしょうか? 道のりは長いかもしれませんが、がんばりましょう。

参考URL:
http://www.atmarkit.co.jp/flinux/index/indexfiles/apacheindex.html
ModenaSpeed
質問者

お礼

>私の書いたことで戸惑われたでしょうか? そうではありません。 「はじめての人のためのPHP Webデータベースプログラミング」という本に基づいて作業を行っているのですが、ミスプリントや誤字脱字が多く、自分なりに 理解しつつ少しづつ修正しながら進んでいるのですが、 ポートの設定や、バーチャルサーバーの反映がうまくいかないため、再度一から確認しようと思っています。 King-of-Walkingさんのコメントはわかり易く とても感謝しています。

回答No.1

apacheのバーチャルホストの事と理解して回答します。 外してる場合は突っ込み入れて下さい。 バーチャルホストは一言で言うと、 「一つのサーバソフトで複数のサイトを運用する仕組み」です。 詳細な解説は、@ITの記事がわかりやすいので紹介します。

参考URL:
http://www.atmarkit.co.jp/flinux/rensai/apache08/apache08a.html
ModenaSpeed
質問者

お礼

ご返答ありがとうございます。 早速参考にさせていただきます。

関連するQ&A