Server Basics

Mahachippy

Limp Gawd
Joined
Feb 17, 2005
Messages
207
Howdy all,
I might be getting an old pc from my uncle and was thinking about setting up a server of sorts. I was thinking a kind of all in one ftp, web, email, firewall, etc. So, my first question is if that is possible? My second question deals with a post I made earlier about setting up a wireless connection. Instead of using a wireless router, can the server act as an ap and broadcast the wireless signal? Third could I use the server as the heart of my network..want to hook up my mother's mac and my pc so that we can share printers, etc. Okay, so I think those are my main concerns. Now, what I need are some recommendations on what programs to use and since I am new to servers, are there any good resources about out there concerning the setting up and integration of servers into the home network. Or I guess just beginning servers in general. Btw, the computer is a p4 2.0 ghz, 512MB of ram 60 gig hdd, running windows xp pro. If anybody needs further explanation, let me know. Oh yeah and thanks in advance for the help!
 
It's very doable. The hardest part might actually be setting it up as an AP (far from impossible).

Generally, I'd suggest using a linux or BSD for this.
Web server: Apache
Mail: Depends on what you want it to do, several alternatives
File sharing: Samba for windows-style sharing, or you might use NFS with the mac
Printer sharing: Samba+CUPS again or just CUPS (Windows supports IPP, and I suspect the mac does as well)
Firewall: pf on the BSDs, iptables or something based on it on linux

Wireless AP: Sorry, no idea. I think you can convince most linux/BSD-drivers to do something like it, but don't hold me to it.
 
Well I think all that stuff you mentioned is possible. Since it sounds like you really don't know what you are doing, you will be learning a lot in the process anyway, so I suggest going with linux or a bsd for this. As far as getting it all set up, it will be easier if you break it down into parts rather than just asking how to set up a "server". Tackle one thing like the web server and then move onto the next once you get that done. I'm kinda intoxicated right now so I'm not going to go any further but I'm sure someone will be along to help.
 
Agreed. Choose one function to begin with, handle it, and when you're happy with it, go onto the next one. I'd suggest doing the web server first, it shouldn't be too hard.

I will also recommend the OS forum, specifically the Linux/BSD/OSS subforum, for any BSD or linux questions.
 
Thanks ya'll for the help. I figured linux/bsd would be the way to go...I have been doing some looking and that seems to be the os that most people use. I also agree that it would probably be easier for me to go with one thing at a time..I just wanted to lay it all out so that I don't go buy ten computers for servers when everything will work on one. So, I guess, once I get the computer, just hook it up to my router and then get a linux distro. and then apache? Sorry if my questions seem really basic, but like I said, I am just starting out. Oh yeah, I wanted to also say that this is just kinda a project of mine...there will be some use on my server, but nothing major...mainly I want a server for my personal use, but I am also using it as a learning experience for the spring when I start back to college for a cs degree.
 
Oh yeah, I also meant to ask...what is a good server linux distribution? Is bsd better?
 
Mahachippy said:
Oh yeah, I also meant to ask...what is a good server linux distribution? Is bsd better?

I'm fond of FreeBSD, myself. Both systems will work, but there are things about FreeBSD I like [1] that are not in the linux distros.
However, there are distros that will be easier to set up, and/or that will provide easier tools to manage your services. If you like GUI tools, look somewhere else.

[1] The ports system, generally saner (IMO) directory structure, the documentation and the release engineering, among others.
Being a single system (unlike the many different linux distros) means that when you read FreeBSD documentation, it can be very specific. Linux documentation is either distro-specific or less precise.
 
Anybody that says "since you don't know what you are doing" in one breathe and then recommends linux to you in the next doesn't know what they are talking about, this I assure you. I have been around computers for 18 years and I still can't get a linux server to connect to a Windows 2000 AD, even following the FAQs.

So, plain and simple disregard that advice.

The easiest way to get started with setting up a server is to pick up Windows 2000 or 2003 (Advanced if needed) Server and start from there. It will do all the things you need it to do and the learning curve is not anywhere near as brutal as the linux. Connecting linux to Windows will be bad enough for you. Connecting it to a Mac will be murder I'm sure.

