Site Navigation:       Home       Page1       Page2       Page3       Page4       Page5       Do more       Word of Mouth       Donate

 

 

Page 1 of 5:

 

 

    OK... Let’s begin

 

 

Although this guide was created using Debian 5, it will also help Debian 6/7/8 and Ubuntu users. You may run into

some problems with Ubuntu’s firewall (UFW) and Ubuntu’s Network Manager. Ubuntu’s AppArmor and the way Ubuntu

restarts services. Both now come with nano as the text editor and not vim.

So you will need to install vim in order to follow along (apt-get install vim) which we will cover, or learn how to use nano

 

But these aren’t major problems, the work-a-rounds and differences are fairly minor and easy to overcome.

 

You can email me or read my blog for help. For a step-by-step install, please use Debian.

 

 

Start by downloading and burning the latest stable Debian .iso from Debian.org

You only need CD #1 ,  if there is more than one to choose from

 

(32 bit PC)  

 http://cdimage.debian.org/debian-cd/current/i386/iso-cd/

 

(64 bit PC) *Dont worry that it says AMD, it also works for 64bit Intel. 

http://cdimage.debian.org/debian-cd/current/amd64/iso-cd/

 

Here are what the most common choices means...

 

iso-cd = A bootable CD image to download and then burn

i386 = 32bit

amd64 = Both Intel 64bit and AMD 64 bit processors, This is most likely the one you need (Core2 duo, i5, i7, Xeon, etc...)

Multi-Arch = A larger CD download with 32bit and 64bit on the same CD.

Net Install = A smaller CD download that depends on the internet to complete the install.

 

The links above get old and retired\archived very quickly, with each new revision.

If the links above die, simply navigate to the debian.org homepage, Stable Downloads Section.

 

 

* Again you only need CD #1 ,  if there is more than one to choose from

 

Linux Download

 

 

 

* Again due to upgrades some versions may no longer be available, if you run into this, just go to Debian.org and

find the stable section, and find the newer link.

 

 

Before you begin the install… Remove any unwanted \ unneeded hardware.

such as zip drives, sound cards, etc…

 

 

Disable any useless BIOS options, such as com ports, integrated sound cards, etc…

Disable any Keyboard or Mouse warnings

Disable any power management features

If your BIOS has an OS option, choose “Other”

 

 

 

Remove all hard drives except the one you’re planning on being the OS drive.

This will ensure you do not format the wrong drive, and help make this how-to a little

smaller and easier to follow.

 

It is assumed you only have one network card at this point. If you have more than one, you

may want to remove or disable them. The second NIC wont be used until the

optional \ advanced sections, and can interfere with the eth numbering and

firewall setup pre optional \ advanced section.

 

 

 

Boot the computer off the Debian install CD, and choose “Install”

 

 

Debian Installer

 

Do not choose “Graphical Install” you don’t want that, just choose Install.

 

 

Everything in this how-to is case sensitive, so if I use lower-case, then use lower-case.

If you see something in capital letters, make sure to use capitals.

Basically copy it exactly as you see it.

 

Choose your Language

 

Choose your Country

 

keyboard layout

 

 

Computer Name

 

Choose a unique name for the computer, I did    deb32server1

To me that means, Debian, 32bit, Server, first one of several

 

Think of it as your computers first name, and on the next page we will set the last name.

 

You can make something up, we will be referring to this computer by its IP address anyway

so the name is somewhat meaningless, as long as the name is unique, so that you don’t have

a same name conflict with another computer on your network.

 

You can even use       deb32server1      just like I did

 

This is private to your network, it doesn’t matter if you copy me exactly

it may even help make the how-to a little easier to follow.

Local Domain Name

 

Choose a domain name for the computer, I did    diy.lan

 

Which to me means,   Do It Yourself  .   Local Area Network

 

You can make something up. It’s almost like a last name for your computers.

It’s totally private to your network. But just like your family, you’re going to want to have all the same

last name on all your computers.

 

