
This video provides an overview of the entire course.
The aim of this video is to learn how to download and confirm a checksum in a linux server
Get started with an OS of your choice
Download the checksum file
Generate the checksum of your downloaded iso image file
Nowadays Installing a new operating system such as CentOS Linux using USB device is indeed essential
Get introduced to the concept of creating an exact copy of CentOS installation iso file on a USB device
Prepare USB on OS X and Linux
Prepare USB on Windows
Performing an installation of CentOS 7 using the graphical installer interface is the recommended approach to installing your system, as it not only provides us with the ability to create the desired hard disk partitions but also to customize installation in lots of ways.
Select the correct installation boot device during server start up
Load the CentOS 7 installation media
Customize the installation via graphical installer
Running a CentOS 7 netinstall is a process in which a small image file is used to boot the computer and let the user select and install only the software packages and services he wants and nothing more over a network connection thus providing great flexibility
Download the CentOS 7 netinstall ISO file
Prepare a USB installation media from it and validate its checksum
Install CentOS 7 over HTTP using an official CentOS 7 repository mirror
While installing CentOS 7 manually, using the graphical installer utility is fine on a single server. Doing so on a multiple number of systems can be tedious. Kickstart files can automate the installation process of a server system
Fetch an existing Kickstart file as a template from a former CentOS 7 installation and copy on USB device
Boot into rescue mode to get correct device name order
Select your target device name for installation
Kickstart files are simple text based configuration files which provide detailed and exact instructions on how the target system should be set up and installed (for example, which keyboard layout or additional software packages to install).
Customize your Kickstart file
Validate the changes you made to the file
Run the Kickstart installation
When you turn on your computer, the GRUB2 boot loader is the first program that starts up and is responsible for loading and transferring control to an underlying operating system. It has a lot of flexibility in configuration and supports a lot of different operating systems
Make a backup of your default grub configuration file
Customize your default grub configuration file
Generate the GRUB2 configuration using the grub2-mkconfig program
Linux can have a steep learning curve and sooner or later there will be a point in your career where your CentOS installation does not start up due to broad number of reasons, including hardware problems or human mistakes. If this has happened to you then you can use the CentOS rescue mode in order to boot an otherwise unbootable system and try to undo your mistakes.
Reset your root password if forgotten
Access the original servers filesystem if you cannot boot
Mount additional partitions of your original server
The CentOS 7 minimal install is probably the most efficient way you can install a server, but does require some additional features in order to make your server a more compelling model.
Update the system after installation
Reboot the system if first-time updating
Install useful additional software package groups using yum
The aim of this video is to learn to create Master Server as a template for creating a complete training lab. This will reduce a lot of repetitive work installing and configuring single Linux servers manually
Add a second virtual network interface using VirtualBox GUI
Install some essential Linux tools
Create backup image and snapshots
Installing single Linux servers manually can be a tedious task to do. In this video we’ll finish our work on preparing a master template for easy and convenient cloning and installing of multiple servers to build a complete training lab quickly
Create a list of hostname to IP address relationships we can use on every node in the lab
Configure the 2nd network device to use a static IP address for internal communication
Create VMs needed through cloning
Setting up an internal subnetwork for communication between servers can be hard for Linux newcomers. In this video, learn how to do this easily and conveniently using commands such as ssh arguments
Setup unique host names for each node
Enable passwordless SSH login
Configure unique IP addresses for each server in the subnetwork for proper communication
The aim of this video is to give you a complete overview on how to configure locale information
Retrieve locale information
Set system-wide and user-specific locale information
Make user-specific locale information persistent
Our CentOS 7 operating system's time is set on every boot based on the hardware clock. Often, this is too inaccurate or has not been set right, therefore it's better to get your system time from a reliable source over the Internet - that uses real atomic time.
Use Chrony Daemon to synchronize system time (UTC) over the network
Validate chronyd to check if it is working properly
Adjust local time by adjusting time zones
Resolving network addresses means translating domain names to IP addresses (or the reverse) because computer networks can only work with numbers not names.
Setup your server’s hostnames / fully qualified domain names
Setup local domain resolution using /etc/hosts file
Configure external DNS using /etc/resolv.conf
While a dynamically assigned IP address or DHCP reservation may be fine for most desktop and laptop users, if you are setting up a server, it is often the case that you will require a static IP address.
Use existing DHCP connection as template for static network
Configure static connections using CentOS’s network-scripts
Disable NetworkManager and DHCP server (PEER) for full configuration file control
On CentOS Linux, many files, folders, or commands can only be accessed or executed by a user called root. The sudo command provides one or more users with the right to execute single commands with elevated privileges
Explore that sudo is not enabled by default for system users
Allow sudo command execution by adding the “wheel” group to existing users
sudo (superuser do) command not to be mixed with su command (substitute user)
Showing the user textual messages when logging in or attempting to establish a new SSH connection is often used for displaying important information to the user or for legal reasons.
Customize the message of the day (MOTD)
Use the SSH banners
Create dynamic MOTD’s
Linux kernel modules are what in other operating systems is called device driver files (or filesystem drivers) that add support for a specific piece of hardware so that we can access and use them
Take a look at all currently enabled Kernel Modules in your system
Enable or disable Kernel Modules temporarily
Enable or disable the Kernel Modules persistently surviving the server reboot
The aim of this video is show you how to update your system using the YUM software suite
Learn to check for updates
Perform a system update
Automate the system updates
The aim of this video is to learn the various ways to effectively query repositories to quickly find the right information we are looking for.
Print all available and installed software packages
Effectively search for software packages
Search for files included in software packages
The aim of this video is to learn to install new software packages on CentOS using YUM.
Install new software packages
Use YUM’s -y flag to automate installation
Remove the software installed by yum
The aim of this video is to show you how to clean the cache and restore YUM to its original working state.
Clean file cache and XML-based metadata
Rebuild the cache
Get to know how to skip broken packages
The aim of this videos is to learn to prepare YUM to manage additional repositories by installing a plugin known as YUM priorities ensuring that any particular package will always be installed or updated from the same repository.
Get started installing YUM priorities
Enable and disable YUM priorities
Configure the base CentOS repositories
With this video, learn how server administrators choose to install Third-party repositories.
Learn to install and enable both the EPEL and REMI repositories
Set up yum priorities
Test that all base files come from the official CentOS repos and nowhere
With this video run your own YUM Repository so as to save bandwidth and speed up the network.
Setup your own private repository in your network
Automate mirroring updating packages using another remote repository
Test your repository server on a different server
The aim of this video is to learn how we can use original RPM tool to provide useful querying options that are not available in YUM
Install and remove local RPM software packages
Demonstrate RPM’s querying options
Explore the Limitations on using RPM
The aim of this video is to learn to use systemctl utility to take full control of your system's services.
Query your system for service related information
Learn how to start, stop, enable and disable services
Differentiate between Restarting and Reloading a Service
With this video learn to Troubleshoot the server if something breaks or fails.
Use systemctl, journald and rsyslog to spot errors
Use journald’s rich quering features
Use journald to continuously print new entries as they are appended to the journal.
The aim of this video is to learn how to configure journald so as the information stays static
Create a new directory
Set it as default journal storage location
Restart the server to see if the journal is persistent
The aim of this video is to learn how Cron enables CentOS users to execute commands or scripts automatically at a specified time and date.
Go through the general structure of a Cron job
Create user-specific Cron jobs using the Crontab file
Create system-wide Cron-jobs by dropping scripts in /etc/cron.* directories
Here we’ll take a look at how rsync can be used to synchronize files and directories across a variety of local and remote locations.
Learn to use rsync for easy file synchronization
Exclude files using rsync
Go through Other important rsync options
Here we will see how to take snapshots of some of your system's directories using the crond daemon.
Create the backup script template
Customize it to fit your needs
Run it as a Cron job script to send out notification emails
With this video, get to monitor your disk usage using a small script which monitors the system’s free hard disk space
Create the monitoring script template
Customize it to fit your needs
Run it as a Cron job script to send out notification emails
The aim of this video is to learn how version control systems can be used for the management of changes to documents using GIT
Explore more about repository, commit and revision
Learn to use a modern version control system such as GIT
Use GIT to fully version control your /etc/ configuration directory
The aim of this video is to learn how to create a virtual block device. It is ideal to learn fundamental filesystem skills before switching to "production mode". Later, you can easily replace it with real hardware devices
Create empty image files using the dd command
Create a loop device out of your image files
Create a new partition table and device maps on your new loop device
Filesystems form one of the most fundamental parts of any operating system and nearly everything depends on them. Here, learn how to create filesystems, and how to link them to your system for reading and writing. These two techniques are called formatting and mounting filesystems
Create new partitions on your device
Create different types of standard filesystems available in CentOS 7: XFS, ext4, BTRFS on your new partitions
Mount your new filesystems
Filesystem inconsistencies are rare events and filesystem checks normally are running automatically at boot time. Linux system administrators should know how to run such tests manually, if they believe there is a problem with the filesystem.
Use xfs_repair to check and repair any XFS filesystem
Use fsck for all other filesystems
Unmount the disk before trying to repair
When administering a Linux multiuser system with many system users, it is wise to set some kind of restrictions or limits to the resources shared by the system. On the standard XFS filesystem, you can either restrict the available hard disk space or the total file number to a fixed size at a user, group, or directory level.
Activate quotas on your root and home partition
Set inode and block quotas on user, group, and directory level
Test your new quotas set before
CentOS 7 uses the Logical Volume Manager (LVM) to organize the structure and available capacity of your partitions. It is a very dynamic and flexible system that can be extended or rearranged over time, and which is essential in today's most demanding and ever-changing environments.
Create physical volumes (pv), a volume group (vg), and logical volumes (lv)
Rearrange and resize your lv’s
Extend your vg adding new pv’s and resize your lv’s
This video provides an overview of the entire course.
In this video, we will use useradd and usermod utilities for changing the user attributes.
Get introduced to useradd and usermod utilities
Focus on user locking
Locate files or folder in which user account information is stored
In this video, we will define how to change the password and also how to change the expiry date for changing the password.
Look into password policies and how to apply policies to all users
Look into change utility and how to effectively use it in difference scenarios
Change the password policies for specific users by means of change utility
In this video, we will learn how to effectively manage the local groups.
Create and remove the local groups
Assign the user to individual and multiple groups
Discuss group permissions and ownership
In this video, we will learn how to get group permissions using SetGID.
Create two groups and make two folder to assigns the permissions to folder
Assign permission to two groups and create a user for testing purposes
Create a file from the user that is created earlier and change the group permissions
In this video, we will learn how to connect to existing authentication system using Realm in CentOS 7 Linux distribution.
Create a user in active directory server and test that user in our CentOS 7 machine using Realm which uses LDAP protocol for authentication
Join our CentOS 7 machine to active directory server and enable all the Kerberos option in sshd_config file
Test it with the user created in AD environment by means of SSH utility
In this video, we will focus on the configuration of SELinux.
Understand what SELinux is
Modes of operations of SELinux
Learn how to change the modes of operation of SELinux
This video will cover how we can effectively use SELinux context and customize them.
Security context in SELinux
Enable and disable SELinux and get information about files or folder in relation to SELinux
Customize SELinux rules for system services
In this video, we will cover port labeling to allow services in SELinux.
Change the default port of HTTPS service and we will observe SELinux behavior in this scenario
Add a customized service port in SELinux Rules
Focus on semanage utility
This video will cover Advance Intrusion Detection.
Learn what AIDE is
Configure AIDE
Event detection in case of Intrusion
This video will cover OSSEC tool for Intrusion Detection. It’s an open source project for event detection in an operating system.
Learn what OSSEC is
Learn the functionality and how OSSEC works
Configure OSSEC
This video covers the implementation of Domain Name Server.
Learn what DNS is and how to configure it
Implement forward lookup zone
Implement reverse lookup zone
This video will cover the Apache-PHP-MySQL also known as LAMP Stack.
Learn the pre-requisites for LAMP Stack
Configure APACHE-PHP-MYSQL
Configure PHPMYADMIN for Remote MySQL Administration
This video will cover the TLS/SSL certificate for Apache Web Server.
Learn what TLS/SSL is
Configure TLS/SSL certificate for Apache Web Server
Test the TLS/SSL based certificate
In this video, we will learn about the TLS/SSL certificate for FTP Server.
Configure vsftpd server
Implement TLS/SSL certificate
Test self-signed TLS/SSL based certificate
This video will cover the remote MySQL connection and we can access it from command line interface of CentOS 7 Linux distribution.
Configure MySQL server
Change the bind address so MySQL server can accept the foreign connection
Test the connectivity for the remote host
In this video, we will cover some of the terminologies used in email services/server.
Explain the terminologies in email services
Email services protocols: SMTP MUA, and MSA
Receive email protocols POP3, IMAP, and Mx Record
This video will cover the configuration of Postfix email server.
Learn the prerequisites for Postfix email server
Explore the configuration files and parameters of Postfix email server
Test the Postfix email server with the client
In this video, we will explain the local email delivery process.
Learn the tools for local email delivery
Learn the difference between Procmail and sieve
Pros and cons of Procmail and sieve
In this video, we will learn about email alias.
Learn what email alias is
Configure an email alias
Test our email alias configuration
This video will cover the configuration of remote email delivery.
Configure Dovecot email delivery server
Explain the parameters in Dovecot email delivery server
Test our Dovecot based configuration
In this video, we will secure email servers with SSL/TLS based certificate.
Configure email server for SSL/TLS certificates
Generate self-signed SSL/TLS based certificate
Test our SSL/TLS based certificates
In this video, we will be look into some of open source monitoring tools.
Learn the different open source tools used for monitoring
Get to know why we use Zabbix
Explain the features of Zabbix
In this video, we will install and configure Zabbix server.
Learn the prerequisites for Zabbix server
Configure Zabbix server
Add a host to Zabbix server
In this video, we will be configuring alerts and trigger for Zabbix host.
Configure an item
Associate configure item with trigger
Test trigger configuration
This video will cover the journal system for logging.
Learn what the journal system is
Look into traditional system based logging
Use journalctl utility for various scenarios
This video will cover the logrotate feature that comes built-in with CentOS 7 distribution.
Learn what logrotate is
Look into logrotate configuration file
Use logrotate utility to forcefully archive the logs
In this video, we will look into virtualization and hypervisor types.
Learn what virtualization is
Types of virtualization
Hypervisor and its types
This video will cover the installation part of VirtualBox on CentOS 7 desktop version.
Learn the prerequisites for VirtualBox installation
Install VirtualBox
Start VirtualBox
This video will cover how to create virtual machine on VirtualBox.
Configure the kernel module for the VirtualBox
Create a new virtual machine
Configure the settings for virtual machine
This video will show us how to clone a virtual machine.
Learn what cloning is
Learn the types of cloning
Create a clone of a virtual machine
This video will show us how to add storage to an existing virtual machine.
Add storage from VirtualBox
Attach gparted iso image to virtual machine
Resize the partitioning within the OS
This video will cover how to mount the ISO image/CD-ROM image to you virtual machine and how to access it within your OS.
Attach an ISO image to your virtual machine
Mount an ISO image within the OS
Check the ISO image content where it is mounted
This video will cover the network interfaces in VirtualBox.
Learn about the network interfaces present in VirtualBox
Look into network interface in VirtualBox
Test the network interfaces
In this video, we will look into cloud computing services and its types.
Learn what cloud computing is
Explain cloud computing services
Learn the types of cloud computing
This video will cover the components of OpenStack.
Learn what OpenStack is
Learn the core components of OpenStack
Explain the core components of OpenStack
This video will cover the installation of OpenStack using packstack.
Download and install dependencies
Learn the prerequisites required for OpenStack
Access the OpenStack horizon dashboard
This video gives a short demo on OpenStack and how you can create a virtual machine.
Create a user and a project
Create a network and attach it to public network
Launch an instance
This video will cover configuration management and its uses.
Understand why we use configuration management tools
Understand why we use server automation
Learn about some of the open source configuration management tools
This video will cover the installation of Ansible.
Learn the prerequisites for the installation of Ansible
Configure Ansible and exchanging the SSH-keys
Test our configuration for Ansible
In this video, we will learn how we can run Ansible commands to get the required results.
Use modules in Ansible commands
Run commands on remote hosts using Ansible
Use YUM module to install the packages on remote hosts
This video will cover the structure of YAML language.
Learn what YAML is
Learn the format of YAML
Explain the structure of YAML file
In this video, we will cover RAID and its types.
Learn what RAID is
Understand hardware and software based RAID
Explain RAID and its types
In this video, we will configure software based RAID.
Learn the RAID features that come built-in with the CentOS 7 distribution
Add three HDD partitions
Use fdisk utility to configure the partitions
In this video, we will learn how to configure our RAID device.
Learn the prerequisites for configuring your RAID device
Use mdadm to configure the RAID device
Mount the RAID devices and configure RAID when the system boots up using fstab
In this video, we will cover the failover and recovery of RAID devices.
Fail one partition for testing our RAID configuration
Check the status of device recovery from mdadm utility
Check our system if it is intact or not
CentOS 7 is the brand new version of the CentOS Linux system. It is one of the most widely-used operating systems, being the choice of many organizations across the globe. It’s consistent, manageable platform suits a variety of deployments. Being a predictable base to build upon, it covers extensive resources to build, test, release and maintain their code.
This learning paths follows a practical approach and incremental approach that provides in-depth and comprehensive information on CentOS 7 and its new features. Practical, real-world examples will help you install CentOS 7. You’ll see how to set up a Virtual box lab, change Mac addresses, and use internal networking, then dive into managing the system and managing Packages with YUM. A complete hands-on how to monitor servers/infrastructure and master the art of virtualization, cloud computing techniques, configuration management, software-based storage (RAID), and a few security tweaks.
By end of this learning path, get acquainted with the troubleshooting techniques in rescue mode & perform various tasks with the YUM command. Securing & monitoring CentOS 7 Linux server & remote server with Zabbix.
Contents and Overview
This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.
The first course, Beginning CentOS 7 Administration starts with setting up a complete training laboratory using virtualization and see the possibilities with CentOS 7. You’ll start by learning how to install CentOS 7, see the benefits of it, download and confirm checksum on Windows or OS X, run a net installation over HTTP, and troubleshoot the system. Then you’ll learn how to set up a full-blown Virtual box Training lab. You’ll learn to install and adjust machines to make them communicate and see how to reset the machine. Next, you’ll configure the system learning static network connection. Moving on, we’ll walk through managing the system and managing packages with Yum. You’ll then troubleshoot, configure, synchronize, and install packages and create repositories and packages. Finally, you’ll deep dive into administering the file system, where you’ll learn to create a virtual block, format, maintain, and extend the capacity of the file system.
The second course, Mastering CentOS 7 Linux Server start by exploring the administration tools of CentOS 7 Linux server and implementing some of the most common Linux services. You'll get your hands on CentOS 7's built-in security tool. Next, you will be introduced to the most commonly used services and shown in detail how to implement and deploy a secure and production-grade environment for your organization following the open-source DevOps model. Then, you will start to monitor your infrastructure/server using open-source tools. You will then move on to master virtualization and cloud computing techniques by deploying and configuring IAAS (Infrastructure as a Service). After that, you will work on open-source tools for the configuration and management of multiple nodes. Additionally, you will learn about RAID software-based storage and its advanced configurations. By the end of this course, you will have learned to monitor servers/infrastructure and master the art of virtualization, cloud computing techniques, configuration management, software-based storage (RAID), and some security tweaks.
About the Authors
Oliver Pelz has more than 10 years' experience as a software developer and system administrator. He graduated with a diploma degree in bioinformatics and is currently working at the German Cancer Research center in Heidelberg, where he has authored and co-authored several scientific publications in the field of Bioinformatics. As well as developing web applications and biological databases for his department and scientists all over the world, he administers a division-wide Linux-based datacenter and has set up two high-performance CentOS clusters for the analysis of high-throughput microscope and genome sequencing data. He loves writing code and riding his mountain bike in the Black Forest of Germany and has been an absolute Linux and open source enthusiast for many years. He has contributed to several open-source projects in the past and also worked as a reviewer on the CentOS High Performance book, Packt Publishing.
Muhammad Atif Ramzan works as a technical lead for a well-known Telecom operator, Telenor, as a Network Virtualization Engineer. He has a Bachelor's degree in Telecommunication, after obtaining which he switched to the technical aspects of IT and telecommunications to get a feel for the industry. Atif enjoys hanging out with friends; music is something he is very fond of.