How To: Install MusicCabinet on FreeNas 8.3.1 release

Status
Not open for further replies.

Forssux

Explorer
Joined
Mar 13, 2013
Messages
67
Hi There,

I'm working as a sound engineer in the Belgian army...We have our own communications department.
At the video department we have 5 Avid stations that uses "Library Music" to enhance the viewing experience.

Our "Library Music" publisher mostly visit us once a year to upgrade ( add ) music.
We have several of these fine publisher ...www.sonofind.com is one Universal is another.
They tend to do of course things a little different.
Anyway enough with the chit chat.

Tech Spec
Old Avid Unity chassis Motherboard HP 8200xw with 8GB ram and 16 disk each 160 GB running a zfs pool
I opted for FreeNas 8.3.1 release -p2. We have over 500k of songs

I have installed subsonic on it from here http://forums.freenas.org/showthread.php?7295-Subsonic-Plugin from Joshua Parker thanks for this.
And learned a lot from here http://www.parmeter.net/ben/2011/02...ic-on-freenas-and-bonus-upgrade-instructions/
After running this I quickly learned that although a great program, I needed tag search and here begins the MusicCabinet story

Warning MusicCabinet needs internet when it's starting..

1) Requirements:
a) a jail setup as described here:
http://doc.freenas.org/index.php/Plugins

b) DNS IPv4 default gateway check like the one from google 8.8.8.8
It is done out the jail and one can enter it via the web page "Horizontal Network tab and in Global Configuration choose nameserver 1 and fill 8.8.8.8 and/or nameserver 2 8.8.4.4
Don't forget your Ipv4 default gateway
freenasDNS.PNG

c) a mount point for your media
freenasMountpoints.PNG


No Original subsonic is required to run MusicCabinet !!!!!!

2) Make the jail
a) create two datasets in your ZFS pool
freenaspool.PNG

b) upload the FreeNAS-8.3.1-RELEASE-x64.Plugins_Jail.pbi
freenaspluginssettings.PNG

c) make sure the plugin service is active
freenqsservices.PNG

now to be on the safe side ...the web page doesn't always tells the truth.
Go to the shell and type

[root@freenas ~]# jls
JID IP Address Hostname Path
1 - software /mnt/DGCOM-Music/jail/software
voila the jail is running and has a JIS of 1

d) make sure you can search the jail
[root@freenas ~]#jexec 1 /bin/tcsh
software# /usr/libexec/locate.updatedb

3) Installing MusicCabinet in the jail.
a) open the jail

[root@freenas ~]# jls
JID IP Address Hostname Path
1 - software /mnt/DGCOM-Music/jail/software
voila the jail is running and has a JIS of 1 your milage may vary on the JID and software

okay open the jail with:
[root@freenas ~]# jexec 1 /bin/tcsh
software#

The software# is the name of my jail and may be different for you

b) install dependencies in the jail

MusicCabinet needs at least openjdk7 with this you'll have the gui and all but no metadatascanning it's like the original subsonic ...kind off
MusicCabinet should best be installed with postgresql 9 above, then you'll have it as intended.

So normally do a
software#
Code:
pkg_add -v -r openjdk7
pkg_add -v -r postgresql91-server
pkg_add -v -r postgresql91-contrib


Add the following line to /etc/rc.conf to enable postgresql
postgresql_enable="YES"
Code:
echo postgresql_enable="YES" > /etc/rc.conf


Code:
/usr/local/etc/rc.d/postgresql initdb
/usr/local/etc/rc.d/postgresql start

 

Configure PostgreSQL to listen for database connections on all system IP addresses by changing the following line in /usr/local/pgsql/data/postgresql.conf

#listen_addresses = 'localhost' to listen_addresses = '*'
software# su pgsql
$ createuser -sdrP postgres
Enter password for new role: mypassword
Enter it again: mypassword
$exit
software#
c) resolve troubles finding packages

If it doesn't find you'll be able to change the place where it looks per default, the -r let it go to a standard location if you now a other place you can set it to look there
choose 1 of three that's right for your enverinement
Code:
software# setenv PACKAGESITE "ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8.3-release/All/"
software# setenv PACKAGESITE "ftp://ftp.freebsd.org/pub/FreeBSD/ports/ia64/packages-9-current/All/" 
software# setenv PACKAGESITE "ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9-current/All/"


software#
Code:
pkg_add -v -r openjdk-7.2.13.tbz


or if you downloaded with fillezilla at home place it somwhere in your jail and do
Code:
pkg_add -v /media/openjdk-7.2.13.tbz


Still difficult to get the packages?
software# pkg_add -r -v openjdk7
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/po...t/openjdk7.tbz... Done.
Package dependency openjdk7 for ftp://ftp.freebsd.org/pub/FreeBSD/po...t/openjdk7.tbz not found!
etc....

Try to ping google and do a
Code:
ping google.com
ping 8.8.8.8 
result not okay?

if above doesn't work you'll never find the packages..

I had this at my work we have a public ipadress that starts at 10.29.66.*** this range has ftp
But the working server needs to be running on another subnet witch starts at 10.120.17.*** this range has no ftp
So I needed to switch between them and forgot to change the Ipadress of the jail ..
Of course the packages weren't found

exit the jail...
Code:
exit


do you have a nameserver in your /etc/resolv.conf?
Code:
vi /etc/resolv.conf

some keys for vi "esc" "i" "d" "r" i=insert r=replace d=delete alter between them with the esc key
to save "esc" ":wq!" :wq! is entered at the prompt
to quit without saving ":q!"
so change your /etc/resolv.conf and add nameserver 8.8.8.8 or at the prompt you can:
echo nameserver 8.8.8.8 > /etc/resolv.conf the > pipes the output to a file instead of standard to the screen..

