/    Sign up×
Community /Pin to ProfileBookmark

Server pros and cons

Perhaps this is the wrong forum.

I’m contemplating on buying yet another PC and then utilize the one I’ve got working now as a web server. Primarily to cut costs on web hosting, but also to make testing of web design for sites easier (with all the scripting then being on my server).

Can anyone give some hints as to the pros and cons of server software. I’m definitely not into MS server software, so am going for Unix (mostly because that’s where my experience stems from).

Would like to know more about Linux working with Apache or FreeBSD or perhaps Sun Solaris. I am probably confusing OS with server software here since I’m not that experienced, yet.

Anyone? ?

to post a comment
Full-stack Developer

31 Comments(s)

Copy linkTweet thisAlerts:
@Stephen_PhilbinDec 17.2004 — I ditched Windows OS on my Home PC, took the plunge straight into linux and started praying I wouldn't destroy everything in one fell swoop. Thankfully some of the guys from here gave me some excellent recomendations of Linux distributions. I started with SuSE Linux which was their main recomendation, but I tried out a few OS's as suggested, but still came back to SuSE anyway. It's easily my fave OS. It doesn't have all the driver support for games and webcams that some people might want, but in my own opinion, it puts XP to shame.

I just installed it, got reading the help files for the comand line which I heard I'd be using a lot and just spent a week familiarising myself with the OS. I was astonished at all the free stuff that comes pre bundled and ready to roll, even for the personal version (the one I run my server from). I did get rather disheartened though when I found I couldn't install anything because I didn't have a C compiler or GNU make (essentials for your software), but when I found the solution, I was amazed.

SuSE has an application called YaST. You just open it up from your taskbar menu (just like the start menu on windows) and you give it some sources for installing stuff. It'll take a while the first time for all the stuff to be read from the source server, but once it's done, you just type in GCC (much like you would with google) and it'll list a bunch of compilers for ya. You just tick the one you want and YaST will download and install it (and even ensure its stability with other applications) for you. No hassle at all. You can do the same for GNU make. So that's your core software taken care of. That isn't the best bit though. Get this. YaST is basically a software on demand Google. You can tick the "search description" box in the YaST search then type in something like "HTML editor" or "FTP client" and it will search out a whole host of applications that match those descriptions and present you with a list of them. You just tick off the boxes for the ones you want and hit install. It'll check their compatability for you and install them all for you. Full software applications, completely free, on demand, hassle free. Hell yeah baby!

You can also download and install from source just about any application you can find too. My servers for example are all now compiled from source (instead of using YaST). YaST is great, but it doesn't give you the complete control over your software that building it yourself gives you. YaST installs pre-compiled binaries that have already had all their options set, but when you make it for yourself, you can customise the applications options and features to suit you. So you could have a small scale, fast and light application, with only the essential features built in, or you can build a goliath of an application capable of just about anything you throw its way.

Here's an example of my PHP5 module being built:

I download the source code from the good people at the Zend.com

I extract the source from the zipped up tarball that it comes as (basically an unzip to whatever location you want, I usually unzip stuff like this to root). Then I jump into the folder created and hit F4. (This brings up the comand line console.)

Then I have a read through the README files etc that come with the source, then have a look at the installation instructions (usually a file named INSTALL). This will list any note you may need to know about, but will also contain a descriptive list of all the switches (or options) you can add when making the software to customise it to your liking.

So once you have all the options you want, it's time to get with the building.

On the command line, you give the first command, the comand to configure it. The one I used is this:

./configure --with-apxs2=/dootserv/bin/apxs --with-openssl=/openssl --enable-bcmath --enable-calendar --enable-ftp --with-mysql=/usr/local/mysqlserv[/quote]

The ./configure at the beginning is me telling the computer to execute a file called configure and all the stuff after it, is all the switches that the configure script will look for whilst it runs. (The ./ is just the explicit declaration that it is a file in the folder you are currently in. In exactly the same way as you would for a web URI "." meaning current location and "/" meaning something in the location specified just before the "/" so "./" quite literally translates to "something in here".)

