Installation notes for 1-5 development code

History Key

  • New content
  • Removed content

Recent Versions

Choose two versions to compare, or click the link to view it.

  1. 27. 11 days by xjansen
  2. 26. about 1 month by xjansen
  3. 25. about 1 month by xjansen
  4. 24. about 1 month by xjansen
  5. 23. about 1 month by xjansen
  6. 22. about 1 month by xjansen
  7. 21. about 1 month by xjansen
  8. 20. about 1 month by xjansen
  9. 19. about 1 month by xjansen
  10. 18. about 1 month by xjansen
  11. 17. 4 months by xjansen
  12. 16. 4 months by xjansen
  13. 15. 4 months by xjansen
  14. 14. 8 months by xjansen
  15. 13. 9 months by meijer
  16. 12. 9 months by meijer
  17. 11. 9 months by xjansen
  18. 10. 9 months by xjansen
  19. 9. 10 months by xjansen
  20. 8. 10 months by xjansen
  21. 7. 10 months by xjansen
  22. 6. 10 months by xjansen
  23. 5. 11 months by xjansen
  24. 4. 11 months by xjansen
  25. 3. 11 months by xjansen
  26. 2. 11 months by xjansen
  27. 1. 11 months by xjansen
 

 

Availability

As of February 2012 13th beta builds of the development branch of FileSender 1.5 are available in the various unstable repositories. Note that the 1.5 code is not completely stable yet and can and will change. Do not use the 1.5 builds on a production server. Basic functionality however should work and we appreciate all input on the beta builds, most notably about compatibility with the various browsers (both HTLM5 and non-HTML5) and using MySQL as backend database.

Installation and configuration of FileSender 1.5 can be done by following the relevant documentation for version 1.0.x. Exceptions and additions are listed below.

 

Download

(Pre-)release Debian and RPM packages are available in the unstable Debian and RPM package repositories.

Regularly updated .tar.gz and .zip distribution files are available from http://repository.filesender.org/unstable/  and for official beta releases at https://download.filesender.org/ See Installation - Linux Source for general installation instructions.

The latest code for (pre-releases of) 1.5 is always available from the Subversion repository. You can create a local working copy with:

svn co http://subversion.assembla.com/svn/file_sender/filesender/branches/filesender-1.5

If you want to track the more rapidly changing development-code of 1.5 (and further) you can use the SVN trunk:

svn co http://subversion.assembla.com/svn/file_sender/filesender/trunk

 

Requirements

Client side

1.5 uses the HTLM5 FileAPI for large uploads which means that Gears is not needed anymore. For large uploads you'll need a modern browser which can use the HTML5 FileAPI, for example FireFox 4+ and Google Chrome. For 'older' browsers (including IE9 and Safari 5.1) without support for the HTML5 File API uploads are limited to 2 GB and still require Adobe Flash.

Server side

FileSender 1.5 does work with PHP 5.2.x but on some platforms 5.3 might be required due to secondary dependencies.

Filesender 1.5 introduces a database abstraction layer to be able to use either PostgreSQL or MySQL based on PDO (available on most default PHP installs).

 

Upgrading from 1.5-beta1

./config directory

