Advanced Projects - Infrastructure Services

Note: The software and documentation is available on the web and its free. This reduces the cost of the class considerably.

The Purpose of the Class

The purpose of the class is to be expose the students to infrastructure services and create programs to use them.

Thoughts on the class, class structure, ...

Server/Service

Create a service and programs to use it. Programs should be small, simple and demonstrate the service. Program requirements will be provide by the instructor.

It has come to the triarii. (old Roman saying)

1. Create a web server (www.apache.org, www.nginx.com, or ...)
2. Create a LDAP directory (www.openldap.org)
3. Create a PKI certificate authority and use the certificates (www.openssh.org)
4. PGP (Pretty Good Privacy)
5. Create a database (MySQL, MariaDB, SQLite, or ...)
6. Message Queue Server (My collection of RabbitMQ "stuff")
7. Docker Containers
8. Kerberos, FreeRADIUS
9. DNS (see links section below for interesting links)
10. DHCP, BIND 9
11. VPN
12. Mail server Postfix (Wikipedia - Comparison of mail servers)
13. Wiki (DokuWiki)
14. Create a USB Toolkit
15. Simulate an IOT (Internet Of Things), MQTT broker, Dashboard, etc. (My IoT "stuff")
16. Overlay Filesystem - The Linux Kernel documentation
17. Pi-Hole (Pi-Hole Home)
18. and more

You don't need to be an expert. You just need to know enough to "get er done". Expertise comes with study and practice.

Student Computers

Each student will need a computer to do the projects. They will each have their own servers/services to learn and experiment with.

If they have a face-to-face class, they will need a laptop to use in the class. If it is a video class, they can use the computer they have at home. Many people have, or have a friend, or know someone, that has an old computers collecting dust in the garage.

OS

The preferred OS is Linux. Windows 10 and Mac OS X can also be used but are not preferred. Many (most?) "real" services use Linux.
(Various Linux distros are available free on the web.)

Note: Linux can be installed in a VM (Or run a service in a Docker Container).

A Home Computer

One suggestion for an inexpensive home computer would be to purchase a Raspberry Pi 4 Model B, 4GB or 8GB computer kit (less than $150). 8GB is better, but more expensive. It is sold by:

Depending on which Pi kit is purchased, the student will need:

If you are interested in a Raspberry Pi, some research is required to find out what it is, what it can do, and what it can not do. YouTube has some good videos. For example: Raspberry Pi 4 Model B .

Raspberry Pi kits and cost .

RFCs, OIDs, ...

Internet standards
OIDs

Links

Best free and public DNS servers in 2020
You're running Pi-Hole wrong! Setting up your own Recursive DNS Server! (YouTube)
This USB Toolkit is All You Will Ever Need (YouTube)

Miscellaneous

Set up a computer (Raspberry Pi?) connected to a WIFI router. This could supply a LAN (Local Area Network) just for the classroom. Can act as a DNS for the class? Can be a web server for class material?