これは、apacheがapacheユーザーとして実行され、AmazonLinuxAMIの/var/www/html
rootが所有しているためです。Frankの提案に従って所有権/権限を変更するか、userdirsを使用できます。
Webサーバーのフォルダにホームディレクトリから簡単にアクセスできるようにしたいと思います(~
)。EC2でこのようなものが欲しかったので、ユーザーごとのWebディレクトリ(mod_userdir)を使用することにしました。
この機能を使用すると、HTTPサーバーのスペースの一部をユーザーが所有するディレクトリに保持できます。各ユーザーは、デフォルトでにある独自のディレクトリを取得します/home/username/public_html
。そのディレクトリ内のページ、スクリプト、およびその他のファイルは/~username
、ドメインに追加することでインターネットにアクセスできます。さらに、httpd.conf内のそのフォルダの名前を、などの別の名前に変更できpublic_html
ますgitRepo
。その場合、にindex.html
ファイルがあると、ec2-user/home/ec2-user/gitRepo/index.html
を介して一般にアクセス可能になり、http://ec2-hostname.aws.amazon.com/~ec2-user/index.html
所有されます。これは、ユーザーレベルからファイルを編集するのに便利です。
EC2でこれを設定するには(使用するフォルダー名に「gitRepo」を想定)、を使用nano /etc/httpd/conf/httpd.conf
してApache構成ファイルを開き、が表示されるまで下にスクロールします<IfModule mod_userdir.c>
。次に、このセクションを次のように変更します。
<IfModule mod_userdir.c>
#
# UserDir is disabled by default since it can confirm the presence
# of a username on the system (depending on home directory
# permissions).
#
UserDir enabled all
#
# To enable requests to /~user/ to serve the user's public_html
# directory, remove the "UserDir disabled" line above, and uncomment
# the following line instead:
#
UserDir gitRepo
</IfModule>
その後は問題ありませんが、権限が正しく設定されていることを確認してください。
chmod 711 /home/ec2-user
chmod 755 /home/ec2-user/gitRepo
chown -R ec2-user /home/ec2-user/gitRepo
そして最後に次のようにWebサーバーをリロードします。
sudo service httpd reload