PHP open_basedir variables

Discussion in 'Feature Requests' started by erosbk, Jan 19, 2012.

  1. erosbk

    erosbk New Member

    As open_basedir can't follow symlinks and it uses real paths to set environment restriction, if someone like me moves /var/www to /mydata/www and creates a symlink /var/www -> /mydata/www, and an app like wordpress (or others) reads real path instead symlink path, that path will be outside open_basedir default path of ispconfig (which points to /var/www/...).

    In order to fix this, and allow a "template" path more usefull to be used in "PHP open_basedir" in server config two variables must be defined:

    e.g. /mydata/www/clients/client[client_id]/web[website_id]/web,....other paths

    Variables to be implemented should be client_id and website_id

    In ISPConfig 3.0.3.3, this was the changes I had to make (I think that in 3.0.4.2 this should work too)

    File: /usr/local/ispconfig/interface/web/sites/web_domain_edit.php
    At line 430, add this:
    Code:
    // BOC 1: Agrega placeholders client_id y website_id a php_open_basedir
                    $php_open_basedir = str_replace("[client_id]",$client_id,$php_open_basedir);
                    $php_open_basedir = str_replace("[website_id]",$this->id,$php_open_basedir);
    // EOC 1: Agrega placeholders client_id y website_id a php_open_basedir
    
    File: /usr/local/ispconfig/interface/web/admin/templates/server_config_web_edit.htm
    At line 60, maxlength="255" should be modified to maxlength="500"

    I can't remember if I had to modify something else, but the core of the feature to be implemented is posted above.

    Could this be implemented?

    Thanks in advance
     

Share This Page