Jump to content

Howto: create your own linux home server using Debian

The link is broken and results in a 404.

Nice guide, though I'm very late to it.

That link is from the dreadful vBulletin era... Thanks for the heads up! Will fix!

 

In the end I'd say picking the right solution is much more about picking what best

suits your preferences, skills and interests, than which solution is truly and definitely

technically superior. There are many ways go get a good server running either on Linux

or something BSD-related, this guide is for those who would like to run a specific

setup. Anyone is free to run FreeNAS (hehe) or Arch, Gentoo or w/e, it's just that

this is not the guide for that (obviously :rolleyes: ).

Nice summary. But, to be fair, this guide would (apart from the package manager and some very specific distro-specific differences in specific package) work on other Linux distro's as well.

Link to comment
Share on other sites

Link to post
Share on other sites

If I was to install an SSD as my boot drive, can I enable TRIM on it in CLI Debian?

The best way to predict the future is to invent it

Link to comment
Share on other sites

Link to post
Share on other sites

Yes, so I have learned by now. The only problem with completely disabling password login is that you can't log in from systems you have never logged in with before, i.e. I can't work on my server when my laptop's battery is dead and I'm not at home.

Not sure if asymetric key authentication prevents this, but couldn't you just carry a copy of your key on a flash drive. Or, put an encrypted one on your Sky/Google drive?

Just a thought.

† Christian Member †

For my pertinent links to guides, reviews, and anything similar, go here, and look under the spoiler labeled such. A brief history of Unix and it's relation to OS X by Builder.

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

If I was to install an SSD as my boot drive, can I enable TRIM on it in CLI Debian?

Very nice suggestion! I actually completely forgot about that (I'm running an SSD myself). I will have to set it up myself first, but this should get you started if you need it quickly: https://wiki.debian.org/SSDOptimization

Link to comment
Share on other sites

Link to post
Share on other sites

Not sure if asymetric key authentication prevents this, but couldn't you just carry a copy of your key on a flash drive. Or, put an encrypted one on your Sky/Google drive?

Just a thought.

Yes, that would indeed be a solution to my problem, but what if you forget that USB drive? I know I'm pushing it a bit far now, but you know what I mean ;)

 

Using asymmetric keys is definitely viable. I just won't use it exclusively because I want to be able to manage my server in every situation :)

Link to comment
Share on other sites

Link to post
Share on other sites

Yes, that would indeed be a solution to my problem, but what if you forget that USB drive? I know I'm pushing it a bit far now, but you know what I mean ;)

 

Using asymmetric keys is definitely viable. I just won't use it exclusively because I want to be able to manage my server in every situation :)

I would use it, then set an obscenely long password. One you can easily remember, but one that no one will crack. Ever. 

Such as: "Hi, my name is MG2R, and I like ponies." Or something equivalent with something you really like and your real name. Or wtv. 

I use a similar password for my bigger, more important things. Punctuation, spelling, capitalization, spaces, and all. I only have to type it once in a blue moon though, which makes it manageable. 

... Copy/paste from a Notepad or equivalent thereof is nice btw. So you know you didn't typo (can be a paaain when you can't see the password). 

But yeah. You'd only have to type it when logging in from afar. So I think that'd be a good idea. Though you may already be doing that. lol

† Christian Member †

For my pertinent links to guides, reviews, and anything similar, go here, and look under the spoiler labeled such. A brief history of Unix and it's relation to OS X by Builder.

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Nice summary. But, to be fair, this guide would (apart from the package manager and some very specific distro-specific differences in specific package) work on other Linux distro's as well.

Valid point, though that was actually what I meant: The distro-specific stuff and

package management info. But yeah, it shouldn't be too difficult adapting this to

other distros.

BUILD LOGS: HELIOS - Latest Update: 2015-SEP-06 ::: ZEUS - BOTW 2013-JUN-28 ::: APOLLO - Complete: 2014-MAY-10
OTHER STUFF: Cable Lacing Tutorial ::: What Is ZFS? ::: mincss Primer ::: LSI RAID Card Flashing Tutorial
FORUM INFO: Community Standards ::: The Moderating Team ::: 10TB+ Storage Showoff Topic

Link to comment
Share on other sites

Link to post
Share on other sites

This may sound dumb, but what is a static iP and what is the point of having one?

The best way to predict the future is to invent it

Link to comment
Share on other sites

Link to post
Share on other sites

This may sound dumb, but what is a static iP and what is the point of having one?

Usually, the devices hooked up to a LAN will get their IP addresses dynamically

allocated when they hook themselves into the network. So, they might end up with

a different IP address each time they connect to the network.

For a phone or a normal PC this doesn't matter much usually, but for a server,

