AlmaLinuxにhttpd(Apache)をインストール。UserDirを有効にしたのに「403 Forbidden」が出るときは…。
AlmaLinuxでウェブサーバを設定します。最低限の動作に必要なパッケージをインストール。
インストールが完了したら httpd サービスを起動します:
システム起動時にhttpdを自動起動したかったら:
…としておきます。
次に、ユーザディレクトリを有効化、すなわち、
にアクセスすると、
の内容を表示するように設定します。
設定ファイル userdir.conf をエディタで開いて:
すべてのユーザの public_html を開けるのであれば、
…と、これだけで大丈夫。変更したファイルを保存したら、httpd を再起動。
そうしたら public_html にお試し用の index.html ファイルを作成してみる。中身はもう適当に…
<html>
<head>
<meta charset="UTF-8">
<title>テスト</title>
</head>
<body>
<p>テストページです。</p>
</body>
</html>
…と、こんな感じで。index.html を保存したら、ウェブブラウザで http://ドメイン名/~ユーザ名 にアクセスしてみる。ページが表示されれば問題ないのだけれど、
You don't have permission to access this resource.
と、403エラーが出る場合があるかもしれない。
これを解消するために、まずはホームディレクトリと public_html ディレクトリのパーミッションを確認・修正します。
先程編集した userdir.conf にちゃんと注意書きが書かれています。
- /home/ユーザ名 ディレクトリのパーミッションは711 でなくてはならない。
- /home/ユーザ名/public_html ディレクトリのパーミッションは 755 でなくてはならない。
つまり:
chmod 755 /home/ユーザ名/public_html
としてやって、もう一度ウェブブラウザで http://ドメイン名/~ユーザ名 にアクセスしてみると…。
まだ、403 Forbidden が出るかもしれない。原因として、SELinuxが有効化されていることが考えられるのでチェック。次のコマンドを実行します:
"Enabled" と表示されたら SELinux が有効なので、これを無効にする設定を行います。
で設定ファイルを開いて…
の部分を、
に書き換えて保存。そしてシステムを再起動。
これでユーザディレクトリの public_html が見えるようになる筈。
コメント