• ベストアンサー

自宅wwwサーバ(Red Hat Linux7.3)にアクセスする方法

Linuxユーザの皆さんこんにちは、よろしくお願いします。 試行錯誤の末このたび、なんとかLinux機にtelnetとftpでアクセスすることができました。 しかし未だにhttp(WWW)での接続の仕方が良く分かりません。 /home/burn/public_html/index.htmlにアクセスするためにクライアント機側でインターネットエクスプローラのアドレス欄にhttp://192.168.1.10/~burn/index.htmlと入力したのですがページを表示できませんでした。 アドレスは正しいと思うので恐らくLinux機の設定をいじれば解決できる問題だと思うのですが、何をいじればいいのでしょうか。

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

  • ベストアンサー
  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.8

># /usr/local/apache/bin/apachectl configtestと ># /etc/init.d/httpd configtestの >両方とも「Syntax OK」と返ってきました。 ちょっと気になるんですが、RedHatについてくるRPM版Apacheと、 tarソースからコンパイルしたApacheの両方をいれてますね? ちなみにどちらを使うつもりですか? それによって、編集するhttpd.confの場所が違います。 ●RPM版 (今RedHatが手元にないのですがたぶん以下のとおり) 設定ファイル /etc/httpd/conf/httpd.conf 起動方法 /etc/init.d/httpd start html場所 /var/www ●ソース版 (デフォルトでコンパイルした場合) 設定ファイル /usr/local/apache/conf/httpd.conf 起動方法 /usr/local/apache/bin/httpd start または /usr/local/apache/bin/apachectl start html場所 /usr/local/apache/htdocs/ 当然、両方同時に動かすとRedHat君がワケわからなくなります。 また、ps -axでプロセス一覧を見た時は httpd という文字で確認してください。 # ps -ax | grep httpd

zyousuke
質問者

お礼

できました。 どうやらhttpdが起動していなかっただけのようです(汗)。 ...そんなに怒らないでください。 素人の駄スレと思って見逃してください。 どうもスミマセンでした。 ところで今日買ってきた本、まだ1ページも読んでないよー、えーん。 2500円+税も払ったのに... xjd様あなたはある意味、罪深き回答者ですね。 でも、せっかく買ってきたのだから Red Hat8.0なるものをインストールしてみようかと思います。 ちなみにhttpdは毎回、手動で起動させるのでしょうか...って、そんなはずはないですよね。 これに付きましては、この本を読んで自力で回答を見つけたいと思います。 今回は、どうもお騒がせしました。 あ、また分からないことがあったら質問に来ますのでよろしくお願いします。

その他の回答 (8)

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.9

> 「httpd.conf.default」の内容を「httpd.conf」にコピーして と >クライアント機からブラウザのアドレス欄に「http://192.168.1.10/」と入力しま > したが、やはりダメでした。 の間にちゃんとhttpdを再起動しているのだろうか? どちらにしても, UserDirとかの設定以前の問題だということですね. > これに付属していた最新?のRed Hat8.0に入れ替え一からサーバを立て直 > そうと決心したのであります。 別に止めませんが,redhat8.0 も redhat8.0で標準の apache 2.0 も,まだ 世の中に情報が少ないので,余計苦労すると思いますがね. そういう私は redhat8.0に乗り換えちゃってますが,apacheでは,デフォルト のhttpヘッダの文字コードセットで結構はまっちゃいました.

zyousuke
質問者

お礼

ご返信ありがとうございます。 お察しのとおり「httpd」が起動していなかっただけというオチでした。 本当に素人丸出しでした(汗)。 ところでredhat8.0は余計苦労する可能性が高いですか!? もうインストールする気満々なのですが... いや、NEを目指すからにはこの位のことにはチャレンジすべきですよね。 それに... たとえトラブルが発生したとしても ここの掲示板の回答者の皆様がいるのですから。 トラブルいつでも来いや。と気持ちを大きく持っていきたいと思います。 そういうことですので繰り返しますが、ただ今よりRed Hat8.0のインストールを開始します。 あ、それから恐らく、またすぐに質問にくると思いますが、そのときはよろしくお願いします。

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.7