Which makes this computers full name      deb32server1.diy.lan

Which to me means

Debian, 32bit, Server, first one of several, on a custom do it yourself Local Network

 

We will be referring to this computer by its IP address for now anyway, so this

isn’t too important at this point.

 

diy.lan

 

Much later on in the how-to, when we setup a Local Dynamic DNS server

(which is optional and advanced) you might find it easier to follow

the how-to, if you also use diy.lan

 

It doesn’t have to end with    .lan   you could make something up.

I just think it will help the flow of the how-to if you chose something ending in .lan

 

 

Time Zone

 

Choose your time zone

 

 

Partition Disk

 

Choose  “Guided – use entire disk”

 

Disk Partition

 

If you removed all the other hard-drives pre install, you should only see one option here.

 

All files in one partition

 

Choose   “All files in one partition”

 

Write changes to disk

 

Confirm Partition Scheme

 

 

 

 

root password

 

Choose a password for the account named root  (choose a very strong password here)

 

Users and Passwords

 

Created a second user, so you don’t always have to login as root.

Here I used the name    wood

 

You can use anything you want     

 

non root

 

I like to keep the username the same as the full name, this can help avoid confusion later on.

 

Choose a password

 

Choose a password for the account you just created 

(Choose a very strong password here, this user will have more rights than a normal user)

 

 

Disk 2

 

Network Mirror

 

Archive Mirror Country

 

Archive Mirror Server

 

 

HTTP Proxy

 

You should be able to leave this blank, and click “Continue”

If you have a proxy, chances are you would know what to do here anyway.

 

Popcon

 

 

Linux Packages

 

Using the Space bar on your keyboard, un-check Desktop environment.

Make sure to un-check everything. With the exception of Standard system

 

We will install most of these things later in the how-to, don’t be tempted to click on them now.

And most importantly, do not choose Desktop environment.

This is a server how-to, not a desktop how-to.

 

 

Grub

 

Installation Complete

 

 

Remove the CD, and press Continue

 

Grub Menu

 

Did you see this screen? If not you probably didn’t remove the CD.

Make sure you are not booting off the CD anymore.

 

Linux Shell

 

If everything goes right, you should get a lot of text on the screen

and finally a login prompt like this one.

 

Please ignore that mine says     debian-1   at the bottom left. I am just at a different computer today.

If you were expecting that to say; deb32server1  login :      you are right

I am just at a different computer today.

 

Your screen will say your computer name, followed by a login prompt

 

This won’t interrupt the flow of anything at this point

 

Login Prompt

 

Login as username  root   with the password you specified during setup.

*Note, if you can’t login as root, login as your username, and type     sudo     before every command

 

 

Command Line

 

Type    vim /etc/apt/sources.list

 

Then hit the Enter key on your keyboard

 

(there is always a space after vim)

 

*Note, if you get an error, some versions of Linux dont come with vim, you can install it by typing    apt-get install vim

 

Text Editor

 

* If you don’t see anything on the screen (the contents of that file) then you typed something wrong.

** When you see the screen above, you know you typed it correctly

 

Press the insert key on your keyboard to allow you to type inside the file

 

Use the # symbol to comment out un-wanted lines

 

Comment out any lines that have “cdrom” in them

 

 

When you are finished press the Esc key on your keyboard, this will take you out of insert mode

and should move your cursor to the bottom left of the screen

 

 Then press the  :   key

You should see this symbol on the bottom left of your screen

 

 Then type  wq!

So that it reads   :wq!   In the bottom left corner of the screen

 

Save and Exit

 

Then press the enter key

 

It should then save the changes to that file, and exit you back to the command prompt.

It will say something like “filename written”

 

You won’t need to use that vim editor very often after we complete the setup. But if you’re stuck

on it and can’t get it to work. Do a Google search on “Linux vim editor” there should be some

good examples that will help you. Only do this if you’re stuck, you don't need to master vim to complete this guide.

 

apt-get update

 

