Academic Catalog

C S 30E: LINUX SYSTEM ADMINISTRATION: NETWORK SERVICES

Foothill College Course Outline of Record

Foothill College Course Outline of Record
Heading Value
Units: 4.5
Hours: 4 lecture, 2 laboratory per week (72 total per quarter)
Advisory: C S 30D or equivalent.
Degree & Credit Status: Degree-Applicable Credit Course
Foothill GE: Non-GE
Transferable: CSU/UC
Grade Type: Letter Grade (Request for Pass/No Pass)
Repeatability: Not Repeatable

Student Learning Outcomes

  • The student will demonstrate the ability to configure and provide Apache Web Services on a Linux Server.
  • The student will demonstrate how to create a deploy Docker Containers.

Description

The course is focused on deploying and managing network servers running caching Domain Name Service (DNS), MariaDB, Apache HTTPD, Postfix SMTP mail clients, network file sharing with Network File System (NFS) and Server Message Block (SMB), iSCSI initiators and targets, advanced networking facilities and firewall configurations, and the use of Bash shell scripting to help automate, configure, and troubleshoot the system. These topics will be taught through lectures and hands-on labs.

Course Objectives

The student will be able to:
A. Manage control services and daemons.
B. Configure IPv6 networking.
C. Configure link aggregation and bridging.
D. Explain and manage network port security.
E. Manage DNS for servers.
F. Configure email delivery.
G. Understand and configure block-based storage.
H. Manage file-based storage.
I. Configure MariaDB databases.
J. Understand and configure Apache HTTPD web service.
K. Be able to write basic Bash scripts.
L. Understand and utilize Bash conditionals and control structures.
M. Configure the shell environment.
N. Understand Linux containers and Docker.

Course Content

A. Controlling Services and Daemons
1. Controlling Services with systemctl
2. Controlling the Boot Process
B. Managing IPv6 Networking
1. Review of IPv4 Networking Configuration
2. IPv6 Networking Concepts
3. IPv6 Networking Configuration
C. Configuring Link Aggregation and Bridging
1. Configuring Network Teaming
2. Managing Network Teaming
3. Configuring Software Bridges
D. Network Port Security
1. Managing Firewalls
2. Managing Rich Rules
3. Masquerading and Port Forwarding
4. Managing SELinux Port Labeling
E. Managing DNS for Servers
1. DNS Concepts
2. Configuring a Caching Nameserver
3. DNS Troubleshooting
F. Configuring Email Transmission
1. Configuring Send-Only Email Service
G. Providing Remote Block Storage
1. iSCSI Concepts
2. Providing iSCSI Targets
3. Accessing iSCSI Storage
H. Manage File-Based Storage
1. Exporting NFS File Systems
2. Protecting NFS Exports
3. Providing SMB File Shares
4. Performing a Multiuser SMB Mount
5. Providing File-Based Storage
I. Configuring MariaDB Databases
1. Installing MariaDB
2. Working with MariaDB Databases
3. Managing Database Users and Access Rights
4. Creating and Restoring MariaDB Backups
J. Providing Apache HTTPD Web Service
1. Configuring Apache HTTPD
2. Configuring and Troubleshooting Virtual Hosts
3. Configuring HTTPS
4. Integrating Dynamic Web Content
K. Writing Bash Scripts
1. Bash Shell Scripting Basics
L. Bash Conditionals and Control Structures
1. Enhancing Bash Shell Scripts with Conditionals and Control Structures
M. Configuring the Shell Environment
1. Working with Login and Non-Login Shells
N. Linux Containers and Docker
1. Introduction to Linux Containers
2. Using Docker

Lab Content

