Не указан входной файл. после установки Roundcube

Я настраиваю новый vps (Debian 7) после установки apache, php и phpmyadmin. Сейчас я пытаюсь установить 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 как в файле php.ini, так и в файле conf для apache, но все равно получаю эту ошибку (я перезапустил 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>

person Martin Eden    schedule 30.06.2015    source источник


Ответы (1)


подсказка в сообщении об ошибке

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

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

Итак, что вам нужно сделать, это добавить путь roundcube в «разрешенные» пути.

См. это о том, как это сделать PHP open_basedir не работает в Apache, но работает в PHP во время выполнения

ЛЭ: Было бы лучше, если бы ты изменил это.

php_admin_value open_basedir none

в

php_admin_value open_basedir "/usr/share/roundcube/"
person Alex Andrei    schedule 30.06.2015
comment
Это не сработало, поэтому я решил переключить roundcube на Horde и получил внутреннюю ошибку сервера вместо «Не указан входной файл». Я решил это, отредактировав min_uid в suphp.conf на UID www-data, и теперь это работает . - person Martin Eden; 30.06.2015