How to configure LAMP to allow visitor's file upload?
I have configured LAMP droplet on Ubunto 14.04.
PHP is running and everything works - except when I try to upload files.
My web site allows users to upload images that should end up being at /var/www/html/userphotos/<date>/.
PHP first upload them to a temp folder, then creates the <date> folder if needed, and then moves it to the destination folder. It all worked on another hosting so I’m sure the PHP script is fine.
I don’t have log files and I’m not a Linux expert, so I’m not even sure how turn them on.
My guess is that it’s a permission thing.
What I have done so far:
- chmod to 755 on the entire html folder
- manually created html/userphotos folder and chmod to 777 (temporarily, just to make sure it’s not that problem).
- defined uploadtmpdir in php.ini to /tmp and verified in info.php that configration applied. I also chmod on that folder to 777 (apparently it was 1777 before my change and now it is 0777 so maybe I ought to change it back)
Any help on how to set up php/apache to allow file upload and folder creation will be highly appreciated.
I have found the log files under /var/log/apache2, and here are the relevant lines:
[:error] [pid 21363] [client 126.96.36.199:53984] PHP Warning: mkdir(): Permission denied in /var/www/html/uploadphoto.php on line 55
[:error] [pid 21363] [client 188.8.131.52:53984] PHP Warning: copy(/var/www/html/usersphotos/2015-04-24/241403605.jpg): failed to open stream: No such file or directory in /var/www/html/uploadphoto.php on line 59
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.