As of 1.5-beta2 the ./config directory as distributed only contains a sample config-dist.php file. All other templates/sample files have been moved to ./config-templates or their contents have been merged into the ./language/* files. This means that when unpacking a release file won't overwrite existing configuration files. To get a working configuration copy config-dist.php to config.php and make the appropriate changes in config.php.

Language files

As of 1.5-beta2 (or svn trunk revision 1297) the naming of the language files has changed. Also as of 1.5-beta2 the 'customisable' language files that used to be in ./config have been merged with/moved to the distribution language files in ./language. Due to the changed naming scheme, language files that are in ./config won't be used anymore except for the file locale.php. If you don't have local customisations you should remove locale.php and other language files from the ./config directory. If you do have local customisations please change ./config/locale.php and (if applicable) the names of the language files according to the naming scheme described in ./language/README.language.

Database changes

Due to a change in the back-end workflow the database type of the fileto and corresponding logto columns needs to be changed from varchar(250) to text. Not doing so will break uploads to multiple recipients exceeding the 250 character limit when combined.

 

For Postgresql:

#sudo -u postgres psql filesender
   ALTER TABLE files ALTER fileto TYPE text;
   ALTER TABLE logs ALTER logto TYPE text;   \q

For MySQL: 

#sudo mysql filesender
   ALTER TABLE files CHANGE fileto fileto text default null;
   ALTER TABLE logs CHANGE logto logto text default null;
quit
 

Upgrading from 1.0.x/1.1

Database changes

  • The changes mentioned above for upgrading from 1.5-beta1 also are required when upgrading from 1.0/1.1.
  • With 1.5 it is now required to adjust the files table in the database if the database was created with a FileSender version before 1.0.1. Please execute the following if not already done when upgrading to 1.0.1:
   #sudo -u postgres psql filesender
   ALTER TABLE files ALTER fileip6address TYPE character varying(45);
  \q
  • The fileauthuserid column in the files table now has a size of 500, consistent with the corresponding column in the logs table and to allow for SAML attributes with very large values. When upgrading from a previous version execute:
   #sudo -u postgres psql filesender
     ALTER TABLE files ALTER fileauthuserid TYPE character varying(500);
\q

 

Configuration of database parameters

Configuration of the database connection parameters in config.php has changed to a database-type independent method. The old PostgreSQL-specific pg_* settings are now obsolete and must be replaced with their new equivalents (db_*) including a specification of the database type: 

   $config["db_type"] = "pgsql";// pgsql or mysql
 $config['db_host'] = 'localhost';
   $config['db_database'] = 'filesender';
   $config['db_port'] = '5432';
   // database username and password
   $config['db_username'] = 'filesender';
   $config['db_password'] = 'yoursecretpassword';

To accomodate more  elaborate PDO database settings a DSN style database setting can be configured which will override the db_* settings:

    //Optional DSN format overides db_ settings
    //$config['dsn'] = "pgsql:host=localhost;dbname=filesender";
    //$config['dsn'] = 'pgsql:host=localhost;dbname=filesender';
    //$config['dsn'] = 'sqlite:/usr/share/filesender/db/filesender.sqlite';
    //$config['dsn_driver_options'] = array();
    // dsn requires username and password in $config['db_username'] and $config['db_password']

$config['dsn']

description: the 'URL' pointing to the FileSender database

default: none

 

Using MySQL as backend database

** Volunteers needed for testing and documenting **

Currently all documentation and the RPM and Debian packages are based on using PostgreSQL as database backend. With 1.5 it is possible though to use MySQL. A sample SQL-script to create the database is provided in scripts/mysql_filesender_db.sql

 

Important changes in config.php

Localised configuration settings

A number of configurable settings have been moved to the language files in ./language. They still can be customised. See [TBD] for details.

 

-Date display format

The display formats of dates are now defined in the language files for all browser pages.

  $config['datedisplayformat']  -> $lang['datedisplayformat'] (default  "d-m-Y" for en_AU)) 

The $config['datedisplayformat'] is at this moment still used for formatting the exipry date of a file/voucher in outgoing mails.

Note: The display format of dates has been changed to use the PHP-format (instead of the previously used Flex format). The old format used in 1.1 was DD-MM-YYYY which when used in 1.5 will give you something like 'WedWed-SepSep-2011201120112011' . Please keep this in mind when transferring a custom format from a config.php in 1.0.x or 1.5 svn versions dated before August 24th 2011.

 

- All AuP related textual settings

   $config["AuP_label"] -> $lang["_ACCEPTTOC"]
   $config["AuP_terms"] -> $lang["_AUPTERMS]"

- Site 'splash' text

   $config["site_splashtext"] -> $lang["_SITE_SPLASHTEXT "]

Default language

The previously unused $config['site_defaultlanguage']  setting is as of 1.5-beta2 used to set a default language when the browser has an unsupported language preference. The (new) default is 'en_AU'.

$config['site_defaultlanguage']  = 'en_AU' ;

Gears to HTML5 transition

- Setting for maximum filesize

 The max_gears_upload_size config setting is now obsolete and has been replaced with: 

   $config['max_html5_upload_size']

 - URL for information on HTML5

The gearsURL setting has been replaced with a new HTML5URL setting:

   $config['HTML5URL'] = 'http://html5test.com/'; 

- The upload chunk size for HTML5 uploads is now a configurable setting 

   $config["upload_chunk_size"] 

About, Help and AuP text

As of revision:858 the semantics of aboutURL and helpURL in the config.php have changed.  They can now point to a *page* resulting in a new page being opened in a new tab, or they can be empty, resulting in a popup. The new defaults as of 1.5 are the empty value ("")  Note that the popups are "not popups as per opening a popup window but modal inline popups that have nothing to do with popup blockers.". The popup is populated from the language file, using _HELP_TEXT and _ABOUT_TEXT.  You can have a localised override in your config directory [TBD].

 

Relevant config.php directives:

   $config['aboutURL'] = "";
   $config['helpURL'] = "";

Relevant settings in language files:

   $lang["_HELP_TEXT"]
   $lang["_ABOUT_TEXT"]
   $lang["_AUPTERMS"]

temp directory

as of revision:871 the temp directory is no longer used for FileSender specific actions.  This means the config directive $config["site_temp_filestore"]; is no longer used.  If you have configured PHP to use the previously configured site_temp_filestore you can keep that directory and it will still be used for Flash uploads. The setting and use of that directory is now however only defined in the site-wide PHP settings. It is still advised to keep that directory on the same disk partition as the FileSender filestore.

New configuration settings in config.php

   $config["displayerrors"] = false; // Display debug errors on screen (true/false)
  $config["upload_chunk_size"]  = '2000000';

As of beta3 it is possible to use a configurable 'shred' command in the daily cron job to securely wipe instead of just 'unlink' expired and deleted files. Note that this will increase the time needed for the cron job to run significantly. Sites running the cron job with an increased frequency (instead of daily) should check the timings carefully. The default is to just unlink the files, to activate check if the command to be used is available and set $config['cron_shred'] to true.

   $config['cron_shred'] = false; // instead of simply unlinking, overwrite expired files so they are hard to recover
$config['cron_shred_command'] = '/usr/bin/shred -f -u -n 1 -z'; // overwrite once (-n 1) with random data, once with zeros (-z), then remove (-u)

New Mail template macros

{htmlfileoriginalname} : HTML version of {fileoriginalname}

{filemessage_start} and {filemessage_end} : markers for begin and end of the (optional) personal message

Language definitions

[To be done]

OS specific notes

 none

Packaging notes

The 1.5-xxx Debian and RPM packages will update any previous (package) install of FileSender, including 1.0.x stable and testing packages. As of 1.5-beta1 the versioning has changed slightly if you have installed a 1.5.0-* Debian/RPM package from before 1.5-beta1 this means that you'll have to 'downgrade' the package, for example:

RPM: 'downgrade' to filesender.noarch 0:1.5-0.1.beta1
   yum downgrade filesender

Debian: 'downgrade' to filesender_1.5~beta1
   apt-get install filesender=1.5~beta1

When upgrading the previously unstable 1.0.x-yyyymmddhhmm versions any empty directory created by the older version will be removed. If you're using the experimental Mail Bounce Handling you'll need to manually recreate and symlink the maildrop tree.

- Debian .deb

The unstable and testing repositories have SimpleSAMLphp 1.8.x packages. As of version 1.7.0 the Debian SimpleSAMLphp packaging switched the default baseurl from 'simplesaml/' to 'simplesamlphp/' to adhere to standard Debian policies. This change is also refelected in the FileSender packages in testing and unstable. This might break upgrades from previous versions that were installed with SimpleSAMLphp version 1.6.3. Please check the relevant settings in /etc/simplesamlphp/config.php, /etc/filesender/config.php and your webserver config (Alias statements).