Headless XBMC Server Linux

UPDATED - 11/05/14
After spending quite a bit of time trying to get a headless XBMC server set up i finally succeeded, I am using ESXi with Xpenology, PfSense and Ubuntu. So here is a guide on getting XBMC running headless, Enjoy.
Requirements
- A Debian based distrubution of linux (I'm using Ubuntu 12.10 minimal)
- Patience
Preparation
- Install your debian based linux distribution.
- Type the following commands in to the shell/SSH terminal.
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:team-xbmc/unstable
sudo add-apt-repository ppa:team-xbmc/xbmc-ppa-build-depends
sudo apt-get update
sudo apt-get build-dep xbmc
sudo apt-get install libtag1-dev
Installation
- Now we can begin with the XBMC building.
- First we need to clone the github repo.
git clone git://github.com/xbmc/xbmc.git
cd xbmc
- Now we can checkout and patch the cloned source.
git checkout 13.0-Gotham
wget https://gist.github.com/docmeth02/bcd237...rver.patch
git checkout -b local
git apply xbmc-server.patch
- Next we run some more commands.
./bootstrap
./configure --enable-shared-lib --disable-debug --disable-vdpau --disable-vaapi --disable-crystalhd --disable-vtbdecoder --disable-vtbdecoder --disable-openmax --disable-joystick --disable-xrandr --disable-rsxs --disable-projectm --disable-rtmp --disable-airplay --disable-airtunes --disable-dvdcss --disable-optical-drive --disable-libbluray --disable-libusb --disable-libcec --disable-libmp3lame --disable-libcap --disable-pulse --disable-alsa
- Next we need to make and make install (REPLACE "X" with number of cpu cores in system.)
make -jX
make install
cp libxbmc.so /lib/libxbmc.so
ldconfig
cd xbmc
make -f make_xbmc-server all
make -f make_xbmcVideoLibraryScan all
sudo cp xbmc-server /usr/local/lib/xbmc/xbmc-server.bin
sudo cp xbmcVideoLibraryScan /usr/local/lib/xbmc/
- Next we create a service and add it to the startup.
cd /etc/init.d
sudo wget http://cyanlabs.net/uploads/xbmc
sudo nano xbmc
- replace the username with your username then press CTRL + X to save.
sudo chmod 744 xbmc
sudo update-rc.d xbmc defaults
- Sorted, Now we can start the server and sort the remaining things out.
sudo service xbmc start
- Wait around 10 seconds then stop the server.
sudo service xbmc stop
- Now we need to enable the web server, feel free to use a different port if you prefer and change the password to whatever you wish (nano
~/.xbmc/userdata/guisettings.xml
)
cd ~/.xbmc/userdata/
sudo rm -rf
~/.xbmc/userdata/
guisettings.xml
sudo wget http://cyanlabs.net/uploads/guisettings.xml
- Now we set up the advancedsettings.xml file, used to configure mysql DB settings etc. XBMC Wiki for more information
sudo nano ~/.xbmc/userdata/advancedsettings.xml
- Now we can just start the server again and it will connect to the existing DB (This guide assumes you have the DB all set up using a non-headless XBMC install and are just adding this headless XBMC to it).
sudo service xbmc-server start
- That's it all done, You can check the log by entering the following command.
sudo tail -f ~/.xbmc/temp/xbmc.log
Credits
- XBMC Team ofcourse
- XBMC Forum Member sparklyballs
- XBMC Forum Member brownbear1984
- XBMC Forum Member marshcroft
- XBMC Forum Member KRavEN
- XBMC Forum Member docmeth02
- XBMC Forum Member gutz-pilz
- All others who have supported this project.
- Original Thread where most information came from can be found here - http://forum.xbmc.org/showthread.php?tid=132919