Line 6: |
Line 6: |
| === Maintainer === | | === Maintainer === |
| [mailto:stephdl@de-labrusse.fr Stéphane de Labrusse] AKA [[User:Stephdl|Stephdl]] | | [mailto:stephdl@de-labrusse.fr Stéphane de Labrusse] AKA [[User:Stephdl|Stephdl]] |
| + | |
| + | ===Version=== |
| + | {{#smeversion: smeserver-transmission }} |
| + | [[Version::contrib9|stephdl]][[Has SME9::true| ]] |
| | | |
| === Description === | | === Description === |
− | This contribution for SME Server adds the ability to seed or to download SME Server CDROM ISO trough the Bit-torrent protocol. | + | This contribution for SME Server adds the ability to seed or to download SME Server CDROM ISO through the Bit-torrent protocol. Transmission allows users to download files from the Internet and upload their own files or torrents. By grabbing items and adding them to the interface, users can create queues of files to be downloaded and uploaded. Within the file selection menus, users can customise their downloads down to components of individual files. Transmission also seeds—that is, it can re-upload downloaded content. |
| + | |
| + | see the website of [http://www.transmissionbt.com/ transmission] |
| + | |
| + | === Install Geekery Repository === |
| + | http://geekery.altervista.org/ |
| + | http://geekery.altervista.org/dokuwiki/doku.php |
| | | |
− | === Requirements === | + | = For SME 8 = |
− | You need to activate two repositories, [[geekery]] which hosts Transmission binaries and [[stephdl]].
| + | /sbin/e-smith/db yum_repositories set GeekeryTransmission repository \ |
| + | Name 'geekery repository' \ |
| + | MirrorList 'http://geekery.epac.to/geekery/el5-mirrors' \ |
| + | IncludePkgs transmission*,libevent2 \ |
| + | EnableGroups no \ |
| + | GPGCheck yes \ |
| + | GPGKey http://geekery.altervista.org/download.php?filename=GEEKERY-GPG-KEY \ |
| + | Visible no \ |
| + | status disabled |
| | | |
− | === Installation === | + | = For SME 9 = |
− | This contrib is currently held in several repository, so the following commands will install on your smeserver.
| + | /sbin/e-smith/db yum_repositories set GeekeryTransmission repository \ |
| + | Name 'geekery repository' \ |
| + | MirrorList 'http://geekery.epac.to/geekery/el6-mirrors' \ |
| + | IncludePkgs transmission*,libevent2 \ |
| + | EnableGroups no \ |
| + | GPGCheck yes \ |
| + | GPGKey http://geekery.altervista.org/download.php?filename=GEEKERY-GPG-KEY \ |
| + | Visible no \ |
| + | status disabled |
| + | <headertabs/> |
| + | |
| | | |
− | yum --enablerepo=geekery,stephdl install smeserver-transmission | + | After adding it to the database updating the configuration file is required: |
| + | signal-event yum-modify |
| + | |
| + | === Installation For SME8 and SME9=== |
| + | This contrib is currently held in several repositories, so the following commands will install it on your smeserver. |
| + | |
| + | yum --enablerepo=stephdl,GeekeryTransmission install smeserver-transmission |
| | | |
| You will then need to activate the database changes etc. | | You will then need to activate the database changes etc. |
| The 'official' way is to perform | | The 'official' way is to perform |
| | | |
| + | signal-event post-upgrade; signal-event reboot |
| + | or if you do NOT want to reboot your server |
| + | signal-event conf-transmission |
| + | |
| + | ====Manage settings==== |
| + | There are no panels in the server-manager, the contrib can be managed by the Command Line : |
| + | config show transmission |
| + | and |
| + | config show transmission-daemon |
| + | |
| + | ====Upgrade Transmission==== |
| + | |
| + | yum update --enablerepo=stephdl smeserver-transmission transmission |
| + | and |
| signal-event post-upgrade; signal-event reboot | | signal-event post-upgrade; signal-event reboot |
| or if you do NOT want to reboot your server | | or if you do NOT want to reboot your server |
Line 26: |
Line 74: |
| | | |
| ===Login to transmission=== | | ===Login to transmission=== |
| + | Transmission is a "web contrib", you need a web browser to handle your torrents. The url to reach transmission is https://sme-ip-or-host/transmission<br /> |
| | | |
− | The url to reach the transmission is https://sme-ip-or-host/transmission<br />
| + | Just after the installation, only the '''admin''' user is allowed to perform a login with its SME Server credentials (on web and samba side), and for matters of security, '''only on your local network'''. |
− | | |
− | Just after the installation, only the '''admin''' user is allowed to perform a login with its SME Server credentials. | |
| {{Note box|All users or groups need to be real users or groups in the server-manager with a password set}} | | {{Note box|All users or groups need to be real users or groups in the server-manager with a password set}} |
| ====Add users==== | | ====Add users==== |
− | If you want to allow more users to transmission | + | If you want to allow more users to use 'transmission' then execute these commands at the Command Line. |
− | config setprop transmission Transuser "admin user1 user2" | + | config setprop transmission Transuser user1,user2 |
| signal-event conf-transmission | | signal-event conf-transmission |
− | All users need to be real users in the server-manager with a password set | + | All users need to be real users in the server-manager with a password set. |
| + | |
| ====Add groups==== | | ====Add groups==== |
− | If you want to allow more groups to transmission | + | If you want to allow more groups to use 'transmission' then execute these commands at the Command Line. |
− | config setprop transmission Transgroup "group1 group2 group3" | + | config setprop transmission Transgroup group1,group2,group3 |
| signal-event conf-transmission | | signal-event conf-transmission |
− | All groups need to be real groups in the server-manager with a password set | + | All groups need to be real groups in the server-manager with a password set. |
| | | |
| ====change the default url==== | | ====change the default url==== |
| By default transmission is reachable at https://sme-ip-or-host/transmission but if you want to change this | | By default transmission is reachable at https://sme-ip-or-host/transmission but if you want to change this |
| + | |
| + | /etc/init.d/transmission-daemon stop |
| config setprop transmission Name XXXXX | | config setprop transmission Name XXXXX |
| + | expand-template /var/lib/transmission/settings.json |
| signal-event conf-transmission | | signal-event conf-transmission |
| + | |
| then you need to go to https://sme-ip-or-host/XXXXX | | then you need to go to https://sme-ip-or-host/XXXXX |
| | | |
| ====Disable the access (web/samba) to Transmission==== | | ====Disable the access (web/samba) to Transmission==== |
− | If you want to close all your users access to the transmission contrib by web or by samba you can perform this. But this do not stop the transmission daemon | + | If you want to close the access to all your users to the transmission contrib by web or by samba you can perform this. But this '''do not stop the transmission daemon''' |
| + | config setprop transmission status disabled |
| + | signal-event conf-transmission |
| + | |
| + | to restore the ability to use transmission |
| config setprop transmission status enabled | | config setprop transmission status enabled |
| signal-event conf-transmission | | signal-event conf-transmission |
| | | |
− | ===Browse your download=== | + | ====Access global-local-none==== |
− | You can browse all your downloads either by samba, or by your browser (by default only on your local network) | + | By default only IPs which are on your local network are allowed to reach transmission with a web browser, but this behaviour can be changed. |
− | ====By samba==== | + | |
− | only the admin is allowed to browse your download with samba, if you want to add more users or groups | + | Only IPs on your local network |
− | config setprop transmission Smbusers "admin user1 user2 @group1 @group2" | + | config setprop transmission PublicAccess local |
| + | or All IPs |
| + | config setprop transmission PublicAccess global |
| + | or No access |
| + | config setprop transmission PublicAccess none |
| + | |
| + | After that |
| + | signal-event conf-transmission |
| + | |
| + | ====Change the download folder==== |
| + | |
| + | By default the download folder is /var/lib/transmission/Downloads |
| + | |
| + | You can change this by a db command, please do not add a "/" at the end of path |
| + | |
| + | /etc/init.d/transmission-daemon stop |
| + | config setprop transmission Transdlfolder '''/opt/toto''' |
| + | mkdir -p /opt/toto |
| + | chown -R transmission:transmission /opt/toto |
| + | signal-event conf-transmission |
| + | |
| + | ===Browse your downloads=== |
| + | {{Tip box|Just after the installation, You can browse all your downloads either by samba, or with your browser. Only the '''admin''' user is allowed to perform a login with its SME Server credentials, and for matters of security, '''only on your local network'''.}} |
| + | |
| + | You can change these settings with commands below |
| + | ====Through samba==== |
| + | =====Add users and groups===== |
| + | only the '''admin''' is allowed to browse your downloads with samba, if you want to add more users or groups |
| + | config setprop transmission Smbusers user1,user2,@group1,@group2 |
| signal-event conf-transmission | | signal-event conf-transmission |
| In the smb.conf a group is called by "@", do not forget to add it if you want to allow group1 : @group1<br /> | | In the smb.conf a group is called by "@", do not forget to add it if you want to allow group1 : @group1<br /> |
Line 63: |
Line 147: |
| Then you can browse all samba shares of your server, find the transmission share and perform a login with your credentials. | | Then you can browse all samba shares of your server, find the transmission share and perform a login with your credentials. |
| | | |
− | ====By your web browser==== | + | ====Through your web browser==== |
| It is a nice feature if you can exchange downloads with your friends outside of your network, of course this could be forbidden in certain countries. | | It is a nice feature if you can exchange downloads with your friends outside of your network, of course this could be forbidden in certain countries. |
− | {{Note box|By default the web access to transmission downloads is only allowed on your local network.}} | + | {{Note box|By default the web access to transmission downloads is only allowed on your local network and only for the admin user.}} |
| | | |
| go to https://sme-ip-host/dl-transmission | | go to https://sme-ip-host/dl-transmission |
Line 83: |
Line 167: |
| | | |
| =====Add users===== | | =====Add users===== |
− | If you want to allow more users to transmission
| + | only the admin is allowed to browse your downloads with samba, if you want to add more users or groups |
− | config setprop transmission Webuser "admin user1 user2" | + | config setprop transmission Webuser user1,user2 |
| signal-event conf-transmission | | signal-event conf-transmission |
| All users need to be real users in the server-manager with a password set | | All users need to be real users in the server-manager with a password set |
| + | |
| =====Add groups===== | | =====Add groups===== |
− | If you want to allow more groups to transmission | + | If you want to allow more groups to the download transmission folder |
− | config setprop transmission Webgroup "group1 group2 group3" | + | config setprop transmission Webgroup group1,group2,group3 |
| signal-event conf-transmission | | signal-event conf-transmission |
| All groups need to be real groups in the server-manager with a password set | | All groups need to be real groups in the server-manager with a password set |
| + | |
| =====change the default url===== | | =====change the default url===== |
− | By default transmission is reachable at https://sme-ip-or-host/dl-transmission but if you want to change this | + | By default the download transmission folder is reachable at https://sme-ip-or-host/dl-transmission but if you want to change this |
| config setprop transmission Webdlurl XXXXX | | config setprop transmission Webdlurl XXXXX |
| signal-event conf-transmission | | signal-event conf-transmission |
| then you need to go to https://sme-ip-or-host/XXXXX | | then you need to go to https://sme-ip-or-host/XXXXX |
| | | |
| + | ===Listening Port=== |
| + | Transmission is listening in standard on the port '''51413''' which need to be enabled in the firewall of your network and in your SME Server. Transmission uses the UPNP protocol to allow its port through your network firewall.<br /> |
| + | |
| + | ====Randomize port on launch==== |
| + | In certain case you may want to allow a random port (set between 49152 and 65535). After each Port modifications, you should go to the transmission setting to verify the port is "'''open'''" |
| + | |
| + | config setprop transmission-daemon TCPPorts 49152:65535 |
| + | then in the transmission setting, check the box "randomize port on launch and restart the service |
| + | signal-event remoteaccess-update |
| + | |
| + | ====Set a different port ==== |
| + | In certain case you may want to allow a different port (default is 51413). After each Port modifications, you should go to the transmission setting to verify the port is "'''open'''" |
| + | config setprop transmission-daemon TCPPort 51485 |
| + | then in the transmission setting, change the port number to be relevant of your db command and restart the service |
| + | signal-event remoteaccess-update |
| + | |
| + | If you want that your change comes persistent you have to modify the template /etc/e-smith/templates/var/lib/transmission/settings.json <br /> |
| + | |
| + | please see [[Transmission#Custom_Templates|this chapter]] |
| + | |
| + | ===Custom Templates=== |
| + | Transmission is a daemon which needs its configuration file named settings.json.<br /> |
| + | |
| + | To give easier our life, this configuration file is templated in /etc/e-smith/templates/var/lib/transmission/settings.json.<br /> |
| + | If you want to make modifications that you cannot change with the web interface of transmission or if you want to give them persistent in case of reconfiguration, you can modify the template.<br /> |
| + | |
| + | before you have to stop the transmission-daemon |
| + | |
| + | # /etc/init.d/transmission-daemon stop |
| + | Arrêt de transmission-daemon : [ OK ] |
| + | |
| + | then |
| + | nano /etc/e-smith/templates/var/lib/transmission/settings.json |
| + | |
| + | ctrl+x to save and |
| + | signal-event conf-transmission |
| + | |
| + | ===Known Issues=== |
| + | ====409: Conflict==== |
| + | If you try to reach transmission with a "/" at the end of your url you may have this error in the web browser |
| + | |
| + | for example try this |
| + | https://sme-ip-host/transmission/<br /> |
| + | |
| + | and you can see this page in your web browser<br /> |
| + | |
| + | 409: Conflict |
| + | |
| + | Your request had an invalid session-id header. |
| + | |
| + | To fix this, follow these steps: |
| + | |
| + | When reading a response, get its X-Transmission-Session-Id header and remember it |
| + | Add the updated header to your outgoing requests |
| + | When you get this 409 error message, resend your request with the updated header |
| + | |
| + | This requirement has been added to help prevent CSRF attacks. |
| + | |
| + | X-Transmission-Session-Id: gEtlm4qQBEDbEcmmD93Z44F7pWKbhu5YboQLxsoNfFKv096H |
| === Uninstall === | | === Uninstall === |
| yum remove smeserver-transmission transmission* libevent2 | | yum remove smeserver-transmission transmission* libevent2 |
− | signal-event post-upgrade; signal-event reboot
| + | signal-event post-upgrade; signal-event reboot |
| + | and this if you want to remove all db configurations |
| + | config delete transmission |
| + | config delete transmission-daemon |
| + | |
| === Bugs === | | === Bugs === |
− | Please raise bugs under the SME-Contribs section in [http://bugs.contribs.org/enter_bug.cgi bugzilla] | + | Please raise bugs under the SME-Contribs section in [http://bugs.contribs.org/enter_bug.cgi bugzilla] and select the smeserver-transmission component or use {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-transmission|title=this link}}. |
− | and select the smeserver-foo component or use {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-foo|title=this link}}. | |
| | | |
− | ''' remove the nowiki tags from your page '''
| + | [[Category: Contrib]] |
− | <nowiki><noinclude>[[Category: Contrib]]</noinclude></nowiki>
| |