Looking for a good Linux project

LeonarD26

Senior member
Feb 12, 2004
826
1
71
I'm planning on setting up a new Linux box at home after I build my new PC. I'm looking for a good project to work on at home to increase my understand of the OS. Does anyone have any suggestions (firewall, clusters, mail, DB....)? Supporting documentation would be great. I think this thread would be very useful for members looking to get more involved with Linux.

Any guidance would be much appreciated.
 

n0cmonkey

Elite Member
Jun 10, 2001
42,936
1
0
One of the projects I started with was setting up a firewall with OpenBSD. I picked up a book called something like "Setting up a firewall with Linux and OpenBSD." It gave me a good general impression of OpenBSD.

But any of the projects you mentioned would help. You could setup a mail server and maybe a webmail interface. Or a database for a website. Or even setup snort.
 

Fiveohhh

Diamond Member
Jan 18, 2002
3,776
0
0
I've just started my linux project, so far I have a website with php and mysql, and a file server, also used smoothwall on another PC for a firewall(You won't learn anything setting that up though its just a wizard setup) working on getting a mail server up in the next week or so also.
 

OffTopic1

Golden Member
Feb 12, 2004
1,764
0
0
Originally posted by: n0cmonkey
One of the projects I started with was setting up a firewall with OpenBSD. I picked up a book called something like "Setting up a firewall with Linux and OpenBSD." It gave me a good general impression of OpenBSD.

But any of the projects you mentioned would help. You could setup a mail server and maybe a webmail interface. Or a database for a website. Or even setup snort.
Snort has really poor documentation.
Try setting up a Linux/Windows DC, samba, mail, web, and sql server using Debain, Mandrake, Mepis, RedHat, Slack, or Suse; because they all have good documentations.
 

Vadatajs

Diamond Member
Aug 28, 2001
3,475
0
0
Do you want to understand the OS, or learn how to administer it?

If you want to understand the OS, use LFS, slackware, or gentoo.

If you only want to learn how to set up services on linux, go with Redhat/mandrake/suse.
 

LeonarD26

Senior member
Feb 12, 2004
826
1
71
I really want to learn both, but I'm not sure the 'best' way to progress. I'm trying to get a solid understanding of other people's experiences and what they found most useful. At work we have Oracle 10g running on RHEL and I get by OK, but I want more! :)

Thanks for the responses.
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
Originally posted by: LeonarD26
I really want to learn both, but I'm not sure the 'best' way to progress. I'm trying to get a solid understanding of other people's experiences and what they found most useful. At work we have Oracle 10g running on RHEL and I get by OK, but I want more! :)

Thanks for the responses.

To me the 2 best learnin' OSes are Slackware and Redhat.

Redhat because it's the most commonly used distro, most of it's conventions form the basis for other large commercial distros' such as Suse and Mandrake. The only real differences are the gui configuration tools and the initial setups. Fedora I have had good results with, and is now the Redhat free version. It is also a testing OS, and any new features or open source software is going to show up first in Fedora before it gets migrated into the commercial Redhat variants. This will give you a good idea of what setup and decisions will be used in the future by redhat.

Slackware is also a good, but for entirely different reasons. With the exeptions of the init scripts (BSD-style vs System-V style start up scripts used by almost every other distro) it is the same as anything else you would see in any other Linux os.

The main thing that makes it good is that it's kept simple. The gigantic complications created when people try to make OSes "easy" is almost completely absent from Slackware. Bash shells rule and you can modify pretty much any part of the OS in ham fisted ways and not have to worry about breaking Gui configuration tools and complicated package managers.

Nice to learn the "ropes" and basics of a *nix OS.

The install is easy, in DOS sort of way. You select language and keyboard layout. Select networking options, format the disks and select "install everything" and most of the time it "just works" the first time out. Very quick compared to something like Gentoo. If (when) you mess it up, format and reinstall "everything".

Also if you keep a /home partition seperate you can format and reinstall around it and not worry about loosing your user settings and home files.