You can also use the gui tab network fill nameserver 1 and IPv4 default gateway !!!

You can also copy the files onto the nas with all its dependencies aargh you're in for a ..
The -r let it go to a standard location if you know another place

If you downloaded the package manually like with fillezilla. Copy the package somewhere in your jail and do
Code:
pkg_add -v /media/openjdk7.2.13.tbz
notice that the -r is not used



c) installing MusicCabinet

download the stand allone version here http://dilerium.se/musiccabinet/subsonic-installer-standalone.zip unzip it and rename the folder to standalone and move it to your share, mine is /mnt/DGCOM-Music
Code:
software# mkdir /var/subsonic
software# cp r /mnt/DGCOM-Music/standalone /var/subsonic
chmod 777 /var/subsonic/standalone/*.*



d) adapt some variables here and there

software# vi /etc/hosts
change this line 127.0.0.1 localhost localhost.my.domain
to 127.0.0.1 localhost localhost.my.domain software

software# vi /var/subsonic/standalone/subsonic.sh
maybe not needed but change
cd $(dirname $0)
if [ -L $0 ] && ([ -e /bin/readlink ] || [ -e /usr/bin/readlink ]); then
cd $(dirname $(readlink $0))
fi
to
cd /var/subsonic/standalone
#if [ -L $0 ] && ([ -e /bin/readlink ] || [ -e /usr/bin/readlink ]); then
#cd $(dirname $(readlink $0))
#fi

SUBSONIC_HOME=/var/subsonic
SUBSONIC_HOST=192.168.1.66 # my jail has ip 192.168.1.66 yours?
SUBSONIC_PORT=4040
SUBSONIC_HTTPS_PORT=0
SUBSONIC_CONTEXT_PATH=/
SUBSONIC_MAX_MEMORY=450 # with over +500k of songs I had a little more then 2GB ram necessary
SUBSONIC_PIDFILE=
SUBSONIC_DEFAULT_MUSIC_FOLDER=/media
SUBSONIC_DEFAULT_PODCAST_FOLDER=/media
SUBSONIC_DEFAULT_PLAYLIST_FOLDER=/media

Make sure of the java path, change underlying in the script:

# Use JAVA_HOME if set, otherwise assume java is in the path.
JAVA=java
if [ -e "${JAVA_HOME}" ]
then
JAVA=${JAVA_HOME}/bin/java
fi

to
# Use JAVA_HOME if set, otherwise assume java is in the path.
JAVA=/usr/local/openjdk7/bin/java


4) Adapt startup script

echo postgresql_enable="YES" > /etc/rc.conf
subsonic startup script somebody?
http://www.freebsddiary.org/startup.php maybe?

5) Test your MusicCabinet

[root@freenas ~]# jexec 1 /bin/tcsh
software# cd /var/subsonic/standalone
software# ./subsonic.sh
Started Subsonic [PID 5613, /var/subsonic/subsonic_sh.log]

write down the pid number 5613

6) Transcoding

I didn't need this so this is a 1/1 copy of http://www.parmeter.net/ben/2011/02...ic-on-freenas-and-bonus-upgrade-instructions/

mkdir /var/subsonic/transcode
cp /usr/local/bin/lame /var/subsonic/transcode/
cp /usr/local/bin/flac /var/subsonic/transcode/
cp /usr/local/bin/ffmpeg /var/subsonic/transcode/

Configure your transcoder settings. In the Subsonic web interface go to “Settings > Transcoding”.

In this example, I’ve set up FLAC to transcode to WAV, then to MP3. On the line reads “flac > mp3″ modify the following:

Step 1 = flac -c -s -d %s
Step 2 = lame -b 192 – -


Kind Regards and thanks for reading
Guy Forssman
 

ProtoSD

MVP
Joined
Jul 1, 2011
Messages
3,348
Hi Guy,

Nice tutorial! I realize that English is probably not your primary language. I found a bunch of typos and your attachments are not appearing. Can you check your post for errors and update it? Let me know if you need help.
 

Forssux

Explorer
Joined
Mar 13, 2013
Messages
67
As you guessed I'm speaking dutch thanks for pointing out and please point me to other mistakes I already changed things ...
 

laster13

Cadet
Joined
Apr 19, 2013
Messages
9
As you guessed I'm speaking dutch thanks for pointing out and please point me to other mistakes I already changed things ...

it' s a very good tuto thanks (excuse for my very bad english, i'm french)
how Adapt startup script with freenas 8.3.1
i don't know the file to modifie or where i place the script
thanks
 

Forssux

Explorer
Joined
Mar 13, 2013
Messages
67

ProtoSD

MVP
Joined
Jul 1, 2011
Messages
3,348
I just took a quick look at the tutorial again and I don't see anything that looks like it needs to be changed for 8.3.1.

There is one strange part I'm confused about where it says Remove or make the jail. Why does it say Remove? That would destroy any previous plugins that are installed. :confused:


EDIT: There are also the places where you have amd64 that would be different if someone is using the x86 version of FreeNAS.
 

Forssux

Explorer
Joined
Mar 13, 2013
Messages
67
I just took a quick look at the tutorial again and I don't see anything that looks like it needs to be changed for 8.3.1.

I don't understand what you are saying...

There is one strange part I'm confused about where it says Remove or make the jail. Why does it say Remove? That would destroy any previous plugins that are installed. :confused:

I'll adapt that it's my presumption that one uses only the jail and no other plugins....so in error it's sometimes easier to start from scratch


EDIT: There are also the places where you have amd64 that would be different if someone is using the x86 version of FreeNAS.

I'm adapting it
 
Status
Not open for further replies.
Top