There are a lot of posts about using CMSMS on a host with safe_mode is on. I know as I am setting up a site and my new host has PHP set up with safe_mode on.
After reading
this post I used the tool webadmin.php mentioned there and can now succesfully install models through the Module Manager. The process involves more clicks but is quite straightforward once you know how. And that's why I want to share with you how I solved it.
So, this is a Howto about installing modules using the Module manager when your host has PHP running in safe_mode.
The key element is a script named webadmin.php. It can be found at:
http://wacker-welt.de/webadmin/
Download it and upload it to some directory on your host.
IMPORTANT: webadmin.php is a filemanager without any security measures of it's own. So be sure to place it in a password protected directory or delete it when you're finished.
In the Module Manager find the module you want to install and cllick the Download & Install link. Let's say you want to install the FrontEndUsers module.
With safe_mode on you'll probably get an error:
Error!
Could not create a file (permissions problem?) /home/httpd/vhosts/your_domain/httpdocs/modules/FrontEndUsers/templates/userlist.tpl
Everytime the Module Manager tries to create a directory and fails because safe_mode doesn't allow this it displays an error message similar to the one above.
Start webadmin.php in a new browser tab or window and navigate to the 'modules' directory. You'll see that the directory 'FrontEndUsers' has been created and when you go into it you'll find a lot of files. However the Module Manager was not able to create the required directory 'templates'.
Now manually create the directory 'templates' inside the 'FrontEndUsers' directory using webadmin.php.
Go back to the Module Manager page and hit your browsers Back button.
Again click the Download & Install link for the FrontEndUsers module.
This time another error is thrown at you. However, if you use webadmin.php to examine the content of the 'templates' directory you just created, you'll see that the Module Manager has put files in it. By creating the required directory manualy you enabled Module Manager to continue the installation.
The new error is something like this:
Error!
Could not create a file (permissions problem?) /home/httpd/vhosts/your_domain/httpdocs/modules/FrontEndUsers/lang/ext/pl_PL.php
This time create the directory 'lang' and repeat the above steps.
Do the same for the directory 'ext'.
Alternatively you could create both directories and then return to the Module Manager.
Simply create every directory you see in the error messages. Eventually Module Manager reports a successful installation of the module.
I hope this helps.
Ron