EIEIOTECHNOVATION
← Training programmes

EIEIO / OPERATING SYSTEMS

MasteringUbuntuServer

Course outline

5 days

Duration

5 days

Audience

System/Cloud Implementer

Systems Administrator

Application Administrator

Database Administrator

Course Outline:

  • 1. Deploying Ubuntu Server

Setting up our lab

Determining your server's role

Obtaining Ubuntu Server

Deciding between 32-bit and 64-bit installations

Creating a bootable Ubuntu Server flash drive (Windows)

Creating a bootable Ubuntu Server flash drive (Linux)

Planning the partition layout

Installing Ubuntu Server

  • 2. Managing Users

Understanding when to use root

Creating and removing users

Understanding the /etc/passwd and /etc/shadow files

Distributing default configuration files with /etc/skel

Switching between users

Managing groups

Managing passwords and password policies

Configuring administrator access with sudo

Setting permissions on files and directories

  • 3. Managing Storage Volumes

Viewing disk usage

Adding additional storage volumes

Partitioning and formatting volumes

Mounting and unmounting storage volumes

Understanding the /etc/fstab file

Managing swap

Utilizing LVM volumes

Using symbolic and hard links

  • 4. Connecting to Networks

Setting the hostname

Managing network interfaces

Assigning static IP addresses

Understanding Linux name resolution

Understanding Network Manager

Getting started with OpenSSH

Getting started with SSH key management

Simplifying SSH connections with a ~/.ssh/config file

  • 5. Managing Software Packages

Understanding Linux package management

Installing and removing software

Searching for packages

Managing software repositories

Keeping your server up to date

Backing up and restoring packages

Making use of aptitude

Installing Snap packages

  • 6. Controlling and Monitoring Processes

Showing running processes with the ps command

Managing jobs

Killing misbehaving processes

Utilizing htop

Managing system processes

Monitoring memory usage

Scheduling tasks with Cron

Understanding load average

  • 7. Managing Your Ubuntu Server Network

Planning your IP address scheme

Serving IP addresses with isc-dhcp-server

Setting up name resolution (DNS) with bind

Creating a secondary DNS server

Setting up an Internet gateway

Keeping your system clock in sync with NTP

  • 8. Accessing and Sharing Files

File server considerations

Sharing files with Windows users using Samba

Setting up NFS shares

Transferring files with rsync

Transferring files with SCP

Mounting remote filesystems with SSHFS

  • 9. Managing Databases

Preparations for setting up a database server

Installing MariaDB

Taking a look at MariaDB configuration

Understanding how MariaDB differs in Ubuntu 16.04

Managing databases

Setting up a slave DB server

  • 10. Serving Web Content

Installing and configuring Apache

Installing additional Apache modules

Securing Apache with SSL

Setting up high availability with keepalived

Installing and configuring ownCloud

  • 11. Virtualizing Hosts and Applications

Setting up a virtual machine server

Creating virtual machines

Bridging the virtual machine network

Creating, running, and managing Docker containers

  • 12. Securing Your Server

Lowering your attack surface

Securing OpenSSH

Installing and configuring Fail2ban

MariaDB best practices

Setting up a firewall

Encrypting and decrypting disks with LUKS

Locking down sudo

  • 13. Troubleshooting Ubuntu Servers

Evaluating the problem space

Conducting a root-cause analysis

Viewing system logs

Tracing network issues

Troubleshooting resource issues

Diagnosing defective RAM

Programme scope, delivery arrangements and suitability are confirmed during enquiry.