How to build a Web Server

Frank Bryant
Frank Bryant used Ask the Experts™
on
I have a high school nephew who wants to build a web server and play with HTML, so he says; being the only "computer guy" in the family, I got "voluntold" that it would be a nice Christmas gift to share my talents. Teenagers being the mischievous bunch they are, I have my concerns and I am not a web developer, Intranet or Internet; my talents are in databases and query coding. None the less I have begun research and need to be pointed in the right direction. I was thinking Intranet not Internet; let them play with it on their own network, so when "Ralph" breaks the internet it will only be theirs.

So how does my Christmas outlook look?
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Chinmay PatelChief Technology Ninja
Distinguished Expert 2018

Commented:
I am bit confused. Are you talking about installing the web server? Or writing your own web server?
Most Valuable Expert 2012
Distinguished Expert 2018
Commented:
If the machine is Windows, then it should be a Merry Christmas.

Enable the Internet Information Services (IIS) feature.

Quick steps here (older steps but should still be relevant):
https://www.howtogeek.com/112455/how-to-install-iis-8-on-windows-8/

Then you are good to go.  Create a website and he can play until he finds something shinier.

Quick steps on setting up a website here (older versions but I remember the steps being the same):
https://www.atlantic.net/hipaa-compliant-hosting/how-to-build-static-website-iis/

If he creates a bob website with a default.html file in that folder, then in his browser:  http://localhost/bob

If you want the full IDE, Visual Studio Community edition:
https://visualstudio.microsoft.com/vs/community/
Scott FellDeveloper & EE Moderator
Fellow 2018
Most Valuable Expert 2013

Commented:
Localhost can get a little confusing because it is easy to not get the concept that localhost is not the file system. Once you wrap your head around that it can make developing/testing quick. I prefer using iis myself. But you can also use WAMP http://www.wampserver.com/en/

However, you can get inexpensive hosting from the likes of goaddy https://in.godaddy.com/hosting/windows-hosting or https://www.digitalocean.com/ if he wants linux and start from scratch.  Starting from scratch without getting an understanding of not only web dev, but web hosting/servers is like getting a set of drums for christmas without the lessons. It can be frustrating and you loose interest. If his goal is to learn web dev, then get something that is mostly ready to go like that from godaddy where he will have a hosting panel to work with. If he is technically inclined and is patient to learn, then the vps route from digital ocean is inexpensive and good place to start.

The advantage of using a public facing host is sharing what he does with others.
Success in ‘20 With a Profitable Pricing Strategy

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

Most Valuable Expert 2012
Distinguished Expert 2018

Commented:
OH, and for Christmas, give him a subscription to Experts-Exchange.  Then you don't have to ask the questions for him!  ;)
For HTML and CSS you don't really need a web server You can save your work and view the results from the PC

There ARE security implications to running a server (web or otherwise) pointed to the world.

If he's a the "Playing" stage, I'd suggest keeping it simple.
OH, and for Christmas, give him a subscription to Experts-Exchange

LOL... Nice plug

Author

Commented:
Chinmay, If I understand your question; "Installing". Like the IIS suggestion by slightwv.

Scottfell, This is a no money operation; I will let my brother deal with that when my nephew gets to that bridge. I have picked up a Wordpress book and downloaded the suggested files for running a "local host" and will follow the installation instructions to perform a standalone configuration; so I can educate myself on the basics first.

slightwv, Thanks for the IIS links and I concur with Kenfcamp, (LOL) as I prefer NOT to be "Tech Support".

Kenfcamp, NO world access of any kind; I could not stress that enough.

Stay tuned as the menagerie unfolds ...
Most Valuable Expert 2012
Distinguished Expert 2018

Commented:
>>I have picked up a Wordpress book

Using WordPress templates isn't really learning web development.  Don't get me wrong, I'm sure folks make a decent living with Wordpress skills.  I just don't think it involves much "web programming" but I've been wrong many times in life!

There was a kid back in my college days that would take some code in XYZ, change a few lines and get it to compile and claim he could now program in XYZ.  I wonder where he is these days..............

>>LOL... Nice plug

It gets Frank out of the web development business.

If you haven't already seen this, it has been illegally copied all over the Internet but originated here (there have been a few cease and desist orders to some sites):
https://blog.experts-exchange.com/ee-blog/5-reasons-you-should-never-fix-a-computer-for-free/
Scott FellDeveloper & EE Moderator
Fellow 2018
Most Valuable Expert 2013

Commented:
What I suggest in that case is to use WAMP.  It will control the webserver and MySQL at the same time. That way he does not have to get into the quirks of learning iis and installing the database server.

Web development for the most part has gone to low-code options like wordpress and for that matter, squarespace.com/wix.com/weebly.com that allow a site owner to concentrate on just the content. Wordpress does take more aptitude and is a good platform to learn as you can see how everything is done.  Creating plug ins is a good way to start.  

Web development for one person requires learning HTML, CSS, Javascript and a server side language like PHP in the case of Wordpress as well as databases and query languages.  There is a lot to learn you don't  have to be a master to get going though and for a play site, you don't have to worry too much about security at this point. Just keep it in the back of your mind. Live Wordpress sites do tend to get hit hard with bots looking for common security holes. Security is important but for just learning how to code, save it towards the end.

Codecademy https://www.codecademy.com/learn/learn-html  is a good place to get his hands on experience with some guidance.  And for references https://developer.mozilla.org/en-US/ or https://www.w3schools.com/

Before firing up Wordpress, I suggest going through the basic html/css courses. Then move to javascript and jquery.  The only way this stuff sinks in is to have a real project.   Start with a small 5 page site using static html.  Then take that to wordpress.  Going through the basic codecademy for html, css and js should take several days to a week and another week to get your first 5 pages going including stopping to ask questions here. Doing this first will save some frustration when you move to wordpress.

Good luck!
Most Valuable Expert 2012
Distinguished Expert 2018

Commented:
I would stay away from database driven content.  That is class 102 or 103.  Stick to web 101:  HTML and CSS.  Javascript/JQuery/AJAX/etc... are more advanced.  VERY COOL but above the basics.

If he wants to get into the design side, CSS is paramount.  You can to quite a bit with HTML and tables BUT tables for design is a bad practice even though there is a LOT of it.  Best to learn the correct way from the start.

A great resource is:
http://www.csszengarden.com/

It is always the same content.  The only thing that changes is the CSS that decides the presentation.

>>What I suggest in that case is to use WAMP.

Can we agree to disagree for just starting out with the basics?

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial