web-dev-qa-db-ja.com

サイトディレクトリにシンボリックリンクを作成する

~/Sitesディレクトリーにファイルがあり、coderama.local/~coderama/index2.phpを使用して参照すると正常に機能します

トリッキーになり、index2.phpファイルをシステム上の別の場所に移動したいので、シンボリックリンクを作成してこれを行います。ただし、coderama.local/~coderama/index2.phpにアクセスしようとすると、次のエラーが表示されます。

アイデアはありますか?

ありがとう!

禁じられた

このサーバーの/~coderama/index2.phpにアクセスする権限がありません。

58
Coderama

これは設定可能なApacheオプションです。 Mac(およびおそらくほとんどのインストール)では、デフォルトでApacheはシンボリックリンクをたどらないように構成されているようです。私は(他の人が上記で言及したように)それがセキュリティ目的のためだと推測しています。

ただし、特に特定の種類のアプリの開発中に、シンボリックリンクをたどることができると便利な場合があります。必要なことは、1)以下のシンボリックリンクを許可するようにApache構成を変更し、2)Apacheを再起動することです。

設定手順は次のように実行されます。

a)cd/etc/Apache2(これは、Apacheの構成ファイルがMacでデフォルトで存在する場所です)

b)ここにいくつかのディレクトリが表示されます。 1つはユーザーと呼ばれます

c)cdユーザー

d)lsはあなたのログイン名で.confファイルを表示するはずです(login。conf)私は "marvo"なので、私の名前は "marvo.conf"です

e)このファイルを編集します(私はviを使用します)-ただし、Sudoを使用して行う必要があります。

Sudo vi marvo.conf

f)次のように表示されます

<Directory "/Users/marvo/Sites/">
    Options Indexes MultiViews 
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

g).FollowSymLinksオプションを追加して、その.confファイルの2行目が次のようになるようにします。

Options Indexes MultiViews FollowSymLinks

(他の設定オプションは「ネットで見つけることができます。このページを見つけました: http://httpd.Apache.org/docs/2.0/mod/core.html#directory

h)ファイルを保存します。

次に、Apacheを再起動して、構成の変更を取得する必要があります。少し調べてみると、これはコマンドラインから次のコマンドを使用して最も簡単に実行できることがわかりました。

Sudo /usr/sbin/apachectl restart

http://mcapewell.wordpress.com/2006/09/22/restart-Apache-in-mac-os-x/ で発見)

これで、シンボリックリンクはサイトページで正常に機能するはずです。

101
Marvo

同じ問題がありました。残念ながら、Marvoの答えは十分ではありませんでした。

問題は、~/から始まるパス内のすべてのフォルダーに設定された権限にあります。ディレクトリツリーを再帰できるようにするには、ディレクトリにexecuteフラグを設定する必要があります。したがって、私の場合、テーマフォルダーを~/Dropbox/projects/themeからwordpress install on ~/Site/wordpress。]にシンボリックリンクしました。

答えは:

chmod a+x ~/Dropbox/
chmod a+rx ~/Dropbox/projects

これは古い問題ですが、誰かがこのページにアクセスした場合、役に立つかもしれません。 :)

56
agarie

セキュリティ問題のようです(マットも提案)

http://discussions.Apple.com/thread.jspa?threadID=1771399

5
Coderama

マルボの答えに加えて。私が助けたのはドキュメントのアクセス権を変更するフォルダ:

cd ~
chmod a+rx Documents/
1
Gal Bracha

特定の理由は覚えていませんが、うまくいきません。これはセキュリティの問題です。 XAMPP http://www.apachefriends.org/en/xampp-macosx.html またはMAMP を使用できますこれを回避するには、http://www.mamp.info/en/index.html を参照してください。

1
Matt Williamson

また、httpd-vhosts.confにディレクティブがあることを確認してください

それ以外の場合、「ブラウザで禁止されている403」と同じエラーが表示され、「エラーログでサーバー構成によってクライアントが拒否されました。

0
snowbound