0
votes

I've just installed Concrete 5 CMS by following the instructions on the website.

The folders application/files/, application/config/, packages/ and updates/ will need to be writable by the web server process. This can mean that the folders will need to be "world writable", depending on your hosting environment. If your server supports running as suexec/phpsuexec, the files should be owned by your user account, and set as 755 on all of them. That means that your web server process can do anything it likes to them, but nothing else can (although everyone can view them, which is expected.) If this isn't possible, another good option is to set the apache user (either "apache" or "nobody") as having full rights to these file. If neither are possible, chmod 777 to files/ and all items within (e.g. chmod -R 777 file/*)

The packages folder has permission 777 and root/tmp folder has permission 755.

I've uploaded a new theme to /packages over FTP. When I try to install the new theme I see the following error:

An unexpected error occurred. fopen(/root/tmp/1419851019.zip) [function.fopen]: failed to open stream: Permission denied

I have FTP access to the server and access to CPanel. How do I get this working without granting too many permissions which pose a security risk?

2
Are you trying to add your own custom theme or one from the market place? - Dannn

2 Answers

0
votes

My install has the folders application/files, application/config, packages, and updates all set to 755 and it's working just fine.

0
votes

You get that error because the system is trying to write to /root/tmp, which apparently is the environment configuration for a temp folder when your PHP request is handled.

Try adding the folder application/files/tmp in your file system (within your concrete5 installation). And then make sure that the user can write to that folder that is running PHP in your environment. As explained in the concrete5's own documentation (that you linked originally), it depends on your server which user this is.

Usually in shared hosting environments it's the same as the account you use to login there through SSH or FTP. In these cases, the 755 permissions should be enough if your own user owns the tmp folder you just created.