🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Q&A

解決済

1回答

4651閲覧

Apacheの実行ユーザが読み書き可能な権限の設定

yarukkyanai

総合スコア10

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

0グッド

1クリップ

投稿2020/12/13 23:40

Linux(CentOS6.10)入門者です。

前提・実現したいこと

「/var/www/cgi-bin/cbgrn/smarty」というディレクトリだけでなく、
ディレクトリ以下のすべてのサブディレクトリやファイルで、
Apache の実行ユーザが読み・書き可能な権限を保持できるように設定したいです。
どのような設定をすればよいでしょうか?
現在の設定は、次の通りです。

$ls -l /var/www/cgi-bin/cbgrn/smarty 合計 8 drwx------ 2 apache root 4096 12月 10 15:26 2014 cached drwx------ 255 apache root 4096 9月 13 09:27 2019 compiled

発生している問題・エラーメッセージ

クライアント側から(https://faq.cybozu.info/alphascope/cybozu/web/garoon3/Detail.aspx?id=953&isCrawler=1)のエラーが出て、WEBサービスが使えません。
また、
$sudo service httpd restart
を実行すると次のエラーが表示されます。

httpd を起動中: (30)Read-only file system: httpd: could not open error log file /etc/httpd/logs/error_log. Unable to open logs [失敗]

また、通信にも問題があるのか調べようと思い、
$sudo lsof -i | grep http

$sudo lsof -i:80 -P 
を実行すると
「読み取り専用」のようなエラーが表示されました。(すみません、端末画面消えてしまいましたのでここは記憶です。)

試したこと

$ sudo chmod 755 /var/www/cgi-bin/cbgrn/smarty
を実行しましたが、
権限が上記の
drwx------ 2 apache root 4096 12月 10 15:26 2014 cached
drwx------ 255 apache root 4096 9月 13 09:27 2019 compiled
のままで変更できないようです。

また、
$sudo fsck
を実行すると、クライアント側からWEBサービスが利用できるようになります。
しかし、半日ぐらいでどういうわけか再び、httpdが読み取り専用モードになってしまうようで稼働されなくなります。

補足情報(FW/ツールのバージョンなど)

Server version: Apache/2.2.15 (Unix)

以上、どうぞよろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

エラーの原因からの予測ですが、キャッシュが溜まってオーバーフローを起こしているのではないでしょうか。fsck(スキャン)コマンドで一旦はキャッシュも整理されるので最初は書き込めても、また書き込めなくなる現象はそれでないかと思われます。

could not open error log file /etc/httpd/logs/error_log. Unable to open logs

このメッセージはエラーログを開けないとあるので、このエラーログが出力できるようにパスをきちんと設定してあるかhttpd.confで調べてみてください。また、書き込み権限をきちんと持っているか確認して、ない場合はchownなどで権限を与えてみてください。

投稿2020/12/14 00:56

FKM

総合スコア3647

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

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

yarukkyanai

2020/12/14 05:09

ありがとうございます。 httpd.confに記載の内容をみてみましたら、 /etc/httpd/logs/error_log という記載はなく、 /var/log/httpd/error_log と記載されていました。 そこで $cat /etc/httpd/logs/error_log を実行すると、次が表示されました。 ``` sudo: /var/db/sudo/自分のユーザー名/0 を開けません: 読み込み専用ファイルシステムです [Sun Dec 13 03:31:02 2020] [notice] Digest: generating secret for digest authentication ... [Sun Dec 13 03:31:02 2020] [notice] Digest: done [Sun Dec 13 03:31:02 2020] [warn] ./mod_dnssd.c: No services found to register [Sun Dec 13 03:31:02 2020] [notice] Apache/2.2.15 (Unix) DAV/2 configured -- resuming normal operations [Mon Dec 14 07:45:33 2020] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Mon Dec 14 07:45:33 2020] [notice] Digest: generating secret for digest authentication ... [Mon Dec 14 07:45:33 2020] [notice] Digest: done [Mon Dec 14 07:45:34 2020] [notice] Apache/2.2.15 (Unix) DAV/2 configured -- resuming normal operations [Mon Dec 14 07:45:34 2020] [warn] ./mod_dnssd.c: No services found to register ``` 書き込み権限は、次でした。 ``` $ sudo ls -l /var/log/httpd/error_log sudo: /var/db/sudo/自分のユーザー名/0 を開けません: 読み込み専用ファイルシステムです -rw-r--r-- 1 root root 737 12月 14 07:45 2020 /var/log/httpd/error_log ``` httpd.confに記載のerror_logの場所を、 /var/log/httpd/error_log から /etc/httpd/logs/error_log に変更し、 /etc/httpd/logs/error_logの権限を、 755に変更すればよいのでしょうか?
FKM

2020/12/14 05:18 編集

そうですね、まずはそのように権限を変更してみてください。
yarukkyanai

2020/12/14 05:23

ありがとうございます! みるべきポイントがわかり、助かりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問