What that did was tell the computer to not use the CD when looking for software.

 

Now run    apt-get update   so it will both realize your cd-rom changes, and go look on

the internet for the newest software sources. This only looks for new sources

it doesn’t actually go get them.

 

(there is always a space after apt-get)

 

APT Repositories

 

As long as you’re connected to the internet, you should see something like this above.

 

We continue to use vim a couple more times in this guide but many Linux distributions are now using nano.

We continue to use vim but here is a really brief example of nano if you would like to try it.

Type    nano /etc/apt/sources.list

 

Unlike vim, nano doesn't require you to press the insert key to get started, nano is ready for input.

 

To exit nano without saving you hold down the control key on your keyboard (ctrl) and then press x

To save changes with nano you hold down the control key on your keyboard (ctrl) and then press o

Note that is an "o" as in oatmeal and not a zero. There are hints at the bottom of the nano screen to help you to remember.

When saving your given the option at the bottom of the screen to change the filename, don't.

Simply release the control key and press enter.

Either way when your ready to exit you hold down the control key on your keyboard (ctrl) and then press x

 

You can use whichever your most confortable with, most poeple find nano easier to remember, for a step by step install use vim

 

This next step is optional. After an    apt-get update   you will almost always want to

do an     apt-get dist-upgrade

 

That’s the command that actually goes out and installs the newest versions.

 

But… if you want your screens to match mine exactly, you might want to hold off on

this step until your further into the setup and more comfortable with the screens.

 

I will leave this as optional right now, and rest assured we will perform one later.

Newer is better, but doing it now could put you at a version that doesn’t match this how-to.

Pick your poison :- )

 

apt-get upgrade

 

 

If you have chosen to upgrade now, here is how.

 

Type   apt-get dist-upgrade    and it will go get any approved updates that are available for your computer

 

(there is always a space after apt-get)

 

 

If it finds something, you will probably be asked to type   Y    or   YES    and hit enter.

 

Either way, you’re ready for the next step.


Now we are going to install some packages (software)

 

Type    apt-get install samba samba-common-bin ssh openssl dnsutils apt-show-versions

 

 

apt-get install

 

 

(there is always a space after apt-get)

(there is a space between each installer above)

(this is the hard-way, later on in the how-to we will get into copying and pasting)

 

Type it word for word

 

apt-show-versions

 

 

It’s going to tell you that you need some additional installers, and it will prompt you to go get them.

When asked make sure you type   Y    for yes and hit enter.

 

*note, you do not have to specify whether you want 64 or 32 bit installers, apt-get will decide for you

based on your system. This is an excellent feature.

 


 

The install of Samba is going to ask you a few questions on screen. A GUI box will come up, without

any mouse support. So use the TAB key on your keyboard to move around it, and the enter key to

choose things like next, continue, and OK.

 

Samba Server

 

 

Enter the same name you did before.

 

 

I’m going to use            diy.lan

 

 

WINS

 

Choose “No”  to this

 

 

You are almost ready to remove the keyboard and the monitor. We just need to set a static IP address

(or reserve a DHCP one)

 

If you type   ifconfig   and hit enter, it will show your current eth0 (Ethernet) IP address

(inet addr) as well as your MAC address (HWadrr)

 

ifconfig

 

 

You should see something like this.

 

HWaddr

 

If you’re familiar with setting up DHCP reservations from your router, you just need the MAC address

and you will know what to do from here.

 

If you’re not familiar with how to do that and just want to set a local static IP address, here is how.

Note, later on in this how-to it’s assumed you have a static IP address, so you may want to setup a

static address, even if you know how to do DHCP reservations.

 

First chose an IP address that isn’t part of your DHCP scope. For example, if your router is handing out

IP addresses in a pool of  192.168.2.2 – through -192.168.2.100 then you wouldn’t want to use any of those

available 98 address’s in that pool (.2 through .100)

 

But you could safely choose anything above that pool, such as 192.168.2.101, 192.168.2.102, etc… 

