1

在安装 apache、php 和 phpmyadmin 之后,我正在配置一个新的 vps (Debian 7)。我现在正在尝试安装roundcube,但是"No input file specified."在尝试在线访问它时,我得到了一个带有消息的空白页面。

我在日志中收到以下错误:

mod_fcgid: stderr: PHP Warning:  Unknown: failed to open stream: Operation not permitted in Unknown on line 0
mod_fcgid: stderr: PHP Warning:  Unknown: open_basedir restriction in effect. File(/usr/share/roundcube/index.php) is not within the allowed path(s): (/var/www/clients/client0/web1/web:/var/www/clients/client0/web1/private:/var/www/clients/client0/web1/tmp:/var/www/site.com/web:/srv/www/site.com/web:/usr/share/php5:/usr/share/php:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin) in Unknown on line 0

我试图open_basedir在 apache 和 conf 文件中都禁用php.ini,但我仍然收到此错误(我重新启动了 apache)。也许 open_basedir 不是问题;许可,符号链接?


apache.conf:

# Those aliases do not work properly with several hosts on your apache server
# Uncomment them to use it or adapt them to your configuration
#    Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce/www/
#    Alias /roundcube /var/lib/roundcube

Alias /interfacewebmail /var/lib/roundcube

# Access to tinymce files
<Directory "/usr/share/tinymce/www/">
      Options Indexes MultiViews FollowSymLinks
      AllowOverride None
      Order allow,deny
      allow from all
</Directory>

<Directory /var/lib/roundcube/>
    Options +FollowSymLinks
    php_admin_value open_basedir none
    DirectoryIndex index.php

    <FilesMatch "\.php[345]?$">
    SetHandler fcgid-script
    </FilesMatch>

    FCGIWrapper /var/www/php-fcgi-scripts/web1/.php-fcgi-starter .php
    FCGIWrapper /var/www/php-fcgi-scripts/web1/.php-fcgi-starter .php3
    FCGIWrapper /var/www/php-fcgi-scripts/web1/.php-fcgi-starter .php4
    FCGIWrapper /var/www/php-fcgi-scripts/web1/.php-fcgi-starter .php5
    Options +ExecCGI

  # This is needed to parse /var/lib/roundcube/.htaccess. See its
  # content before setting AllowOverride to None.
  AllowOverride All
  order allow,deny
  allow from all
</Directory>

# Protecting basic directories:
<Directory /var/lib/roundcube/config>
        Options -FollowSymLinks
        AllowOverride None
</Directory>

<Directory /var/lib/roundcube/temp>
        Options -FollowSymLinks
        AllowOverride None
    Order allow,deny
    Deny from all
</Directory>

<Directory /var/lib/roundcube/logs>
        Options -FollowSymLinks
        AllowOverride None
    Order allow,deny
    Deny from all
</Directory>
4

1 回答 1

0

线索在错误信息中

mod_fcgid: stderr: PHP Warning:  Unknown: open_basedir restriction in effect. 

File(/usr/share/roundcube/index.php) is not within the allowed path(s):

所以你需要做的是将圆形立方体路径添加到“允许”路径中

请参阅this on how to do just that PHP open_basedir 在 Apache 中损坏但在运行时在 PHP 中工作

LE:如果你改变它会有所帮助

php_admin_value open_basedir none

进入

php_admin_value open_basedir "/usr/share/roundcube/"
于 2015-06-30T17:20:41.467 回答