For a initial project I suggest setting up a simple File server. A ftp (carefull with that on the internet, doesn't use any encryption for passwords) server, and a SAMBA server for your home LAN, for backing up important windows files. Using Webmin, VNC, and SSH for remote administration you can do most everything from your Windows computer (putty.exe is a very good ssh client), so you don't need to waste a keyboard/mouse/monitor or get a switch for your extra Linux box if you don't want it. (although local administration is a nice convenience to have).

Another fun setup is to create a network music jutebox. Using something like Icecast you can setup a streaming music server for your other computer(s) and even make a little internet radio station for yourself. There are variaty of ripping and music mastering programs for linux. Try several different ones to find what suites you. I like ripperX for nice front as a automated tool to Rip/Repair CDROMS and Zinf is a nice music player and makes it easy to build playlists.

If you don't have a router and have a almost always on style internet connection you definately NEED one. By building a linux router/firewall you move a lot of the security burden off of your desktop computers. By not having to run software firewalls you increase the speed and stability of Windows computers by quite a bit, also makes connection sharing easier and infinately better then even the best windows-based internet connection sharing software. Stuff like smoothwall, LEAF internet appliance, and ClarkConnect make setting this stuff up pretty easy. But you don't want to run any network services on a firewall/router machine.
 

groovin

Senior member
Jul 24, 2001
857
0
0
you should study the OS first, worry about all the apps and daemons later. get a good understanding on how linux works under the hood.

some people go for mandrake first because it is easier to install and better geared for new users. i started off with redhat (what mandrake is based on) then moved onto more "difficult" distros.
 

burnedout

Diamond Member
Oct 12, 1999
6,249
2
0
Telnet or SSH into the box and build a LAMP (Linux Apache MySQL PHP) server from source. Throw in OpenSSL, Perl, zlib and GD. Then set up sendmail. You'll stay busy.
 

LeonarD26

Senior member
Feb 12, 2004
826
1
71
Thanks for all of the replys, this is the type of information I've been looking for. I haven't decided exactly what I'm going to do, but I'll keep everyone informed of my progress once I get going. Any additional info would be great!

On a side note, I have another Linux related question which I didn't think I should start a new thread for. I have a .sh script that I would like to be run when Red Hat boots or shuts down (server at work). If someone could assist, that would be great ;) !
 

Abos

Member
Feb 19, 2004
196
0
0
Good thread... as soon as I get Slackware installed I'll be looking to start up a few projects such as these.
 

Fiveohhh

Diamond Member
Jan 18, 2002
3,776
0
0
Originally posted by: LeonarD26
Thanks for all of the replys, this is the type of information I've been looking for. I haven't decided exactly what I'm going to do, but I'll keep everyone informed of my progress once I get going. Any additional info would be great!

On a side note, I have another Linux related question which I didn't think I should start a new thread for. I have a .sh script that I would like to be run when Red Hat boots or shuts down (server at work). If someone could assist, that would be great ;) !

put a symbolic link to your script in the rcX.d with X representing the appropriate run level (i think 6 is shut down) and if your using a GUI 5 is probably the run level you boot to, or I think you can put it in the rc.local and it will run at every boot regardless of run level. I'm just a beginner, so might want to verify this info, but this is what I did and it worked for me.
 

n0cmonkey

Elite Member
Jun 10, 2001
42,936
1
0
Originally posted by: OffTopic
Originally posted by: n0cmonkey
One of the projects I started with was setting up a firewall with OpenBSD. I picked up a book called something like "Setting up a firewall with Linux and OpenBSD." It gave me a good general impression of OpenBSD.

But any of the projects you mentioned would help. You could setup a mail server and maybe a webmail interface. Or a database for a website. Or even setup snort.
Snort has really poor documentation.

So do 99% of open source projects. Missing, out of date, and crappy man pages run rampant through Linux distros.
 

groovin

Senior member
Jul 24, 2001
857
0
0
many man pages could be better... much better.

makes me think how funny it is sometimes that the first flame you get is "re-read the man pages"
 

n0cmonkey

Elite Member
Jun 10, 2001
42,936
1
0
Originally posted by: groovin
many man pages could be better... much better.

makes me think how funny it is sometimes that the first flame you get is "re-read the man pages"

The BSD man pages are generally good.
 

groovin

Senior member
Jul 24, 2001
857
0
0
i dont have to look at the freebsd man pages very much because the FreeBSD Handbook is so well written!
 

Barnaby W. Füi

Elite Member
Aug 14, 2001
12,343
0
0
Many man pages are good, and often people speed through them without really reading them, and then they say "I already read the man page!" That's why people tell you to re-read the man page.

But yeah, many man pages, and documentation in general, are bad. Writing documentation is time-consuming, difficult, and less fun than coding or doing something else. That is no excuse, but it is a reason. ;)
 

pitupepito2000

Golden Member
Aug 2, 2002
1,181
0
0
So, if many of the man pages are badly written what else could we read to get good documentation besides the internet. this is a very good thread to read.

thanks guys,
pitupepito
 

n0cmonkey

Elite Member
Jun 10, 2001
42,936
1
0
Originally posted by: pitupepito2000
So, if many of the man pages are badly written what else could we read to get good documentation besides the internet. this is a very good thread to read.

thanks guys,
pitupepito

Use the source luke.
 

LeonarD26

Senior member
Feb 12, 2004
826
1
71
So here's what I think my inital plan is. I'm going to start with burnedout's and drag's advice and create a LAMP/server box. I think this is a good way to understand how many of the popular services work... I'll start with a popular distro like Fedora, Mandrake, etc.

Afterwards, I'll work on try and build the OS using Slackware. Getting underneath the hood of the OS really interests me... I'd love to do that first, but managing services is more important for my job, so I think I'll start there.

Thanks for the advice in regards to the startup scripts. They don't seem to be working exactly how I want them to yet, but I'll get there soon enough.
 

LeonarD26

Senior member
Feb 12, 2004
826
1
71
OK, so I've got the .sh scripts to run when the Linux box starts. I placed a link to it in the rc.local file which is in the /etc/rc.d directory. The only problem is, I need the script to run as a different user (seems to run as 'root', needs to be 'oracle'). Any ideas?