ユーザーページの設定および公開方法についての質問

このQ&Aのポイント
  • ユーザーページの設定および公開方法について教えてください。
  • http://aaaaaa.com/~test/でindex.htmを表示する方法を教えてください。
  • apacheのエラーログに表示されたエラーメッセージについての対処方法を教えてください。
回答を見る
  • ベストアンサー

ユーザーページの設定および公開について

ユーザーページの設定および公開について教えてください。  /var/   + www/    + html/      + index.html  /home + test/    + public_html + index.htm http://aaaaaa.com/でindex.htmlが見れますが、 http://aaaaaa.com/~test/でindex.htmを見るためにはどうしたらいいですか? http://aaaaaa.com/~test/だと HTTP 404 - ファイル未検出 Internet Explorer が表示されます。 apacheのエラーログには [Sat Sep 24 22:04:00 2005] [error] [client 192.168.11.3] File does not exist: /var/www/html/~akaeda [Sat Sep 24 22:04:00 2005] [error] [client 192.168.11.3] File does not exist: /var/www/html/favicon.ico と表示されています。 documentrootは/homeに変更しているのですが、有効になっていないのでしょうか。 httpd.comの設定は DocumentRoot "/home" # This should be changed to whatever you set DocumentRoot to. # #<Directory "/var/www/html"> <Directory "/home"> # UserDir: The name of the directory that is appended onto a user's home # directory if a ~user request is received. # #UserDir public_html UserDir public_html と、しています。 なにか抜けているところがあればご教授お願いいたします。

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

  • ベストアンサー
  • PCFREAK
  • ベストアンサー率51% (417/805)
回答No.5

Linuxの起動シーケンスについてご理解されてないようですね。 下記のURLが参考になると思います。

参考URL:
http://www.atmarkit.co.jp/flinux/rensai/theory10/theory10a.html,http://www.atmarkit.co.jp/flinux/rensai/theory11/theory1
drinkers
質問者

お礼

ご連絡が遅くなり、申し訳ありませんでした。 参考を確認し、理解を深めたいと思います。 ありがとうございました。

その他の回答 (4)

  • PCFREAK
  • ベストアンサー率51% (417/805)
回答No.4

やはり予期せず、apacheが起動されているようですね。 apacheが既に起動されているので、apache2の設定をいくらやり直したところで、apache2は80ポートを使えず、apacheが処理している、という状態です。 まずはrootで /etc/rc.d/init.d/httpd stop してみて下さい。これでapacheは停止出来ます。 そうすれば /usr/local/apache2/bin/apachectl restart apache2が起動出来ると思います。 問題はapacheがどこで起動されているか、ですが rc5.dの中は無実のようですね。 ランレベルをいくつで起動しているのですか? rc3.d等の中もチェックして、S85httpd等がいたら、 K85httpdにmvして下さい。

drinkers
質問者

補足

/etc/rc.d/init.d/httpd stop /usr/local/apache2/bin/apachectl restart 上記で再起動する事ができました。 再起動が完了したことで、ユーザーページ公開も 問題なくできるようになりました。 原因は再起動ができていなかったためのようですね。 Xwindowからの再起動はできていたのですが また違うものになるんでしょうか? 回答文のなかでわからなかった文面があるのですが 良ければおしえていただけませんでしょうか。 >rc5.dの中は無実のようですね どこをみれば「無実」と判断できるのでしょうか。 rc3.dを確認したところ S85httpdがあったためK85httpdにmvしました。 httpdを二重起動させないためには 他のランレベルでもK85httpcにmvし 起動させないようにすればいいのですか?

  • entree
  • ベストアンサー率55% (405/735)
回答No.3

Apacheでは、 http://aaaaaa.com/http://aaaaaa.com/index.html を表示するかどうかについてはmod_dir.cというモジュールで行っています。 httpd.confファイル内に、 DirectoryIndex index.html と書いてあるところがありませんか? これを DirectoryIndex index.htm とすると、 http://aaaaaa.com/http://aaaaaa.com/index.htm が表示されるようになります。 DirectoryIndex index.html index.htm とすると、index.htmlが存在しない場合はindex.htmを表示するという設定になります。 そして、これらの設定はディレクトリ単位で設定できるので、 DirectoryIndex index.html <Directory "/home/*/public_html"> DirectoryIndex index.htm </Directory> でよいのではないでしょうか。

  • PCFREAK
  • ベストアンサー率51% (417/805)