As you can see they all say something to add remove or find something. "/openssl" is not the default place where the openssl installation goes, so when I tell configure I want openssl included, I also tell it where I put it on my machine. Hence --with-openssl=/openssl.

So that'll have the config script run and you'll see loads of stuff whooshing up the console screen, whilst the script gathers info about your system, checks requirements and sets up for the making of the software.

Once it's done that, you just type in "make" and this will (yup, you guessed it) make the software according to the options set by you and gathered in configure.

Again oceans of stuff will go whoosing up the screen whilst it is being made then come to a halt to wait for your next instruction.

"make install" is your next command and I just know you're astonished to hear, this installs the software you just made.

That's basically it really. I know it's a lot of writing just for three comands, but I figured there was no harm in explaining things a little. ?

Pretty much all your software you make will follow almost exactly the same process, just make sure you look at the last few lines printed out by whatever just ran to make sure there was no error message and the process halted. This almost certainly will happen once or twice, I think the apache web server asks for xmllibs or something half way through ./configure and won't configure until you have it installed. this is a trivial issue though thanks to YaST. You can quite literally copy and paste the name of whatever is asked for at the command line by the script, into YaST and then YaST will find and install it for you. Then all you do is run the command again and it should finish properly without a hitch. It might ask for another thing, but you just do the same again.

I will warn you though that getting into this sort of stuff is not for the impatient. There is quite a bit of reading a nd learning to be done to make sure that you are familiar with the OS and that you compile the software in the way that meets your requirements. For example I spent two weeks reading up as much as I could about the Innodb database engine of MySQL and many other parts of MySQL to make sure I had the configure comand that was just right for me. This was actually mere self torture just for the sake of it though. You can quite happily (and it is infact recomended that you) just download the pre-compiled binary from mysql and just slap that on yer machine. You just parrot out the seven commands from the install instructions to your comand line and you'll have yourself a fully working MySQL database and server in seconds. I just installed from source for the experience, practice and educational value of it (oh and a jackass of an ftp server. but that's another story).

My current setup now is:

SuSE Linux 9.1 personal edition Operating system http://linuxiso.org/

Apache http server (version 2.0.52) http://httpd.apache.org/

OpenSSL version 0.9.7e http://www.openssl.org

PHP5.0.2 http://www.zend.com

MySQL 4.1.7 http://www.mysql.com

Some version of sendmail I told YaST to install for me because there was no way in hell I was messing with that thing.

Oh and Pure-ftpd 1.0.20 FTP server when I can convince it that my PC is NOT my router.

All of which can be aquired for the total cost of FOOK ALL! ?