デフォルト設定を弄る前に、 http://192.168.1.10/ にアクセスして、テストページが見えますか? 物事は順序よく進めましょう。 あと、「アクセスできない」だけじゃなくて、ブラウザに表示される エラーメッセージも書きましょう。 どこに問題があるかによって、メッセージが変わりますので、それが ヒントになります。

zyousuke
質問者

お礼

ご返信ありがとうございます。 ご指摘いただいた点について確認しましたのでご報告します。 「httpd.conf.default」の内容を「httpd.conf」にコピーして クライアント機からブラウザのアドレス欄に「http://192.168.1.10/」と入力しましたが、やはりダメでした。 エラーメッセージは、たまに目にするこのような文章です。 ページを表示できません 検索中のページは現在、利用できません。Web サイトに技術的な問題が発生しているか、ブラウザの設定を調整する必要があります。 -------------------------------------------------------------------------------- 次のことを試してください : [更新] ボタンをクリックするか、後でやり直してください。 アドレス バーにページ アドレスを入力した場合は、ページ アドレスを正しく入力したかどうかを確認してください。 接続の設定を確認するには、[ツール] メニューの [インターネット オプション] をクリックします。[接続] タブで [ダイヤルアップの設定] グループの [設定] ボタン、または [LAN の設定] グループの [LAN の設定] ボタンをクリックしてください。 設定情報は、LAN (ローカル エリアネット ワーク) の管理者か、ISP (インターネット サービス プロバイダ) が提供する情報と一致する必要があります。 ネットワーク管理者がネットワークの接続の設定を使用可能にしていれば、Microsoft Windows を使用して、ネットワークの接続試験を行ったり、自動的にネットワークの接続の設定を見つけることができます。 Windows でネットワークの接続試験を行ったり、ネットワークの接続の設定を見つけるには、 [ネットワークの設定の検出] をクリックしてください。 サイトによっては 128 ビットの接続セキュリティを要求するものがあります。[ヘルプ] メニューの [バージョン情報] をクリックして、インストールした暗号強度を確認してください。 安全なサイトに移動するためには、セキュリティの設定で安全なサイトに対するサポートをしているかどうかを確認してください。[ツール] メニューの [インターネット オプション] をクリックします。[詳細設定] タブにて、[セキュリティ] までスクロールし、[SSL 2.0 を使用する]、[SSL 3.0 を使用する]、[TLS 1.0 を使用する]、および [PCT 1.0 を使用する] チェック ボックスをオンにしてください。 別のリンク先を表示するには、[戻る] ボタンをクリックしてください。 サーバーが見つからないか、DNS エラーです。 Internet Explorer /エラーメッセージここまで あともうひとつ報告がございます。 それは、ここまで質問しておきながら失礼なのですが このたびサーバ機のハードディスクをフォーマットすることにいたしました。 なぜかといいますと今日Linuxサーバの入門書を買ってきましたので これに付属していた最新?のRed Hat8.0に入れ替え 一からサーバを立て直そうと決心したのであります。 スミマセンが、ただいまより作業に取り掛かりたいと思います。 またすぐに質問にくると思いますが、そのときはどうか回答お願いします。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.6

ローカルのブラウザからも表示できませんか? httpd://localhost/~hogehoge/index.html Apacheは動いてますよね? ps -ax で確認して下さい。 configtestオプションで、httpd.confの文法チェックができますので調べてみて下さい。 # /usr/local/apache/bin/apachectl configtest とか # /etc/init.d/httpd configtest などとやってみて下さい。 (httpd.confの中の説明文は注釈のままにしておいて下さいね。)

zyousuke
質問者

お礼

