SSODS Installation¶
Installation instructions.
Introduction¶
Warning: this procedure is largely untested and requires basic Linux hacking skills.
Commands that you need to type and run and output of commands are typeset in monospace
. E.g.
$ doesitwork Of course, it's Linux!
The «$
» is the prompt (which may look different, depending on your system). doesitwork
is the command and Of course, it's Linux
is the output of the command.
You’ll need a telnet or ssh client, such as PuTTY (Windows).
You’ll probably need to activate the ssh or telnet server on your box (TurboStation, DiskStation) in order to be able to telnet or ssh into it.
Below I use 10.0.0.11
, 10.0.0.17
and 10.0.0.101
, which are the IP addresses of my DiskStation (DS), TurboStation (TS) and eTRAYz (EZ), respectively. Replace all occurences of this with the IP address you use in your setup.
Note that some things (e.g. output of commands) may look slightly different on you box. Never mind as long as it looks okay. Also, ignore warnings about missing locales.
1. Preparation¶
1.1 Warnings¶
Read the warnings.
1.2 Licenses¶
SSODS/SSOTS includes several 3rd party components. You need to read and accept all the relevant licenses. Abort if you don’t accept one or more. A list of components and the corresponding license text can be found here.
1.3 Uninstall previous SSODS/SSOTS/SSOEZ installations¶
You need to remove any previous installation of SSODS/SSOTS/SSOEZ. For SSODS/SSOTS 3.x it is enough to deactivate it but you must remove all previous SSODS/SSOTS/SSOEZ versions if your upgrading from SSODS < 4.7. You can safely install 4.8 over 4.7 and 4.9 over 4.8 (or even 4.7).
Uninstalling may work as follows (you have a backup of your data, don’t you?):
$ /opt/ssods4/etc/init.d/rc.ssods stop $ rm -rf /opt/ssods4/* $ rm /opt/ssods4 $ rmdir /volume1/SSODS4
/opt/ssods4/var/home/SqueezeboxServer/Prefs
. But you would probably rather copy the Prefs
directory somewhere and copy it back once everything is installed. E.g.:To save the preferences to an archive file:
$ cd /opt/ssods4/var/home/SqueezeboxServer $ tar -cvf /path/to/some/directory/sbs-prefs-backup.tar Prefs
To restore the preferences from an archive file (once SBS has been re-installed!):
$ cd /opt/ssods4/var/home/SqueezeboxServer $ tar -xvf /path/to/some/directory/sbs-prefs-backup.tar
Note that you must replace /path/to/some/directory
with a path that exists on your box (e.g. /volume1/public
for Diskstations, /share/MD0_DATA/Public
for some Turbostations). Compare 3. Prepare the installation directory below.
1.4 SSODS/SSOTS/SSOEZ tar ball¶
Copy the SSODS tar ball (ssods-4.x-
ARCH.tar.gz
, where ARCH is i686
, ppc
or arm
, depending on your hardware) to the machine on which you want to install SSODS/SSOTS/SSOEZ. The /Public/ share is a good place to copy the tar ball to.
2. Connect to the DS/TS/EZ¶
Open a terminal on the machine on which you want to install SSODS. Login as «root» (on Turbostations: as «admin»).
DiskStation
$ telnet 10.0.0.11 Trying 10.0.0.11... Connected to ds508.thegang. Escape character is '^]'. ds508 login: root Password: BusyBox v1.1.0 (2009.01.16-11:04+0000) Built-in shell (ash) Enter 'help' for a list of built-in commands. ds508>
TuboStation
$ ssh admin@10.0.0.17 admin@10.0.0.17's password: [~] #
eTRAYz
$ ssh root@10.0.0.101 flip@fry ~/SSODS/arm $ ssh root@10.0.0.101 Password: Last login: ... from ... on ... [1:~]$
3. Prepare the installation directory¶
Determine where you want to install SSODS/SSOTS/SSOEZ. It will need some 200 MB, so choose a place on the data partition. The command df
will tell you about available disk space. Then link the installation directory to /opt/ssods4
(note: no other path will work).
On a DiskStation the data partition is usually mounted on /volume1
:
$ mkdir -p /volume1/SSODS4 $ mkdir -p /opt $ ln -s /volume1/SSODS4 /opt/ssods4
On a TurboStation the data partition is mounted on /share/MD0_DATA
or sometimes /share/HDA_DATA
:
$ mkdir -p /share/MD0_DATA/SSODS4 $ mkdir -p /opt $ ln -s /share/MD0_DATA/SSODS4 /opt/ssods4
On an eTRAYz the data partition is mountet on /home
:
$ mkdir -p /home/SSODS4 $ mkdir -p /opt $ ln -s /home/SSODS4 /opt/ssods4
/opt/ssods4
can be used directly (recommended): $ mkdir /opt/ssods4
Or if there isn’t enough space in /opt, use some other place that has the space. E.g.:
$ mkdir /home/flip/SSODS4 $ mkdir /opt $ ln -s /home/flip/SSODS4 /opt/ssods4
Note that the partition that contains the installation directory must not have the nosuid
or noexec
flags set.
4. Extract the SSODS tar ball¶
Use the tar ball filename from above. The /path/to/
is probably /volume1/public/
(DiskStation), /share/MD0_DATA/Public/
(TurboStation) or /home/Public/
(eTRAYz). Extract the tar ball:
$ cd /opt/ssods4 $ tar -xzvpf /path/to/ssods-4.....tar.gz
5. Start SSODS/SSOTS/SSOEZ¶
$ LC_ALL= /opt/ssods4/etc/init.d/rc.ssods start
This will output something like this:
SSODS: checking system ..... OK. Starting SqueezeboxServer .. skipping, auto start is disabled. Updating /opt/ssods4/etc/sudoers .. OK. Starting thttpd-ssods ...... OK.
Ignore any warnings related to «locales» you may see in addition to the above output.
6. Make SSODS/SSOTS/SSOEZ autostart on boot¶
Link SSODS into the system startup and shutdown scripts.
DiskStation
$ mkdir -p /usr/local/etc/rc.d/ $ ln -s /opt/ssods4/etc/init.d/rc.ssods /usr/local/etc/rc.d/ssods.sh
Details are available here.
TurboStation (WARNING: untested! Get help in QNAP’s forum if you need):
Either this command (e.g. arm based TS):
$ mount -t ext2 /dev/mtdblock5 /tmp/config
Or this command (e.g. atom based TS):
$ mount -t ext2 /dev/sdx6 /tmp/config
Edit /tmp/config/autorun.sh
(create it if necessary) and add the «ln
» command from 3. and the start command from 5.
$ chmod a+rx /tmp/config $ umount /tmp/config
Detailed information on this can be found here: QnapWiki:Running_Your_Own_Application_at_Startup
eTRAYz (untested, please let me know if it works)
$ ln -s /opt/ssods4/etc/init.d/rc.ssods /etc/rc3.d/S99ssods $ ln -s /opt/ssods4/etc/init.d/rc.ssods /etc/rc6.d/K11ssods $ ln -s /opt/ssods4/etc/init.d/rc.ssods /etc/rc0.d/K11ssods
7. Install Squeezebox Server¶
Open web broser and go to: http://ip_address_of_machine_ssods_is_installed_on:9099
Click «Install» and follow the instructions.
8. Install SBS Customisations¶
There’s now a Custom.pm
module for SBS that customises several things in SBS for SSODS et al. E.g. it allows to restart SBS when changing the plugin settings in the SBS preferences.
The Custom.pm
file is included with SSODS and can be enabled (installed) on the SSODS «Settings» page. It may or may not work, depending on the SBS version you are using.
You need to restart SBS in order to activate the customisations. Once it’s active you should see more detailed system info on the about page of the SBS server settings page (in the SBS web interface).
9. Warnings, Bugs, Security¶
Note that little care has been taken to make this a «secure» installation. Do NOT expose it to the internets, keep it only in your local fully trusted LAN. You have read the warnings, haven’t you?
A particular nasty bug in the Bash shell has recently been discovered (see wikipedia for details). The versions of Bash included in the SSODS packages are affected.
Hence, you should probably uninstall SSODS and not use it anymore. A work-around might be stopping the affected part of SSODS, namely the SSODS admin webserver. This is what runs the bash in a way that makes an attack possible. You can disable the webserver from being started by removing its startup script:
$ rm /opt/ssods4/etc/init.d/thttpd-ssods
Or you move it somewhere else so that you can manually start the webserver only when you need it:
$ mv /opt/ssods4/etc/init.d/thttpd-ssods /opt/ssods4/bin $ /opt/ssods4/bin/thttpd-ssods start $ /opt/ssods4/bin/thttpd-ssods stop
Note that all of this is untested. YMMV. The «official» word is: uninstall SSODS and don’t use it anymore.