Running your own webserver

I have been running my own and friends websites ever since I had a Sys Admin job with Tiscali back in 1999.  I have gone through many iterations of servers and providers and I hope you can save time and money by what I have learned and noted in this blog.

I’ll be documenting exactly how to do everything … so keep checking back if you are unsure how to do something.

  1. Choosing your host and server type
    1. Setting up a host at home
      1. OS options
      2. Configuring your router to allow incoming traffic
      3. Working with a dynamic IP address
      4. Alias your domain to the dynamic name
    2. Setting up a VPS
      1. Choose a provider
      2. Choose CPU, Memory, Disk space and OS
  2. Your own domain name
  3. Running your own E-mail servers
  4. Running your own name servers (DNS)
  5. Login & initial user setup (ssh keys)
  6. Security set up
    1. If you want to give other sftp people access, but not ssh
    2. denyhosts (and preventing your own host from getting blocked)
    3. a few simple permission changes to break a lot of rootkits
    4. Keep your system up to date
  7. Installing LAMP (Apache, MySQL and PHP)
    1. Install Apache
    2. Install MySQL (or Maria) DB
    3. Install php
    4. Configure
    5. Make them auto-start after a reboot
  8. User Maintenance
  9. Website Maintenance
  10. Package Management
    1. Search for a package, install, deinstall
    2. Update
  11. File System Backups
    1. rsync over ssh
  12. Database Backups
    1. Periodic mysqldump
    2. MySQL master/slave
    3. Email users with their backups