Fast Private File Transfer with X-send file in Drupal
Why xsend module is made for?
xsend is a simple module to help you to speed up your private file transfer, normally Drupal private file transfer is quite troublesome and not secure if files folder locate at public_html, not only that but also this module will help you to protect your files from unauthorized access too.
Why you need this?
- If your still using Drupal public file transfer your not secure at all, every one can get your files.
- If your using Drupal private file transfer, your secure. But files transfer to the client is very slow.
Fast secure file transfer can only be achieved from the xsend.
How to migrate to xsend?
- If your using a standard Drupal installation then what you want to do is just follow the instruction in the INSTALL file.
- If your currently using private file transfer correctly, then you can still use this INSTALL guide, but make sure keep empty, the path to Drupal installation directory settings.
What is mod_xsendfile
mod_xsendfile is a small Apache2 module that processes X-SENDFILE headers registered by the original output handler.
If it encounters the presence of such header it will discard all output and send the file specified by that header instead using Apache internals including all optimizations like caching-headers and sendfile or mmap if configured.
It is useful for processing script-output of e.g. php, perl or any cgi.
Official Site
http://tn123.ath.cx/mod_xsendfile/
Installation Guide
REQUIREMENTS
- Apache2
- X-send file module installed
INSTALL INSTRUCTIONS FOR MODULE
Install X-send file
- Download the mod_xsendfile.c from http://tn123.ath.cx/mod_xsendfile/
- Compile and install
apxs -cia mod_xsendfile.c
- Restart apache
Install X-send file module
- Change your site file system to private (http://sitename/admin/settings/file-system)
- Follow standard Drupal installation for module as below.
- Extract the module and copy module to sites/all/modules
- Go to patch folder and run patch file to patch your file.inc
Patch file.inc
# cd /path/to/drupal
# patch -p0 < sites/all/modules/xsend/patch/file.inc.patch- Enable the module
- Go to settings and set the path to Drupal installation directory.
- Enable the X-send support.
- ** Impotent
- I tested only files directory as a sub directory scenario, if your files
directory not in a sub directory then you do not need to add
"Absolute path to Drupal installation directory" settings, keep it blank. If your
in a sub directory then you need to add correct path to it with leading slash "/".
- go to .htaccess file and add following lines to the top of the file
XSendFile on
XSendFileAllowAbove on
- Go to files directory
- open the .htaccess file and add following lines to top of it
Deny from all- heshan's blog
- 1072 reads
-
Hello,
Is there any chance to get this (or something similar) installed on a shared hosted server (I am on siteground)?
Thanks!
Tomski
