Add ability to export raw-attachments directly via apache
|Reported by:||anonymous||Owned by:||rblank|
Added support for X-Sendfile for files served from the filesystem.
Description (last modified by rblank)
In my environment I have many projects with many users, many of whom use the wiki attachments to upload/download the software release tarballs. It's not practical to have them ssh into the server to upload files to another area (which could be exported directly by apache), and using wiki attachments is just very convenient and neat. However with lots of downloads it would be nice to decrease the load on the server.
Since apache is able to serve static files more efficiently than trac, it would be nice if the raw-attachments directory could be aliased in the apache config. This can of course be done with the main trac static css/image files via "trac-admin deploy" and apache Alias. However unfortunately the files in the attachments directory have filenames which are encoded, so an alias like the following won't work for all files (like ones with spaces or the like):
AliasMatch ^/trac/([a-z0-9_]+)/raw-attachment/(.*) /data/trac/$1/attachments/$2
Since the only way I can see to do this is to have the files on the disk saved without encoding, it would seem to be a bit difficult to implement since we wouldn't want to break files which were already uploaded. Possibly just new file uploads (or files in newly created trac projects) could be unencoded so that nothing broke for users who upgraded their previous trac environments. Then for those who have older trac environments and want to use the apache alias, a script could be used to rename the files and remove the uuencoding.
Change History (19)
comment:2 Changed 5 years ago by rblank
- Description modified (diff)
- Keywords needinfo added
- Milestone 0.12 deleted
comment:3 follow-up: ↓ 5 Changed 5 years ago by cboos
- Keywords needinfo removed
- Milestone set to 2.0
comment:5 in reply to: ↑ 3 Changed 4 years ago by rblank
- Milestone changed from triaging to unscheduled
comment:9 Changed 3 years ago by rblank
- Milestone changed from next-major-0.1X to 0.13
- Owner set to rblank