web-dev-qa-db-ja.com

Yosemite Apache 2.4のlocalhostディレクトリを変更する

Mac OSX Yosemiteをクリーンインストールしましたが、古いOSXバージョンで常に行っているようにApache 2.4を構成できません。

私がしたいことは次のとおりです。「localhost」ディレクトリを「/ Users/username/Public /」に設定します。しかし、私が試みたすべてが機能しない、私は常に「Forbiden、アクセスできません/」を取得するか、デフォルトの「It works!」を取得しますページ...

ローカルホストを単にルート変更するにはどうすればよいですか?

THX

編集(回答についてはKrister Anderssonに感謝)

Mac OSX 10.10 Yosemiteの場合

また、物事を実行し続けるために必要な変更も投稿します。

「/ etc/Apache2/users /」に、「myUsername.conf」のようなユーザー名で名前を付けたファイルを作成しました。

ターミナルで「id」と入力すると、ユーザー名を取得できます。 「uid = 501(myUsername)」で開始時にユーザー名を見つける必要があります。

この新しい「myUsername.conf」ファイルで、これを過ぎてコピーします。

<Directory "/Users/myUsername/Sites/">
    AllowOverride All
    Options Indexes MultiViews
    Options +FollowSymLinks
    Require all granted
</Directory>

myUsername値を変更することを許さないでください。

次に、「/ etc/Apache2/httpd.conf」ファイルで、次の2行すべてのコメントを解除します。

167 #LoadModule userdir_module libexec/Apache2/mod_userdir.so
169 #LoadModule php5_module libexec/Apache2/libphp5.so

236行目で、 "DocumentRoot"のディレクトリを必要なものに変更します。 250行目、「Options」を「Options」「Options Indexes FollowSymLinks Multiviews」に設定。258行目、「AllowOverride None」を「AllowOverride All」に設定。263行目、「Require all denied」を「Require all granted」に設定

ターミナルで、「Sudo apachectl restart」と入力してApacheを再起動します。

Mac OS X 10.10 Yosemiteのクリーンインストールで動作します。

31
Jordan

Yosemiteをインストールしたばかりで、DocumentRootを問題なく変更できました。まず、/private/etc/Apache2/httpd.confの次の行を変更しました。

DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">
Options FollowSymLinks Multiviews

AllowOverride None
</Directory>

に:

DocumentRoot "<CUSTOM_PATH>"
<Directory "<CUSTOM_PATH>">
Options Indexes FollowSymLinks Multiviews

AllowOverride All
</Directory>

上記はカスタムDocumentRootを設定し、ディレクトリ一覧を有効にし、.htaccessファイルによって設定を上書きできるようにします。

次に、Sudo apachectl restartを実行してApacheを再起動しました。

別のアプローチは、仮想ホストをセットアップすることです。まず、/private/etc/Apache2/httpd.confファイルの次の行のコメントが外されていることを確認してください。

# Virtual hosts
#Include /private/etc/Apache2/extra/httpd-vhosts.conf

次に、httpd-vhosts.confファイルに以下を追加できます。

<VirtualHost *:80>
   ServerAdmin [email protected]
   DocumentRoot "/Library/WebServer/Documents"
   ServerName example.local
   ErrorLog "/private/var/log/Apache2/example.local-error_log"
   CustomLog "/private/var/log/Apache2/example.local-access_log" common

   <Directory "/Library/WebServer/Documents">
     Options Indexes FollowSymLinks Multiviews
     AllowOverride All
     Order allow,deny
     Allow from all
   </Directory>
</VirtualHost>

上記は、example.localという名前の新しい仮想ホストのドキュメントルートをセットアップし、ディレクトリリストを有効にし、.htaccessファイルによって構成を上書きできるようにします。もちろん、変更を有効にするにはApacheも再起動する必要があります。

Sudo apachectl restart
42
Cyclonecode

El Capitanでは、「-k」フラグを使用してApacheを再起動する必要があります。Sudoapachectl -k restart

10
Dima Murdock