Howto configure mod_xsendfile ============================== Downloading large files from SeedDMS can be slow, because they are delivered by the PHP download script. This is a common problem not specific to SeedDMS but to PHP scripts of this kind in general. Granting direct access on the download file is not a option as it circumvents the access restrictions of SeedDMS. The Apache module xsendfile is just for this kind of controlled downloads. If is installed and configured, SeedDMS will hand over the download to the web server which does a much better job than the PHP script. In order to make it work, mod_xsendfile must be installed, turned on and the path to the download files must be set to the directory containing the document files. If your document root is /var/www and you extracted the quickstart archive into that directory, then the document content directory will be at /var/www/seeddms51x/data/ . Add the following to your apache configuration, either globally or within a virtual host configuration. Setting the path in an .htaccess file will not work. XSendFile on XSendFilePath /var/www/seeddms51x/data/ If the XSendFilePath is not set propperly, you will notice an error message in your apache log file, probably telling you that the download file could not be found. A positive side effect of xsendfile is support for content ranges which are currently *not* supported by seeddms' Download and ViewOnline scripts. This is especially usefull when previewing videos. Without content ranges it is not possible to jump to certain time in the video. In order to check if the xsendfile module is loaded, php uses apache_get_modules() which is only available if php is loaded as an apache module. Running php in fpm mode will prevent php from checking for xsendfile and consequently xsendfile support will not be available.