Turns out the issue is with selinux
I found this answer, which solved my problem.
Prove this is the problem by turning off
selinux
with the commandsetenforce 0
This should allow writing, but you’ve turned off added security
server-wide. That’s bad. Turn SELinux backsetenforce 1
Then finally use SELinux to allow writing of the file by using this
commandchcon -R -t httpd_sys_rw_content_t storage
And you’re off!