this can be a bit of a problem, since very often devices will try to access

that server via its IP address. So if the server's IP changes, each device

will have to be told what the new IP is so that it can access the server again.

If you configure your server with a static IP, it will, problems notwithstanding,

always have that same IP, and therefore devices which try to connect to the

server can rely on that IP address never changing.

BUILD LOGS: HELIOS - Latest Update: 2015-SEP-06 ::: ZEUS - BOTW 2013-JUN-28 ::: APOLLO - Complete: 2014-MAY-10
OTHER STUFF: Cable Lacing Tutorial ::: What Is ZFS? ::: mincss Primer ::: LSI RAID Card Flashing Tutorial
FORUM INFO: Community Standards ::: The Moderating Team ::: 10TB+ Storage Showoff Topic

Link to comment
Share on other sites

Link to post
Share on other sites

Wow Linux can be an ocean. What exactly is a keypair? Is it something to log in remotely without a password? What is its function?

The best way to predict the future is to invent it

Link to comment
Share on other sites

Link to post
Share on other sites

Also, the majority of users are going to be building their computers and installing debian server on it. How do we download drivers if there is no GUI?

The best way to predict the future is to invent it

Link to comment
Share on other sites

Link to post
Share on other sites

Wow Linux can be an ocean. What exactly is a keypair? Is it something to log in remotely without a password? What is its function?

 

Well, it's a bit more complicated than that, but yes, it can be used for logging

in remotely. See here for more info.

 

Also, the majority of users are going to be building their computers and installing debian server on it. How do we download drivers if there is no GUI?

Usually (i.e. in most Linux distributions), your software is going to be managed via the

distro's package manager. Unlike Windows, where you usually go and download software from

the vendor's website, in Linux distros you usually get it from a centralized repository

(which is just a server where all the different applications and drivers are stored in a

format suitable for the package manager to grab and install them).

Most distros have their own repositories. When you tell the package manager to install

a package (either via command-line or GUI, depending on your setup), it will download it

from that repository and then install it on your system. If you wish to install a package

which is not in your distro's repository (which can happen on occasion, especially with

proprietary software), you can still do that manually, but for most things, your package

manager will use the repositories from your distro.

Note that you don't really need a package manager or repositories, you can of course also

choose to grab all application code from the individual project websites and then compile

and install the program/driver (usually referred to as Linux from scratch), package

management is just a matter of convenience.

But yeah, the basic answer to your question is that tools/applications/drivers are mostly

installed (and uninstalled) via your specific distro's package management software.

BUILD LOGS: HELIOS - Latest Update: 2015-SEP-06 ::: ZEUS - BOTW 2013-JUN-28 ::: APOLLO - Complete: 2014-MAY-10
OTHER STUFF: Cable Lacing Tutorial ::: What Is ZFS? ::: mincss Primer ::: LSI RAID Card Flashing Tutorial
FORUM INFO: Community Standards ::: The Moderating Team ::: 10TB+ Storage Showoff Topic

Link to comment
Share on other sites

Link to post
Share on other sites

  • 4 weeks later...

Hi!

 

