How to give apache permission to write to home directory?

apache, php

Solution

As your file residing in your Home directory, I would suggest one of following approaches.

Give 0777 permission to file itself.

chmod 0777 /home/djameson/test.txt

Change Ownership to apache user www-data and give owner-write permission.

sudo chown www-data:www-data /home/djameson/test.txt
chmod 0744 /home/djameson/test.txt

Add your user to www-data group or vice-verse add www-data user to your group. And then group write permission.

sudo usermod -a -G www-data djameson
chmod 0764 /home/djameson/test.txt

NOTE : I am assuming apache user name & group name is www-data & www-data respectively. You must change accordingly your server apache username/group name.

Problem

My server is in /var/www/html I have a php script in /var/www/html/fileio_test/io_test.php ``` <?php $logging = <<< LOG This is a test LOG; $testfile = fopen('/home/djameson/test.txt', 'a'); fwrite ($testfile, $logging); fclose($testfile); ?> ``` When I try to run this script I get ``` Warning: fopen(/home/djameson/test.txt): failed to open stream: Permission denied in /var/www/html/fileio_test/io_test.php on line 7 Warning: fwrite() expects parameter 1 to be resource, boolean given in /var/www/html/fileio_test/io_test.php on line 8 Warning: fclose() expects parameter 1 to be resource, boolean given in /var/www/html/fileio_test/io_test.php on line 9 ``` How do I let apache write to my home directory? The server runs on fedora 20.

Original source

Related problems