Tiny Tiny RSS was unable to start properly. This usually means a misconfiguration or an incomplete upgrade. Please fix errors indicated by the following messages:
Image cache is not writable (chmod -R 777 cache/images)
Upload cache is not writable (chmod -R 777 cache/upload)
Data export cache is not writable (chmod -R 777 cache/export)
Well, for whatever it’s worth. I randomly started getting an issue similar to this on my existing installation a while back. For me it was all five directories sanity checked, the three in cache, lock, and feed-icons.
I verified the owner and group were still correct, and then blasted a chmod -R 0777 on the entire ttrss directory, all to no avail. I finally sat down and investigated today and see some reports that php’s is_writable() doesn’t actually work on directories (despite the documentation claiming that it does). I swapped out the !is_writable() in include/sanity_check.php for file_perms() != 16895 on the directories to verify a directory and 0777 permissions and now I have a web gui again.
I was able to ignore it for so long because the app and API still worked, and I normally checked from an android device anyway. So it didn’t bother me too much until I needed to change settings and couldn’t.
Not sure if this guy actually had a bad permissions issue, or if whatever randomly broke in my long standing install is starting to affect others.
I had thought it could be SELinux, and looked up configuring permissions in it, but I’m not running CentOS, and quickly realized SELinux isn’t installed on my system. I just started googling how to fix it before checking that it was at fault. Too much CentOS at work
fox: I made a gogs account ‘wavydashen’ if you want me to try and submit a pull request for the include/sanity_check.php change. I tested it with 040777 instead of 16895 and verified it works. I feel the octal value is a bit more readable there.
I don’t think this is a good idea. TT-RSS needs to be able to write to those directories. Checking is_writable() is the correct action to take. Checking nuanced permissions is not. (TT-RSS doesn’t technically need world-writable directories. Group or user writable will also work.)
The correct solution is to figure out why is_writable doesn’t work and fix that.
is_writable() is a part of php standard library, if there are problems or bugs with it they should be reported to php developers. as opposed to adding ridiculous hacks into application code.