3 answers
Asked
558 views
What steps does someone take to bring a website from an idea into a fully fledged site accessible on the internet?
So I am about to graduate and I am familiar with how this works on cloud platforms. However, I am curious to know what you would need if hosting yourself and how you would source these things. E.g. domain name, server, etc.
Basically, what would you consider your basic website checklist
If anyone has any recommended resources would love to see them!
Login to comment
3 answers
Updated
Charlene’s Answer
Hello!
Great question!
I use GoDaddy as my web host. You can do everything yourself and not pay super high fees.
The domain names are inexpensive- I just paid 99 cents for a domain name.
So, if you cannot afford to create your full fledged website, you can at least buy a great domain name for future use.
I also like that I can manually change anything by myself.
I upload my blogs, change pictures, etc...and it looks professional.
Their team is always available for troubleshooting or any questions you may have.
Great question!
I use GoDaddy as my web host. You can do everything yourself and not pay super high fees.
The domain names are inexpensive- I just paid 99 cents for a domain name.
So, if you cannot afford to create your full fledged website, you can at least buy a great domain name for future use.
I also like that I can manually change anything by myself.
I upload my blogs, change pictures, etc...and it looks professional.
Their team is always available for troubleshooting or any questions you may have.
Charlene, thank you!
Alexa
Updated
Mario’s Answer
First, the decision to install a localized webserver not using cloud services would depend on a variety of factors. Including, audience size, capacity planning, budget, and purpose. Sorry if this is lengthy, there is a lot to share. Good luck and hope it helps someone.
---For personal, learning or intranet use where your audience size is less than 25 concurrent users. Use any old pc with a Linux distro, The Ubuntu Server LAMP(Apache 2) or LEMP(Nginx) versions (not the graphical desktop version.) Windows (Server) + IIS may require more updated hardware licensing. As @Tim Keyes points out, best to use an SSL certificate, Let's Encrypt would do fine here. Set a static IP address for the server. For home or an intranet if you don't use DHCP with a DNS server, it means editing the hosts files on clients to point to the server. Even an old PC can run a few websites. One thing to remember is that a local server at home is not ideal to share on the internet, one for security and the other is that your ISP typically does not provide enough upload bandwidth for sustained use.
---In the small to mid-size business space, it still would not make sense to run an on-site server as cloud services are more budget friendly. But if you must run a local server, then the enterprise requirements listed would still apply, though you may elect to use start hardware. Last I looked a couple of months ago this was around $7-10k US for a starter server. In addition for high availability, you would do best to replace hardware at three years though you could dangerously squeak 5 if the equipment is in an controlled environment. Cooled temperature controlled room.
---At the enterprise level, or where a specialized app requires local installation, then it makes sense to run an on-site server. In this case, if you are running specialized software, ask the vendor to share capacity planning metrics, otherwise you may have to do your own. Sourcing hardware means talking and evaluating server vendors, IBM, HP, Dell for service, support and offerings. At this level your OS choices for a large audience are Windows Server or Red Hat Linux, both require paid licensing. Selecting on-site hardware vs. the cloud will be a financial decision as the cost of a base server could run $11-15k in US dollars.
---Your typical server contains a server class processor, Intel Xeon for example, redundant network cards, more if you wish to separate your internal network from the internet. Redundant SSD boot drives are best as RAID would only slow down access. Running a small database would be ok for home or small business use, but use separate data drives. For larger systems best to use external sever and store data elsewhere. Memory on server class systems is ECC type meaning it has error checking built in. Using 16 to 32 gigabytes should be enough depending on requirements and your capacity planning. Most servers are headless units, you connect remotely and are stored in an controlled data processing room. This makes the equipment last much longer. To a server, heat is the enemy. rack mount is best, and that means you will need a cabinet or shelves. Disk storage is via external dedicated units, most servers have RAID software and drivers that support various types of RAID and online drive swaps. For example, if running 3 drives plus parity, your data is striped across the drives and a bit stored on the parity drive. When one of the hard drive fails, while the server and drive enclosure is running, you can remove the failed drive and insert a new replacement. The server will momentarily slow down but will continue to provide file services until the new drive is rebuilt with data with no downtime. Oh yeah, make sure that folks that handle server equipment are grounded. Can't tell you the times someone walked through a carpeted hallway, entered a server closet, leaned on the server and zapped a usb connector. Of course this means system board removal and replacement.
In any type of network setting, home, small, midsize and at the enterprise level, you will need a firewall system. It is best to setup a DMZ zone if your web content is for public consumption. Security considerations are vast, ranging from admin/root logins, to users that post content, those that perform maintenance, and backup. Running your own webserver also means managing the typical hacking, filtering, managing and monitoring log output. If running an email server then anti-virus, and spam are threats that need to be mitigated. At the business level how you manage this may be set via your business legal division. If running a database solution, this adds to the licensing and may sometimes require additional hardware. Dedicated backup, dns, dchp, firewall, webserver, email, directory, log monitoring, cache, and load balancing server/devices may be required at the enterprise level. Lastly you need to think about bandwidth, how much will you need for concurrent usage and both incoming and outgoing metrics as you will need to pay for this. You may also need redundant routers, and disk storage.
---As far as domains, GoDaddy is ok for home or as a starter for the first year, as they typically raise their $1.99 fee to $12+ and may charge more for privacy registration. Instead I would go with Google domains, it costs $12 US per year and includes privacy registration, you can manage DNS through them or your own provider, and includes free email forwarders. The domain name game is something else you need to deal with. Make the name short so it can be easily remembered, as many names are already taken, you may need to consider buying a pre-registered name if not too expensive.
---For personal, learning or intranet use where your audience size is less than 25 concurrent users. Use any old pc with a Linux distro, The Ubuntu Server LAMP(Apache 2) or LEMP(Nginx) versions (not the graphical desktop version.) Windows (Server) + IIS may require more updated hardware licensing. As @Tim Keyes points out, best to use an SSL certificate, Let's Encrypt would do fine here. Set a static IP address for the server. For home or an intranet if you don't use DHCP with a DNS server, it means editing the hosts files on clients to point to the server. Even an old PC can run a few websites. One thing to remember is that a local server at home is not ideal to share on the internet, one for security and the other is that your ISP typically does not provide enough upload bandwidth for sustained use.
---In the small to mid-size business space, it still would not make sense to run an on-site server as cloud services are more budget friendly. But if you must run a local server, then the enterprise requirements listed would still apply, though you may elect to use start hardware. Last I looked a couple of months ago this was around $7-10k US for a starter server. In addition for high availability, you would do best to replace hardware at three years though you could dangerously squeak 5 if the equipment is in an controlled environment. Cooled temperature controlled room.
---At the enterprise level, or where a specialized app requires local installation, then it makes sense to run an on-site server. In this case, if you are running specialized software, ask the vendor to share capacity planning metrics, otherwise you may have to do your own. Sourcing hardware means talking and evaluating server vendors, IBM, HP, Dell for service, support and offerings. At this level your OS choices for a large audience are Windows Server or Red Hat Linux, both require paid licensing. Selecting on-site hardware vs. the cloud will be a financial decision as the cost of a base server could run $11-15k in US dollars.
---Your typical server contains a server class processor, Intel Xeon for example, redundant network cards, more if you wish to separate your internal network from the internet. Redundant SSD boot drives are best as RAID would only slow down access. Running a small database would be ok for home or small business use, but use separate data drives. For larger systems best to use external sever and store data elsewhere. Memory on server class systems is ECC type meaning it has error checking built in. Using 16 to 32 gigabytes should be enough depending on requirements and your capacity planning. Most servers are headless units, you connect remotely and are stored in an controlled data processing room. This makes the equipment last much longer. To a server, heat is the enemy. rack mount is best, and that means you will need a cabinet or shelves. Disk storage is via external dedicated units, most servers have RAID software and drivers that support various types of RAID and online drive swaps. For example, if running 3 drives plus parity, your data is striped across the drives and a bit stored on the parity drive. When one of the hard drive fails, while the server and drive enclosure is running, you can remove the failed drive and insert a new replacement. The server will momentarily slow down but will continue to provide file services until the new drive is rebuilt with data with no downtime. Oh yeah, make sure that folks that handle server equipment are grounded. Can't tell you the times someone walked through a carpeted hallway, entered a server closet, leaned on the server and zapped a usb connector. Of course this means system board removal and replacement.
In any type of network setting, home, small, midsize and at the enterprise level, you will need a firewall system. It is best to setup a DMZ zone if your web content is for public consumption. Security considerations are vast, ranging from admin/root logins, to users that post content, those that perform maintenance, and backup. Running your own webserver also means managing the typical hacking, filtering, managing and monitoring log output. If running an email server then anti-virus, and spam are threats that need to be mitigated. At the business level how you manage this may be set via your business legal division. If running a database solution, this adds to the licensing and may sometimes require additional hardware. Dedicated backup, dns, dchp, firewall, webserver, email, directory, log monitoring, cache, and load balancing server/devices may be required at the enterprise level. Lastly you need to think about bandwidth, how much will you need for concurrent usage and both incoming and outgoing metrics as you will need to pay for this. You may also need redundant routers, and disk storage.
---As far as domains, GoDaddy is ok for home or as a starter for the first year, as they typically raise their $1.99 fee to $12+ and may charge more for privacy registration. Instead I would go with Google domains, it costs $12 US per year and includes privacy registration, you can manage DNS through them or your own provider, and includes free email forwarders. The domain name game is something else you need to deal with. Make the name short so it can be easily remembered, as many names are already taken, you may need to consider buying a pre-registered name if not too expensive.
Wow, this is very thorough. But more information is always better so this is good!
Alexa
Updated
Tim’s Answer
Hi Alexa,
Thank you for the great question!
These are some things you should consider when hosting your own site:
-Computer with webserver to host the site. You can use a windows machine with IIS or a Linux machine with Apache.
-Static IP address or Router that can do a dynamic DNS and port forwarding
-Site Encryption. If you are hosting secure material you may want a paid certificate for site encryption. If you are hosting public content you could use lets encrypt. Godaddy or your host might be able to provide this.
-Wordpress or another tool for site content.
-Monitoring and alerting.
Thank you for the great question!
These are some things you should consider when hosting your own site:
-Computer with webserver to host the site. You can use a windows machine with IIS or a Linux machine with Apache.
-Static IP address or Router that can do a dynamic DNS and port forwarding
-Site Encryption. If you are hosting secure material you may want a paid certificate for site encryption. If you are hosting public content you could use lets encrypt. Godaddy or your host might be able to provide this.
-Wordpress or another tool for site content.
-Monitoring and alerting.
Hi Tim,
thanks for your advice! I didn't consider monitoring for my site so that is a good tip
Alexa