Easiest, Quickest, Easiest way to create a web server? Noobie asks

Okay, I’m an old time computer guy, but strictly end-user. I can built a box, code HTML, work in multi-platforms…but that’s it.

Our web hosting guy has been giving us attitude, so I say, " Screw him, we should just bring it in-house; I mean how hard could it be…?" Of course the owner was walking by, got that glazed look in his eye and I’m now head of the IT dept.

Heh…no mean feat, as there is no IT dept.

So how does a person with little ‘behind the scenes’ knowledge, built a web-server?

The machine’s going to be a standard on sale Dell (he LOVES 'em), the question is what to run on it? Windows web server, Apache, etc. Did I mention it needs to be simple? and easy, easy’s nice.

Suggestions that go beyond RTFM are welcomed.

Okay, first, for your pick of web servers/OS’ for the web box, you’re going to want to consider what kind of content you need on the website and what operating system you’re familiar with. If you’re at home with some unix variant, apache probably won’t be that hard to learn the basics of. For windows, IIS.

If you have any kind of dynamic content already authored, that weighs in probably as more important. Active server pages are at home on IIS. PHP and Perl probably work best on apache. Coldfusion - probably IIS, also you have to buy a license from macromedia. Java servlets or Java server pages… need the tomcat application server, probably works best with apache. CGI flavors can vary.

If none of the rest of it decides you one way or another, and you can afford the windows operating system, I’d say to go with IIS for dirt-simple. Of course, I’m a windows kind of guy myself, but I think that stands generally.

Hope this helps.

Forgot to go beyond actually picking the server.

Once you’ve made your decision, you need to install the webserver software and make sure that it’s running (manuals and googling will help here,) make sure that the box is online and can receive incoming traffic on port 80 - when you’re ready to have the website viewed by the rest of the world, that is.

The webserver docs will tell you how to set up your main webroot directory - you put content files in that directory on the server hard drive to publish them to the website. If you’re running seperate sites, you set up seperate directories for them.

Since you already have a website that’s currently hosted elsewhere, you’ll need to contact the domain registrar at some point and inform them that you’ll need to get the domain name pointed to a fixed IP at which the web server can be found… at least, that seems like the easiest way to manage it to me. Forgive the vagueness, I’m a developer not a sysadmin. :wink:

I can give you some more detailed instructions for IIS if you go that route - let us all know. :]

I found the best way to get a webserver up and running on a windows PC without the disaster that is IIS, is EasyPHP. Although this is a one in all solution it helped me understand how webservers worked. I use it for local testing of my PHP/MySQL scripts. However I haven’t tried to hook this up to the internet for live testing. I would probably never actually put a windows PC and a webserver online, without serious knowledge of the way windows works. This is why Linux/Unix/BSD’s of the world exist. Although you, a self proclaimed noobie, probably wouldn’t want to go that far.

www.easyphp.org/

You can add many of the features that apache (the webserver) uses on windows and has PHP (scripting/programming language) and MySQL (the database) as well. If nothing else it should help you better understand the structure of webservers and how they work.

Department Head holmes

Questions of this sort need to be directed to the director of the company’s newly formed IT department.:smiley:

My only input is to ask if your company’s existing connection is sufficient to handle the needs of the website. If not, then it may be easier(and much cheaper) to find a new host.

You should really re-evaluate this, unless your website is simple and non-critical.

If it’s important, there are other things that can break, especially your corporate internet connection. Also, there’s always something that can go wrong, like for example your machine dying. Want to be the guy who gets calls at 3am? And it’ll happen more often than you think.

If it’s complex (active content, more than just HTML), there’ll be more moving parts, meaning more stuff to break and more stuff to tweak when new features are added. See the 3am thing above.

If you do do this, I like linux and apache. But if Windows is more comfortable, use IIS. In either case, there will be learning to do. Fun learning, but learning none the less.

might be relevant to ask if the OP can re-evaluate it at this point.

I got the impression, maybe a little too strongly, that the owner is now dead-set on the idea and will not hear any objections, and he’s trying to make the best of things.

If that’s not the case – then yeah, looking for a new web host might be the answer.

You can use apache with windows. You will find a lot of online help for apache.

Full steam ahead. No turning back. No one will hold him hostage again.

So what about Microsoft Windows Server 2003 Web Edition? Good, Bad? Waste of electrons? Owner is not a big Linux/unix guy, but is willing to have an open mind.

Like I said, we’re not looking to be Amazon, just self-sufficent and up and running in as little time as possible. A good portion of the work is done, we have our site, the shopping cart program, running a DSL line, etc.

We just need the web-server to be as plug and play as possible.

I have to echo Bill H.. Getting a server running is the least of your worries. Are you qualified to harden the server against exploits? Will you have the time and inclination to monitor bugtraq and other security mailing lists daily to keep up to date on patches? Do you have a plan for backups and redundancy? If the answer isn’t “yes” to these and hundreds of other sysadmin qualification questions, your company website will be “0wn3d” by some script kiddie within minutes of going online.

I’m not a sysadmin, so I’m not being arrogant when I say this. People spend a lot of time training to do that job and keeping current in the field. It is relatively simple to set up a server and get it running, and every available server (apache, IIS, etc.) provides great instructions for doing that. I’ve set up dozens of servers of various types for use in development systems, but I would never dare expose one of these systems to the Internet until it had been thoroughly checked by one of our real sysadmins who can insure me it’s ready for the real world.

OK, this is going to be an echo of micco and Bill H but I’ve got it all typed out so now I’m going to post it anyway…

Installing a webserver is very, very easy. So easy, in fact, that it’s quite possible to have IIS installed on a Windows server without even being aware of it. If you have any Windows 2000 or 2003 servers running, as a fileserver or domain controller for example, try pointing your webserver at it – you may be surprised.

Actually running and maintaining a webserver, however, is quite difficult, at least if you want to do it well. Security is a major issue: if you connect a box to the Net and you don’t know what you’re doing as far as security is concerned, you will get cracked within 24 hours, and the box will be abused for hosting illegal wares, sending out spam and viruses, etc. You don’t want that.

Then there’s making backups, going through the logfiles looking for problems, and of course having to figure out what’s wrong when the site suddenly becomes unavailable – usually around 3am, as Bill H mentioned. Pretty soon, you may have a new-found respect for your current web hosting guy.

As for the choice between Windows and Linux and between Apache and IIS: pick whatever you’re most comfortable with. Without going into the issue of which platform is potentially the safest, a poorly maintained Linux server will always be worse than a reasonably maintained Windows server, and vice versa. If you don’t currently have any Linux experience, you do not want your learner project to be a publically visible server hosting your company’s website. Not that administering a Windows machine does not involve a lot more than what you are familiar with from your home machine, but at least it will be somewhat familiar.

holmes wrote

Ok, so there’s at least some moving parts (shopping cart).

And you’re behind a DSL line, not exactly 99.999 uptime.

And there’s cash attached this beast (shopping cart). So it’s important that it’s up.

rethink. rethink. rethink.

Really. I know this is new and shiny and exciting right now. And you will learn alot of cool stuff. But your chosen road is fraught with ugliness. Trust one who’s been there.

Clearly I’m not qualified to do this.

However I have to do this.

So, my second option is hire a real sysadmin as a consultant and they get the 3am calls. The server still comes in house, but the behind the scenes work is done by a professional.

Is that feasible?

Eh, that should be "try pointing your webbrowser at it, of course.

Oh, come on. Surely you can go back to him and say, “look, I talked to some people and it seems that there’s a little more to running your own server than we initially thought”? Unless of course you fancy a new career as a sysadmin, in which case go right ahead, just know what you’re getting into.

Pretty good. Windows Server 2003 is the first Windows version for which Microsoft has gotten serious about the concept (common in the Unix world) of having the machine be completely locked down by default, and having the admin enable all security-sensitive features manually. This can lead to some frustrating problem-solving experiences, but at least you won’t throw your server open to the world by accident. Even so, however, the most basic and probably the most important part of security on either Windows or Linux is staying current with security patches.

A DSL line? Is that reliable enough for a company website?

