2

我在 Webmin 上使用 Virtualmin 在 VPS 上配置我的网站。

一切正常,但现在我尝试创建一个新域,但是当我将文件放入其中时,它public_html会提供 php 文件下载而不是执行它。如何解决这个问题

这是我的 apache 配置(找不到任何奇怪的东西):

/etc/apache2/sites-available/testbyc.--.nu.conf

SuexecUserGroup "#1009" "#1011"
ServerName testbyc.--.nu
ServerAlias www.testbyc.--.nu
ServerAlias webmail.--.--.nu
ServerAlias admin.testbyc.--.nu
DocumentRoot /home/byc/domains/testbyc.--.nu/public_html
ErrorLog /var/log/virtualmin/testbyc.--.nu_error_log
CustomLog /var/log/virtualmin/testbyc.--.nu_access_log combined
ScriptAlias /cgi-bin/ /home/byc/domains/testbyc.--.nu/cgi-bin/
ScriptAlias /awstats/ /home/byc/domains/testbyc.--.nu/cgi-bin/
DirectoryIndex index.html index.htm index.php index.php4 index.php5
<Directory /home/byc/domains/testbyc.--.nu/public_html>
Options -Indexes +IncludesNOEXEC +SymLinksIfOwnerMatch +ExecCGI
allow from all
AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
AddHandler fcgid-script .php
AddHandler fcgid-script .php5
FCGIWrapper /home/byc/domains/testbyc.--.nu/fcgi-bin/php5.fcgi .php
FCGIWrapper /home/byc/domains/testbyc.--.nu/fcgi-bin/php5.fcgi .php5
</Directory>
<Directory /home/byc/domains/testbyc.--.nu/cgi-bin>
allow from all
AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
</Directory>
RewriteEngine on
RewriteCond %{HTTP_HOST} =webmail.testbyc.--.nu
RewriteRule ^(.*) https://testbyc.--.nu:20000/ [R]
RewriteCond %{HTTP_HOST} =admin.testbyc.--.nu
RewriteRule ^(.*) https://testbyc.--.nu:10000/ [R]
php_admin_value engine Off
IPCCommTimeout 31
FcgidMaxRequestLen 1073741824
<Files awstats.pl>
AuthName "testbyc.--.nu statistics"
AuthType Basic
AuthUserFile /home/byc/domains/testbyc.--.nu/.awstats-htpasswd
require valid-user
</Files>
RedirectMatch /cgi-bin/mailman/([^/\.]*)(.cgi)?(.*) https://testbyc.--.nu:10000/virtualmin-mailman/unauthenticated/$1.cgi$3
RedirectMatch /mailman/([^/\.]*)(.cgi)?(.*) https://testbyc.--.nu:10000/virtualmin-mailman/unauthenticated/$1.cgi$3
Alias /pipermail /var/lib/mailman/archives/public
4

2 回答 2

9

尝试注释掉该行

php_admin_value engine Off

这与我仍在研究的一个更大的问题有关,但最近对 Virtualmin 的更新将该行添加到了一些与 FCGI 相关的配置文件中,从而为一些用户破坏了一些东西。

于 2013-02-04T21:14:17.060 回答
3

正如接受的答案所说,注释掉

php_admin_value engine Off

我们在将站点从使用 PHP 5.X 的 Virtualmin Install 移动到使用 PHP 7.1 的新服务器时遇到了这个问题。

发生的事情是 PHP7.1 的默认配置如下

<IfModule mod_userdir.c>
<Directory /home/*/public_html>
    php_admin_flag engine Off
</Directory>
</IfModule>

这通过将该标志添加到所有本地 .conf 文件来阻止 virtualmin 在用户目录中运行 PHP 脚本。

php7.conf 文件/etc/apache2/mods-available/php7.conf也有以下内容

SetHandler application/x-httpd-php

这导致所有子站点都使用进程 www-data 而不是 virtualmin 用户运行。导致写访问错误。所以也把它注释掉。

于 2017-09-14T02:32:36.883 回答