Before I forget everything it took to get the home server running (now my third time doing it, 1st on naked debian) I've decided to make a guide covering the basic tools one would might want on a Linux home server. Its intended for users familiar with a Debian-based linux. The focus is file sharing around the LAN, but also being able to host a small personal site, seed #! torrents, etc. The goal is to make each bit of software seem accessible, get it up and running quick, and provide links to more elaborate configurations / security settings. I also plan to include basic config files with explanations.
So far the list of things to cover looks like this:
Getting ready (before hand tips)
Networking (Static IP setup)
tmux / screen
dynamic dns (ddclient) and port forwarding
apache (very basic)
CUPS (print server)
rsync / backup guide and examples
ampache (music server)
What do you think is missing? Particular guides or tips you've found for any of these programs?
In addition to my first guide-like thing, this is all my first project building and hosting (on the home server) a small site. (For which I'm using Stacey (http://www.staceyapp.com/)--which I quite like.)
Hey nice idea, I'll look forward to following how you get on.
As regards any other uses, I can only think of setting up a media server such as http://xbmc.org/ or similar.
Great! I'm looking forward to this!
I'm about to set up a home server aswell. Or more of a backup server at my mom's. I like the idea of having a backup at another physical location.
That server will have (beyond some of your stuff):
Encryption - in case someone breaks in
OpenVPN - For adding a security layer when SSH:ing into it
RDP/VNC - Even though I like CLI, it' sometimes faster with GUI.
SFTP - For file transfers, perhaps there is a better way?
Wake on lan - Not really related to the OS.
Some kind of checksum verification, after backup copy would also be sweet.
But I'm not really into servers, so I'm going to have to read up a bit on most parts. Guides would be appreciated!
I look forward to reading your guide.
A suggestion: I used ampache for making music available from the server (still do, but the interface isn't great) but tend now to use music player daemon (mpd) streaming to a client (eg. gmpc on the client computer) and/or music player minion add-on in iceweasel or firefox to control the server.
It'll be a bit in coming. I'll look into OpenVPN / VNC but have yet to set it up.
Hopefully it won't be too hard to transfer from markdown to an appropriate text to get it up on the wiki.
I'm really looking forward to this. Setting up Networking is driving me nuts!
I am really just looking for a straight forward guide to help me connect my home PCs. Setup and config of samba, mounting shares, browsing in FM. Possibly some NFS guidance too as I intend to set ubuntu up on my wife's PC (I think docky/cairo is what sold it) so will be an all linux house. Not sure what the merits of NFS are - I hear its not too secure but ok for home. Also should be specific to #! openbox. I am happy to have a few slightly heavier apps installed if required.
Setting up samba and sharing files sounds simple but has me tugging at my hair. There are so many posts and methods out there that seem to work for some and not other. I have managed to get this working before (on ubuntu 9.10 and even that was not so easy) after trying reading so many posts and trying everything until it worked. Only problem was that I tried so many things I have no idea what combination actually worked.
I am really loving #! but my one frustration is getting access to my shared drives. I've tried so many things, now I can now see my other machines in pyNeighbourhood but cannot actually connect. I think I am going to do a fresh install on my netbook and start from scratch.
Thanks for the response. Since I"m very much an amateur myself when I've been typing up notes I've tried to keep the setup as simple as possible. It's not overly concerned with security as I presume everything is on a secured local network (i.e. behind a firewall / router / NAT.) As far as I'm concerned for basic file sharing around the LAN, NFS rocks -- simple to setup and fast. (For my roommate I have samba setup as well, and for guests I have an apache site they can pull images/music off of.)
Since I'm basing the guide on my experience setting up a home server on Debian without X installed, there are no heavy weight apps etc. This means editing some text-based configuration files and running a few commands in a terminal. All of it works on #! since it is a debian base.
I'll be working on it today -- let me know if you want a sneak peak of the nfs page etc.
Thanks, I would love a sneak peak of the NFS stuff.
Would go for mpd, since it is so extremely lightweight. Hook the server up to one (or more) amps, and you don't have to mess with audio cables no more It is also possible to stream the output over the net, but I have not yet toyed with that.
And while we're at it: pulseaudio. Then you can output the sound of a vimeo-movie to the server, and have it nicely amplified
I am slowly investigating how to create a dropbox like service. With multiple accounts et cetera. Need to get acquainted with some authorization schemes and find an rsync for windows...
I'm very interested in this. I've bookmarked a bunch of websites in a folder named server. I want to make an old laptop into a file and email server. The problem with all the sites including the one linked above is that it is assumed the reader understands advanced server and command line lingo. An exhaustive-server-setup-for-dummies is whats needed. Not to mention that I tried to use the latest Debian install dvd and it seems like there are going to be some issues with their new "pure FOSS" format. I got hung up on needing some drivers for my old laptop that Debian didn't include and couldn't find them on the web.
Good luck with the project! I'll be watching for it!
i would add:
i would add:
Just ran into dokan today, looks like a windows machine can mount this just the same. Haven't tried to set it up, though.
And now I'm on the topic of mixed environment: Check cwrsync is supposed to be a real enough rsync replacement. Also did not take the opportunity to test it yet.
Both tips come from one thing well.
Mediatomb for UPnP
Transmission (I use it with transmission-remote-gui)
Webmin for general (remote) administration
dnsmasq - DHCP/DNS
And probably a discussion on mdadm+LVM would be helpful if people want to run raid partitions...
Someday in another life I might learn how to make .ipk 's for my dns-323
Jean Vanier wrote "Being Human" and "A Short History of Progress" by Ronald Wright. Gotta love the Massey Lectures.
Thanks for the tip! Unison sounds great. Adding it to my list of options and read up to it a bit
Here is what I did for a very basic local apache server. Once you do the below, you then should be able to either type in your IP address or coolsite1.com into your web browser within your local network (intranet).
sudo apt-get install apache2
sudo vi /etc/apache2/sites-available/vhosts.conf
sudo mkdir /var/www/coolsite1.com
sudo vi /etc/hosts
sudo ln -s ../sites-available/vhosts.conf
sudo /etc/init.d/apache2 restart
echo "Im a cool website" > /var/www/coolsite1.com/index.html
sudo vi /var/www/index.html #add content
rutorrent is a really cool web based frontend for rtorrent, especially if you want to use an iOS or android device to manage your torrents. Since you're all ready covering apache and rtorrent, it shouldn't be too hard to add that in there. I'm soooo glad I finally stopped being lazy and ditched transmission for rtorrent/rutorrent. ushare/mediatomb are cool upnp server apps for streaming media to vlc or a gaming console. You could go over setting up some alternate file systems, like zfs-fuse and xfs, but that might make the guide seem a bit daunting. Maybe links would suffice
This thread is more than a year old...
Hope we can add relevant content to the wiki page. Linuxford, I'll create a page with your guide sometime this weekend and link it there.