SqueezeBoxServer
Description
Squeezebox Server is the new name for SqueezeCenter. Squeezebox Server provides streaming music to Squeezebox audio players.
This How-to describes the installation and updating of Squeezebox Server on SME7 Server. Please refer to SqueezeCenter's product and help pages for operation.
If you already have SqueezeCenter installed it would be advisable to follow the original How-to instructions on how to remove it first.
Links
Logitech's Squeezebox home page
http://www.logitechsqueezebox.com/
Originating discussion leading to this wiki entry
http://forums.contribs.org/index.php/topic,45083.0.html
http://forums.slimdevices.com/showthread.php?t=69507
Michael Herger how-to page
Credits
This How-to is based on the SqueezeCenter How-to and the original credits still apply:
Originator: bricknell - documented his struggles and successes for others
Procedure: william_syd - initially documenting a succinct procedure
Documenter: Christian - verified procedure and initiated wiki entry
In addition The method of installing Perl 5.10 was provided by Michael Herger (user mherger over on the slimdevices forum).
Testing and this how to Mark Leman
Setup the Repository
Release
You should use this and only this for most installations. The other repositories are for experimentation or bleeding edge.
db yum_repositories set squeezecenter-release repository \ BaseURL http://repos.slimdevices.com/yum/squeezecenter/release/ \ EnableGroups no \ GPGCheck no \ GPGKey http://repos.slimdevices.com/yum/squeezecenter/RPM-GPG-KEY-SqueezeCenter \ Name 'SqueezeCenter Release Repository' \ Visible no \ status disabled
Testing
Normally you should not bother with this unless you want bleeding edge. You can safely omit this. It is provided for reference.
db yum_repositories set squeezecenter-testing repository \ BaseURL http://repos.slimdevices.com/yum/squeezecenter/testing/ \ EnableGroups no \ GPGCheck no \ GPGKey http://repos.slimdevices.com/yum/squeezecenter/RPM-GPG-KEY-SqueezeCenter \ Name 'SqueezeCenter Branch Repository' \ Visible no \ status disabled
Unstable
Normally you should not bother with this unless you want bleeding edge. You can safely omit this. It is provided for reference.
db yum_repositories set squeezecenter-unstable repository \ BaseURL http://repos.slimdevices.com/yum/squeezecenter/unstable/ \ EnableGroups no \ GPGCheck no \ GPGKey http://repos.slimdevices.com/yum/squeezecenter/RPM-GPG-KEY-SqueezeCenter \ Name 'SqueezeCenter Trunk Repository' \ Visible no \ status disabled
Inform Yum
Now ensure that yum's database is updated. This is needed after any db addition/change to the yum_repositories.
signal-event yum-modify
Installation
Lets install the star attraction.
yum --enablerepo=squeezecenter-release install squeezeboxserver
Better give ourselves some control and open the music to the world. You will need both TCP and UDP ports at least initially. If you are concerned about security there is info in the SqueezeCenter forums that tell you precisely when each port is required.
db configuration set squeezecenter service \ status enabled \ TCPPorts 9000,3483 \ UDPPorts 9000,3483 \ access private
to change your install to public, either change private to public above or enter
db configuration setprop squeezecenter access public
Tell SME what we have done.
signal-event remoteaccess-update
Create a File Structure
The following is a suggestion on how to create a file structure. You can alternatively create an ibay or user for these. In christian's config for example, he has an ibay with all of his media which points SqueezeCenter and Jinzora to. However he maintains Squeezebox servers's playlists per william_syd's suggestion below.
Lets make somewhere for music and playlists.
mkdir -p /opt/squeezeboxserver/playlists mkdir -p /opt/squeezeboxserver/music
And give squeezey ownership of the above.
chown squeezeboxserver:squeezeboxserver /opt/squeezeboxserver/playlists chown squeezeboxserver:squeezeboxserver /opt/squeezeboxserver/music
Install Perl 5.10.0
cd /usr/local wget http://www.herger.net/slim/perl510.tgz tar -xzf perl510.tgz
check perl has installed ok with: /usr/local/perl510/bin/perl5.10.0 -v
Patch Squeezebox server to use Perl5.10.0
ln -s /usr/local/perl510/bin/perl5.10.0 /usr/local/bin/ ln -s /usr/share/squeezeboxserver/CPAN/ /usr/libexec/CPAN
Next 3 stages need to be repeated after any upgrade.
edit first line of /usr/libexecsqueezeboxserver and /usr/libexecsqueezeboxserver-scanner from
#!/usr/bin/perl -w
to
#!/usr/local/bin/perl5.10.0 -w
edit /usr/lib/perl5/vendor_perl/Slim/bootstrap.pm
At line 142 add
@INC = grep { $_ !~ /5\.8/ } @INC;
Initial Launch
To test the fist time start Squeezebox server manually
sudo -u squeezeboxserver /usr/libexec/squeezeboxserver --prefsdir=/var/lib/squeezeboxserver/prefs --logdir=/var/log/squeezeboxserver --cachedir=/var/lib/squeezeboxserver/cache --charset=utf8 --d_startup --s_stdout
The debug messages should help hi-light any problems, use Ctrl-C to stop
Start Squeezebox server as a service.
service squeezeboxserver start
Access the administration page:
http://<your_SMEserver>:9000/
Updating
If the administration page informs you that there is an update available then you can update. It may be advisable to stop Squeezebox Server first with
service squeezeboxserver stop
Then
yum --enablerepo=squeezecenter-release update squeezeboxserver
You will need to re-patch the three files detailed above after each update.