Skip to content

Detailed HTPC/NAS Setup

Here are the step by step, detailed instructions I used when configuring my system. As a disclaimer I’m not claiming that these are the absolute best ways to go about doing what I did, just that it will get to the functionality detailed in my previous post. I am not a Linux guru, just a user. I know there were some other tweaks I made after the fact to make things run smoother so please ask me if you have any questions about something that isn’t working right! I put these steps together after days of research, reading, trial and error. I did a LOT more than these steps but these are the steps that actually got me to where I wanted the server to be! Hopefully they will save you all the wheel spinning I had to go through. If you have any suggestions on ways to improve this, please contact me or leave a message in the comments below. It would be greatly appreciated!

First part, install Ubuntu Server 10.04.

  1. Load Ubuntu Server onto a thumb drive using unetbootin
  2. Plug the drive into the server and begin the installation process. It will walk you through most of the steps. For the partitions, manually set up the partitions. Use the faster boot drive for root, var, usr, and swap space. Tell it to use each of your storage drives as “RAID for Linux” or something like that. Then create a RAID of your choosing using those drives. Once the RAID is created select the RAID and set it up as an EXT4 partition and that you want it mounted on /home. That will be where you really need that space.
  3. For the components I think I selected basic Ubuntu server, LAMP server (this is apache, MySQL, and PHP, all of which you will need), Samba, and SSH if it’s an option. Anything else you need can be installed afterwards easily.
  4. Finish up the installation and either use Putty on a windows computer to login (put in the IP address of your server which you can probably get out of your router and use port 22) or just log in using the monitor already connected to the server. Personally I use putty and my laptop so I can now get out of my office chair and hang out on the couch. My wife appreciates me not hiding out as well :-)

Next you need to install Webmin and the basic applications. There are two ways to do this. The way I would now recommend (thanks to the comment below) would be the following:

  1. from the terminal type “sudo nano /etc/apt/sources.list”
  2. At the bottom add the line: “deb http://download.webmin.com/download/repository sarge contrib”
  3. Hit CTRL X to exit, saving the changes
  4. Now you should be back at the terminal. Type in the following series of commands:

wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc
sudo apt-get update
sudo apt-get install webmin

Webmin should now be up and running! Now you should be able to open up a browser on the other computer and surf to webmin using: https://[server ip address]:10000. Note that this address is HTTPS – a secure address. Your browser will probably give you a security warning that you have to click through.

If you’d rather install Webmin the hard or old fashioned way use the following technique:

Download the webmin Debian package from their website by doing the following:

  1. From your terminal you should now be in the folder /home/[user name]/
  2. Type wget [address to webmin.deb from their site]
  3. That will download the .deb installation file to this folder
  4. type dpkg -i [name of the webmin file].deb If you don’t know the name of the file you downloaded use the ls command to view all the files in the folder. TIP: Linux will finish typing in a command or file name if you start the name and then hit tab. This will save HOURS of your life
  5. If it doesn’t install the package or gives you an error type in “sudo apt-get install -f” That will build your dependencies. After you do that use the command to install webmin again.

Now that webmin is installed and working, you need to create a Samba share for all your files. First go the others tab in webmin and use the file manager to create a folder called /home/public. Click on that folder and use the info button to change the permissions to read/write/list for all the users.  Next go to webmin’s servers menu and go into Samba. Create a share that points to /home/public. You may need to make sure that guest access is enabled for your computers to use that share.

Next I downloaded and installed Twonky Server using the same download command used for webmin. Note that if you use this for more than 30 days you’ll need to buy it for $30. I had to reboot first but after I rebooted (using sudo reboot) it installed correctly. Keep in mind you may have to change the twonky.sh file’s permissions to execute using “sudo chmod x [filename.sh]“. Run the file now by typing “./[filename].sh” without the quotation marks. If that is successful you should be able to go to http://serveraddress:9000 and set up Twonky!