ご返信ありがとうございます。 ローカルのブラウザにアドレスを入力してみましたら なんと「httpd is not a registered protocol.」とメッセージが返ってきました。 また「ps -ax」コマンドでもApacheが見当たりませんでした。 これはひょっとしてサーバが起動していないだけというオチでしょうか。 文法チェックに関しましては # /usr/local/apache/bin/apachectl configtestと # /etc/init.d/httpd configtestの 両方とも「Syntax OK」と返ってきました。 ちょっとですね今日、本を買ってきました。 秀和システムの「はじめてのRed Hat Linux8.0サーバ構築編」という書籍です。 これにRed Hatの新しいバージョンが付属されていましたので今からRed Hatを入れなおしたいと思います。 トラブルの原因がわからないので、この本でサーバについて少し勉強した上で再度チャレンジしたいと思います。 ディストリビューション内にもともとApacheが含まれていたのかもしれません。 それにもかかわらずApacheをダウンロード/インストールし、 何も分からないくせに、いろいろいじりまくったせいで、このようなトラブルが発生してしまったのかもしれません。 一度ハードディスクをまっさらの状態にして一からサーバを構築すれば、うまくいくかもしれないと思い、この行動に踏み切りました。 恐らく、またすぐに質問にきますが(汗)、 そのときは、よろしくお願いします。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.5

文字だけで説明するのはむずかしいですね。 (httpd.conf 箇所1) こんな感じです。 # 127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your # machine always knows itself by this address. If you use Apache strictly for # local testing and development, you may use 127.0.0.1 as the server name. # ServerName localhost.localdomain (httpd.conf 箇所2) # # UserDir: The name of the directory which is appended onto a user's home # directory if a ~user request is received. # <IfModule mod_userdir.c>   UserDir public_html </IfModule> (httpd.conf 箇所3) # # Control access to UserDir directories. The following is an example # for a site where these directories are restricted to read-only. # <Directory /home/*/public_html>   AllowOverride FileInfo AuthConfig Limit   Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec   <Limit GET POST OPTIONS PROPFIND>     Order allow,deny     Allow from all   </Limit>   <LimitExcept GET POST OPTIONS PROPFIND>     Order deny,allow     Deny from all   </LimitExcept> </Directory> (httpd.conf 箇所4) # # DirectoryIndex: Name of the file or files to use as a pre-written HTML # directory index. Separate multiple entries with spaces. # <IfModule mod_dir.c>   DirectoryIndex index.html </IfModule> (ファイル・ディレクトリの権限) drwxr-xr-x 6 root root 1024 Dec 7 19:08 /home drwxr-xr-x 22 hoge hoge 1024 Jan 8 01:20 /home/hoge drwxr-xr-x 3 hoge hoge 1024 Jan 8 01:13 /home/hoge/public_html -rw-r--r-- 1 hoge hoge 53 Dec 19 16:26 /home/home/public_html/index.html よけいなオプションもありますが、上記のように必要箇所の#記号をとるだけで、とりあえずユーザ配下のhtmlが表示できるはずですが。

zyousuke
質問者

お礼

ご返信ありがとうございます。 ていねいな解説をどうもありがとうございます。 (httpd.conf 箇所2) # # UserDir: The name of the directory which is appended onto a user's home # directory if a ~user request is received. # <IfModule mod_userdir.c>   UserDir public_html </IfModule> については上4行は # UserDir: The name of the directory which is appended onto a user's home directory if a ~user request is received. # などとせず#を付けたままにしておくのが正しいのですか ひとまず全てこのとおりに設定したのですが残念ながらダメでした。 パーミッションの設定も間違いないと思いますがダメなのです。 もっと下位層の方でトラブルが起きているのでしょうか。 しかしftpとtelnetは今でも何の問題も無く使えるのでネットワーク自体は機能していると思うのです。 うーん、なぜだろう?? 私は何か重大なことを見落としているのでしょうか。 他に何か原因が考えられますか。 あっ、1つ言い忘れました。 (httpd.conf 箇所1)の一番下の ServerName localhost.localdomainのところが 私のマシンでは ServerName telnetserverとなっていました。 たしか、いつかマシンに名前をつけたときのものがそのまま使われているのだと思いますが、こちらもそっくりそのまま ServerName localhost.localdomainと書き換えた方がいいのでしょうか。 ご迷惑をおかけしてすいません。 ちょっと知識があまりにも無さ過ぎるので初心者用の本でも買ってきます。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.4

