Starting your own server can be exciting and frightening at the same time. While it provides you with new independence that you would not have using a shared hosting account, it also places a tremendous amount of responsibility on you that you did not have before. Whenever you have security, stability, or performance issues, you alone will be responsible for fixing them.
Here is a quick checklist for server startup.
1. Operating system – If you are leasing an unmanaged server, you should already have an OS, and it is probably a free one, such as CentOS (Linux) or FreeBSD, unless you paid to license Windows or another commercial one. Make sure you know how to update the OS, configure it, and perform security checks.
2. Web Server – Most server operating systems will have a web server already, but you still have a choice from a handful of good ones, such as Apache, Nginx, and Lighttpd. Decide which one is best for your needs.
3. Database Server – This again will depend on your needs. Linux operating systems will give you the option to install MySQL or PostgreSQL. You may also opt for no database server at all and instead use something like SQLite.
4. Additional software – Do you need ImageMagick, Tomcat, or Python? If you are going to run web applications or have clients who might, you should find out what scripting languages and third-party software you will need installed.
5. Control panel – Most web hosting companies will offer leased unmanaged servers the option to add control panel software, such as cPanel, at an additional price. If you choose not to do this, you will need to purchase a license for one or install a free one, such as Virtualmin
6. Backup solution – You can usually purchase access to a backup server from your host or use your own, which of course will require you to go back through this checklist for that server too.
There are more issues to consider, especially related to business, but these six are the main technical concerns you will most likely have, aside from security, which will require an entire blog post itself. It is important to take your time, plan well, and try to have fun.