*Note: At this point I realized that the default run level for Ubuntu server was set to 2 instead of 3, meaning a lot of the programs I was installing did not start when the system booted. To remedy this go to /etc/init/rc-sysinit.conf and changing env DEFAULT_RUNLEVEL to 3. You can do that by using webmin and editing the file or by using “pico” to edit the file in terminal.

With the basic system set up I now added the XBMC repository and then prepared for the rest of my installations by doing an install of a lot of various programs.

  1. Run sudo add-apt-repository ppa:team-xbmc
  2. Next do sudo apt-get update
  3. Now run “sudo apt-get install python-software-properties pkg-config unrar unzip vlc uudeview build-essential bittornado php5-cli libevent-dev libcurl3-dev intltool” *Note: These packages are used by several of the other programs you will be installing later. I just bucketed them together in this install to save time. If you are using a dedicated graphics card this would probably be a good time to install ubuntu-restricted-extras along with the correct drivers! I have on board graphics so it wasn’t an issue for me.
  4. Next install xbmc using “sudo apt-get install xbmc xbmc-live xinit x11-xserver-utils”
  5. To start or stop XBMC you can now use the command “sudo /etc/init.d/xbmc-live start/stop”
  6. XBMC should now be up and running! Configure it to point towards all your media. Also turn on the ability to use the internet interface so a cell phone remote will work.

One additional note on using this process to install XBMC:  This only works for installing XBMC on the Intel graphics card. If you decide to use an NVIDIA or ATI card you will need to install the correct driver and then proceed with the XBMC install per the XBMC minimal install guide (the one I used as a guide personally). If you aren’t using an NVIDIA or ATI card, make sure you don’t install those drivers or you’ll get errors when trying to launch XBMC. I learned this the hard way!

Before moving on to install the rest of the programs, you’re going to need PHP set up to handle the web based programs. Configure PHP for the new apps by going to /etc/php5/apache2 and making the following changes (personally, I do this using the “File Manager” function in Webmin. If you’re in terminal mode you can do so by typing “sudo pico /etc/php5/apache2″) :

  • Memory Limit is 256
  • Max execution time from 30 to 300
  • Uploads on
  • Upload size to 32

The next program to get installed was Ampache. Use wget from the terminal to download the newest stable version from their website and then unpack it using “sudo tar xvzf stable.tar.gz”. That will extract it to your /home/[user name] directory. From there I use the file manager in webmin to move the folder from the user directory to /var/www where it can be configured. Surf to the configuration web page per Ampache’s instructions and follow their setup instructions (no need for me to reinvent the wheel when they already documented these steps). From there download your favorite cell phone application to play music off Ampache and configure it based on the app maker’s instructions.

Next up are the content acquiring programs. The most difficult one to install is Torrentflux-b4rt so we’ll start there.

  1. Download and compile cksfv, a file required by b4rt (these are all commands to be typed into the terminal) :
    • wget http://zakalwe.fi/~shd/foss/cksfv/files/cksfv-1.3.12.tar.bz2
    • tar -xjvf cksfv-1.3.12.tar.bz2
    • cd cksfv-1.3.12
    • ./configure
    • make
    • sudo make install
  2. Get and install the Torrentflux-b4rt (the current version at this writing) from the official site
    • wget http://download.berlios.de/tf-b4rt/torrentflux-b4rt_1.0-beta2.tar.bz2
    • tar -xjvf torrentflux-b4rt_1.0-beta2.tar.bz2
    • cd torrentflux-b4rt_1.0-beta2
    • sudo cp -R html /var/www/torrentflux
    • sudo chmod -R 0777 /var/www/torrentflux/inc/config
    • Make a directory for your torrents, I used /home/torrents/ using “sudo mkdir /home/torrents”
    • Make the new directory writable “sudo chmod -R 0777 /home/torrents”
  3. Install the Torrentflux-b4rt with the browser. Type in “http://[your_server_ip]/torrentflux/setup.php”
  4. Follow the instructions on the screen. The username and password of MySQL is the administrator’s username and password of the MySQL (i.e. “root” and the password that you install the MySQL). Make sure to delete the “setup.php”at /var/www/torrentflux after the installation.
  5. Transmission-cli needs to be compiled from scratch
    • First install openssl from openssl.org
    • Download it and the extract using  “tar -zxvf openssl-1.0.0a.tar.gz”
    • Run “./configure” then “make” then “sudo make install” like you did earlier
  6. Get the latest Transmission version that there is a patch available for to work with ‘b4rt’