What language is the shopping cart program written in? Does it involve a database?

Then you’ll want to stick with Windows and IIS, much as it pains me to say this as a Linux enthusiast. Installing IIS is all point-n-click, whereas Apache is editing text files by hand. On the other hand, if the shopping cart program is written in PHP or Perl, (a reasonably safe assumption) Apache would be the more obvious choice. Although it is rumoured to be possible to run PHP/Perl under IIS as well, it’s not the most common route to take.

Guys, this isn’t me. I’m not hopped on goofballs on anything. I’ve gotten lemons, I need to make lemonade. It may be bitter and warm, but I got to make it.

That’s what our current host is using…but we have no problem upgrading.

The current one is PHP and requires a bit of coding (Heh), but we’re thinking of switching to webassist

Yes, it’s feasible. However, unless you’re either a multinational or running this website is your company’s core business, you will never get anywhere near the reliability or the cost-effectiveness that you can get by finding a trustworthy hosting provider and hiring from them a small percentage of their professionally maintained server park, their reliable internet connection (which you share with all their other clients, so you have the bandwidth to handle peak loads without having to pay for it when you don’t use it), their centralized backup system…

In other words, while there may be valid reasons for hosting your own server, doing it just because your current hosting provider is giving you lip is like building your own car from scratch because you once got a bad deal from the local Toyota dealer.

Maybe you should go back to your boss, and admit that you spoke in haste and that your proposal was, in hindsight, just a tiny little bit unrealistic?

Anyway, if you have to do this, you should at least look into colocation – that’s where you maintain the server yourself, but it’s physically located at a dedicated company which maintains the internet connection.

Might be worth checking out SME Server from here - it’s a distribution of linux packaged to install and set itself up as a web/mail/file server - there’s hardly any nasty stuff to deal with and configuration is done in a nice simple GUI by pointing your web browser at the machine.

Let’s face it. You’re in deep do-do if your boss expects you to handle this alone in the next 48 hours.

Here’s what I suggest to pitch to your boss(if you think he’ll accept it). "We need to get away from that dud ASAP, keep our site up and take every precaution that our files remain in tact. I will find a reliable host in the next week, make the necessary changes and then proceed as quickly as possible to inhouse the site. In the meantime, our site will continue to be up etc. "

ou might go to webhostingtalk.com to research for hosts or other questions.

The fact your company had chosen to host with some joker using only DSL is pretty “interesting”. In all probability, what you boss really wants is to get rid of the problems, but specifically bring the hosting into your building.

Echo everybody who said “here be dragons.” Enough said about that.

If you want to get up and running ASAP, neglecting all concerns of security, robustness, availability, and common sense in general, all you have to do is install web server software on a box that is on a TCP/IP network, and contact your network provider to open up a hole in the firewall for all port 80 traffic going to that IP address. Then you just need to get your DNS updated with that entry, and there you go. Lots and lots of people go exactly this route. They take the cheap way out, accepting all the risks either because they’re stupid or because their web server isn’t that important.

On the other hand, if you don’t want to commit career suicide by throwing your company’s business into the toilet, exposing your internal LAN to hacker attacks, and eating all your company’s bandwidth, you need to do a little more planning.

Specifically, you need to create an isolated network where only your web server will live. Its only connection to the outside world should be a heavily armed firewall. Then you need to provide yourself a way to manage the server remotely, so you don’t have to drive into the office every time the thing goes down. Also, you need to start configuring your network in a way where you can easily add bandwidth as needed.

If I were you, I would write up a cost/benefit/risk analysis and show it to your boss. Both of you will quickly see that the cost and risk are high. You will just have to decide if the benefit is there.

I understand the rage against providers, and the “never again” mentality that follows being screwed by an outsource partner. And it’s true that you can probably do a better job than they can, all things being equal. But all things aren’t equal. They can leverage economy of scale in their IT department, whereas you will have a hard time telling your boss you need a 3-man IT department because you’re tired of getting paged 24 hours a day. In-housing a web server is like having a child… it is a 24 hour commitment that you can’t just walk away from once it’s done.