Mastering Ubuntu Server

Get up to date with the finer points of Ubuntu Server using this comprehensive guide
Preview in Mapt
Code Files

Mastering Ubuntu Server

Jay LaCroix

4 customer reviews
Get up to date with the finer points of Ubuntu Server using this comprehensive guide
Mapt Subscription
FREE
$29.99/m after trial
eBook
$28.00
RRP $39.99
Save 29%
Print + eBook
$49.99
RRP $49.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$28.00
$49.99
$29.99p/m after trial
RRP $39.99
RRP $49.99
Subscription
eBook
Print + eBook
Start 30 Day Trial

Frequently bought together


Mastering Ubuntu Server Book Cover
Mastering Ubuntu Server
$ 39.99
$ 28.00
Ubuntu Server Cookbook Book Cover
Ubuntu Server Cookbook
$ 39.99
$ 28.00
Buy 2 for $35.00
Save $44.98
Add to Cart
Subscribe and access every Packt eBook & Video.
 
  • 5,000+ eBooks & Videos
  • 50+ New titles a month
  • 1 Free eBook/Video to keep every month
Start Free Trial
 

Book Details

ISBN 139781785284526
Paperback430 pages

Book Description

Ubuntu is a Debian-based Linux operating system, and has various versions targeted at servers, desktops, phones, tablets and televisions. The Ubuntu Server Edition, also called Ubuntu Server, offers support for several common configurations, and also simplifies common Linux server deployment processes.

With this book as their guide, readers will be able to configure and deploy Ubuntu Servers using Ubuntu Server 16.04, with all the skills necessary to manage real servers. The book begins with the concept of user management, group management, as well as file-system permissions. To manage your storage on Ubuntu Server systems, you will learn how to add and format storage and view disk usage. Later, you will also learn how to configure network interfaces, manage IP addresses, deploy Network Manager in order to connect to networks, and manage network interfaces. Furthermore, you will understand how to start and stop services so that you can manage running processes on Linux servers. The book will then demonstrate how to access and share files to or from Ubuntu Servers. You will learn how to create and manage databases using MariaDB and share web content with Apache. To virtualize hosts and applications, you will be shown how to set up KVM/Qemu and Docker and manage virtual machines with virt-manager. Lastly, you will explore best practices and troubleshooting techniques when working with Ubuntu Servers.

By the end of the book, you will be an expert Ubuntu Server user well-versed in its advanced concepts.

Table of Contents

Chapter 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)
Creating a bootable Ubuntu Server flash drive (Mac)
Planning the partition layout
Installing Ubuntu Server
Installing Ubuntu Server (Raspberry Pi)
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 14: Preventing and Recovering from Disasters
Preventing disasters
Utilizing Git for configuration management
Implementing a backup plan
Creating system images with Clonezilla live
Utilizing bootable recovery media
Summary

What You Will Learn

  • Learn how to manage users, groups, and permissions
  • Encrypt and decrypt disks with Linux Unified Key Setup /Luks
  • Setup SSH for remote access, and connect it to other nodes
  • Understand how to add, remove, and search for packages
  • Use NFS and Samba to share directories with other users
  • Get to know techniques for managing Apache and MariaDB
  • Explore best practices and troubleshooting techniques

Authors

Table of Contents

Chapter 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)
Creating a bootable Ubuntu Server flash drive (Mac)
Planning the partition layout
Installing Ubuntu Server
Installing Ubuntu Server (Raspberry Pi)
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 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
Summary
Chapter 14: Preventing and Recovering from Disasters
Preventing disasters
Utilizing Git for configuration management
Implementing a backup plan
Creating system images with Clonezilla live
Utilizing bootable recovery media
Summary

Book Details

ISBN 139781785284526
Paperback430 pages
Read More
From 4 reviews

Read More Reviews

Recommended for You

Mastering Docker Book Cover
Mastering Docker
$ 39.99
$ 28.00
Mastering Linux Network Administration Book Cover
Mastering Linux Network Administration
$ 39.99
$ 28.00
Linux Shell Scripting Cookbook, Second Edition Book Cover
Linux Shell Scripting Cookbook, Second Edition
$ 26.99
$ 5.40
Monitoring Docker Book Cover
Monitoring Docker
$ 31.99
$ 22.40
Practical Linux Security Cookbook Book Cover
Practical Linux Security Cookbook
$ 35.99
$ 25.20
Python Machine Learning Book Cover
Python Machine Learning
$ 35.99
$ 25.20