質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

3回答

19820閲覧

LinuxサーバーのHTMLをブラウザで表示したい

mashima0037

総合スコア9

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

2クリップ

投稿2019/06/03 07:07

編集2019/06/10 07:03

システムのプログラムを書いている開発用LinuxサーバーAが存在している。
そのサーバーAの立ち上げは別の人が行い、現在連絡が取れない状況となっている。
Linuxサーバーの立ち上げ、運用について学ぶ必要が出たため、さくらインターネットのVPSを1つ借りて練習用サーバーBを自分で立ち上げた。
設定は参考書とネットの情報を調べて、開発用のサーバーと全く同じ環境を構築しようとしている。

homeディレクトリにユーザーディレクトリを作成し、その中にHTMLファイルを作成した。
Google ChromeでそのURLを指定してHTMLを開こうとしたがNOT FOUND画面が表示される。
開発用サーバーAに同じHTMLを作成して同じ手法で開こうとすると、正常に表示される。

練習用サーバーBの設定を変更したのは以下のファイル。ただし、変更後の内容はサーバーAと同じになるようにしている。
/etc/sysconfig/itables
/etc/httpd/conf/httpd.conf

HTMLファイルまでのパス
/home/ユーザー名/test.html

URL
http://190.190.100.101/test.html

Apacheはインストールしており、NOT FOUND画面が表示されていることからアクセスはできていると思っています。ファイルが見つからないということなのでURLを変えたりしてみたのですが、改善しません。
アドバイスをお願いします。

2019年6月10日追記
test.htmlを /etc/var/www/html/ ディレクトリに移動した。
アクセスログから、このディレクトリを参照していることがわかっているため。
ブラウザに http://190.190.100.101/test.html を入力すると接続することができ、HTMLもちゃんと表示された。
しかし、test.html を TEST.html に名前変更しても上記のURLで同じ画面が表示される。(test.htmlとTEST.htmlの両方が表示できる状態)
また、/etc/var/www/html/ ディレクトリ内のHTMLを全て削除して空にしても、上記2つのHTMLが表示できてしまう。
本来、HTMLが存在しなければ404エラーになるはずだと思うのですが・・・

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2019/06/03 07:17 編集

`/home/ユーザー名/test.html` を Web に公開するには、パーミッションや httpd.conf 等の設定が必要と思いますが、どの様に設定したのでしょうか? > 練習用サーバーBの設定を変更したのは以下のファイル。ただし、変更後の内容はサーバーAと同じになるようにしている。 同じようにしたのが正しいとは限りませんので、具体的に記載してください。 `/etc/httpd/conf.d/*.conf` にもなにかありませんか? また、Apache のログには、どの様に記録されていますか?
yut148

2019/06/03 07:22

まず/etc/httpd/conf/httpd.confにある、ErrorLogの項目を確認します。 logs/error.logとなっていればそのログファイルを開きます。NotFoudとの事なので、エラーログに合わせた、ファイルパスにファイルを配置します。test.htmlはとりあえずこれで確認できるのではないでしょうか。
mashima0037

2019/06/03 09:44

CHERRYさん、回答ありがとうございます。 httpd.confの変更点は、 User apache → User ユーザー名 Group apace → Group ユーザー名 このユーザー名は、/home/ユーザー名 と同じものです。 その他、ServerName www.examle.com:80等の先頭に#を付けました。 先頭に#を付けた行はそれなりに多いので細かく上げることができません。すみません。 /etc/httpd/conf.d/ には、welcome.confがあります。 /var/log/httpd/access_log には、ログが残ってますが、全てHTTPステータスコードが404になっています。
mashima0037

2019/06/03 09:50

yut148さん、回答ありがとうございます。 /etc/httpd/conf/httpd.conf の ErrorLogは logs/error_log になっています。 そのログファイルには、/var/www/html/test.html となっていて、/var/www/html/ にファイルを置けばブラウザで表示はできました。ありがとうございます。 しかし、/home/ユーザー名/ ディレクトリはNOT FOUNDになることは変わりません。
javahack

2019/06/03 14:32

まさかとは思いますが、開発用サーバーAの方は /home/ユーザー名/ から /var/www/html/ にシンボリックリンクが張られていたりしませんか?
mashima0037

2019/06/07 08:29

javahackさん、回答ありがとうございます。 開発用サーバーAを調べてみましたが、シンボリックリンクは見当たりませんでした。
take88

2019/06/10 07:22

/etc/httpd/conf.d/ の下にも設定ファイルがないか確認してください。
mashima0037

2019/06/14 09:46

take88さん、回答ありがとうございます。 サーバーAの /etc/httpd/conf.d/ に ユーザー名.conf というファイルがありました。 そのファイルをサーバーBの同じディレクトリに置いてrebootしたら http://190.190.100.101/test.html が表示されました。 無事解決しました。
guest

回答3

0

自己解決

CHERRY
/etc/httpd/conf.d/*.conf にもなにかありませんか?

take88
/etc/httpd/conf.d/ の下にも設定ファイルがないか確認してください

サーバーAの /etc/httpd/conf.d/ に ユーザー名.conf というファイルがありました。
そのファイルをサーバーBの同じディレクトリに置いてrebootしたら
http://190.190.100.101/test.html
が表示されました。
無事解決しました

投稿2019/06/17 00:54

編集2019/06/20 09:25
mashima0037

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

HTMLファイルまでのパス
/home/ユーザー名/test.html

test.htmlを /etc/var/www/html/ ディレクトリに移動した。
アクセスログから、このディレクトリを参照していることがわかっているため。
ブラウザに http://190.190.100.101/test.html を入力すると接続することができ、HTMLもちゃんと表示された。

httpd.confの変更点は、
User apache → User ユーザー名
Group apace → Group ユーザー名
このユーザー名は、/home/ユーザー名 と同じものです。

DocumentRoot の設定はどうなっていますか?

多くの Linux のデフォルトは、DocumentRoot /var/www/html だったと思いますが、

DocumentRoot /home/ユーザー名

のように DocumentRoot で使用したいディレクトリを設定されているでしょうか?

DocumentRoot ディレクティブ 参照。

投稿2019/06/10 07:20

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mashima0037

2019/06/14 09:52

サーバーAは DocumentRoot /var/www/html となっており、この状態でHTMLが表示できています。 ここを直さずともHTMLを表示することに成功しました。
guest

0

/home/ユーザー名 にあるHTMLファイルが表示されないとの事ですが、Aのサーバのhttpd.confにあるUserDirの項目を参考にして、Bのサーバのhttpd.confに反映すればよろしいかと思います。

User apache → User ユーザー名
Group apace → Group ユーザー名

Bのサーバではapacheユーザを使いたくない(変更する)ということでしょうか?

投稿2019/06/03 10:20

yut148

総合スコア752

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mashima0037

2019/06/10 05:00

サーバーAのhttpd.confにあるUserDirをサーバーBのhttpd.confに反映したのですが解決しなかったです。 サーバーBでapacheユーザを使いたくないのではなく、サーバーAが上記のようになっているのです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問