I tried several linux distros and finally discarded all of them in favor of two Windows 2000 Advanced Server servers. I am much happier now.
 
SirKenin said:
The easiest way to get started with setting up a server is to pick up Windows 2000 or 2003

SirKenin - what's the current price for Windows 2003 server?
 
I don't have the current price for it until tomorrow when my suppliers reopen for business. However, it is somewhere around $200 CAD with a five seat license (or was that just server? I can't remember at the moment). That is about $150 USD. That is, of course, if you buy it instead of stealing it.... :p It is approximately the price of Windows XP Pro RB anyways.
 
For a small web server I would take apache+FreeBSD (with ports) over anything involving IIS any day of the week. Ick. [1]
Adding PHP with e.g. GD is (assuming apache is already installed) a case of
Code:
cd /usr/ports/lang/php4-extentions; make install clean
and checking the right boxes. The next step is writing the PHP code.

Note that even though the things going on might seem to be messy (and will take some time to compile), it's two lines of instructions. Try explaining how to add PHP with custom extentions to a windows web server (IIS or apache, your choice) in two reasonably simple lines.

Granted, this makes some assumptions, like "he's got a working FreeBSD install" and "he's got apache working" [2].
I'll also grant you that it's easier to see what options you've got in windows (by digging through the GUI).
However, I will protest if you try to claim (on the basis of an area where linux could do a lot better than it currently does) that setting up, say, a web server is markedly easier in windows than in FreeBSD.
(I am far from fond of administering IIS, and setting up apache in windows isn't easier than setting it up anywhere else.)


[1] You are in a maze of twisty GUIs, all of them alike.
It is dark. You are likely to be eaten by a grue.
[2] This takes three full lines to do:
Code:
cd /usr/ports/www/apache ; make install clean
mv /usr/local/etc/rc.d/apache.sh.sample /usr/local/etc/rc.d/apache.sh
echo apache_enable="YES" >> /etc/rc.conf
Apache is now working, the root directory is /usr/local/www/data/ .
 
SirKenin said:
Anybody that says "since you don't know what you are doing" in one breathe and then recommends linux to you in the next doesn't know what they are talking about, this I assure you. I have been around computers for 18 years and I still can't get a linux server to connect to a Windows 2000 AD, even following the FAQs.

I'll agree with that somewhat. It is also a good way to learn if he wants. I learned to use Linux 10 years ago by installing it as my main desktop. If I wanted to use my computer, I had to use linux. I did that because Win 3.1 was a complete garbage GUI at the time.

Getting samba to connect to a 2K AD is pretty easy, once you figure out what to do. It was really simple in Gentoo, as all I had to do was put my domain in the 'workgroup' section of the config file. It took me a while to figure it out the first time, but after that it was no problem.

So, plain and simple disregard that advice.

The easiest way to get started with setting up a server is to pick up Windows 2000 or 2003 (Advanced if needed) Server and start from there. It will do all the things you need it to do and the learning curve is not anywhere near as brutal as the linux. Connecting linux to Windows will be bad enough for you. Connecting it to a Mac will be murder I'm sure.

I tried several linux distros and finally discarded all of them in favor of two Windows 2000 Advanced Server servers. I am much happier now.

Yes, the Windows Servers will be easier to setup, but you have to pay for it. It will also chew more ram than a leaner distro, but since he has 512MB, it should be fine for 2K server. For 2K3 I'd say more ram. Since the machine is already running XP Pro, there isn't a need to change that though. It can do everything he needs just fine, and 5 people can connect(SMB) to one at the same time IIRC.

My one 2K3 server at work chews about 500MB at bootup, and it's a member server that is a webserver only. It's under a light load, and serves up asp, aspx, and dhtml most of the time. That's why i think it wouldn't be a great choice.
 
i just started using linux as a server for myself. never used linux before and while it took a couple weeks to configure right i was able to get samba up and running. everything has a reason why it doesnt work in linux and some are easier to find then others. its a nice free choice and you learn a lot. dont be swayed by the learning curve, just grab a book or two off amazon and just follow the instructions once you have that down then you can modify it to your needs. its so much easier with a book to reference. and it actually is pretty straight forward on how to get it to play nicely with windows.

good luck with your choice and keep us posted, ill be interested to hear thoughts on your decision making process and how the final outcome is.

cheers
 
Try centos. It's redhat based and very easy to set up and configure.
 
Wow! Thanks everybody for the help! Currenly I have about $50 in my budget for this server, so I was hoping to go open source. I found a book or two on oreilly that look good for linux (anybody have any other recommendations or has anybody used oreilly?) and I thought I would start there first. Does anybody recommend that I try a live cd of a linux distro and play around with it first and then setup my server. I mean I don't have to have my server right this instant..it is mainly a pet project...granted it will be a bonus to my small home network, but it is not mandatory that say it is up and running this week or anything. I have been looking some more and the more I look, the more open source opportunities I have found that seem to well....slap microsoft in the face! No offense or anything..I am a microsoft drone just like the rest of the world at the moment, but I would like to have more control of my computing experience..ie: security, configurability, etc. So anywho, thanks for all of the help and please feel free to post more..I am really learning a lot. As for windows 2000 or 2003, my birthday is in november and I should get some money, so if I fail at linux before then, I will definitley give it a good look. Would look into it sooner, but all "proceedes" of my job are going into college tuition for this coming spring...I am just above the good scholarship point..not rich by any means, but "too rich for good scholarship!" :D
 
Quick question...out of curiosity...where do you get ms server 2003...I was looking and all I could find was copies for $500 plus.
 
if you can get status as a "student" or if you are one check some of the student software sites, they normally give decent prices on stuff, or you can always bid online
 
Heh. If you have to go Linux, go Fedora Core 4. It was designed to be a server distro. That is one of the distros I tried before I went grey.

As for setting up a webserver on Windows, who here said that was hard? Are you nuts? It is four or five clicks of the mouse button and it is done. Maybe the extensions are what you are talking about, but most of it is built into it already. I have one download sitting on one of my servers that installs ALL free webextensions automatically, just by double clicking on the filename. It doesn't get any easier than that. I had my webserver up and running in a couple of minutes. Linux is a couple of hours. That depends a lot on whether or not all the dependencies are met and you don't have to go through hours of bullshit just to compile what you need, very typical of every linux distro I've run across so far. As long as you could use linux out of the box, it was fine. As soon as you had to modify and make changes to suit your network needs it pukes. I can't tell you how many times I have had a horrible experience trying to incorporate linux into a working Windows environment.
 
I can have apache, PHP, gd, the PHP-mysql - connector, pdflib, imagemagic and whatever other PHP-extentions up with at most 5 minutes of actual hands-on time. I'm not sure how much is available as packages, so the compile time might stretch towards an hour on a slower computer.
Setting up MySQL users and databases might take a bit longer, depending on the tools, but that's not likely to vary much between the platforms.

I guess it comes down to experience. For me, setting up PHP with a custom selection of addons on windows seems like a nightmare [1], and I guess you've got the same feelings for the BSD ways.

And I still remember trying to get PHP5 and IIS to cooperate. Not fun, but probably fixed by now.

[1] As opposed to "setting up a prepackaged PHP with a certain addon set", which I agree can be easy enough.
 
Will search around some more to find student discounts! I might try windows if I can get my hands on a copy of ms server 2003. But, linux does intrigue me...like I said though my server is not a must have at the moment, so I might just get a linux book and a live cd and play around with it...if I like it, then I can make a transition to my server. I want to setup my server, but at the same time, I want to experiment and find out what makes stuff tick. Don't get me wrong, I want stuff to work and everything, but I also would like to do some figuring and tinkering. I know a good bit about computers..I am no computer whiz, though I can hold my own on most things...troubleshooting my computer problems, my moms, etc. Anywho, keep the posts coming! Oh yeah, I know that apache is web, cups is printing, etc. but what are all those other programs ya'll are talking about like php, etc.
 
PHP is a scripting language that's often used for web development. Fairly simple and powerful, and will work on both apache and IIS. Look into it, it's fun. :)
PHP supports lots of extentions that add functionality.
I used GD as an example, it's a toolkit for making images and outputting them. (Neat to make on-the-fly graphics for statistics and the like.)
There's also ImageMagic, which handles resizing and converting images (thumbnails for a gallery, for instance).
MySQL is a database server. Works well with PHP, reasonably easy to use.
 
