View Single Post
  #1  
Old 19th January 2012, 22:41
erosbk erosbk is offline
Senior Member
 
Join Date: Mar 2011
Posts: 337
Thanks: 49
Thanked 36 Times in 30 Posts
Default PHP open_basedir variables

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
Reply With Quote
Sponsored Links