Difference between revisions of "DownloadTicketService"

From SME Server
Jump to navigationJump to search
 
(8 intermediate revisions by 4 users not shown)
Line 7: Line 7:
 
mailto:daniel@firewall-services.com
 
mailto:daniel@firewall-services.com
  
 +
===Version===
 +
{{#smeversion: smeserver-dl }}
 +
{{#smeversion: dl }}
 +
[[Version::contrib9|fws]][[Has SME9::true| ]]
  
 
=== Description ===
 
=== Description ===
Line 20: Line 24:
 
Configure Firewall-Services's repository:
 
Configure Firewall-Services's repository:
  
  db yum_repositories set fws repository \
+
  yum install smeserver-extrarepositories-remi-safe smeserver-extrarepositories-fws smeserver-extrarepositories-epel -y
BaseURL http://repo.firewall-services.com/centos/\$releasever \
 
EnableGroups no GPGCheck yes \
 
Name "Firewall Services" \
 
GPGKey http://repo.firewall-services.com/RPM-GPG-KEY \
 
Visible yes status disabled
 
 
  signal-event yum-modify
 
  signal-event yum-modify
  
 
*install the rpms
 
*install the rpms
  
  yum --enablerepo=fws install smeserver-dl
+
  yum --enablerepo=fws,epel install smeserver-dl
  
 
* Appply the needed configuration:
 
* Appply the needed configuration:
  
 +
config set UnsavedChanges no
 
  signal-event webapps-update
 
  signal-event webapps-update
  db configuration set UnsavedChanges no
+
 
 +
if you are running on a x86_64 system you need also to issue
 +
  service php-fpm restart
 +
service php56-php-fpm restart
 +
service php70-php-fpm restart
 +
service php71-php-fpm restart
  
 
You can now access the application using this URL: https://your-server.domain.tld/dl
 
You can now access the application using this URL: https://your-server.domain.tld/dl
Line 48: Line 53:
 
* '''status''' (enabled|disabled). Enable or disable web access, as well as the demon update
 
* '''status''' (enabled|disabled). Enable or disable web access, as well as the demon update
 
* '''access''' (public|private). Public by default, if set to private, access will only be allowed from local networks and IP address allowed to access the server-manager
 
* '''access''' (public|private). Public by default, if set to private, access will only be allowed from local networks and IP address allowed to access the server-manager
* '''Url''': Used to generate download links in email notification. Default is https://$SystemName.$DomainName/dl.
+
* '''Uri''': Used to generate download links in email notification. Default is https://$SystemName.$DomainName/dl. (note the name of this property is Uri, not Url)
 
* '''DbUser''', '''DbName''' and '''DbPassword'''. Controls MySQL database settings. Default to dl as database name and user. The password is randomly generated after installation. You shouldn't have to change these settings
 
* '''DbUser''', '''DbName''' and '''DbPassword'''. Controls MySQL database settings. Default to dl as database name and user. The password is randomly generated after installation. You shouldn't have to change these settings
 
* '''MaxUploadSize''': max file size in MB of uploaded files. Default is 1024
 
* '''MaxUploadSize''': max file size in MB of uploaded files. Default is 1024
Line 82: Line 87:
 
  Authentication LemonLDAP
 
  Authentication LemonLDAP
 
  signal-event domain-create dl.$(db configuration get DomainName)
 
  signal-event domain-create dl.$(db configuration get DomainName)
  db configuration setprop dl Url https://dl.$(db configuration get DomainName)
+
  db configuration setprop dl Uri https://dl.$(db configuration get DomainName)
 
  signal-event webapps-update
 
  signal-event webapps-update
  
Line 96: Line 101:
  
 
=== Thunderbird ===
 
=== Thunderbird ===
 +
 +
{{Warning box|Note that Thunderbird 0.60.x breaks lots of extensions, and their new API is only half built making rebuilding some extensions very difficult. Upgrade with caution. See here for more:
 +
https://www.mail-archive.com/qmail@id.wustl.edu/msg27055.html}}
 +
 
You can use Download Ticket Service directly from Thunderbird using its FileLink feature. See http://www.thregr.org/~wavexx/software/dl/thunderbird.html for more information
 
You can use Download Ticket Service directly from Thunderbird using its FileLink feature. See http://www.thregr.org/~wavexx/software/dl/thunderbird.html for more information
 +
 +
Read the documentation on installation but you here are the two things you are likely to need to know :
 +
 +
Rest URL : https://yourserver.yourdomain/dl/rest.php
 +
 +
Error on Add account : Caused by an Invalid Certificate
 +
 +
You'll probably need to manually add your SSL certificate to Thunderbird's trusted certificate list, by going to "Edit" .. "Preferences" .. "Advanced" .. "Certificates" .. "View Certificates" .. "Add Exception".
  
 
=== Uninstall ===
 
=== Uninstall ===
Line 105: Line 122:
 
=== Source ===
 
=== Source ===
 
The source for this contrib can be found in Firewall-Services's repository [http://gitweb.firewall-services.com/?p=smeserver-dl;a=summary].
 
The source for this contrib can be found in Firewall-Services's repository [http://gitweb.firewall-services.com/?p=smeserver-dl;a=summary].
 +
=== Bugs ===
 +
Please raise bugs under the SME-Contribs section in [http://bugs.contribs.org/enter_bug.cgi bugzilla]
 +
and select the smeserver-pydio component or use {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-dl|title=this link}}
 +
 +
 +
{{#bugzilla:columns=id,product,version,status,summary |sort=id |order=desc |component=smeserver-dl|noresultsmessage="No open bugs found."}}
  
 
----
 
----
 
[[Category:Contrib]]
 
[[Category:Contrib]]
 +
[[Category:Webapps]]

Latest revision as of 15:03, 31 October 2022



Maintainer

Daniel B.
Firewall Services
mailto:daniel@firewall-services.com

Version

Contrib 10:
smeserver-dl
The latest version of smeserver-dl is available in the SME repository, click on the version number(s) for more information.


Contrib 10:
dl
The latest version of dl is available in the SME repository, click on the version number(s) for more information.


fws

Description

Download Ticket Service (or DL for short) is a file exchange service that allows you to upload any file to a web server and generate a unique ticket for others to download. The ticket is automatically expired according to the specified rules, so that you don't need to keep track or cleanup afterward. "dl" also allows you to grant an anonymous, one-time upload for others to send you a file, without the requirement of account management.

Requirement

This contrib has been developped and tested on SME Server 8 and later.

Installation

Configure Firewall-Services's repository:

yum install smeserver-extrarepositories-remi-safe smeserver-extrarepositories-fws smeserver-extrarepositories-epel -y
signal-event yum-modify
  • install the rpms
yum --enablerepo=fws,epel install smeserver-dl
  • Appply the needed configuration:
config set UnsavedChanges no
signal-event webapps-update

if you are running on a x86_64 system you need also to issue

service php-fpm restart
service php56-php-fpm restart
service php70-php-fpm restart
service php71-php-fpm restart

You can now access the application using this URL: https://your-server.domain.tld/dl All users created on your SME Server can login with their usual credentials.

Additional options

Some settings are available from the DB

  • Authentication: Control the way users are authenticated. Correct values are http (apache protect the access) or LemonLDAP which uses LemonLDAP-NG to validate credentials. Default is http
  • AliasOnPrimary: can be enabled or disabled (default is enabled). This prop lets you disable the access to Download Ticket Service on your primary domain (the alias /dl won't be added in apache configuration). This is useful if you want the application to be available only with a virtualhost.
  • status (enabled|disabled). Enable or disable web access, as well as the demon update
  • access (public|private). Public by default, if set to private, access will only be allowed from local networks and IP address allowed to access the server-manager
  • Uri: Used to generate download links in email notification. Default is https://$SystemName.$DomainName/dl. (note the name of this property is Uri, not Url)
  • DbUser, DbName and DbPassword. Controls MySQL database settings. Default to dl as database name and user. The password is randomly generated after installation. You shouldn't have to change these settings
  • MaxUploadSize: max file size in MB of uploaded files. Default is 1024

example:

db configuration setprop dl MaxUploadSize 250
signal-event webapps-update

Logs

All actions (ticket and grant creation or expiration, downloads etc...) are logged in /var/log/dl.log

Backup and restore

Uploads are stored in /var/lib/dl. You should backup this directory if you want to be able to restore active tickets.

Integration with LemonLDAP::NG

Download Ticket Service can be protected by LemonLDAP-NG. Here're the steps to protect it

Disable the access on the primary domain

You should disable the access to Download Ticket Service on your primary domain:

db configuration setprop dl AliasOnPrimary disabled
signal-event webapps-update

Enable LemonLDAP::NG integration

This contrib support LemonLDAP NG auth quite easily:

db configuration setprop dl Authentication LemonLDAP
signal-event webapps-update

Create a new virtualhost for Download Ticket Service

Lets create a new virtualhost for Download Ticket Service. You can choose the name you want, for example, lets create dl.domain.tld:

db domains set dl.$(db configuration get DomainName) domain Content Primary Description 'Download Ticket Service' \
DocumentRoot /usr/share/dl Nameservers internet TemplatePath WebAppVirtualHost \
Authentication LemonLDAP
signal-event domain-create dl.$(db configuration get DomainName)
db configuration setprop dl Uri https://dl.$(db configuration get DomainName)
signal-event webapps-update

Declare this virtualhost in LemonLDAP::NG

You can now create the virtualhost in LemonLDAP management interface. Only /admin.php and /rest.php should be protected. Here're the rules I use:

  • Comment: 10auth
  • Expression: ^/(admin|rest)\.php
  • Rule: $groups =~ /\badmins|equipe\b/
  • Comment: default
  • Rule: unprotect

Thunderbird

Warning.png Warning:
Note that Thunderbird 0.60.x breaks lots of extensions, and their new API is only half built making rebuilding some extensions very difficult. Upgrade with caution. See here for more:

https://www.mail-archive.com/qmail@id.wustl.edu/msg27055.html


You can use Download Ticket Service directly from Thunderbird using its FileLink feature. See http://www.thregr.org/~wavexx/software/dl/thunderbird.html for more information

Read the documentation on installation but you here are the two things you are likely to need to know :

Rest URL : https://yourserver.yourdomain/dl/rest.php

Error on Add account : Caused by an Invalid Certificate

You'll probably need to manually add your SSL certificate to Thunderbird's trusted certificate list, by going to "Edit" .. "Preferences" .. "Advanced" .. "Certificates" .. "View Certificates" .. "Add Exception".

Uninstall

If you want to remove the contrib, just run:

yum remove dl


Source

The source for this contrib can be found in Firewall-Services's repository [1].

Bugs

Please raise bugs under the SME-Contribs section in bugzilla and select the smeserver-pydio component or use this link


IDProductVersionStatusSummary
11942SME Contribs10.0CONFIRMEDupdate to 0.19