SirKenin said:
Anybody that says "since you don't know what you are doing" in one breathe and then recommends linux to you in the next doesn't know what they are talking about, this I assure you. I have been around computers for 18 years and I still can't get a linux server to connect to a Windows 2000 AD, even following the FAQs.

So, plain and simple disregard that advice.
If he is going to have to learn everything either way, what difference does it make whether he does it on linux or windows? Perhaps he would actually like to know what he is doing rather than just do a few mouse clicks. Just because you can't figure something out doesn't mean you should go around telling other people it is a bad choice. He didn't say anything about wanting to connect to a windows 2000 AD, so that's not even relevant, yet you are using that as a reason why linux would be a bad choice for him. If you've been around computers so long and cannot connect a linux server to windows 200 ad then perhaps we should be disregarding your advice. ;) I'm not trying to argue with you, but I really don't understand why linux is such a bad choice for someone who doesn't know what he is doing. I didn't know anything about linux before I started using it, but if I didn't start using it then I wouldn't ever have learned anything about it. He didn't say anything about this being a critical server that he had to get working right away, so what does it matter if he has to do a bit of reading along the way?

Also, I'd like to know where you got the idea that Fedora Core was designed to be a server distribution. Release early and often(one of fedora's main "features") doesn't really seem to jibe with most people's idea of what a server should be. I know I don't need(or necessarily even want) the absolute latest kernel and desktop environments on my servers.

