Saturday, December 27, 2008

Updating the Media Center Part 3 (Jinzora and Mediatomb)

Jinzora is a web bases media streaming and management system which I have heard good things about so I thought I would give it a go. This service runs on PHP and this in turn needs a web server. Seems like a job for apache.

sudo apt-get install apache2

sudo apt-get install php5

sudo apt-get install libapache2-mod-auth-mysql php5-mysql (Note include mysql-server if you didn't install squeeze center)

sudo apt-get install php5-gd

PHP 5 gets installed with some wimpy settings, too wimpy for most real apps so needed to edit some settings.

sudo vi /etc/php5/apache2/php.ini

Set the following

"max_execution_time" to 300

"memory_limit" to 128M

"post_max_size" to 32M

"file_uploads" to On

"upload_max_filesize" to 32M

Install Jinzora

Update the Media Center Part 2 (squeezecenter)

Second part of updating the in home media center is bringing back the trusty Squeezecenter (was slimserver) so that all the squeezeboxes in the home would work as before. This involved the steps documented here. I went with the testing branch which at the time of writing was 7.3.1. Note this does install a number of other components on your system including MySql which will require you to set a root password.

Once installed the slimdevices recognized the new server and needed firmware upgrades. There was also a small matter of configuration!, Squeezecenter exports a web interface on port 9000. This is where the initial configuration is down which is essentially wizard driven.

One of the main uses of the Squeezebox's in the home is to listen to BBC radio. Luckily some creative chaps have written a plugin called Alien BBC. The main dependency of Alien BBC is mplayer which is easily resolved with.

sudo apt-get install mplayer

With the dependancies out of the way the plugin can be downloaded, refer to the archive listed in the instructions

wget <archive>
tar -xvzf <archive>
sudo mv Plugins/Alien /usr/share/squeezecenter/Plugins
sudo chown -R squeezecenter:nogroup

finally restart squeezecenter

sudo /etc/init.d/squeezecenter restart

So now the functionality is back where it was when I started....onward and upward...

Update the Media Server

After two years of service it is time to update the central media server in the home. The current server is running on an old red hat linux image hosted on a old hush pc platform. The hardware is still gusty enough but the OS is past it's prime and good for a upgrade. The main service provided by this box has been to run the in home audio system. This system utilizes the great slimdevices (recently aquired by Logitech) and server component called squeezecenter (was called slimserver) was the only key service running on the box I am updating. The audio system will remain on the new platform since it is the best I have found after trying many different brands over the years, and it has given us over two years of stellar service without much of a hitch other than the occasional upgrade and perhaps most important everyone in the home can actually use it.

So the current audio system stays, but things move on in the house and we have discovered the joys of internet TV and the various torrent feeds that are out there. For the most part we have survived for a couple of months with a patchwork of solutions which work but are not efficient in the delivery of video content to the main TV in the home. The first upgrade was the inclusion of a 802.11n network (not really into pulling wire) which sits along side of the two G class networks, one for computing and one for audio and media. The media G network and the new n Network converge at a hub which the media server will be connected to.

First part of the upgrade is the OS, Redhat is going and will be replaced with the ubuntu 8.10 this proved to be less simple than I expected. First I chose the Server edition because I didn't need a Gui. Everything went well with the install included surprise bonus features of installing LAMP and Samba, however on first boot the kernel failed due to my Via C3.1 processor not supporting the pae Cx8 (pae = Physical Address Extension) feature even though the install CD happily installed it!. According to the chaps in the forum at ubuntu I had to use a generic kernel and that could only be found in the Desktop version. For those people who are now screaming what about the Microsoft Home Server edition. Well apart from the cost (yes I am a tight wad) I had tried to install this on a couple of platforms recently and in both cases it failed to perform. After hours of set up and configuration I finally ended up with a re-badged Windows 2003 Server that either didn't support my display or network adaptor..Anyhoo, the Desktop install (including updates) took about 90 mins which isn't too bad. Now to the software.

Since i had to bail on the server edition I needed to install/configure a few things I would need later.

Firstly ssh access, I don't really need a GUI but I do need remote (secure) access for doing some administration. Since Ubuntu Desktop does not come with ssh enabled this needs to be added.

sudo apt-get install ssh

Since i didn't need a graphical interface I disabled the GUI (Gnome - gdm). Simply click System/Administration/Services. Then unlock the configuration scroll down and disable GDM. Ignore the warnings and restart.

Time to set up file sharing and that means installing Samba

sudo apt-get install samba smbfs

I organized my content under

/media/samba/images - Photos
/media/samba/music - Audio content
/media/samba/videos - Video content

This required a modification to the default samba configuration, first stop the samba server

sudo /etc/init.d/samba stop

Copy/Move the current config. Then use this a basis for your new configuration, make the necessary modifications wherever you see the "YOUR_" prefix. The last section ([MyFiles]) is the actual content you want to share. Change the section name to be the label you want to share. For example I create three sections labeled [Images], [Music], [Videos]. Each identical except for the path information.

Finally make sure that all the paths you specified exist on the local machine with the correct permissions. Then start samba up again.

sudo /etc/init.d/samba start

I didn't want to use to systems passwords over samba so I used smbpasswd to set a network password.

sudo smppasswd -a system_user

First part done...time for a cup of tea...