A. Controlling Services and Daemons
1. Using systemctl to Manage Services
2. Selecting a Boot Target
3. Controlling Services and Daemons
B. Managing IPv6 Networking
1. Configuring 1Pv4 Networking
2. Interpreting 1 Pv6 Addresses
3. Configuring 1 Pv6 Networking
4. Managing 1 Pv6 Networking
C. Configuring Link Aggregation and Bridging
1. Configuring Network Teaming
2. Managing Network Teaming
3. Configuring Software Bridges
4. Configuring Link Aggregation and Bridging
D. Network Port Security
1. Configuring a Firewall
2. Writing Custom Rules
3. Forwarding a Port
4. Managing SELinux Port Labeling
5. Network Port Security
E. Managing DNS for Servers
1. DNS Resource Record
2. Configuring Unbound as a Caching Nameserver
3. Troubleshooting DNS
4. Managing DNS for Servers
F. Configuring Email Transmission
1. Configuring Send-Only Email Service
G. Providing Remote Block Storage
1. iSCSI Concepts
2. Providing iSCSI Targets
3. Accessing iSCSI Storage
4. Providing Block-Based Storage
H. Providing File-Based Storage
1. Exporting NFS File Systems
2. Protecting NFS Exports
3. Providing SMB File Shares
4. Performing a Multiuser SMB Mount
5. Providing File-Based Storage
I. Configuring MariaDB Databases
1. Installing MariaDB
2. MariaDB Commands
3. Managing Users
4. Restoring a MariaDB Database from Backup
5. Configuring MariaDB Databases
J. Providing Apache HTTPD Web Service
1. Configuring a Web Server
2. Configuring a Virtual Host
3. Configuring a TLS-Enabled Virtual Host
4. Configuring a Web Application
5. Providing Apache HTTPD Web Service
K. Writing Bash Scripts
1. Writing Bash Scripts
2. Writing Bash Scripts
L. Configuring the Shell Environment
1. Working with Login and Non-Login Shells
2. Configuring the Shell Environment

Special Facilities and/or Equipment

A. Access to a computer laboratory with current Linux based computers required to support the class.
B. A website or course management system with an assignment posting component (through which all lab assignments are to be submitted) and a forum component (where students can discuss course material and receive help from the instructor). This applies to all sections, including on-campus (i.e., face-to-face) offerings.
C. When taught via Foothill Global Access on the internet, the college will provide a fully functional and maintained course management system through which the instructor and students can interact.
D. When taught via Foothill Global Access on the internet, students must have currently existing email accounts and ongoing access to computers with internet capabilities.

Method(s) of Evaluation

A. Tests and quizzes
B. Written laboratory assignments
C. Final examination

Method(s) of Instruction

A. Lectures which include motivation for the architecture of the specific topics being discussed.
B. In-person or online labs (for all sections, including those meeting face-to-face/on campus), consisting of:
1. An assignment webpage located on a college-hosted course management system or other department-approved internet environment. Here, the students will review the specification of each assignment and submit their completed lab work.
2. A discussion webpage located on a college-hosted course management system or other department-approved internet environment. Here, students can request assistance from the instructor and interact publicly with other class members.
C. Detailed review of laboratory assignments, which includes model solutions and specific comments on the student submissions.
D. In person or online discussion which engages students and instructor in an ongoing dialog pertaining to all aspects of designing, implementing and analyzing programs.
E. When course is taught fully online:
1. Instructor-authored lecture materials, handouts, syllabus, assignments, tests, and other relevant course material will be delivered through a college-hosted course management system or other department-approved internet environment.
2. Additional instructional guidelines for this course are listed in the addendum of CS department online practices.

Representative Text(s) and Other Materials

Sobel, Mark G. A Practical Guide to Fedora and Red Hat Enterprise Linux. 7th ed. Prentice Hall, 2014.

Boessenkool, Wander. Red Hat System Administration III. Red Hat, 2015.

 

Types and/or Examples of Required Reading, Writing, and Outside of Class Assignments

A. Reading

1. Textbook assigned reading averaging 30 pages per week.

2. Online curriculum averaging 20 pages per week.

3. Online resources as directed by instructor though links pertinent to networking.

4. Library and reference material directed by instructor through course handouts.

B. Writing

1. Technical prose documentation that supports and describes the laboratory exercises that are submitted for a grade.

 

Discipline(s)

Computer Science