And so that this post isn't entirely negative, I'm just going to say (to the OP), use whatever you are comfortable with. You won't know if you will be comfortable with linux unless you try. Live CDs are good to get your feet wet and start figuring out how stuff works without the risk of completely breaking everything.

Like you said, apache is web and cups is printing. Samba is used for file and printer sharing. Contrary to what sirkenin said, it is actually quite easy to get file and printer sharing set up between windows and linux. Just a couple lines in a config file to tell it what you want to share. I'm sure there are even graphical configuration programs out there to help. PHP is a web scripting language that is commonly used with mysql, a database, to give you dynamic webpages and such. Shorewall is a pretty good firewall/gateway program. It actually just kinda helps with the setup, then other utilities take it from there, but that doesn't matter much.
 
To get you a server up and running linux easily you could give Xampp(http://www.apachefriends.org/en/xampp-linux.html) a shot.

The distribution for Linux systems (tested for SuSE, RedHat, Mandrake and Debian) contains: Apache, MySQL, PHP & PEAR, Perl, ProFTPD, phpMyAdmin, OpenSSL, GD, Freetype2, libjpeg, libpng, gdbm, zlib, expat, Sablotron, libxml, Ming, Webalizer, pdf class, ncurses, mod_perl, FreeTDS, gettext, mcrypt, mhash, eAccelerator, SQLite and IMAP C-Client.
 
ranstlin said:
To get you a server up and running linux easily you could give Xampp(http://www.apachefriends.org/en/xampp-linux.html) a shot.

The distribution for Linux systems (tested for SuSE, RedHat, Mandrake and Debian) contains: Apache, MySQL, PHP & PEAR, Perl, ProFTPD, phpMyAdmin, OpenSSL, GD, Freetype2, libjpeg, libpng, gdbm, zlib, expat, Sablotron, libxml, Ming, Webalizer, pdf class, ncurses, mod_perl, FreeTDS, gettext, mcrypt, mhash, eAccelerator, SQLite and IMAP C-Client.
Wow. That looks pretty awesome.
 
HHunt,
Thank you for clarifying for me...like I said, all this stuff is new to me, but it seems really interesting and very powerful once you master it..or I guess learn if fairly well!

jpmkm,
You got it right..like I said, this is just an experimentation server. I mean I want it to work, but if I have do do some reinstalls or whatever all it will take is time...nothing really mission critical here. I have heard about linux for a few years...I didn't get serious with computers until about 4 years ago, so before that I havd no idea that anything existed other than windows! As for a distro to try, what do you think...I have heard a lot about ubuntu (sp?) lately, but what about suse, mandrake, dabian, etc? Should I get a live cd of each and see what I like best to play around on before I try my hand at my server? Also, thanks for more clarification of those programs...are they all open source? I assume they are, but just wondering! Thanks again!

ranstlin,
Is Xampp like a software package for linux or apache? Sorry is this is a dumb question, but I probably missed it on the website! So, to use that, I would get a copy of linux and then install it or get a copy of linux, apache, and the install it? Sorry again, if I am a bit thick headed, but I have learned more today and last night abou this than I ever knew existed!! :D

And as always, a big thanks to everybody and keep 'em coming!!
 
You would choose a distro of your choice. I'm becoming a fan of CentOS, btw. After you install whatever distribution that you choose then you would install Xampp. It includes apache. Its basically one big simplified version of apache with mysql, php, etc built already into it to make it easier.
 
ranstlin,

Thanks for the clarification...I get it now! That would be nice to use since it has all those programs in one. Thanks agian for the link and the help!
 
No problem. Enjoy. If you actually do install and it and use it, let us know how well you think it works.
 
Sure thing...I have already started to read up on some of that stuff and it looks really interesting!
 
Mahachippy said:
Sure thing...I have already started to read up on some of that stuff and it looks really interesting!

It really is. :)
 
True, there are several different server OS available, all are good in their own right, also alot of people say stay away from IIS, while this has been true in the past, the latest, 6.0, is fairly stable. Apache is a great web server program, I have used and probally will use again. I chose to pay the 699$ and get MS Server 2k3, I use it at work, I am used to it, quirks and all, it does everything that I want it to. Also if you do decide to further your education, an mcp,mcsa or mcse will help you very much.
 
Oh, IIS 6 definitely works. I just happen to find httpd.conf easier and more predictable than the IIS administration panels.:)
 
