あいしんくいっとオススメ商品レビュー

Apacheでドキュメントルート以外のディレクトリを公開する方法

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

本記事対象者
Apacheでドキュメントルート以外のディレクトリを公開する方法について知りたい方

ども。あいしんくいっと(@ithinkitnet)です。

Apacheでは基本的にDocumentRoot(ドキュメントルート)以下のコンテンツが公開されます。
でも、ドキュメントルート以外のディレクトリを公開したいこともあります。
Aliasディレクティブを使えばサクッと公開可能なのですが、どうも忘れがちで・・・。

と言うわけで、ドキュメントルート以外のディレクトリを公開する方法について書いておきたいと思います。

Apacheでドキュメントルート以外のディレクトリを公開する方法

Apacheのドキュメントルートはデフォルトだと/var/www/htmlが設定されています。

/etc/httpd/conf/httpd.conf

# DocumentRoot: The directory out of which you will serve your
DocumentRoot "/var/www/html"

ドキュメントルート以外を公開

Apacheのドキュメントルート以外を公開したい場合、AliasとDirectoryのディレクティブを組み合わせて使用することによって、サブディレクトリの公開がすることが出来ます。例えば、/home/hoge以下を公開したい場合の設定はこんな感じ。
/etc/httpd/conf/httpd.confに以下、追記。

/etc/httpd/conf/httpd.conf

Alias /hogehoge "/home/hoge"
<Directory "/home/hoge">
    AllowOverride None
    Require all granted
</Directory>

Apache再起動

Apache再起動

# systemctl reload httpd

※ 「restart」でも可能

ディレクトリ所有者、所有グループの変更

Apacheでアクセス出来るよう、Aliasで設定したディレクトリの所有権を変更。

所有者、所有グループ権限変更

# chown hoge.apache /home/hoge
# ls -ld /home/hoge
drwxr-xr-x 2 hoge apache 101 12月 22 22:25 /home/hoge
注意

ディレクトリ、コンテンツの所有者をapacheユーザに変更しておかないと「Forbidden」となり、アクセス不可となるので注意。

Aliasディレクティブで設定したディレクトリにアクセス出来ることを確認。

Point

ブラウザで実際にアクセスして確認しても良いのですが、一時的にapacheユーザにシェルを持たせて権限チェックするのも便利です。

一時的にapacheユーザでコマンド実行

# su - --shell=/bin/bash apache
-bash-4.1$ id
uid=48(apache) gid=48(apache) groups=48(apache)

ithinkit

Apacheのドキュメントルート以外を公開したい場合、AliasとDirectoryディレクティブを組み合わせて使う。
覚えておきましょう。

以上、あいしんくいっとでした(๑╹ω╹๑ )

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)