hello, i have ispconfig 2 running on Centos -
what i'm trying to do:
i am running a php file which installs a script in the web/ directory to install my custom script, the php file renames the web directory
from: /var/www/web2/web
to: /var/www/web2/web_Orginal
then the the php file creates a web directory:
/var/www/web2/web
so when i go to the shell i send the ls command and i can confirm both directories are there, so the script is able to rename the orginal web/ directory and create a new web/ directory (I am using tar to unpack the web/ directory which contains all my script files)
web/
web_Orginal/
however, the new web/ directory is own by
apache:
Code:
command: ls -la
OUTPUT:
drwxrwxrwx 8 apache apache 4096 Feb 4 05:16 web
drwxrwxrwx 8 web2_AnyUser web2 4096 Feb 4 05:16 web_Orginal
now i try to use exec() function in the php file to change the ower from
apache to
web2_AnyUser and the group from
apache to web2 using this code in the php file:
PHP Code:
# PHP CODE:
# TO CHANGE OWERSHIP:
exec('chown -R web2_AnyUser /var/www/web2/web',$ouput,$result);
exec('chgrp -R web2 /var/www/web2/web',$ouput,$result);
.
i dont get any errors, and the value of $result = 1
so when i go to the shell, i do an ls -la and it does not change the owership of the web/ directory, it still shows
apache
what i want to acheive is to change the owershipt to look like this:
Code:
command: ls -la
OUTPUT:
drwxrwxrwx 8 web2_AnyUser web2 4096 Feb 4 05:16 web
drwxrwxrwx 8 web2_AnyUser web2 4096 Feb 4 05:16 web_Orginal
do you have any suggestions. i think you are my best resource for this. i was looking at your code in /root/ispconfig/scripts/lib/config.lib.php and it shows this code on line 690:
PHP Code:
if($user["user_admin"]){
//exec("usermod -G web".$web_doc_id." ".$user_username."");
// alten admin herausfinden
$old_admin_uid = fileowner($web_path);
$mod->system->usermod($user_username, "web".$web_doc_id);
exec("chown $user_username $web_path &> /dev/null");
//exec("chown $user_username $web_path/cgi-bin &> /dev/null");
exec("chown -R --from=$old_admin_uid $user_username $web_path/cgi-bin &> /dev/null");
exec("chown $user_username $web_path/log &> /dev/null");
exec("chown $user_username $web_path/ssl &> /dev/null");
exec("chown $user_username $web_path/user &> /dev/null");
//exec("chown $user_username $web_path/web &> /dev/null");
exec("chown -R --from=$old_admin_uid $user_username $web_path/web &> /dev/null");
.
i guess im trying to do the same, but im not sure how you did it.
if you have any suggestion, please advise,
Thanks for all your support