well, I posted this in the linux forum, but currently I am running on a ubuntu live cd session and I have to say that linux looks great so far! I really like it...the interfaces and everything are very well laid out and every bit of the hardware on my rig was detected and works! I was afraid that using linux would be a hard thing to do, but I am finding it more and more inviting! I am going to play around with this some more for a while and then I am definitely going to give linux a try as my server os. I mean, I might give windows a try later on, but honestly I am blown away by the limited things I am able to do now in my live linux session...I can only imagine what all I can do once I put it on my server pc! Anywho, I wanted to thank all of you...your tips and help about what I should do for a server are what made me finally try a linux live cd and all I can say is that I am definitely going to do some more linux exploration. Of course so far, I have only surfed the web, setup msn messenger, played around with open office, etc. but I am just amazed at how easy things are to do because I have always heard the horror stories that linux is nothing but command lines..no gui, no nothing. However, I know that is wrong. I mean I understand that my server stuff will be code stuff, but that doesn't bother me too much! Anywho, sorry to ramble, but I just had to express my amazement, excitement, and gratitude! :D
 
Thanks! One quesiton though...do ya'll know any c or c++ compilers for linux...I have a limited amount of programming knowledge, but I want to play around. Or is there a better language to use for linux that I can use..preferably one that has some basic online tutorials. I have heard of python and perl (but I think perl is for a specific purpose..kinda like php or something..no?). Thanks again everybody!
 
Mahachippy said:
Thanks! One quesiton though...do ya'll know any c or c++ compilers for linux...I have a limited amount of programming knowledge, but I want to play around. Or is there a better language to use for linux that I can use..preferably one that has some basic online tutorials. I have heard of python and perl (but I think perl is for a specific purpose..kinda like php or something..no?). Thanks again everybody!

The GNU compilers come with Linux. To use them, use 'gcc' for C and 'g++' for C++ compiling.
 
Ahhh...okay...maybe a dumb question, but how to get I get the gnu development area once I am in linux?
 
To be blunt, there isn't any. You write in a text editor, compile with gcc, and see what breaks. Suprisingly workable.
There's also programs that will give you higher levels of integration, but I haven't played with any of them.

I would also recommend python. Easy to start with, nice features, and there's several nice and easy GUI tools. (I'm fond of TKInter, with all it's limitations and faults. It's very fast and easy to work with, when you get to know it.)
 
Back
Top