重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

centOS7を使用して、WEBサーバー構築の勉強を始めた初心者です。

http://199.199.99❍.❍/index.html
というURLで表示されるように、

var/www/html/index.html
のような構造で、HTMLページを配置しました、

そこで、そのHTMLページ内に
<img src="img/gazou.jpg" alt="">

という記述を施して、
var/www/html/img/gazou.jpg

にある画像を表示しようとしたのですが、
画像を表示することが出来ないのです。


SELinuxに関しては、既に無効化しており、


http://199.199.99❍.❍/img/gazou.jpg
という風にブラウザからアクセスしてみると

Forbidden
You don't have permission to access /img/tomato.jpg on this server.


と、表示されたので、google翻訳してみると、

(禁じられた
このサーバー上の/img/tomato.jpgにアクセスする権限がありません。)


・・・と、いうことらしいのですが、先に記述した通り、SELinuxに関しては既に無効にしており、
「権限が無い」ということの理由が判らないのです。



本来はログの確認等をするようなのですが、様々なログのコマンドがあるようで、どれを適用したらよいのか、
色々とコマンドを打ってみて、出てくるログのどれが悪くてどれが良いのか、
そして、画像が表示されないことと、どのように関連するのか、全く判らなくて、お手上げ状態になっております。


「ログを見ろ」という記述を色々な所で見かけたのですが、
どういうコマンドを打って確認すれば良いかも、
ログを確認する必要がある場合には、ご教授頂きたいと思っております。



HTMLからブラウザ上に画像を表示出来るようにする方法について、
心当たりがある方がいらっしゃいましたら、ご回答よろしくお願い致します。

質問者からの補足コメント

  • セキュリティに関しては、このサーバーは練習用途なので、
    アパッチ構築時のファイアフォールの有効化、そしてSELinuxの無効化、以外の一切操作を行っておらず、

    その前提にて、ご回答宜しくお願い致します。

      補足日時:2018/07/10 11:20

A 回答 (4件)

ディレクトリの読み取り権限がないか


画像ファイルの読み取り権限がないか
ディレクトリに対するアクセス制御(.htaccess、httpsd.conf設定)が働いているか
のどれかではないでしょうか。

参考リンク
https://engineers.weddingpark.co.jp/?p=1031
    • good
    • 0
この回答へのお礼

おっしゃるとおりの原因だったようでして・・、

参考リンク内の
sudo chmod o+x /var/www/html/img
コマンドを実行して、

ディレクトリに実行権を与えることで解決しました。
的確なご回答、ありがとうございました。

お礼日時:2018/07/10 13:16

>cat /var/log/httpd/error.log


>辺りかな?

cat /var/log/httpd/error_log
だった。
まぁ、いろいろ流れるとは思いますが。
    • good
    • 0
この回答へのお礼

修正して頂いてありがとうございます、

一件目に頂いたご回答に、結果がどのように表示されるか、
返信させていただきました。

本質問の原因にお心当たりがありましたら、
再度のご回答お待ちしておりますので、

宜しくお願い致します。

お礼日時:2018/07/10 13:04

まず、var/www/html/のパーミッションがどうなっているかを確認しましょう。

lsコマンドやllコマンドで。
それがWebサーバーがアクセスできるパーミッションです。

続いてvar/www/html/imgのパーミッションがどうなっているかを確認しましょう。上記のものとは異なるはずです。それが問題の原因です。

ようはvar/www/html/はWebサーバが参照できるようになっているが、var/www/html/imgはそうなっていないという状態なのだと思います。

ちなみにパーミッションの変更はchmodコマンドで行います。ご存じとは思いますが念のため。
参考まで。
    • good
    • 0
この回答へのお礼

ls -l /var/www/html

drwx------. 2 root root 4096 7月 9 22:08 img
-rw-rw-r--. 1 root root 27034 7月 9 22:03 index.html
-rw-rw-r--. 1 root root 7283 7月 3 12:06 style.css



ls -l /var/www/html/img

-rw-rw-r--. 1 root root 12436 10月 5 2014 gazou.jpg
-rw-rw-r--. 1 root root 3060 10月 5 2014 gazou-60x60.jpg


と、それぞれ上記のように、表示されました。
正常に表示されているように見えるのですが、問題があったりするのでしょうか・・?。

>上記のものとは異なるはずです。
という部分は、どの場所に当たりますか?、(聞いてばかりですみません)

知識が乏しく、お手数をお掛けしてしまい、申し訳ないのですが、
何か問題がありましたら、再度ご指摘頂けると、とても有り難いです。

ご回答ありがとうございました。

お礼日時:2018/07/10 13:02

ls -l /var/www/html


ls -l /var/www/html/img
のそれぞれの結果はどうなんでしょうか?


>「ログを見ろ」という記述を色々な所で見かけたのですが、
>どういうコマンドを打って確認すれば良いかも、
>ログを確認する必要がある場合には、ご教授頂きたいと思っております。

cat /var/log/httpd/error.log
辺りかな?
    • good
    • 0
この回答へのお礼

ls -l /var/www/html

drwx------. 2 root root 4096 7月 9 22:08 img
-rw-rw-r--. 1 root root 27034 7月 9 22:03 index.html
-rw-rw-r--. 1 root root 7283 7月 3 12:06 style.css



ls -l /var/www/html/img

-rw-rw-r--. 1 root root 12436 10月 5 2014 gazou.jpg
-rw-rw-r--. 1 root root 3060 10月 5 2014 gazou-60x60.jpg


と、それぞれ上記のように、フォルダの中身が正常に表示されました。


cat /var/log/httpd/error_log
と、打った場合は、以下のように表示されました。



[Tue Jul 10 11:41:14.660403 2018] [core:error] [pid 1804] (13)
Permission denied: [client 199.199.199.9:50304]
AH00035: access to /img/gazou.jpg denied
(filesystem path '/var/www/html/img/gazou.jpg')
because search permissions are missing on a component of the path, referer: http://199.199.19❍.❍/index.html


お心当たりがありましたら、解決法について、再度ご教授頂けると、とても嬉しいです。
ご回答ありがとうございました。

お礼日時:2018/07/10 12:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!