FileSender Documentation

FileSender is an open source web based application that allows authenticated users to securely and easily send arbitrarily large files to other users.
Download FileSender Browse source code Report a bug

Upgrading from v2.x to v3.x

You should already have Apache and your choice of database (PostgreSQL or MariaDB etc). If you are going to bring the same database forward it is recommended that you take a snapshot of the database (pg_dump, mysqldump etc) before proceeding. The installation notes would have installed FileSender into the directory tree at /opt/filesender.

What you’ll need to do to upgrade is:

  • Backup your database
  • Backup your filesender installation, especially if you’ve made local modifications to pages or code
  • Move away the classes, templates, and www directories for 2.x series to avoid orphaned code
  • Install the v3.0 code from packages or by unpacking the tarball.
  • Run the database migration script to update anything and create new database indexes for a performance boost
  • Install your config.php into your new FileSender, for example to, /opt/filesender/config/config.php
  • Check for updated configuration variables in config.php

Backup your database

You will likely want to use pg_dump or mysqldump for this step.

Backup your filesender installation

For example using one of the following. Note that filesender/logs and filesender/files might be very large directories so you might like to omit them from the backup as shown below. This should result in an archive that is in the order of 50Mb in size.

cd /opt/
tar -czvf ~/filesender-old.tar.gz \
   --exclude files \
   --exclude .git  \
   --exclude logs  \
   --dereference   \
   filesender

The below is a more complete backup but might also consume a lot of disk space to backup each file that has been uploaded to FileSender. So depending on what the du command gives you then you might be consuming a bunch of disk space for the backup.

cd /opt/
du -sh ./filesender/files
cp -avL filesender filesender-2.0alpha

Move away the classes, templates, and www directories for 2.x series to avoid orphaned code

cd /opt/filesender
mkdir ~/filesender-2.x
mv classes templates www ~/filesender-2.x

Install the v3.0 code

This should follow the directions for installing from the install page.

Run the database migration script

The following command should update the database as needed.

php /opt/filesender/scripts/upgrade/database.php

Install your config.php into your new FileSender

The old config shouldn’t have been replaced by the above, but making it explicit can’t be a bad thing. For example, using

cd /opt/
cp -avL filesender-2.0alpha/config/config.php filesender/config/config.php 

Database handling

  • The 3.0 database initialisation script populates the filesender database with tables based on the class definitions. This means the database initialisation script and FileSender can now detect whether the database contains the appropriate tables and fields. This also means you do the database initialisation after the FileSender configuration

Config directives that no longer exist in 3.0

FIXME