Advanced · 45 min · practise every command in the built-in terminal

🎓 Final Exam: Launch Day

This is the last step of the course. A new website goes live today, and you're the admin. Your manager left you a checklist in ~/launch-checklist.txt:

  1. Install the web server (nginx) and make sure it runs
  2. An account for Ana, the new web developer, with a home folder
  3. A group webteam, with Ana in it
  4. Unpack the release ~/release/northwind-site-v1.tar.gz into /var/www/company
  5. Put the site online at http://company.local; the nginx configuration is in the release, in deploy/
  6. Nothing secret may be reachable over the web, and the release has deploy/.env with the database password
  7. Back up /var/www/company every night at 02:00 into /backups, as a .tar.gz
  8. Someone keeps trying to log in over SSH: write the IP address with the most failed logins into ~/report.txt

There's no toolkit this time: you've used every command you need in the lessons. A task turns green when the work is really done, and you can do them in any order.

Exam rules

  • Try without the hints first. They're there if you get stuck, or turn them off with Hints off.
  • explain COMMAND and man COMMAND are always allowed.
  • Check your work the way an admin would: curl, ls -l, id, crontab -l.

Finish every task to earn the Graduate badge and your certificate.

💡 In a crontab, % has a special meaning: write \% (as in date +\%F), or leave the date out of the file name.

Practice tasks

  1. Install nginx and make sure it runs
  2. Create an account for Ana, with a home folder
  3. Create the group webteam and put Ana in it
  4. Unpack the release into /var/www/company
  5. Put the site online at http://company.local
  6. Keep the secrets in deploy/ off the web
  7. Back up /var/www/company every night at 02:00 into /backups
  8. Write the IP address with the most failed SSH logins into ~/report.txt

Final Exam

  • Final Exam: Launch Day