just as long as it isn’t in the range of the available IP addresses to the DHCP server pool of addresses.

 

inet addr

 

If you don’t know how to check what IP range your router is handing out, just add 100 to the IP address

you currently have. This is sloppy, but will most likely work. For example, if you automatically got an

IP address of 192.168.2.72 it’s probably safe to set a static address of 192.168.2.172, as most address

pools are not larger than 100 (100 higher than what you currently have) This is sloppy, but should work

if this all sounds French to you.

 

Giving this a lot of extra thought can help with future problems, for example on my network

anything above a .100 address means it’s a server or printer of some kind. Anything above .200

means its wireless. Setting up meaning to these can be of great importance later on, as your

network starts to grow.

 

If all those numbers look French to you, just remember to make sure you give your Linux box an IP

address that is on your same network. For example

 

If you’re on a 192.168.2.xxx network

 

address  192.168.2.111   (replace 111 with the IP address you want)

netmask 255.255.255.0

network 192.168.2.0

broadcast 192.168.2.255

gateway 192.168.2.1

 

 

If you’re on a 192.168.1.xxx network

 

address  192.168.1.111   (replace 111 with the IP address you want)

netmask 255.255.255.0

network 192.168.1.0

broadcast 192.168.1.255

gateway 192.168.1.1

 

If you’re on a 192.168.0.xxx network

 

address  192.168.0.111   (replace 111 with the IP address you want)

netmask 255.255.255.0

network 192.168.0.0

broadcast 192.168.0.255

gateway 192.168.0.1

 

 

If you’re on a 10.10.10.xxx network

 

address  10.10.10.111   (replace 111 with the IP address you want)

netmask 255.255.255.0

network 10.10.10.0

broadcast 10.10.10.255

gateway 10.10.10.1

 

interfaces

 

To enter a static IP address type    vim /etc/network/interfaces

(there is a space after vim)

 

You should see something like this

 

Network

 

 

Find the area that says

   iface eth0 inet dhcp 

 

hit the   insert   button on your keyboard

 

Change it to say static instead of “dhcp” and add the following lines  

 

iface eth0 inet static

            address  192.168.2.111   #(the IP address you want)

            netmask 255.255.255.0

            network 192.168.2.0

            broadcast 192.168.2.255

            gateway 192.168.2.1

 

 

 

That’s it, you just have to tell the editor to save it

 

Press   esc   on your keyboard, this should drop your cursor to the bottom left of the screen.

 

Type     :wq!

Press enter on your keyboard

 

If you did it correctly it should say something like “filename written”

 

And return you to the command prompt.

 

 

reboot

 

 

Once you are back at the command prompt, type  reboot  and hit enter on your keyboard.

 

Your system should reboot, and load up the new ip address.

 

After you login again as username  root  , type   ifconfig    and make sure   eth0   is getting

the IP address you specified.

 

IP Address

 

 

Now go to different computer, running Windows, and make sure you can ping that IP address.

Type    ping 192.168.2.111  (or whatever IP address you gave it)

 

 

If you’re not familiar with ping on a Windows machine. Just click on the start button

and type   cmd

 

 

CMD

 

In the black DOS like window, type     ping 192.168.2.111 

 

Ping

 

 

Make sure it replies back from the IP you’re pinging. If it comes back saying something like

“Destination Unreachable” go back and figure out what’s wrong.

 

Look for typos

Maybe your network card is eth1, and not eth0

Don’t continue with the how-to until it replies.

 

 

Now go back to the Linux box, and make sure you’re connected to the internet

try to ping     www.google.com

 

It should reply back something like this, the numbers don’t really matter, just make sure its replying.

 

Reply

 

 

You can hit control + c on your keyboard to make it stop pinging

 

That’s the Ctrl key and the C key, hold down Ctrl and press the C key

 

If it replies, you’re connected to the internet

 

If it doesn’t reply, check your internet connection.

 

Make sure in your /etc/network/interfaces file, the IP address of your “gateway” is the same

IP address as your router.

 

If you have checked everything, and determined you are having a DNS issue.

 

And that your Linux box is the only computer having this issue

 

 

You can edit the file /etc/resolv.conf   by typing  

vim /etc/resolv.conf  

 

And add some name servers

 

 

You should see something like this

 

nameserver

 

 

I got these numbers from dyndns.org

http://www.dyndns.com/services/dynguide/readme.html

 

They provide some awesome name servers. Another good one is OpenDNS

http://www.opendns.com 

 

 

 

And just like before, to save and exit its

 

Escape

  :

    wq!

 

      Enter

 

 

Or you can use the name-servers (DNS servers) from your ISP, that you’re actually paying for.

To figure out what your name-servers are from your ISP, launch another cmd window from

your Windows computer, and type    ipconfig /all

 

 

ipconfig /all 

 

 

Look towards the bottom, for DNS servers, and use those IP addresses as

your nameservers in /etc/resolv.conf

 

DNS Servers

 

 

Once you can ping your Linux box, and your Linux box can ping www.google.com

 

 

You can go back over to your Linux box and shutdown by typing    halt –p  

 

It will turn off, and you can remove the monitor and keyboard.

 

You may want to just remove the keyboard, and leave the monitor plugged in for now.

So you can watch it power on \ boot up the first time, and make sure your computer isn’t complaining

that it can’t find the keyboard. If it complains about the keyboard, go into your BIOS and tell it not to

warn about missing keyboards or mice.

 

Once you sure it will boot up without a keyboard, you can go ahead and remove the monitor.

 

Fight any temptation to plug the monitor and keyboard back in. doing so will hurt your learning

experience, as it’s no longer needed. We will be accessing and managing the computer remotely from

here on. So the rest of this how to will be completed remotely, using a Windows computer.

 

You will be using two forms of remote management tools to access the Linux server. Putty is one of them

and Webmin is the other. You will be using Webmin most of the time, until you get more familiar

with Putty.

 

You can download Putty from http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe 

 

 

*Due to upgrades some versions may no longer be available, if you run into this just use the links to go to http://the.earth.li/~sgtatham/putty/latest/x86/ 

and find the newer link.

 

 

You have to choose save, not “run” or “open” It isn’t an installer, it’s a self contained exe, and has

to be saved to the hard drive before running.

 

We will use Putty to install Webmin onto the Linux box. Then you won’t need Putty again until

much later in the how-to.

 

Launch Putty, and enter the IP address of the Linux box.

 

Putty

 

 

You should see something like this

 

Putty Configuration

 

Everything else is already configured correctly, just enter the IP address of the Linux box and

click “Open”

 

The very first time you connect, it will ask you if you want it to remember that you trust this computer

you can say yes.

 

If successful you should get a black box asking you to login. Login as username root.

(We will continue to use root until the setup is complete)

 

 

You should see something like this

 

Putty Session

 

If your root password doesn't work and your sure you typed it coreectly this most likely means you need to edit the following configuration file.

Which unfortuantley will require you to hookup your montior and keyboard again.

Using the keyboard and monitor on your server (hopefully for the very last time) type the following command

Type    vim /etc/ssh/sshd_config

 

Or if you have found you perfer nano, you can use this command, whichever you are more comfortable with.

 

Type    nano /etc/ssh/sshd_config

 

Scroll down using the down arrow key and find the line that says something like "PermitRootLogin No" or "PermitRootLogin without-password"

Find that line and change it to just say     PermitRootLogin Yes

Save the changes and reboot your server, this will fix that password problem.

 

reboot

 

Try again to access your server remotley via Putty. If successful remove the monitor and keyboard from the server.

 

 

Once logged in via Putty, type  or copy and paste the following commands

 

To paste something into a Putty window, all you have to do is right-click

 

Once it is pasted into the Putty window, press the enter key on your keyboard. Your Linux box