(1) 先頭に#(注釈の記号)がついていたらはずしてください。 # # UserDir: The name of the directory which is appended onto a user's home # directory if a ~user request is received. # <IfModule mod_userdir.c>   UserDir public_html </IfModule> (2) ユーザのホームでCGIが実行できるよう指定してください。 <Directory /home/*/public_html>   ........   Options ExecCGI .....   ........ </Directory> (3) とりあえずこのあたりから御覧下さい。 http://www.atmarkit.co.jp/flinux/ http://www.zdnet.co.jp/help/tips/linux/apache.html

zyousuke
質問者

お礼

ご返信ありがとうございます。 ご報告いたします。 結果から申しますと残念ながら未だ通信できていません。 (1)については2~3行目の#をはずし # UserDir: The name of the directory which is appended onto a user's home directory if a ~user request is received. # <IfModule mod_userdir.c>   UserDir public_html </IfModule> としました。 これでいいのでしょうか。 何か変ですね(汗)。 (2)につきましては <Directory ~>という文字列はいくつか目にするのですが Options ExecCGI .....の文字列が発見できません。 どの辺にあるのでしょうか(汗)。 (3)について ご紹介いただきありがとうございます。 ですが...はっきり言って難しいです!!! それでも頑張って2時間くらいは読みましたよ。 しかしあまり理解できない上にあの膨大なページ数の前には、あくびの連発という始末でした。 僕はhttpは最も代表的なプロトコルなのでftpやtelnetよりも、もっと簡単に実現できると思っていました。 やはりLinuxをやる人は、あの位のページは難なく読破できるほどの読解力が必要なのでしょうか。 もう少し精進が必要ですね。 何か助言等ございましたら是非お知らせください。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.3

(追加) /home /home/burn /home/burn/public_html 各ディレクトリの権限がo+x /home/burn/public_html/index.html の権限がo+r も確認してください。

zyousuke
質問者

お礼

追加情報ありがとうございます。 パーミッションの設定は問題ないようです。 ディレクトリのパーミッションはデフォルトでo+xでした。 htmlファイルのパーミッションもデフォルトでo+rでした。 実は私WWWサーバの設定の仕方を知らないのです。 ですので、よろしければ教えていただけませんか。 もしくはWWWサーバの設定について詳しく解説されているウェブサイトをご存知ですか。 質問攻めですみませんがご返信をお待ちしてます。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.2

httpd.confでユーザのホームディレクトリを指定している箇所が 注釈になっていませんか? # ユーザのホームディレクトリを指定 UserDir public_html

zyousuke
質問者

お礼

ご回答ありがとうございます。 「httpd.conf」はとても大きなファイルですね。 「UserDir public_html」という文字列を発見しましたが、これをどのように書き換えればいいのでしょうか。 すみません、何も分からないので詳しく教えていただけませんか。

  • yakumon
  • ベストアンサー率35% (22/62)
回答No.1

httpを表示させるにはwebサーバ(Apacheなど)を立ち上げておく必要があります。 httpd(httpデーモン)が常駐してなければwebサーバをインストールして起動してみてください。 もしhttpdが常駐していて見れないようであればwebサーバの設定ファイルに問題があります。

zyousuke
質問者

お礼

ご返信ありがとうございます。 「lokkit」というコマンドを使って「Security Level」を「Medium」に設定し、 「Allow incoming」の項目で「WWW(HTTP)」をチェックしました。 これでWWWサーバが起動できたのでしょうか。 依然としてアクセスできないので、やはり設定の問題でしょうか。 どこをどのように設定すればいいのでしょうか。 すみませんが、よろしければ詳しく教えていただけないでしょうか。

関連するQ&A