You are previewing Mastering CentOS 7 Linux Server.
O'Reilly logo
Mastering CentOS 7 Linux Server

Book Description

Configure, manage, and secure a CentOS 7 Linux server to serve a variety of services provided in a sustainable computer's infrastructure.

About This Book

  • Learn how to efficiently set up and manage a Linux server using one of the best suited technologies for this purpose, CentOS 7

  • Personalize your Linux server and familiarize yourself with the latest tools and utilities setup provided by the new CentOS distribution

  • Follow a step-by-step tutorial through the configuration of the requested services with the capacity to personalize them as per your needs

  • Who This Book Is For

    If you are a Linux system administrator with an intermediate administration level, this is your opportunity to master the brand new distribution of CentOS. If you wish to possess a fully sustainable Linux server, with all its new tools and tweaks, that serves a variety of services to your users and customers, this book is ideal for you. It is your ticket to easily adapt to all the changes made in the latest shift.

    What You Will Learn

  • Manage CentOS 7 users, groups, and root access privileges

  • Enhance the server’s security through its firewall and prevent the most common attacks from penetrating or disabling the server

  • Explore and implement the common, useful services that a CentOS 7 server can provide

  • Monitor your server infrastructure for system or hardware issues

  • Create and configure a virtual machine using virtualization technologies

  • Implement a cloud computing solution on a single node system

  • Get an introduction to the configuration management tools and their usage

  • Discover the importance of the tools that provide remote connection, server service security, and system and process monitoring tools

  • In Detail

    Most server infrastructures are equipped with at least one Linux server that provides many essential services, both for a user's demands and for the infrastructure itself. Setting up a sustainable Linux server is one of the most demanding tasks for a system administrator to perform. However, learning multiple, new technologies to meet all of their needs is time-consuming. CentOS 7 is the brand new version of the CentOS Linux system under the RPM (Red Hat) family. It is one of the most widely-used operating systems, being the choice of many organizations across the world.

    With the help of this book, you will explore the best practices and administration tools of CentOS 7 Linux server along with implementing some of the most common Linux services. We start by explaining the initial steps you need to carry out after installing CentOS 7 by briefly explaining the concepts related to users, groups, and right management, along with some basic system security measures. Next, you will be introduced to the most commonly used services and shown in detail how to implement and deploy them so they can be used by internal or external users. Soon enough, you will be shown how to monitor the server. We will then move on to master the virtualization and cloud computing techniques. Finally, the book wraps up by explaining configuration management and some security tweaks.

    All these topics and more are covered in this comprehensive guide, which briefly demonstrates the latest changes to all of the services and tools with the recent shift from CentOS 6 to CentOS 7.

    Style and approach

    This is a detailed and in-depth guide to help you administrate CentOS 7 for the usage of your server's infrastructure and also for personal network security. Each section shows a list of tools and utilities that are useful to perform the required task, in an easy to understand manner.

    Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at If you purchased this book elsewhere, you can visit and register to have the code file.

    Table of Contents

    1. Mastering CentOS 7 Linux Server
      1. Table of Contents
      2. Mastering CentOS 7 Linux Server
      3. Credits
      4. About the Authors
      5. About the Reviewers
        1. Support files, eBooks, discount offers, and more
          1. Why subscribe?
          2. Free access for Packt account holders
      7. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the color images of this book
          2. Errata
          3. Piracy
          4. Questions
      8. 1. Advanced User Management
        1. Managing users and groups from GUI and the command line
        2. Quotas
        3. Password aging
          1. Setting the password policy
          2. Configuring password aging and password length
          3. Configuring password complexity and limiting reused password usage
          4. Configuring login failures
        4. Sudoers
          1. visudo
        5. Reference
        6. Summary
      9. 2. Security
        1. Introducing SELinux
          1. Installing SELinux
          2. SELinux mode
          3. SELinux policy
          4. SELinux files and processes
        2. Domain transition
        3. SELinux users
        4. Restricting access to su or sudo
          1. Restricting permissions to run scripts
          2. Restricting access to services
        5. SELinux audit logs
        6. SELinux troubleshooting
        7. Summary
      10. 3. Linux for Different Purposes
        1. Configuring a gateway server
        2. Setting up a VPN server
        3. Implementing BIND as a DNS server
        4. Setting up a web server using Apache-MySQL-PHP
        5. Setting up an FTP server
        6. Securing Apache and FTP with OpenSSL
        7. References
        8. Summary
      11. 4. Mail Server with Postfix
        1. Setting up and configuring of Postfix mail server
        2. Setting up MariaDB for virtual domains and users
        3. Setting up a mail tool (Dovecot) to retrieve mails
        4. Configuring the OpenLDAP Active Directory with Postfix
        5. Securing the mail server using SSL/TLS
        6. References
        7. Summary
      12. 5. Monitoring and Logging
        1. Open source monitoring tools
          1. Ganglia
          2. OpenNMS
          3. Zabbix
          4. Zenoss
          5. Nagios
          6. Icinga
        2. Setting up Nagios as a monitoring server
        3. Tools to set up a logging server
          1. Rsyslog
          2. Syslog-ng
        4. Setting up and configuring Syslog-ng
        5. References
        6. Summary
      13. 6. Virtualization
        1. The basics of virtualization on Linux
        2. Full virtualization
        3. Paravirtualization
        4. Setting up Xen on CentOS 7
        5. Setting up KVM for full virtualization on CentOS 7
        6. Setting up OpenVZ virtualization on CentOS 7
        7. Setting up VirtualBox virtualization on CentOS 7
        8. Setting up Docker on CentOS 7
        9. Establishing services' high availability using HAProxy
        10. References
        11. Summary
      14. 7. Cloud Computing
        1. An overview of cloud computing
          1. Software as a Service
          2. Platform as a Service (PaaS)
          3. Infrastructure as a Service (IaaS)
        2. Cloud computing services
          1. Public cloud
          2. Private cloud
          3. Hybrid cloud
        3. Introducing OpenStack
          1. OpenStack compute
          2. OpenStack networking
          3. OpenStack storage
        4. Components of OpenStack
        5. Installing and configuring OpenStack
        6. References
        7. Summary
      15. 8. Configuration Management
        1. Introducing configuration management
        2. Open source configuration management tools
          1. Chef
          2. SaltStack (Salt)
          3. Ansible
          4. Puppet
            1. Installing and configuring Puppet
        3. References
        4. Summary
      16. 9. Some Additional Tricks and Tools
        1. SSH for remote connection
        2. Securing SSH and the root login configuration
        3. SSH key-based authentication
        4. Installing and configuring SpamAssassin
        5. Setting up the Clamav antivirus
        6. Configuring Mytop for a MySQL database
        7. Setting up Samba and NFS for file sharing
        8. Introducing the Linux system and network monitoring tools
        9. References
        10. Summary
      17. Index