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

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

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

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

Linux

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

MacOS(OSX)

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

Q&A

1回答

1952閲覧

macOSプリインストapache2.4でバーチャルホストが拒否られます(403)

Fujiman

総合スコア41

Apache

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

Linux

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

MacOS(OSX)

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

0グッド

0クリップ

投稿2021/04/24 02:24

編集2021/04/24 12:36

ここで聞いていいことかどうかわからないのですが教えて下さい。
すごく久しぶりに自分のMacでいくつかホスト設定をしたくて以下のようにやったのですが
Forbiddenになってしまいます。(以前はこれでできてたと思うのですが)
どのあたりを修正すれば正常になるでしょうか?
ココで探してみたのですが見つからず困っています。

環境

macOS Big Sur 11.2
Apache/2.4.46 (Unix)

apache設定ファイルフォルダ
/private/etc/apache2/
サイト用フォルダ構成
~/Sites/myhost/indesx.html
ログインユーザー名
ukonn

作業内容

① /private/etc/apache2/httpd.conf 編集
以下をコメントイン

LoadModule include_module libexec/apache2/mod_include.so

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml .html
LoadModule userdir_module libexec/apache2/mod_userdir.so
Include /private/etc/apache2/extra/httpd-userdir.conf
Include /private/etc/apache2/extra/httpd-vhosts.conf

② /private/etc/apache2/extra/httpd-userdir.conf 編集
以下をコメントイン

Include /private/etc/apache2/users/*.conf

③/private/etc/apache2/extra/httpd-vhosts.conf 編集
以下を追加

Listen 8080

<VirtualHost *:8080>
DocumentRoot "/Users/ukonn/Sites/myhost"
ServerName vhost.local
<Directory "/Users/ukonn/Sites/myhost">
Require all granted
DirectoryIndex index.html
Options Includes
</Directory>
</VirtualHost>

④/etc/hosts 編集**

127.0.0.1 localhost

127.0.0.1 vhost.local
255.255.255.255 broadcasthost
::1 localhost
::1 vhost.local

⑤/private/etc/apache2/users/ukonn.conf 作成

<Directory "/Users/ukonn/Sites">

Options Indexes FollowSymLinks Multiviews
AllowOverride all
Require all granted
</Directory>

⑥apache再起動

sudo apachectl restart

http://vhost.local:8080/

Error

1Forbidde You don't have permission to access this resource.Server unable to read htaccess file, denying access to be safe

「.htaccess」が読めない?とかメッセージにあるのでためしに以下を~/Sites/においてみてもダメでした

htaccess

1order allow,deny 2allow from all

###フォルダ、ファイルの権限状況

drwxr-xr-- 4 ukonn staff Sites

drwxr-xr-x 4 ukonn staff myhost
-rw-r--r--@ 1 ukonn staff index.html

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

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

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

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

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

CHERRY

2021/04/24 08:06

`/Users/ukonn` のパーミッションは、どうなっていますか?
Fujiman

2021/04/24 08:54

drwxr-xr-x@ 11 root wheel Users drwxr-xr-x+ 34 ukonn staff ukonn となっております
guest

回答1

0

drwxr-xr-- 4 ukonn staff Sites

ドキュメントルートと思しきSitesディレクトリにパーミッション(otherのx権)がないのが直接的な原因にも思えますが。
ただ、httpdプロセスをどのユーザ権限で動かそうとしているのか ( デフォルトのままなら何ユーザなのか…httpd.conf の User ディレクティブの設定値 )
フォルダ、ファイルの権限状況とありますが、それはどこのディレクトリの話なのか。また、上位ディレクトリに関してはどうなのか。
そのあたり情報が足りないので、書き足してください。

(追記)
User _www, Group _www という設定のもと補足します。
これは httpd がどのユーザ・グループ権限で動作するかという設定(バーチャルホスト構成に関わらず)ですので、今回のように ukonn:staff 所有のデータにアクセスさせるのであれば、ファイル・ディレクトリから見て other に相当するため、各ディレクトリの x権、ファイルの r権は必須です。

少なくとも Sitesディレクトリの other に x権が無かったのは問題でしたし、Sitesの上位の ~ukonn 自体、Sites 以下のサブディレクトリ、全て other の x権をつけておく必要があります。もちろんファイルの r権もです。
※ディレクトリリスティングさせるなら、ディレクトリの r権も必要

もしコンテンツデータが全て ukonn:staff 管理なのであれば、User,Group の設定自体を変えてしまうというのも1つの手です。その場合 other の権限は不要になります。

投稿2021/04/24 03:58

編集2021/04/24 08:22
angel_p_57

総合スコア1681

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

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

Fujiman

2021/04/24 07:53

ありがとうございます。 サイト用フォルダの構成はホームフォルダの下にSitesフォルダを設置しそれをルートとして使おうとしています ~/Sites/myhost/indesx.html /Sites/をdrwxr-xr-xにしました。 またhttpd.confのUserディレクティブの設定は現時点で以下のようになっています User _www Group _www ただこのディレクティブは仮想ホストには関係ないのかなと思っていたので初期値から変えていません
angel_p_57

2021/04/24 08:23

頂いた情報に基づき追記しました。
Fujiman

2021/04/24 08:49

ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問