If you decide to go with SuSE then you can let me know by [url=https://www.dootdootdoodydoodydootdoodoooo.com/contact.ste]contacting me here[/url] and I'll help get you on your feet as fast as possible. I suggest contacting me after you have downloaded the OS but before you install it because there's still one or two hints ya might need. You may also need the help of the magical Ray326 and NogDog, seeing as this will be an OS replacement rather than making a dual OS machine (which is the only experience I have had with installing Linux OS's so far).

If I haven't bored you to death yet, then good luck. ?
Copy linkTweet thisAlerts:
@ray326Dec 18.2004 — SUSE is a very good distro but many new users find Mandrake the easiest (of the non-purely desktop) to install and use. If you have Unix experience then you might find one of the BSD distros more comfortable than Linux. I will say that one distro I've installed several times over the last couple of years and have always disliked is Red Hat. It's fine as long as you want to do things exactly the way they wanted to do them in the first place but Katie bar the door if you decide to add some software they didn't include with the distro.
Copy linkTweet thisAlerts:
@JupacDec 18.2004 — What internet do you have

If you are runing a home cable or dsl line it will lag a lot
Copy linkTweet thisAlerts:
@PeOfEoDec 18.2004 — Never use solaris unless you are running one of sun's sparc boxes. From what I have seen solaris is miserible on x86.
Copy linkTweet thisAlerts:
@Stephen_PhilbinDec 18.2004 — Yeah I loved Mandrake. Very nice indeed. Only things that stopped me using it were the fact that it crashed almost constantly for me for some reason (normally fine on x86 though, possibly a bad disc) and a lot of handy features I used very frequently on SuSE either did not exist, or were deeply buried and hidden. The root file browser is by far my most used tool, but it simply isn't there on Mandrake. I guess it's to protect new users from damaging their system before they get the swing of it. You should find both SuSE and Mandrake very user friendly indeed. Both make very good general use, desktop OS's.

Heed well Peo's warning of Solaris though. In many cases it is a disaster waiting to happen. Documentation of almost every server and bit of software I have compiled has had warnings oh problems with Solaris on a wide variety of hardware. Problems can range from little blips that can be slapped back into shape with a simple command line argument to full on crashes and large parts of software being inoperable. From the looks of it if you want to run Solaris, you need specially tailored hardware and programs.

Oh and the connection speed of your box being the same as your current net connection is kind of a given really, seeing as it's on the connection that runs to your house where your box will reside. By box shares a 256kilobits per second upstream connection with one other Windows PC downstairs and two games consoles. The other devices come and go as far as the connection is concerned, with the exception of my box which maintains a constant connection (with the reload every 15 mins feature of opera constantly active on a web page to prevent an IP address release on the router). The already meagre connection to my server can easily drop further depending on how many other devices hop on the line and what they do, but I'm not really arsed as nobody ever visits it anyway (well I assume not, I don't bether check the logs really and I almost never recieve mail from my contact page). Nobody has any reason to visit it more than once really. I have barely changed the site at all since I first made it and don't plan to do anything to the publicly visible stuff on it for a long time to come. I've got plenty of work to do which is why I made the switch to linux and compiled all my own software in the first place. To learn how to do it, to learn how to handle linux and servers and also have and extremely efficient development environment. I'll amuse and entertain the public when I'm not swamped by documentation to read and work to do. Developing on yer own servers is brilliant though. Screw having to open the FTP client, upload, switch back to the browser and reload for every little change. Just edit, hit control and S and your newly edited server side applications are in place and online because you can save straight to the document root of yer http server. ? It makes things a lot faster. Screw the connection man. That's the least of yer concerns.

Oh. Here's a great tip that'll hopefully save you a good bit of time when yer setting up yer servers and software. Assuming you're going to install the same or similair stuff that I have, install them in this order:

1st) OpenSSL

2nd) MySQL or whatever database you choose.

3rd) Sendmail (Let YaST install this one for you. Trust me; as a first time Linux user you DO NOT want to take this one on.)

4th) Apache web server

5th) PHP. (PHP must come after the http server because you actually install PHP as a module of the Apache server.)

