8

これは私が達成しようとしていることです:var/www/htmlホーム ( ~) フォルダー内のディレクトリへのシンボリック リンクを作成します。ホームでシンボリックリンクしようとしているディレクトリ ( ~) は、違いがある場合は git リポジトリです。このディレクトリに index.html ファイルがあります。

このコマンドを使用して、Amazon EC2 インスタンスで var/www/html へのシンボリック リンクを作成しましたln -s ~/dirIWant/ html:403 Forbidden "You don't have permission to access / on this server."

他の誰かが同様のことを試みて、それを機能させましたか?

現在、自分の Web サイト www.blah.com にアクセスすると、この 403 エラーが表示されます。を使用して権限を変更しようとしましたsudo chown -h apache:apacheが、役に立たないようです。他にアイデアはありますか?

4

2 に答える 2

7

これは、apacheがapacheユーザーとして実行され、AmazonLinuxAMIの/var/www/htmlrootが所有しているためです。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
于 2012-07-30T22:15:40.513 に答える