Few days ago I found a very good Open Source project for sharing and synchronization (Dropbox alternative) called Pydio. Heard before for this project, but I have never tried to install it before. I tried the demo and decided to install Pydio on my own server and check this little bit more. Installation procedure went smoothly and in 5 minutes I had my sharing web site ready to use.
But, when I tried to upload multiple files, all of them larger than 3Mb, browser simply returned:
Error 500, Internal server errorThen I checked Apache2 log, and here is what I found:
[Thu Dec 11 14:45:58 2014] [warn] [client xxx.xxx.xxx.xxx] mod_fcgid: HTTP request length 15735832 (so far) exceeds MaxRequestLen (15728640), referer: https://mynicesite.devIt seams that MaxRequestLen directive of mod_fccgid is too low. To fix this, you need to update few options in your php.ini file. Search for upload_max_filesize which puts limit on any single file, default value should be set to this:
upload_max_filesize = 2Mchange this value to whatever you want, but I strongly suggest you to set >50M. Then search for post_max_size, default value is:
post_max_size = 8Mbthis is the size of the entire body of the request, which could include multiple files. Set this value at lest 2-3x as upload_max_filesize.
Now, to avoid “ HTTP request length exceeds MaxRequestLen” you need to update FcgidMaxRequestLen directive. Default value is set to:
FcgidMaxRequestLen 131072which is, as you can guess, very very small. To change this, update your virtual host configuration file and add FcgidMaxRequestLen directive value based on your application requirement, for example:
FcgidMaxRequestLen 200000000that is equal to roughly 200 MB.Finally restart Apache:
/etc/init.d/apache2 restart
[GARD]