Now Torrentflux should have everything in needs to run smoothly. You’ll need to go in and make sure everything is configured to your liking with the web interface. If you followed all the commands above it should be running smoothly now. You’ll want to go into the admin tab on the web interface and set “fluxd” up to monitor your RSS feed that you set up (you did set this up already, right?). You need to set up both the automatic .torrent file downloading process and the folder watch process in order for this to work smoothly. One piece grabs the files from the RSS feed and the next sees those files and starts them. This may require a little tweaking to make sure you’re properly getting everything you want.

*Extra Credit: Fluxd will not start automatically when you boot the server. If you want to prevent having to go to the web interface and telling it to start you will need to create the following script called fluxd.sh in /etc/init.d. To do that you can use webmin to create the file in the /etc/init.d folder and then just paste this text there. Now run commands:
“sudo chmod +x fluxd.sh” (this makes the file executable)
“sudo update-rc.d fluxd.sh defaults 98 02″  (adds files to rc.d runtime directories)(Thanks to Ryan’s comment below for this addition!)

Now that the system is setup to download all of the TV shows automatically you’ll need to sort them. Download the SortTV perl script here and save it somewhere you’ll remember it. I just saved it to my /home/public/torrents/ directory. In webmin, go to “System” and then “Cron Jobs” and create a new cron job with the following command:

  • perl /home/public/torrents/sorttv.pl  /home/public/torrents/New\ Shows/  /home/public/Videos/TV/  /home/public/Videos/TV/  localhost:[XBMC's Port Number]

By looking at that command you should be able to change it to fit your needs. Basically it’s perl that executes the script named sorttv.pl wherever you put it, followed by the name of the folder you have torrentflux putting the files, followed by where you want them sorted to, followed by the folder it will put unsortable files, followed by the server address you gave XBMC’s web interface so it can tell the program to rescan for new content. The last part is optional! I also set up a cron job to delete shows that air every day after they’re over 15 days old. If you want to do house cleaning you can set up another cron job with the following command, replacing the part in brackets for the folder you want cleaned out:

  • find /home/public/Videos/TV/[the show folder to clean out/ -mtime +15 -exec rm {} \;

Last but definitely not least is Sabnzbd. In order to use this, you're going to need a subscription to a newsgroup service and a free membership to nzbs.org. You will probably pay something like $10 a month for the newsgroup service but it is worth every penny for the speed and quality you'll get. Install and setup Sabnzbd using these steps:

  1. Install the program with "sudo apt-get install sabnzbdplus" Pretty hard right?
  2. Now the port that it likes to use is probably occupied by one of the other programs we installed, I think it likes to use port 9000 that Twonky uses so we have to start it by going to your terminal/SSH screen and typing "/usr/bin/samnzbdplus --server 0.0.0.0:4000" which should get you to a step by step setup interface.
  3. You'll need to go to /etc/default/sabnzbdplus and fill in the user name, password, and set it to use port 4000 on 0.0.0.0 always. This is the user name and password you'll need to log in to the web interface when it starts up each time.
  4. Now you should be able to go to http://[server_ip_address]:4000/sabnzbd and configure it to your liking. I highly suggest you look through every one of the settings there to get it putting all the files in the right folders. This is a very smart, very customizable program that you should take full advantage of. Read the documentation on their web site for all the ins and outs of the software.

That’s it! Of course, that isn’t going to be 100% of the tweaking required to get it exactly where I wanted it but those steps will be different for each person. The steps above were taken from days of reading other people’s guides and keeping what worked. When a command doesn’t respond exactly like it should have it took a lot of Google lookups and some head scratching to figure it out. Shoot me a message though and I’ll try to help if I can. Like I said, I’m not an expert, I just stuck with it until it was working like it should!

Good luck!

34 Comments leave one →
  1. Pieter permalink
    August 17, 2010 6:41 pm

    Ok, now I have an RSS feed from ShowRSS and I added it to admin->rss. I can go to Home->RSS Torrents and there they are, all beautifully listed in a nice list.

    I go back to admin-fluxd-Configure Watch Jobs

    Watchdir-> /home/torrents/incoming
    User-> admin (only choice)
    Transfer Profile -> default (only choice)

    Good to go, as you say?

    I go back to admin->fluxd->Configure RSSad->Filters and Jobs

    Name->ALL->Add Filters
    Add Filter Entry->*->Save Filter

    Then I go down to ->Add Jobs:

    Savedir->/home/torrents/incoming
    url-> http://showrss.karmorra.info/feeds/all.rss (example=all shows on ShowRSS)
    Filter->ALL

    I hope I am still good to go here?

    All Green Lights of fluxd, watch and rssad……….and I wait, and I wait…nothing

    I looked at the logs, not much going on other than to say that it is watching the incoming folders, but nothing to do.

    I go to Home->RSS Torrents and select the first one and add it manually, start the transfer manually, and voila, the transfer starts.

    So, no good to go???

    So what am I doing wrong here?

    • August 17, 2010 7:49 pm

      Torrentflux is by far the hardest part of the setup, so don’t worry if you’re having issues! I’ll give you a few things to try and hopefully that will get you on the right path. If not send me an email at dave(at)somethingtangential.com and I’ll be able to respond faster!

      First, go to admin -> server and make sure all the requirements are green there. If not, there is something that isn’t right whether it be a path or an installation requirement. Those are pretty easy to sort out. You already seem to have fixed the Perl part of that!

      Next, your watch job appears to be configured correctly. Have you tried adding something to that folder manually to see if it will start downloading? You might also try reducing the watch time so you can troubleshoot the issues faster. Otherwise you have to wait like two hours before it scans the directory!

      For the RSSad, you might want to double check that the filter and the name are correct. I think they are two different things (this may sound stupid, but I’ve made lots of stupid mistakes!) Everything else you listed above looks correct though! I hope you’re not actually using the URL you listed above though. With that URL and that filter you’ll be downloading every TV show that airs! If you ARE using it, I sure as heck hope you have a massive amount of storage space and a fat internet connection!

      Let me know what you find though. Everything seems correct so it’s quite puzzling! I should have put more detailed instructions regarding fluxd in my write up though! I might go back and change that. Email me the log if it’s still giving you problems and I’d be happy to take a look at it.

    • Ryan permalink
      August 18, 2010 9:18 pm

      The filter needs to be:

      .*
      (periodStar)

      Then it took about 15 min to kick in working for me

  2. Pieter permalink
    August 17, 2010 6:53 pm

    Interestingly, when looking through the PERL Requirements section on
    admin-Superadmin-Misc-Requirements-PERL I found a few errors with the most significant the failure of a few key perl scripts to install, namely

    XML::SAX::Expat
    XML::Simple
    XML::DOM
    Digest::SHA1

    I managed to get them all installed via:

    sudo perl -MCPAN -e ‘install Digest::SHA1′ and so forth for each one.

    After restarting the server (don’t know if it is needed) I got a response from RSSad in the logs:

    [2010/08/18 - 00:49:37][Rssd] Processing feed http://showrss.karmorra.info/blablabla
    [2010/08/18 - 00:49:37][Rssd] ***** * *****
    [2010/08/18 - 00:49:37][Rssd] feed processed. downloaded and saved 0 torrents.

    So, it is now processing the rss feed, but getting nothing, although there are a number of torrents there.

    Is it my Filter?

  3. Ryan permalink
    August 19, 2010 3:59 pm

    Dave –

    I have two suggestions (still need help with the answer) for your script.

    The issue is this: In the downloads folder (/home/username/downloads) all torrents are started/completed here. Firstly, your script doesn’t distinguish finished/still downloading, therefore, moves unfinished downloads to there respective folders. (Which works wonderfully by the way!) So how do we solve this?

    Secondly, sometimes torrents look like this:
    sometorrentshow.torrent
    ->Tosh_0_S02E01_REALTV
    –>toshmovie.avi
    –>nfofile.nfo
    –>downloadedfrom.txt

    Here’s what your script does:

    found a matching show:
    /home/Storage/TV/Tosh 0
    found a matching season:
    /home/Storage/TV/Tosh 0/Season 2
    moving /home/torrents/matador/Tosh.0.S02E19.HDTV.XviD-aAF to /home/Storage/TV/Tosh 0/Season 2/Tosh.0.S02E19.HDTV.XviD-aAF

    It’s trying to move the directory! Which is not a file, thus the error:

    File /home/Storage/TV/Tosh 0 cannot be copied to /home/Storage/TV/Tosh 0/Season 2. : Is a directory at /home/torrents/sorttv.pl line 59.

    My possible workaround that I’ve been trying to figure out:
    The locating show/season works great, we just need to get the script to test if it’s a directory and if so, move all the directories sub-files which happen to be mainly avi’s.

    Here’s my unfinished code:
    #add header to line 14 or so
    use File::Glob ‘:glob’;
    #replacing line 58+59 with the following
    print “moving $file to “, $season . ‘/’ . filename($file), “\n”;
    if (-f $file) {
    #This is a file;
    move($file, $season . ‘/’ . filename($file)) or warn “File $show cannot be copied to $season. : $!”;
    }
    if (-d $file) {
    print “\nfound directory instead of file!\n”;
    foreach $file (glob(“$file/*.avi”)) {
    #move($file, $season . ‘/’ . filename($file)) or warn “File $show cannot be copied to $season. : $!”;
    print $file;
    }
    }

    When I run the above I get the print statement saying it’s a directory, but not the print statement of the filename, which means that the for loop isn’t working.

    Dave can you or someone else elaborate?

    Thanks!

    • August 19, 2010 4:16 pm

      First, I really wish I was awesome enough to have developed the sortTV script but alas, I can’t take the credit for it. A guy named Cliffe developed this script and the initial forum about it can be found here: http://forum.xbmc.org/showthread.php?t=75949&highlight=sorttv

      I’m sure he would love to hear both the recommendation for the directory check and possibly have a way to incorporate your proposed code into the final script.

      Regarding being able to check whether or not the file is still downloading… that was a HUGE problem for me that I finally threw my hands up on. Basically, I just let the script move the file even if it’s still being downloaded which hasn’t seemed to interrupt anything (and it will just finish up in the new folder). I tried a few scripts out there but couldn’t get any of them working. There is another one here: http://tf-b4rt.berlios.de/forum/index.php/topic,2166.0.html that I just now found while looking for the other busted scripts I tried. That one might be promising!

      Finally, that’s painful that the tv torrents you’re pulling down have so much other folder content. I would seriously try the showrss site as an alternative to the one you’re using. You might just find that you don’t even need to sort out the folders when all you end up with is the actual avi file! ;-)

      Please let me know what you end up with once the smoke clears! I’d love to incorporate it into my setup!

      • Ryan permalink
        August 31, 2010 12:28 am

        ShowsRSS is the bomb. I was adding my torrents from Dnoid but I decided to stick with solely the RSS feed due to hands-off.

        I’ve got sorting working but it’s definitely not continueing to download the file after the move. This is annoying. Looking at the logs though it is talking about BitTornado not being able to find the file. I thought your guide was talking about using TransmissionCli. Should I switch that over to TorrentCli in settings?

        Log here: http://pastie.org/1128257

    • August 31, 2010 6:11 am

      Yea definitely try switching to TransmissionCli and make sure you use the Torrentflux-b4rt one or it won’t work right. With Transmission it appears to keep downloading successfully even after the file gets moved or I’d have major issues. Then the only other solution would be to try to get one of these other scripts working that polls the program to check for completion before moving and that gets slightly more complex!

  4. Bogdan permalink
    September 14, 2010 3:42 pm

    I have used your instructions and got everything to work fine for TV Shows. Thank you so much for all your work.

    There seems to be a problem with sorttv.pl moving unfinished downloads into the sorted directory. You say it keeps downloading, and torrentflux said so too. However, the file in the sorted directory is not growing in size. Now torrentflux said it finished, but the sorted file did not change. It is still the same size as when the cron job moved it.

    So then…. What am I missing here?

    Thanks in advance!

    • September 14, 2010 3:49 pm

      Another person had similar issues with this as well. My suggestion would be to make sure you’re using TransmissionCLI as your torrent client instead of BitTornado. I believe that client will allow you to move transfers while they are still ongoing. If that fails let me know and/or try of of the scripts I mentioned in the comments above that actually poll the program for completed torrents before moving them to the completed folder. I think you’d then end up with a hybrid solution where script 1 checks for completed downloads and moves them to the “completed” folder and then sortTV.pl would kick in and sort them appropriately.

      Dave

    • Ryan permalink
      September 14, 2010 9:58 pm

      Okay I’m having to use two scripts.

      The first one I have tweaked, it was supposed to do tv sorting but I like Dave’s script better. Instead it just checks to see what’s complete and moves them to another directory.

      http://pastie.org/1159675

      The original script (pastied below for convenience) looks in the completed directory then sorts.

      http://pastie.org/1159677

      Put them both in the same directory. I have CRON job’s running each script every 5 minutes. Crazy, but I’m picky about having it done “now”, and not on the hour. Plus my server can handle it. Make sure you change the paths in the first script and setup the paths correctly in the cron job for Dave’s script.

      My Cron commands look like this:

      perl /home/torrents/sorting1.pl
      perl /home/torrents/sorttv.pl /home/torrents/complete /home/Storage/TV /home/Storage/TV/Other

      BTW, I’m running this on a VM and it was really easy to setup and troubleshoot because I would take snapshot’s every couple of checkpoints I hit just in case I messed something up. Good luck!

      • September 15, 2010 6:41 am

        Absolutely awesome! I’ll be adding the first script into my setup. Thanks for investigating. It sounds like other people have been looking for something like that too.

  5. Ryan permalink
    September 14, 2010 10:08 pm

    Dave, when using TwonkyServer does it transcode -all- the files then send them to the 360? I’ve got some 1080p wmv’s that I want the 360 to be able to play without quality loss. I tried some other software because I was avoiding the shareware but I’m almost positive it transcoded my movies into crappier quality and then streamed them.

    Experience?

    • September 15, 2010 6:46 am

      Transcoding has been the biggest mixed bag out of all the media server features. I’ve tried several programs for both Windows and Linux that were all hit or miss. The worst part is that many of them do what they want automatically without even thinking about whether or not this content actually needs transcoding. I think the worst program about doing this was Orb, where it would always down sample because it was afraid you didn’t have any bandwidth. The best program for doing this is Tversity, which has much more advanced options but tragically it isn’t on Linux yet.

      With that being said, Twonky will not transcode files that don’t need to be transcoded. I’m in the same boat as you, where I have high quality files that I don’t want it messing with. Actually, if you want *any* transcoding, you actually need to configure it first by going to /usr/local/twonkymedia/cgi-bin and editing “ffmped.location” so that it’s pointing to /usr/bin/ instead of c:\ffmpeg. Then if you want it to transcode you restart Twonky, go to the config page, and check the transcode video box.

    • Ryan permalink
      September 26, 2010 8:29 pm

      I wound up going with uShare which streams perfectly to xbox 360 with no quality loss. (BTW – This is so much easier than Windows Media Center.)

      Here’s the only two things needed in /etc/ushare.conf

      USHARE_DIR=/home/Storage/Movies
      USHARE_ENABLE_XBOX=yes

      • December 7, 2010 10:57 am

        I think I tried uShare once but couldn’t quite get it to work. I might check it out again though!

  6. Ryan permalink
    October 4, 2010 3:17 pm

    All,

    I’ve been using the fluxd.sh script (that was extra credit above) to start and stop fluxd automatically. Come to find out, it hasn’t been working automatically and I’ve been enabling it manually in torrentflux each time.

    After some investigating, you have to follow all of these steps to get it properly added and configured.

    1. Go here (http://somethingtangential.com/fluxd-startup-script/) and download the script.
    2. Upload it to /etc/init.d and save as fluxd.sh
    3. Run commands:
    “sudo chmod +x fluxd.sh” <–makes the file executable
    "sudo update-rc.d fluxd.sh defaults 98 02" <–adds files to rc.d runtime directories
    4. Reboot and voila!

    The reason being is that ubuntu needs the "update- rc.d" command to actually add the script to the rc.d runtimes….blah blah, actually don't know what I'm talking about but hey, it works!

    • October 7, 2010 7:00 am

      Thanks for posting those extended instructions on there! It *is* probably good to know that the script needs to be executable and added to the start-up group haha. Sorry for not documenting that better.

  7. October 16, 2010 3:58 pm

    I am working on this project now I was hoping that you could add a little clarity for a not so proficient linux user this section is a tough one to sort out (I did figure it out eventually, but as this guide is to help others figure this is just such a thing that would.) : “Before moving on to install the rest of the programs, you’re going to need PHP set up to handle the web based programs. Configure PHP for the new apps by going to /etc/php5/apache2 and making the following changes:

    Memory Limit is 256
    Max execution time from 30 to 300
    Uploads on
    Upload size to 32″

    Also for others stumbling upon this I followed your steps for Webmin (love this interface) , but discovered there is an additional way that many are partially use to as well not entirely a bad thing to do before or after this process is started.

    From webmin.com/deb.html

    ” Using the Webmin APT repository
    If you like to install and update Webmin via APT, edit the /etc/apt/sources.list file on your system and add the line :
    deb http://download.webmin.com/download/repository sarge contrib

    You should also fetch and install my GPG key with which the repository is signed, with the commands :
    cd /root
    wget http://www.webmin.com/jcameron-key.asc
    apt-key add jcameron-key.asc
    You will now be able to install with the commands :
    apt-get update
    apt-get install webmin

    All dependencies should be resolved automatically. ”

    With Ubuntu use:

    sudo nano /etc/apt/sources.list

    Then add to the bottom of the list:
    deb http://download.webmin.com/download/repository sarge contrib

    CTRL ‘o’ : to write
    ENTER : to accept
    CTRL ‘x’ : to exit

    wget http://www.webmin.com/jcameron-key.asc
    sudo apt-key add jcameron-key.asc
    sudo apt-get update
    sudo apt-get install webmin

    I hope that someone else finds this both helpful and useful, and thanks a ton DaveMex for sharing this with everyone.

    • October 17, 2010 6:44 pm

      Adding Webmin to the repository is a great idea! I’ll actually do that myself and hadn’t realized that it could be done. I consider myself a somewhat Linux newbie too so this has been quite the learning process for me.

  8. Keith permalink
    November 27, 2010 2:28 pm

    Hi Dave,

    First of all thanks for taking the time to write such a detailed how-to, it has saved me countless hours of research.

    Now the problem I am having. I have follwed your detailed instruction and almost everything is working great except that for some reason when I go into Torrentflux>Server PHP says Executable is not PHP-CLI and I am not sure how to change it to use php-cli. Any ideas?

    • Keith permalink
      November 27, 2010 3:07 pm

      Never mind, I found the problem. In case it helps anyone else I had to edit /etc/php5/cli/php.ini and change the memory_limit = 256 to -1 which is essentially no limit.

      • November 27, 2010 3:21 pm

        Great suggestion. I didn’t realize the -1 setting would remove the php memory limit! Very helpful with all these programs running it! Thanks :-)

  9. Mike permalink
    December 6, 2010 5:26 pm

    Hi Dave, great guide.

    one question…..is i tpossible to have these programs running while having the server “appear” off?

    This HTPC is in my living room and I would like to be able to turn off the display of my XBMC, but have the programs run while no one is using the system. possible?

    • December 7, 2010 10:54 am

      Hey Mike,

      As long as the server itself is on, everything else should run in the background. Turning off the display or XBMC will have no negative impact on the other processes. You don’t even need to be logged in! That’s one of the benefits of running a setup like this on Linux, it’s made to operate without someone having to constantly babysit it.

  10. Ryan permalink
    December 14, 2010 7:20 pm

    Dave -

    I came across a problem with your fluxd script. It seems wordpress messes up the text inside the script. After pulling out my hair for over an hour I found the original script on t4brt forums and it worked like a charm. Anywho, replace your link with this — http://pastie.org/private/vbxaeps0hfbghszpys5wq

    PS – I’m redoing an install of my media server into a VirtualBox VM to share for everyone. :)

    • December 14, 2010 8:09 pm

      Ohh man, sorry for leading you to pull your hair out! I updated the link to the pastie text so hopefully your lost hair will help others to not have to go through such pain. Thanks for pointing that out!

      By the way, it looks like new life is being breathed into Torrentflux-b4rt. There are some new people that picked this project up after it was put on ice several years ago and I’m hoping that all of this laborious setup will soon be a thing of the past. We’ll see in due time I’m sure.

      Please let us know when you’ve got the new install done! I’d love to hear about the details.

      Dave

  11. Matt permalink
    December 28, 2010 10:34 am

    Awesome detailed instructions! I am currently in the process of setting up a media server right now that is “wife proof”. :) I have recently been organizing all of my media files to get them ready for XBMC. I just need the correct server setup to make everything easy and automated. Thanks for taking the time to put this out there. I plan on disappearing this weekend and working on this. I’ll let you know how it turns out. I also purchased a D-Link DNS-321 NAS Enclosure that I am going to have run on the network as well. It will have (2) 1.5 GB Harddrives used for media storage as well. Any tips on how I can incorporate this into Ubuntu Server?

    Thanks Again!
    Matt

    • December 28, 2010 11:08 am

      Thanks!

      I believe the best way to incorporate the network drives into the sever would be to just mount the network folder on the sever. For example, you could mount the folder as /media/nasmedia/ and then point any appropriate programs/scripts to that folder as the destination to save to. It should (hopefully) be able to use that drive as if it was local, just with a small speed penalty.

  12. Red Five permalink
    March 14, 2011 2:00 pm

    I think the SortTV script would work better if it hard-linked the show files into the final sorted location. That way, it doesn’t matter if the download is complete, it won’t cause multiple copies of the same video file, and it won’t interfere with re-seeding the files. As long as the torrent save location and the final sorted show location are on the same partition, hard links will work very nicely.

    • March 14, 2011 2:04 pm

      Yea this is really a pain. I think there has been discussion in the creator’s forum thread about fixing this. Honestly, I have now moved all my TV show downloads to a Sickbeard/SabNZB/Newsgroup combo so this isn’t even an issue any more. I would definitely recommend this as a superior media acquisition setup if you can swing a subscription to a newsgroup service. I’ll be doing a new write-up about this technique soon!

Trackbacks

  1. How to make a Home Theater PC/ Storage Server as easy to use as a toaster « something tangential

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.