3

ubuntu 12.04 と apache (どちらも新しい) を使用しており、新しい仮想ディレクトリを追加したいので、ファイルを変更し/etc/apache2/sites-available/default、以下を追加します。

Alias /docs/ "/home/kk/workspace/javascript/maplib/"
<Directory "/home/kk/workspace/javascript/maplib/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
</Directory>

次に、ブラウザで URL を開くhttp://localhost/docs/と、次のメッセージが表示されます。

You don't have permission to access /docs/ on this server.

次に、ファイル/フォルダーのアクセス許可が原因である可能性があると思います。したがって、次のread方法ですべてのユーザーにパーミッションを追加します。

sudo chmod a+r /home/kk/workspace/javascript/maplib/

それから私は走ります

ls -ld ~/workspace/javascript/maplib/ 

そして私はこれを得ました:

drwxr--r-- 14 kk kk 4096 Mar 11 08:36 /home/kk/workspace/javascript/maplib/

ご覧のとおり、すべてのユーザーがreadディレクトリへのアクセス権を持っている必要がありますが、何も変更されていません(403メッセージも表示されます)。

次に、の許可を見つけようとすると、次の/var/wwwようになります。

drwxr-xr-x 2 root root 4096 Mar  8 15:33 /var/www

フォルダに権限を追加するだけのようですexecuteが、これは問題ではないと思います。

それで、何が起こっているのですか?


/docsところで、apache がと/docs/を 2 つの異なる URL で識別するのはなぜですか? なんとかなる404からlocalhost/docs

4

1 に答える 1

2

Apache インストールでは、アクセスは etc/apache2/envars を使用して制御され、etc/apache2/apache2.conf に実装されています。

/etc/apache2/apache2.conf では、ファイルの半分ほど下に次の行があります。

#These need to be set in /etc/apache2/envars
    User ${APACHE_RUN_USER}
    Group ${APACHE_RUN_GROUP}

/etc/apache2/envars にあります

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data 

Web サーバーがアクセスするディレクトリは、Web サーバーを実行しているグループにある必要があります。グループの権限を確認し、必要に応じて修正することをお勧めします。これらが正しく設定されている場合は、戻ってきて Apache アクセス ログを投稿してください。

于 2013-03-11T21:03:51.447 に答える