will run the pasted or typed commands.

Say yes if prompted.

 

 

Paste in the following command, then press enter.

 

apt-get install apache2 vsftpd quota

 

Paste in the following command, then press enter.

 

apt-get install rssh etherwake ntpdate libio-socket-ssl-perl

 

Paste in the following command, then press enter.

 

apt-get install monit ethtool rsync

 

  

 

This should take awhile to complete, after it finishes

 

Type the following command

 

mkdir /options       and hit enter on your keyboard

 

mkdir

 

This stands for  “make directory” and will make a folder called options on the root of the hard drive.

We are going to use this folder to download the webmin installer into.

 

Type    cd /options     and hit enter on your keyboard

 

This will put you into the options folder

 

Change Directory

 

Next we will use the    wget     command to download the webmin installer.

wget  + the full path to the location of a website file, will download that file

 

 

 

Type or paste          wget http://prdownloads.sourceforge.net/webadmin/webmin_1.690_all.deb

 

and hit enter on your keyboard.

 

(there is a space after wget)

 

*Due to upgrades some versions may no longer be available, if you run into this just go to webmin.com and find the newer link by right-clicking the download link, and viewing its properties.

 

Link address

 

 

 

Once you have the http path to the Webmin installer, type    wget http://xxxxxxxxxxxxxxxxxxx    and hit enter

 

 

WGET

 

 

You should see it start to download the file, and will show you the download progress.

 

You should see something like this

 

Downloading via command line

 

It will download it to the current folder that you’re in, so it just downloaded it to the /options folder

 

When it finishes downloading, type   dpkg –i webmin_1.690_all.deb      and hit enter on your keyboard.      or     dpkg -i webmin_x.xxx_all.deb (if new name or version)

 

Or dpkg –i /options/webmin_1.690_all.deb     or     dpkg –i /options/webmin_x.xxx_all.deb  (if new name or version)

 

That stands for Debian Package – Install, and will install the Webmin program packaged for Debian.

 

If it tells you you’re missing something, just type  

 

apt-get -f install

 

or

apt-get install -f

 

and hit enter on your keyboard. It will then go get anything it needs to finsh the install.

 

*If that doesnt work, try typing in everything. apt-get install  “all those things above it says your missing”  and hit enter on your keyboard.

 

It will remember you were trying to install Webmin, and will finish installing it after any missing packages are installed.

 

Still cant get Webmin to install? Try watching the video

 

You should now have Webmin installed, and can exit out of Putty

by typing   exit  or   logout

 

To login to Webmin, open Internet Explorer or Firefox and type your IP address, followed by :10000

proceeded by https://

 

https://the-ipaddress-of your-linux-box:10000

 

For example if your Linux box IP address is   192.168.2.172   you would type   

https://192.168.2.172:10000

 

*Note, If you have been following along, you probably expect my IP address to be 192.168.2.111 

or 192.168.2.172 (your right)

I’m just at a different office and server today.

 

In the example below, this Linux box is now 192.168.2.1      so I  need to type     

https://192.168.2.1:10000

 

You would type the same thing, but with your IP address instead.

 

Webmin URL

 

 

You will probably get a warning telling you not to trust the webpage. You can ignore this, it’s completely

secure. It’s just your using a self signed ssl certificate, and not a paid one. This is still completely

secure from within your internal network.

 

 

If you have problems with this later on, switch to Firefox. With Firefox you can choose to

save the certificate so you’re not always prompted. In Internet Explorer you just have to

choose  “Continue to this Webpage” every time.

 

 

You should see something like this

 

SSL Warning

 

 

 

It’s safe, just click continue

 


You should get to a screen that looks like this

 

Webmin

 

 

With all of your management tools are on the left. You can do almost everything from here,

Webmin is an extremely powerful tool.

 

                                                                                                           Continue to Page 2 >


Site Navigation:       Home       Page1       Page2       Page3       Page4       Page5       Do more       Word of Mouth       Donate