サイトディレクトリへの同期時の権限の問題

サイトディレクトリへの同期時の権限の問題

ローカル マシンで Web 開発を行っているときに、権限が正しくなり、Web ブラウザーで表示できるようになるため、OS X 上の ~/Sites/ ディレクトリを使用してディレクトリをシンボリック リンクする方法はありますかln?

ln -s ~/code/web/yolkportfolio ~/Sites/yolkportfolioこれは私がchmod 755ディレクトリに対して行ったことですが、まだ読み取れません。

ご協力いただければ幸いです。

答え1

問題は私の Apache 設定にありました。これが動作を可能にしたルールですFollowSymLinks

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

答え2

いくつかの選択肢があります:

1.apache別のユーザー(あなたではない)で実行していて、 をDocumentRootあなたのホーム内のディレクトリに確実にポイントしたい場合は、ホームディレクトリの権限(デフォルトは750または700)を変更する必要があります。755

これがあなたのラップトップまたは個人用コンピューターであり、他の人がアクセスできない場合にのみ、これをお勧めします。

2.最初の方法はオプションではありませんが、それでも をDocumentRoot自宅内に置きたい場合は、 を実行するユーザーを変更できます。 構成ファイルを編集して、ディレクティブと をapache探します。UserGroup

3.2 番目はまだオプションではありませんが、それでも... 家の中に物を置いておきたいのです。Apache の mod_userdir を使用します。設定は次のようになります。

<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
                AllowOverride FileInfo AuthConfig Limit Indexes
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
                <Limit GET POST OPTIONS>
                        Order allow,deny
                        Allow from all
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Order deny,allow
                        Deny from all
                </LimitExcept>
        </Directory>
</IfModule>

これは Debian 上の Apache の mod_userdir のデフォルト設定です。次のものにアクセスできるようになります:

/home/your-username/public_html/*

ブラウザで次のアドレスにアクセスしてください。

http://somewhere/your-username/*

4.最後に、DocumentRoot別の場所 ( /srv/www/opt/wwwまたは任意の場所) に配置し、必要に応じて権限を設定できます。

関連情報