更改Yosemite Apache 2.4的localhost目录

时间:2014-10-21 12:30:31

标签: macos apache apache2 osx-yosemite apache2.4

我已经安装了干净的Mac OSX Yosemite,但是我无法配置Apache 2.4,就像我在旧的OSX版本上一样。

这是我想要做的:将“localhost”目录设置为“/ Users / username / Public /”。 但是,我尝试的一切都行不通,我总是得到一个“Forbiden,无法访问/”或者我得到默认的“它有效!”页...

如何简单地重新连接我的localhost?

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”文件中,取消注释所有这两行:

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

第236行,将“DocumentRoot”的目录更改为您想要的任何内容。 第250行,将“选项”设置为“选项”选项索引FollowSymLinks Multiviews“。 第258行,将“AllowOverride None”设置为“AllowOverride All”。 第263行,将“要求全部拒绝”设置为“要求全部授予”

在终端中,键入“sudo apachectl restart”重新启动apache。

在Mac OS X 10.10优胜美地清洁安装中,它适用于我。

2 个答案:

答案 0 :(得分:42)

我刚刚安装了优胜美地,我设法改变了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 webmaster@example.local
   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

答案 1 :(得分:10)

在El Capitan上你应该用“-k”标志重启apache: sudo apachectl -k restart