6th+) Whatever else you want afterwards. An FTP server would be great but of the two I've been wrestling with for weeks now, one has proven rather insecure and just seems rather wierd and ambiguous in general and the other whilst being nice n' secure and clear in how things work, just does not want to work. It's like the lazy kid that just finds any excuse they can to avoid doing homework. I decided to stick with the lazy kid (pure-ftpd) as it's the one I'd feel most comfortable with once I torture it enough into working. (It WILL work eventually. I'll edit the damned source if I have to! )
Copy linkTweet thisAlerts:
@ray326Dec 18.2004 — The root file browser is by far my most used tool, but it simply isn't there on Mandrake.[/QUOTE] You mean a file browser running su root? I'm sure Mandrake has had that and a root console on the menu tree, too. As with a lot of distros, the Mandrake-defined menu is pretty bad (too much poorly arranged content). That's where the stripped down desktops like Xandros really have an ease of use advantage for the non-developer.
Copy linkTweet thisAlerts:
@Stephen_PhilbinDec 18.2004 — For the life of me, I couldn't find an SU file browser anywhere on Mandrake. You can get an SU console no problems yeah. Just open a console and hit SU. It still seemed to behave a bit strangely though. I'd just put that down to me being used to SuSE though.
Copy linkTweet thisAlerts:
@ray326Dec 19.2004 — Hey, those crazy Frenchmen may have removed the links in the newer versions. I seem to recall having the same difficulties as you on the 9 and 10 versions. I haven't put it on this new box yet so I'll have to look on the other one later. As I recall they actually do it by forcing you to be root to run the KDE link.
Copy linkTweet thisAlerts:
@Stephen_PhilbinDec 19.2004 — Yeah I think it was 10 or 10.1 I was runing at the time.
Copy linkTweet thisAlerts:
@PeOfEoDec 20.2004 — [i]Originally posted by ray326 [/i]

[B]You mean a file browser running su root? I'm sure Mandrake has had that and a root console on the menu tree, too. As with a lot of distros, the Mandrake-defined menu is pretty bad (too much poorly arranged content). That's where the stripped down desktops like Xandros really have an ease of use advantage for the non-developer. [/B][/QUOTE]
There are things I dislike about mandrake, like this. But one advantage of mandrake is just the big fact that installation of software is less painfull, I no longer have to log in and out of root the way I have this all setup. I find it a notch more conveiniant then SuSE. But then again, I have never tried to run a server on either... I originally used SuSE thinking I was going to run a Mono server, but I never got around to taking mono on a test drive. I plan on getting familiar with SuSE again in the future. As for the comments about red hat earlier: red hat is nasty compared to some of the other distros since it is no longer being updated should really not be used anymore... it is not practical. I would like to try TSL one day since it is completely geared for server use. All of this would be just poking around of course... I am a win server guy.
Copy linkTweet thisAlerts:
@Stephen_PhilbinDec 20.2004 — If you want ease of installation, then just go with YaST like I said. You can let YaST do it for you or you can do things in a much more Windows-like way with rpm binaries. You install them very much like you would with anything else on windows (Firefox on Linux is a fine example). The result of installing rpm's and using YaST are very much the same as YaST uses rpm's to install most of the time anyway (although YaST hadles a lot of other technical issues if there are any, for you, whereas a standard rpm probably would not). You still have the thing of not having as much control over what your applications can and can't do, it's general behaviour and tailoring to your prefered setups etc (something I have grown to love about Linux now ? ), but most rpn's are built very well and can usually provide a good level of acceptability for a very wide range of people. As a matter of fact MySQL recomend that you install their general release standard binaries rather than compiling yourself (for reasons I shalln't bore you with) and pretty much everyone has no problems with them at all. I still compiled my own for the learning experience etc, but I used a binary too quite happily for some time before I tried compiling my own software.

