I’ve encountered a really nasty problem with a Joomla! 1.5 installation for a client of mine. It has to do with the default PHP upload function.
The problem manifested like this: Upon uploading and installing a plugin, because the server was using PHP 4 I needed to make some modifications to the plugin php files since it used the array_combine() function that was supported only in PHP 5. So far so good until I realized I couldn’t change – rename – delete – change the permissions on the files I wanted, because my ftp user didn’t have any rights.
Apparently the reason behind this is that when I installed via Joomla! that the “owner” of the created folders/files etc. is being set to “nobody”.
This was really annoying mostly because if I would try with the ftp layer I have problems just installing anything (templates, modules, plugins, components) but if I disable ftp I can install but then i can’t change the permissions via ftp which will allow me to edit any files.
Searching the Joomla! Forums I came across this post . I couldn’t find a really good solution so I’m not certain what to do now.
The apparent solution would be to make the modifications to the plugin on my local server and then upload them. All this for a copy-paste of code in a file online.
Also tried to install from a directory on the server without any success.
I haven’t finished the client’s website but I’ll have to find a solution although I don’t have high expectations and probably will have to make the modifications offline.
After some fiddling around with the settings I managed to find a suitable solution. Basically I’ve set up the FTP layer and installed the component.
1. Setting up the FTP layer in Joomla!
The tricky part here is finding the root of the website. Also the /tmp and /log folders also needed to be exactly specified or it won’t work ok.
The settings for me wore :
Path to Temp-folder: /home/account-name/public_html/tmp
Path to Log folder: /home/account-name/public_html/logs
For the FTP settings I used an account that has full ftp access higher then public_html . In this case :
FTP Root: /
2. Uploading the plugin using the Directory Install
Installing directly by uploading the component didn’t work for me… I’ve received the following errors:
JFTP::write: Bad response
JFTP::delete: Bad response
JFTP::write: Bad response
So I decided to try and install the component using the Directory Install Option. I’ve unpacked my component on my HDD and uploaded it here:
Please note that this is the path that you have to write in your “Install Directory:” input also.
The component installed successfully and I can now modify it’s files from ftp.
I’m relived that I got this sorted, because I believe Joomla! 1.5 to be a big step forward compared to 1.0 and it would have been a shame to spoil it with something like this. I still don’t think this is the best way to do this but it’s a start.