回答No.2

httpdが2つ動いているようですね。 apache2が2つ動いているか、apacheとapache2が同時に動いているかでしょう。 (apache2はソースコードからコンパイルしてインストールされたのでしょうが、既にapacheがインストールされてサービス起動されていたように見えます。) psで調べるなり、/etc/rc.d/rc5.dの中を調べるなりして下さい。

drinkers
質問者

補足

# ps -e | grep httpd の結果が 2873 ? httpd 4966 ? httpd 4967 ? httpd 4968 ? httpd 4969 ? httpd 4970 ? httpd 4971 ? httpd 4972 ? httpd 4973 ? httpd 22413 ? httpd 22414 ? httpd 22415 ? httpd 22416 ? httpd 22417 ? httpd 22418 ? httpd /etc/rc.d/rc5.dの中 k15httpd2 k85httpd と二つ表示されていました。 素人質問で申し訳ないのですが、 プロセスを終了させる場合は killコマンドにてプロセス一つずつ終了させる必要があるのですか? また/etc/rc.d/rc5.dの中身を直接削除するほうがいいのでしょうか。

  • PCFREAK
  • ベストアンサー率51% (417/805)
回答No.1

<Directory /home/*/public_html>   :   : </Directory> の指定が抜けてますね。 ですので ~testが/home/test/public_htmlにマッピングされていないのです。 また、直接は関係ありませんがDocumentRootが/homeに変更されていないですね。 httpd.confを修正した後、httpd restartしてますか?

drinkers
質問者

補足

すみません、記載漏れしていました。 <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Options MultiViews SymLinksIfOwnerMatch ExecCGI 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のrestartは行っていますが、 ターミナルから行うと /usr/local/apache2/bin/apachectl restart httpd not running, trying to start (98)Address already in use:make_sock:could not bind to address 0.0.0.0.:80no listening sockets available, shutting down Unable to open logs とエラーが表示されます。 xWindowのサービスから再起動を行うとエラーが表示されないのですが、 何か差異はありますか?

関連するQ&A

  • Aapache の UserDir の設定

    RedHatでapacheを利用しています。 ・DocumentRootは 「/etc/apache/public_html」 UserDirで「disable」を指定するかわりに、 ・「UserDir /etc/apache/USERS/*/public_html」 としており、 ・http://127.0.0.1/~hoge/ とアドレス指定して ・「/etc/apache/USERS/hoge/public_html/index.html」 を参照しにいきたいのですが、どうしてもうまくいきません。 hoge,public_html,index.htmlのどれもパーミッションは777にしています。 ちなみに、 http://127.0.0.1/ も http://127.0.0.1/cgi-bin/ も 自分の思った通りに動いてはくれました。 ・「<Directory "/etc/apache/USERS/*/public_html">」 の中の表記は ・http://127.0.0.1/ で見ることができる ・「<Directory "/etc/apache/public_html">」 と同じにしています。 いろいろと調べたのですが、あっているような気がしてなりません。 どこがおかしいのでしょうか?お答えを宜しくお願いします。

  • apache1.3でのUserDir設定について

    apache1.3.37を使用してます。 httpd.confを下記のようにして、UserDirを有効にしてます。 <IfModule mod_userdir.c> UserDir /home/*/public_html/index.html <Directory /home/*/public_html> AllowOverride All </Directory> </IfModule> ※UserDir関連では上記以外変更してません。 この設定で、http://www.xxxx.jp/~useridを開き /home/userid/public_html/index.htmlは表示されるのですが、 画像ファイル等だけ、DocumentRootに指定したディレクトリを 見に行ってしまいます。(エラーログにて確認) 当然、画像はDocumentRootで指定したディレクトリではなく 、/home/userid/public_htmlに入ってるので表示されず ×マークになります。 画像ファイル等も/home/userid/public_html直下から参照したいのですが どのようにすれば良いでしょうか? 設定が不足してるのでしょうか? また、/home/userid/public_html配下にcgiと言うディレクトリを 作成し、CGIを動作させたいのですが、その場合どのような設定を 追加すればよいのでしょうか? よろしくお願いします。

  • CentOS6でpublic_htmlの公開の仕方

    表題の件で困っています。 以下の作業を行いました。 1.CentOS6.2をインストールして、パケットフィルタリングを設定。 2.# mv /var/www /home/ 3.smb.confの以下を変更。   1.ServerNameをホスト名に変更   2./varを/homeに変更   3.UserDir disableをコメントアウトする   4.UserDir public_htmlを有効にする ここまでの設定で/home/www/html/においたindex.htmlファイルは http://ホスト名/ で見ることが出来るようになりました。 ところがユーザのホームディレクトリの直下に作った /home/(ユーザ名)/public_html/index.html を http://ホスト名/~(ユーザ名)/ で見ることが出来ません。 public_htmlのパーミッションは755にしてあります。 また、SELinux関連化と思い、 # semanage fcontext -a -t httpd_sys_content_t public_html # restorecon public_html も試してみました。 以上の作業をしたのですが http://ホスト名/~(ユーザ名) をブラウザから見ようとすると403 Forbiddenとなってしまいます。 ググって見たのですが、これというものが見つけられませんでした。 ぜひ、ご指導をお待ちしております。

  • RedHat7.3 apache-2 ユーザーのページが見れない。

    ブラウザを立ち上げて http://localhost/ ってやると/usr/local/apache2/htdocs/index.htmlが見えるのですが、 taroというユーザーを作ってホームディレクトリのしたに ~taro/public_html/index.html をつくってやると Forbidden You don't have permission to access /~taro on this server. Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request. Apache/2.0.39 Server at localhost Port 80 といわれちゃいます。ちなみに.httpd.confの中の所では #UserDir public_html <IfModule mod_userdir.c> UserDir public_html </IfModule> となっています。 どうすれば見れるようになるのでしょうか?

  • apacheのCGI設定について教えてください。

    CGIの勉強のために、古いパソコンに fedora core 4 をインストールしてapache でローカルのテスト用サーバーにしようとしています。 /var/www/html に設置した簡単な perl CGI は動くのですが、同じものをユーザーのホームディレクトリに設置すると、internal server error になってしまいます。 ***** 以下 httpd.confの抜粋です。***** #UserDir disable UserDir public_html <Directory /home/*/public_html> AllowOverride All Options Includes ExecCGI FollowSymLinks SetHandler cgi-script </Directory> AddHandler cgi-script .cgi .pl ************************************** サーバーのエラーログを見ると Premature end of script headers: test.cgi となっています。htmlをprintしているだけのスクリプトで、/var/www/html では動くので、apache の設定の問題かと思っています。 ちょっとカテゴリーが違うかもしれませんが、よろしくお願いします。

    • ベストアンサー
    • Perl
  • ~user/ をDocumentRootに設定したい。

    次の環境で開発用テストサーバたてて、複数のウェブサイトの動作確認をlocalhost/~foobarで行いたいと思っています。 Windows XP SP2 Apache 1.3.33 ---- D:\Documents and Settings\Administrator\My Documents\Site\users\foobar\public_html の直下にimagesフォルダを置き、 http://localhost/~foobar/images/spacer.gif にアクセスできるようにするためのapacheのhttpd.confの記載方法を教えてください。 現在の症状は次のようになっています。 ---- http://localhost/~foobar/index.html このhtmlの画像/cssディレクトリのリンクは、次のようにルートをみるようになっています。 img src="/images/spacer.gif" 私はここで次のURIにアクセスすることを意図しています。 http://localhost/~foobar/images/spacer.gif そこで、D:\Documents and Settings\Administrator\My Documents\Site\users\foobar\public_html の直下にimagesフォルダを置き、apacheのhttpd.confに次のように記載しましたが、思い通りに画像などが表示されません。 DocumentRoot "D:/Documents and Settings/Administrator/My Documents/Site/users/*/public_html" <Directory "D:/Documents and Settings/Administrator/My Documents/Site/users/*/public_html"> <IfModule mod_userdir.c> UserDir "D:/Documents and Settings/Administrator/My Documents/Site/users/*/public_html" </IfModule> よろしくお願いいたします。

  • apacheのユーザーディレクトリの設定

    Fedora Core6のapacheのユーザーディレクトリの設定で悩んでいます。 設定ファイル(httpd.conf)には以下のように記述しています。 #UserDir disable UserDir public_html <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory> ユーザー登録をして/home/ユーザ名/にpublic_htmlフォルダを作成して、index.htmlページを作り、http://localhost/~ユーザー名/index.htmlにアクセスしましたが、「403 Forbidden」となってしまいます。 http://127.0.0.1/~ユーザー名/でアクセスしても「403 Forbidden」になります。 フォルダやファイルのパーミッションをいろいろと変えてみましたが表示されません。 こちらはLinux勉強中の初心者です。 よろしくお願いします。

  • Apacheでユーザディレクトリが公開できません。

    はじめまして。恐れ入りますがぜひともご教示下さい。 今まで自宅サーバにてApacheでサイト運営していたのですが、友人にせがまれ、友人向けのサイトスペースを用意することになりました。 そこで、友人用のユーザアカウントを用意し(今までは特にユーザーディレクトリを用意して運営していなかった)、ドキュメントルート /home/"ユーザ名"/public_html にindex.htmlと.htaccessを用意し、設定を終えたはずなのですがlocalhost/"ユーザ名"/にアクセスするとforbiddenになってしまいます。 /home/"ユーザ名"/public_html以下の全てのディレクトリ/ファイルは所有者nobodyでパーミッションは755です。 また、.htaccessでは、以下の様な設定になっております。 DocumentRoot "/home/"ユーザ名"/public_html/ <Directory "/home/"ユーザ名"/public_html"> Options FollowSymLinks AllowOverride AuthConfig Limit </Directory> です。行き詰まってしまったので考えられる 処置を教えていただけませんでしょうか? OS:Vinelinux3.1 Webサーバ:Apache1.3.33 よろしくお願いします。

  • Ubuntu ServerのApache2サーバ

    Ubuntu ServerのApache2について Ubuntu ServerのApache2を構築しています。 forbiddon403のエラーがでます。 内部LANからは正しく見れるのですが、 外部から接続するとforbiddon403のエラーなります。 http://centossrv.com/apache.shtmlの中で、 「以下の「Hostname」欄にホスト名(例:centossrv.com)を入力してGoボタンを押下する 」 は正しく表示されます。 何が原因なのでしょうか? エラーlogを見ると、以下がでます。 [Tue Sep 03 23:49:23 2013] [error] [client 126.204.49.41] File does not exist: /var/www/UI, referer: http://yoshio2.mydns.jp/ [Tue Sep 03 23:49:23 2013] [error] [client 126.204.49.41] File does not exist: /var/www/favicon.ico [Tue Sep 03 23:49:23 2013] [error] [client 126.204.49.41] File does not exist: /var/www/favicon.ico [Tue Sep 03 23:49:24 2013] [error] [client 126.204.49.41] File does not exist: /var/www/favicon.ico [Tue Sep 03 23:49:35 2013] [error] [client 126.204.49.41] File does not exist: /var/www/UI, referer: http://yoshio2.mydns.jp/index.html

  • Fedora8  httpdのDocumentRootの変更について

    初期の状態で DocumentRoot "/var/www/html" <Directory "/var/www/html"> この状態で/var/www/htmlにindex.htmlを作成するともちろん ブラウザからアクセス(http://プライベートIPアドレス)できます。 また/var/wwwにhtml2というディレクトリを作成して DocumentRoot "/var/www/html2" <Directory "/var/www/html2"> に変更して/var/www/html/にindex.htmlを作成してhttpd restartを 行うと当たり前ですがブラウザからアクセス(http://プライベートIPアドレス)できます。 ただなぜかhomeディレクトリの下にDocumentRoot/Directoryを設定 ※testというユーザーがいるとして DocumentRoot "/home/test"    <Directory "/home/test"> に変更して/var/www/html/にindex.htmlを作成してhttpd restartを 行ってブラウザからアクセス(http://プライベートIPアドレス)しようと するとアクセスできません。Apacheのエラー画面?が出てしまいます。 またX-WINDOWで [次のコマンドがアクセスを許可します Restorecon ・・・・] とでてきましたので試しましたが改善されません。Restoreconのコマンドもエラーはでていないので正しく実行されていると思います。 またパーミッションは /home  -755 /test  -755 index.html  -644 です。考えられる理由としては何がありますでしょうか? よろしくお願いします。