I really liked your post and I will try it out when I actually get both money and time to build a server (also, kudos for the K'nex case, amazing  :D ), one thing I didn't find here is that in order to access the server from outside you LAN you would have to set up a dynamic dns and open ports on your router, right?

 

Anyway, the tutorial is pretty good and is easy to understand even for me that doesn't really have much Linux experience other than configuring a Raspberry Pi as a NAS. There was only one thing I didn't understand (probably because of my noobness) regarding the VMs, will I get a desktop GUI or will I get a CLI? For example: If I install Ubuntu on one VM will I be able to use Ubuntu normally or will I get a CLI? (that's assuming I can install Ubuntu)

 

Thanks!

i'm a potato

Link to comment
Share on other sites

Link to post
Share on other sites

I really liked your post and I will try it out when I actually get both money and time to build a server (also, kudos for the K'nex case, amazing  :D ),

Thank you! Very much appreciated!

 

 

one thing I didn't find here is that in order to access the server from outside you LAN you would have to set up a dynamic dns and open ports on your router, right?

To make your server accessible from WAN, you need to do the following:

  1. Make sure your server has a static LAN IP-address
  2. Make sure your router is forwarding the needed ports to the server
  3. If you have a static WAN IP address, either memorize it or buy a domain. If you have a dynamic WAN IP address (like most people), you either need to figure out a system of knowing it, or you need to set up dynamic DNS. I myself am using a rented server in a datacenter to act as my private dynamic DNS server (although, I'm thinking of making it public).

 

There was only one thing I didn't understand (probably because of my noobness) regarding the VMs, will I get a desktop GUI or will I get a CLI? For example: If I install Ubuntu on one VM will I be able to use Ubuntu normally or will I get a CLI? (that's assuming I can install Ubuntu)

Virtualbox has the RDP protocol built in, meaning that you will be able to connect to the VM via a remote desktop connection. This means that whatever interface your guest OS would normally display on the screen (either a GUI or a CLI), will be diplayed inside a program (RDP client) on your remote computer.

Link to comment
Share on other sites

Link to post
Share on other sites

Thank you! Very much appreciated!

 

 

To make your server accessible from WAN, you need to do the following:

  1. Make sure your server has a static LAN IP-address
  2. Make sure your router is forwarding the needed ports to the server
  3. If you have a static WAN IP address, either memorize it or buy a domain. If you have a dynamic WAN IP address (like most people), you either need to figure out a system of knowing it, or you need to set up dynamic DNS. I myself am using a rented server in a dataserver to act as my private dynamic DNS server (although, I'm thinking of making it public).

 

Virtualbox has the RDP protocol built in, meaning that you will be able to connect to the VM via a remote desktop connection. This means that whatever interface your guest OS would normally display on the screen (either a GUI or a CLI), will be diplayed inside a program (RDP client) on your remote computer.

 

Thank you!

i'm a potato

Link to comment
Share on other sites

Link to post
Share on other sites

Has anyone done drive encryption with drive pooling software? I am wanting to do this but not sure how. Also has anyone used drive pooling soft, if so is it greyhole or something else?

Link to comment
Share on other sites

Link to post
Share on other sites

Has anyone done drive encryption with drive pooling software? I am wanting to do this but not sure how. Also has anyone used drive pooling soft, if so is it greyhole or something else?

First off, welcome to the forums! I think it's great that you made an account and want to ask a question. However, in your case, it might be better to make a thread asking your question in the Storage Solutions section of the forum. The people over there spend their days doing all kinds of crazy stuff with all kinds of storage solutions, so they might offer better solutions than the couple of dudes actually monitoring this thread.

 

To sort of answer your question in relation to the guide in this thread: it doesn't matter if you use RAID or any other type of system to make multiple disks appear as one. The moment you have your virtual disk, you can create any kind of encrypted file system you want on there. I have a section in this tutorial related to creating an encrypted file system, you might want to check it out.

 

As for the software, you can indeed use Greyhole. mdadm can be used for this purpose as well, as it has the possibillity to create a linear pool. If you're using Debian, you can even just use the built in LVM (large volume manager).

Link to comment
Share on other sites

Link to post
Share on other sites

Thank you for all the information. The reason I posted here is for your detailed information. I will look over in the forums you suggested. Thank you again for all the information.

Link to comment
Share on other sites

Link to post
Share on other sites

  • 2 weeks later...

Very nice, it would be cool if you could showcase some of these things on the Raspberry Pi, because it is extremely cost effective

The best way to predict the future is to invent it

Link to comment
Share on other sites

Link to post
Share on other sites

When first looking at this thread all I saw was "Howto:create your own linu". Of course I thought it meant "Howto: create your own linus" and jumped for joy. 

Life is pain. Anyone who says any different is either selling something or the government.

 

----CPU: FX-6300 @ 4.2ghz----COOLER: Hyper 212 EVO----MOBO: MSI 970A-G46----PSU: OCZ 600watt----CASE: Black Corsair C70----GPU: Sapphire 7870 dual fan ghz edtion----2 random HDD'S----A couple fans here and there. Mouse: Gigabyte M6900-------Keyboard: Logitech G105-----Mousepad: Steel series something something.

Link to comment
Share on other sites

Link to post
Share on other sites

Very nice, it would be cool if you could showcase some of these things on the Raspberry Pi, because it is extremely cost effective

What do you mean with showcase? Everything in this guide (short of maybe Virtualbox) should pretty much work on a RasPi, as it runs Debian as well.

Link to comment
Share on other sites

Link to post
Share on other sites

Would compatibility issues be a problem?

The best way to predict the future is to invent it

Link to comment
Share on other sites

Link to post
Share on other sites

What do you mean with showcase? Everything in this guide (short of maybe Virtualbox) should pretty much work on a RasPi, as it runs Debian as well.

 

Would compatibility issues be a problem?

 

Yeah. VMs wouldn't work and RAID (unless it's 0 or 1) would be very slow. If even without RAID it's not that fast (2 or 3 MB/s). The web server would work but something lighter (i.e.: Nginx) would work better. Other than that everything will (or at least should) work.

i'm a potato

Link to comment
Share on other sites

Link to post
Share on other sites

Nice, well thought out guide. Although I was a bit disappointed when I read the title from the main page and it wasn't "Howto: create your own Linus"

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×