Personal tools
You are here: Home Linux I/O SqueezeCenter v7.3.2-1 on a CentOS VM

SqueezeCenter v7.3.2-1 on a CentOS VM

Howto install Slim Devices SqueezeCenter server on a RHEL/CentOS VM

Start with a bare x86_64 CentOS v5.3 VM, with 512MB of RAM, an 8GB root device, and the latest updates. The VM has a hostname of

The hardware used is a Squeeze box duet, which consists of:

  • SqueezeBox Controller (SBC) - C-RL65
  • SqueezeBox Receiver (SBR) - C-RM66

Install the repo

Install the SqueezeCenter RPM repository, as per the instructions:

# rpm -Uvh
# rpm -Uhv

Install SqueezeCenter

Using the repo above, install squeezecenter. This pulls in the perl and mysql dependencies.

# yum install squeezecenter lame


Allow tcp port 9000 for http access, and tcp & udp port 3483, and udp 5353 for the multicast DNS response started by the squeeze server package. (Note: is the local trusted network)

# SqueezeCenter http
-A tcpIn  -p tcp -m tcp --dport 9000 --source -m state --state NEW -j ACCEPT

# SqueezeCenter 
-A tcpIn  -p tcp -m tcp --dport 3483 --source -m state --state NEW -j ACCEPT
-A tcpOut -p tcp -m tcp --dport 3483 --destination -m state --state NEW -j ACCEPT
-A udpIn  -p udp -m udp --dport 3483 --source -m state --state NEW -j ACCEPT
-A udpOut -p udp -m udp --dport 3483 --destination -m state --state NEW -j ACCEPT

# SqueezeCenter mDNS
-A udpIn  -p udp -m udp --dport 5353 --source -m state --state NEW -j ACCEPT

# SqueezeCenter UDAP
-A udpOut -p udp -m udp --dport 17784 --destination -m state --state NEW -j ACCEPT
-A udpIn  -p udp -m udp --dport 17784 --source -m state --state NEW -j ACCEPT

Note: Until the SqueezeBox Receiver (SBR) gets a valid IP address (static or DHCP), it will use an auto-configured link local address from the network. The SqueezeBox receiver is required to configure the SBR via the wireless interface using UDAP (TODO: Find a reference that describes this process).


Mount a lump of disk into the VM for the music. Add an entry to /etc/fstab:

LABEL=/mnt/music        /mnt/music              ext3    defaults        0 2

Create a directory for the music library (mp3), and for playlists. Change the ownership of playlists and mp3 directory and files to squeezecenter (uid 100). Copy music library into the the space (I chose the directory name 'mp3').

# mkdir /mnt/music/{library,playlists}
# chown -R squeezecenter.squeezecenter /mnt/music/{library,playlists}

Start the server (Note: SqueezeCenter runs mysqld directly, and NOT as a standalone service)

# service squeezecenter start


Add DJB dns records for the squeeze center sever:

Browse to the server

Point a browser at the server, configure:





## Only enable one repository in this list...

name = SqueezeCenter Release Repository
baseurl =

name = SqueezeCenter Branch Repository
baseurl =

name = SqueezeCenter Trunk Repository
baseurl =

yum install squeezecenter

Dependencies Resolved

 Package               Arch          Version                   Repository                    Size
 squeezecenter         noarch        7.3.2-1                   squeezecenter-release         28 M
Installing for dependencies:
 mysql                 x86_64        5.0.45-7.el5              base                         4.2 M
 mysql-server          x86_64        5.0.45-7.el5              base                         9.7 M
 perl                  x86_64        4:5.8.8-18.el5_3.1        updates                       12 M
 perl-DBD-MySQL        x86_64        3.0007-2.el5              base                         148 k
 perl-DBI              x86_64        1.52-2.el5                base                         600 k

Transaction Summary
Install      6 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 55 M


# $Id$
# SqueezeCenter specific MySQL Server config.


# If you want to have user permissions - you need to setup a valid user, and
# remove this line below.

basedir               = /usr/share/squeezecenter/MySQL
datadir               = /var/lib/squeezecenter/cache/MySQL
language              = /usr/share/mysql/english
port                  = 9092
socket                = /var/lib/squeezecenter/cache/squeezecenter-mysql.sock
pid-file              = /var/lib/squeezecenter/cache/
log-error             = /var/lib/squeezecenter/cache/mysql-error-log.txt
innodb_fast_shutdown  = 1
max_connections       = 4
thread_concurrency    = 4
log-warnings          = 0
bind-address          =
default-character-set = utf8
default-collation     = utf8_general_ci
key_buffer            = 2M
max_allowed_packet    = 1M
table_cache           = 64
sort_buffer_size      = 512K
net_buffer_length     = 8K
read_buffer_size      = 256K
read_rnd_buffer_size  = 512K

socket                = /var/lib/squeezecenter/cache/squeezecenter-mysql.sock
Document Actions