我有一个现有的子域名subdomain.mysite.com,我使用SSL。我尝试在此子域上安装PHPasswordPusher,但我不确定如何正确地使用Apache。
我已按照提供的说明操作。例如,subdomain.mysite.com的DocumentRoot为/var/www/subdomain
,两个pwpusher目录位于/var/www/ppush
。我已经将安装说明中给出的代码完全添加到相应的VirtualHost中,并且我已经按照指定编辑了代码以指向所有内容的正确目录。但是,当我尝试转到子域上的Alias目录时,我得到了404。 (是的,我重新启动了Apache。)
如何让给定的Apache配置在现有的VirtualHost中运行? VirtualHost的完整代码如下所示,针对我上面给出的位置进行了编辑。
<VirtualHost *:80 *:443>
ServerName subdomain.mysite.com
ServerAdmin emailaddress@host.com
DocumentRoot /var/www/subdomain
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
SSLEngine on
SSLProtocol all -SSLv3
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
SSLCertificateFile /path/to/cert.crt
SSLCertificateKeyFile /path/to/key.key
SSLCertificateChainFile /path/to/cert2.pem
##### PHPasswordPusher #####
Alias /pwpusher/ /var/www/ppush/pwpusher_public/
<Directory /var/www/ppush/pwpusher_public/>
AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex pw.php
</Directory>
<Directory /var/www/ppush/pwpusher_private/>
AllowOverride None
Order deny,allow
Deny from all
</Directory>
</VirtualHost>
答案 0 :(得分:1)
使用配置的所有内容看起来都不错,*:80
的{{1}}除外,它会生成&#34;错误请求&#34;使用VirtualHost
打开URL时出错(我建议您将SSL指令移至http://
),但不是404错误的原因。
有点粗糙,但您可以尝试通过运行
来了解Apache真正访问的目录<VirtualHost *:443>
然后打开页面。在最后一行中你应该看到类似的东西:
strace -p $(pgrep apache2 | xargs | sed 's/ / -p /g')