Once you have YaST install gcc and make for you though, you can quite easily slap software on your system whichever way you like.
Copy linkTweet thisAlerts:
@WolfeDec 20.2004 — [url=http://fedora.redhat.com/]Fedora[/url] now,

[url=http://www.gentoo.org]Gentoo[/url] for the future.
Copy linkTweet thisAlerts:
@PeOfEoDec 20.2004 — from what I have heard fedora is just redhat with some glitter.
Copy linkTweet thisAlerts:
@WolfeDec 20.2004 — Well there aren't many differnces but I think both SuSE and Mandrake sucks. Especially Mandrake, that thing fried one of my harddrives (seriously, fried it!)
Copy linkTweet thisAlerts:
@PeOfEoDec 20.2004 — [i]Originally posted by Wolfe [/i]

[B]Well there aren't many differnces but I think both SuSE and Mandrake sucks. Especially Mandrake, that thing fried one of my harddrives (seriously, fried it!) [/B][/QUOTE]
How is software going to 'fry' a hard drive? Sounds like pebcak to me.
Copy linkTweet thisAlerts:
@WolfeDec 20.2004 — [i]Originally posted by PeOfEo [/i]

[B]How is software going to 'fry' a hard drive? Sounds like pebcak to me. [/B][/QUOTE]
Seriously; I have no friggin' idea. I - never thought it was possible. Sorry for the mixup, though. It didn't fry (just a figure of speech). It just stopped functioning.
Copy linkTweet thisAlerts:
@Stephen_PhilbinDec 20.2004 — [i]Originally posted by PeOfEo [/i]

[B]from what I have heard fedora is just redhat with some glitter. [/B][/QUOTE]


From what I heard, you heard right. ? I never tried Fedora myself but a friend said he certainly wouldn't be bothering with it again.

Oh and are you sure you didn't just make a slip up with your partitioning etc Wolfe?
Copy linkTweet thisAlerts:
@WolfeDec 20.2004 — So Mandrake works for 5 day's, right? I only use MPlayer, XMMS, Open office, TuxRacer, some other apps and games, and one day I just couldn't get the thing started. I kept getting an error saying there was no harddrive to boot from.

I just didn't bother with it, was only a 6GB harddrive anyways.
Copy linkTweet thisAlerts:
@PeOfEoDec 20.2004 — [i]Originally posted by Wolfe [/i]

[B]So Mandrake works for 5 day's, right? I only use MPlayer, XMMS, Open office, TuxRacer, some other apps and games, and one day I just couldn't get the thing started. I kept getting an error saying there was no harddrive to boot from.



I just didn't bother with it, was only a 6GB harddrive anyways. [/B]
[/QUOTE]

This does not really sound like it is a software problem. That could be a very large variety of things. Did you install a new hard drive in the system? Did your system turn off properly? Did you ever take the hard drive out and put it in another system and try it there? My theory which I base on very little is you might have had an abbrupt shut down or something like that (maybe the lights flickered and the comp went off) and this is an older hard drive and the cylinder heads in the thing did not quite line up.

I have never had a problem with mandrake on either of the two systems I have installed it on. I am dual booting with it right now on this pc.



unrelated:

I am so glad I got to use the term pebcak in this thread! It is not often I get to use that term.
Copy linkTweet thisAlerts:
@PoegleDec 20.2004 — I got that problem when using mandrake for the first and last time, I just went back to SuSe after that.

Im considering setting up a server...ive got SuSe Linux...I know Mr Herer has done it and I speak to him almost everyday....and he loves it...I got a 160GB HDD for SuSe, and 80GB for windows...so im sure I have more than enough space.

Is it worth me doing it? I have got www.c4uk.netit is an awful site at the moment and was when I first started doing all this site making, havent used this since the last time I was in the clan c4 and was going to put my homepage on that when its done, but if I have a server there will be no need.

?
Copy linkTweet thisAlerts:
@PeOfEoDec 20.2004 — You can run a server off of dsl or cable (though if it is home dsl or cable then it is generally against the providers tos so be careful), but if you get any kind of traffic it will not work otu. I also reccomend a dedicated box because the second you try to game your server is going to lag right up. I personally would use a hosting plan if you do not mind paying annually or monthly, because that will give you a little better perfrorpance and security. The downside of this is you loose some freedom.
Copy linkTweet thisAlerts:
@PoegleDec 20.2004 — well I have c4uk.net from www.fasthosts.co.uk its my domain, just runs on their server.
Copy linkTweet thisAlerts:
@PeOfEoDec 21.2004 — Man I was looking at the windows plans on those servers. Pretty competative. But I found something for the same price in usd a bit closer to home.
Copy linkTweet thisAlerts:
@Stephen_PhilbinDec 21.2004 — I say definitely slap up an FTP server seeing as the file transfer always goes belly up for us on kopete. I love having Apache, PHP5, MySQL and OpenSSL installed too because of the obvious development benefits. I can walk ya through setting up everything and probably have all servers and software up and running in under 30 mins. Just gimmy a shout if ya want a hand sorting it all.
Copy linkTweet thisAlerts:
@PeOfEoDec 21.2004 — FTP is bad for me because our internet at both school and work blocks the ftp headers. So a while back I actually modded a basic file manager heavily and used it for moving files. Just your standard html headers.
Copy linkTweet thisAlerts:
@philawebauthorJan 18.2005 — [B]Mr_Herer et al[/B],

Many thanks for the replies. ?

I know this is a late answer to the thread, but I'm having the week off from work and am going to turn my PC room upside down to make space for an additional 3 computers.

The one I'm using now will remain a MS Win XP personal computer. Additionally, I'm bying two PC's, installing FreeBSD (konquerer browser) on one of them and use it as a server, then later install a Linux distro on the other new PC. The fourth computer is going to be the new Mini Mac (safari browser), which will mostly be used for music storage and web dev for Mac.

So, everything is set for a crash course on web serving. ?
Copy linkTweet thisAlerts:
@Stephen_PhilbinJan 20.2005 — Glad to help if I can.

Don't hesitate to ask. ?
Copy linkTweet thisAlerts:
@philawebauthorFeb 20.2005 — Well, it's quite a challenge to install the FreeBSD OS software.

I wanted to install it on the same PC as the Win XP, but unfortunately the harddisk had to be partitioned to do so, so first attempt failed (and in the process the entire harddisk was swept clean :o )

Fortunately I have backed up all essential stuff.

When I re-installed Win XP I was so fortunate the program by itself asked as to how to partition the disk. Swell.

I now have three partitions, just in case, and want to install FreeBSD in one of the partitions.

Unfortunately there is some problem that I don't understand, perhaps the FreeBSD installation cannot overwrite itself, since I made some mistakes and wanted to begin again.

Anyway, I chickened out to have a breather and perhaps become a bit more educated.

My main concern is how to switch back from FreeBSD to Win XP, when the installation finally succeeds... well, even more so if it doesn't succeed, which it hasn't three times now.

It's learning process, I know, but this stuff is a little bit frustrating. ?
Copy linkTweet thisAlerts:
@Stephen_PhilbinFeb 21.2005 — Well I've never tried installing BSD before so I've no idea how it behaves when you try to install it. I have a suspicion about what could be causing the problem though. When you said it offered to partition your HDD when you installed the OS, which OS were you talking about? If it was Windows then it may well have put the windows file system on all the partitions. If that is the case then no wonder it won't work.

I have to admit that I bought an extra HDD to avoid these very issues of partitioning. I'd never partitioned a drive for any OS before so I just grabbed one from the shop and bunged it in the machine. Then I just slapped SuSE on it. Now my OS's are kept completely seperate and I can nuke either HDD if needed wilst leaving the other untouched (although I'm blanking my Windows HDD soon so I can use the storage for Linux).

Anyway, like I said, I've never used FreeBSD before because I heard it wasn't as easy to start out with as SuSE and Mandrake etc, so you'd be best just waiting for some help from the more experienced members of the forum.

Until then, there's always places like this http://linuxiso.org/distro.php?distro=15 that have links to helpful places like these http://linuxiso.org/forums/viewforum.php?forum=14&0 .
Copy linkTweet thisAlerts:
@PeOfEoFeb 21.2005 — I just got a server but I already want a 3rd box in here for linux ?.

I have my main box, my server, then my mom and dad's pc, and my brother's pc, all in our house. I have one more spot left on the router.
Copy linkTweet thisAlerts:
@Stephen_PhilbinFeb 21.2005 — Got anything in mind?
×

Success!

Help @philaweb spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 6.17,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @nearjob,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,
)...