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

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

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

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

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

2回答

6984閲覧

apacheを実行できるようにしたい(negotiation:error,autoindex:error)

jajaja

総合スコア17

Apache

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

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2020/02/26 13:51

編集2020/02/26 13:56

#解決したいこと
http://localhost/~[ユーザ名]/でアクセスした際に、403 Forbiddenとなることを解決したいです。

#エラーが出るまでに行ったこと
https://qiita.com/kid_drill/items/5c85917068490177b6ab を参考にapacheの設定を行い、エラーも出ず描画されました。
次に、参照されるindex.htmlを別の場所のものにしようと考え、/etc/apache2/users/[ユーザ名].conf内の<Directory "/Users/[ユーザ名]/Sites/">の部分を<Directory "/Users/[ユーザ名]/Desktop/page">(pageディレクトリにはindex.htmlがある)に変更しました。
また、/etc/apache2/httpd.conf内のDocumentRoot "/Library/WebServer/Documents" <Directory "/Library/WebServer/Documents">の部分を"/Users/[ユーザ名]/Desktop/page"へ変更しました。
変更後apacheをリスタートすると、403 Forbiddenが表示されました。

#エラー排除のためにやったこと
エラーログを読み、権限の問題である可能性があると考えたのでUser,ユーザ名,Desktop,pageの全てのディレクトリに対してchmod a+xコマンドを実行しました。
また、/etc/apache2/httpd.conf内のDirectoryセクション内のRequireの部分の設定をRequire all grantedに変更しました。

#確認されるエラーログ
[Wed Feb 26 22:44:23.698154 2020] [autoindex:error] [pid 13684] [client ::1:56785] AH01276: Cannot serve directory /Users/[ユーザ名]/Sites/: No matching DirectoryIndex (index.html) found, and server-generated directory index forbidden by Options directive
[Wed Feb 26 22:44:23.746951 2020] [negotiation:error] [pid 13684] (1)Operation not permitted: [client ::1:56785] AH00686: cannot read directory for multi: /Users/[ユーザ名]/Desktop/page/, referer: http://localhost/~[ユーザ名]/

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

Mac OS 10.15.1
Server version: Apache/2.4.41 (Unix)

よろしくお願い致します。

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

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

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

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

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

guest

回答2

0

エラーが二つありますが、最初のやつは /Users/[ユーザ名]/Sites にアクセスできないと言ってますね。
/etc/apache2/extra/httpd-userdir.conf の UserDir SitesUserDir Desktop/page に変えてみてください。(ユーザーごとの設定じゃないので、他のユーザーも変わっちゃいますが、Mac だし他にユーザーいませんよね?)

二つ目は /Users/[ユーザ名]/Desktop/page にアクセスできないと言ってるので、権限を確認しましょう。

$ ls -ld ~ ~/Desktop ~/Desktop/page drwxr-xr-x@ (略) /Users/[ユーザ名] drwx--x--x@ (略) /Users/[ユーザ名]/Desktop drwxr-xr-x (略) /Users/[ユーザ名]/Desktop/page

/Users/[ユーザ名] と /Users/[ユーザ名]/Desktop に x があって、/Users/[ユーザ名]/Desktop/page に r-x があれば大丈夫なはず。(試してないけど。)

投稿2020/02/26 18:26

hoshi-takanori

総合スコア7895

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

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

jajaja

2020/02/29 04:49 編集

回答ありがとうございます。 提案していただいた通りに修正しましたが、403 Forbiddenのままです。 エラーログには、 `[Sat Feb 29 13:42:21.741919 2020] [negotiation:error] [pid 17298] (1)Operation not permitted: [client ::1:63262] AH00686: cannot read directory for multi: /Users/[ユーザ名]/Desktop/page/ [Sat Feb 29 13:42:21.789994 2020] [negotiation:error] [pid 17298] (1)Operation not permitted: [client ::1:63262] AH00686: cannot read directory for multi: /Users/[ユーザ名]/Desktop/page/, referer: http://localhost/~[ユーザ名]noAir` と出ています。 パーミッションの問題が解決していないと考え、 `ls -ld ~ ~/Desktop ~/Desktop/page`で確認すると出力が `drwxr-xr-x+ 46 [ユーザ名] staff 1472 2 29 12:39 /Users/[ユーザ名] drwxr-xr-x@ 23 [ユーザ名] staff 736 2 27 16:01 /Users/[ユーザ名]/Desktop drwxr-xr-x 3 [ユーザ名] staff 96 2 26 20:15 /Users/[ユーザ名]/Desktop/page ` となったため、パーミッションの問題は解決していると考えています。 他に何か思い当たる点はございませんでしょうか。
hoshi-takanori

2020/02/29 05:02

UNIX 的なパーミッションは大丈夫なはずですね。問題は、macOS Catalina で導入されたプライバシー機能だと思います。「システム環境設定」の「セキュリティとプライバシー」の「プライバシー」タブの「ファイルとフォルダ」のところってどうなってますか? https://support.apple.com/ja-jp/guide/mac-help/mchld5a35146/mac
jajaja

2020/02/29 05:12

回答ありがとうございます。 今確認しました。全てのチェックボックスにチェックがついていました。
Youichi256

2020/03/03 05:14

macOS依存だをよくわかりませんが、suでApacheと同じユーザになって、cd できるかなどを見ていくと何かわかるのではないでしょうか。
jajaja

2020/03/07 07:56

返信遅くなってしまい申し訳ありません。 初学者なので分からないのですが、apacheと同じユーザになって、cdできるかという部分をより詳細に教えていただけないでしょうか。
hoshi-takanori

2020/03/07 08:07

こちらこそ返事が遅くてすみません。macOS 独自のプライバシー機能だとすると apache ユーザーではなく apache のバイナリに対して設定する必要がある気がして、いいやり方が思いつかないので、妥協ですが UserDir Sites に戻した上で Desktop からシンボリックリンクするというのはいかがでしょうか?
Youichi256

2020/03/13 08:11

Apacheがapacheユーザで実行している場合、 su - apache cd /Users/[ユーザ名]/Desktop/page ですが、プライバシー機能が原因の場合はアクセス権はプログラムに依存しそうなので同じ状況にはできないかもしれません。 ところで、プライバシーの設定ですべてのチェックボックスにチェックがついていたとのことですが、対象アプリにApacheはあったのでしょうか?
jajaja

2020/03/25 10:39

返信が遅くなってしまい申し訳ありません。 結局UserDir Sitesに戻すことにしました。
guest

0

自己解決

結局デスクトップを参照させるのではなく、UserDir Sitesのまま実行することにしました。
問題の解決にはなっていないですが、自分は解決を諦めたのでこの質問は閉じさせていただきます。

投稿2020/03/25 10:41

jajaja

総合スコア17

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問