NOTE: Basically, your desktop does double duty. Ergo, you'll need additional resources e.g. More memory, slightly more diskspace, Uninterruptible Power Supply. I built my system as a learning tool.
- Make a server
- I used linux (You may use any distro you want)
- Make it into a LAMP server (Linux, Apache, MySQL, Perl/PHP)
- Install SSH for remote access
- install the other stuff you might need as a desktop
- Be mindful of security! Update/Patch your server regularly and do NOT use weak passwords!
- Get a high-speed internet connection
- DSL/Cable (preferrably something that doesn't block incoming port 80 and doesn't impose download quotas etc.)
- Register a domain
- you can use noip, dyndns, namecheap etc.
- Install and configure the dynamic DNS client
- (Optional) Install and enable your mail server. NOTE: Some providers block port 25. There are workaround solutions available if you really need to have your own mailserver.
- (Optional) Install wordpress, joomla, gallery2 or other software you think you might need
- (Optional) Create Subdomains e.g. blog.example.com, gallery.example.com
Obviously, this is a very short list. A quick search on the web will give you ideas on how to accomplish the tasks. Comments & questions are welcome...