2014-01-13 73 views
0

我想在本地主机上运行apache的文件夹设置基本身份验证。目前该应用运行良好,没有身份验证我已经建立了虚拟主机,所以我可以通过dev.myapp.com访问我的应用程序Apache本地主机身份验证

我添加到我的.htaccess文件强制认证的代码是:

<Directory "/Users/myusername/Sites/dev.myapp.com"> 
    AuthType Basic 
    AuthName Test 
    AuthBasicProvider file 
    AuthUserFile /etc/apache_users 
    Require valid-user 
</Directory> 

我创建了一个用户。

当我在浏览器中输入dev.myapp.com时,出现内部服务器错误。我对Apache很新。正确的方向点将不胜感激。

谢谢。

+0

注意,我试着把这个放在myuser.conf文件中,但是这只是让应用程序加载(没有身份验证弹出窗口) –

回答

1

首先,使用.htaccess有点慢,需要您相应地设置AllowOverride指令。建议您使用httpd.conf来建立基本身份验证。 Apache文档解释了所有这些,请查看此链接http://httpd.apache.org/docs/2.2/howto/auth.html

无论如何,我想我会看到错误。您的<Directory>标签看起来有点奇怪。我了解您的网站的名称是dev.my.app.com,但是您的服务器上的网站dev.myapp.com指向的文件夹的实际名称是? httpd.conf文件应该有一个这样的条目:

<VirtualHost *> 
DocumentRoot "document/root/path" 
Other directives here 
</VirtualHost> 

DocumentRoot就是Apache的引导所有传入的网络流量。如果您尝试为整个网站建立身份验证,则DocumentRoot的值很可能是您希望在目录标记中使用的值......使其为<Directory /document/root/path>

要找到httpd.conf请看/etc/apache2/。确保在更改文件后重新启动服务器(sudo /etc/init.d/apache2 restart)。希望有帮助,如果您尚未解决问题,请更新。