Skip to content

Instantly share code, notes, and snippets.

@asachs01
Created August 13, 2019 02:18
Show Gist options
  • Save asachs01/944021a94b8ef85ec8d27dbcf8c3ba45 to your computer and use it in GitHub Desktop.
Save asachs01/944021a94b8ef85ec8d27dbcf8c3ba45 to your computer and use it in GitHub Desktop.

The Project

The goal of The Project is to provide a base-level project for folks with technical aptitude who want to start diving into systems administration.

The Instructions.

The instructions here are purposefully vague and only provided from a high-level overview. The goal is to work through the project and learn about commonly used technologies

  1. Get a VM from a cloud provider. DigitalOcean, Amazon Lightsail, Hostgator, Godaddy, wherever. The goal here is that you must have SSH access to the box.

  2. Purchase a domain name. You can use whatever provide you like: domains.google, namecheap.com, cloudflare.com. Again, it doesn't matter where you get the domain name.

  3. Spin up a website. Wordpress has the working parts that we'll need to employ, namely a webserver and a database. So use that.

  4. You're going to need DNS. he.net and others provide it free, but you're going to do it yourself from this box.

  5. Don't forget your backups. While you're at it, better do off-site backups too.

  6. You know what would be cool? If your website had subdomains. A dev site for your production site would be a good thing.

  7. Many organizations use Linux packages for their mail servers. Can you? Multiple accounts, too.

  8. Security! Make the firewall work. Bonus points if you can do SELinux.

  9. Oh, and this is the real kicker--can you do this only using the books at your disposal, the man pages, official software documentation (a la, official sites only), and the RFCs? In other words: no IRC, Slack, no forums, no blogs. Official sources only (and me).

Tips

  • This is not meant to be an easy project. If it were, you could use Google Apps + hosted Wordpress and call it a day. The goal here is to dive into each of these bits and at least get a surface level bit of learning. Don't get discouraged!
  • Write down what you do and how you do it. Shell history is fine, but reading back to yourself the process you go through can help with 'rubber-ducking' or troubleshooting.
  • If you get stuck reach out for help. Don't give up.
  • This takes a while for folks to understand, so don't get down if you're not able to do all of this immediately.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment