действующее ограничение open_basedir и поддоменов - PullRequest
0 голосов
/ 07 сентября 2011

Из соображений безопасности я поместил папку yii под корнем html, поэтому моя структура выглядит следующим образом

/conf
/httpdocs
/httpsdocs
/yii

при запуске сайта я получаю сообщение об ошибке open_basedir, в результате которого yii.php, который вызывается index.php из httpdocs, не находится в разрешенном пути. Поскольку этот сайт является поддоменом, могу ли я редактировать vhosts.conf основного домена или поддомена?

Какими будут правильные настройки, чтобы разрешить

/var/www/vhosts/example.com/subdomains/mysubdomain/yii 

Путь к доступности?


EDIT

Итак, мой /var/www/vhosts/example.com/conf/vhost.conf файл теперь выглядит так:

AddHandler fcgid-script .php
<Directory /var/www/vhosts/example.com/httpdocs>
php_admin_value open_basedir ".:/var/www/vhosts/example.com/subdomains/mysubdomain/httpdocs:/tmp/:/var/www/vhosts/example.com/subdomains/mysubdomain/yii"
FCGIWrapper /var/www/vhosts/example.com/bin/php-cgi .php
Options +ExecCGI +FollowSymLinks
allow from all
</Directory>

Я перенастроил и перезапустил веб-сервер, но все равно получаю сообщение об ошибке:

Warning: require_once() [function.require-once]: open_basedir restriction in effect. 
File(/var/www/vhosts/example.com/subdomains/mysubdomain/httpdocs/../yii/yii.php) is not within the allowed path(s): 
(/var/www/vhosts/example.com/subdomains/mysubdomain/httpdocs:/tmp) 
in /var/www/vhosts/example.com/subdomains/mysubdomain/httpdocs/index.php on line 26

Ответы [ 2 ]

1 голос
/ 07 сентября 2011

В виртуальном хосте:

php_admin_value open_basedir ".:/var/www/vhosts/example.com/subdomains/mysubdomain/httpdocs:/my/own/tmp:/var/www/vhosts/example.com/subdomains/mysubdomain/yii"
0 голосов
/ 25 октября 2011

Я нашел ответ. Вы должны указать различные модули, иначе простое редактирование файла vhost не окажет большого влияния. Это отключает open_basedir, но вы можете соответственно изменить настройки.

<Directory /var/www/vhosts/YOURDOMAIN.COM/subdomains/YOUSUBDOMAIN/httpdocs>
  <IfModule sapi_apache2.c>
  php_admin_value open_basedir none
</IfModule>
<IfModule mod_php5.c>
  php_admin_value open_basedir none
  </IfModule>
</Directory>

тогда

# /usr/local/psa/admin/bin/websrvmng --reconfigure-vhost --vhost-name=YOURDOMAIN.COM
# apachectl stop
# apachectl start

Полный текст статьи можно найти здесь: http://prattski.com/2008/09/13/plesk-open_basedir-fix/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...