3 options
Mastering Ubuntu server : master the art of installing, configuring, managing, and troubleshooting ubuntu server 18.04 / Jay LaCroix.
- Format:
- Book
- Author/Creator:
- LaCroix, Jay, author.
- Language:
- English
- Subjects (All):
- Operating systems (Computers).
- Ubuntu (Electronic resource).
- Physical Description:
- 1 online resource (552 pages)
- Edition:
- 2nd edition
- Place of Publication:
- Birmingham ; Mumbai : Packt, [2018]
- System Details:
- text file
- Summary:
- Get up-to-date with the finer points of Ubuntu Server using this comprehensive guide About This Book A practical easy-to-understand book that will teach you how to deploy, maintain and troubleshoot Ubuntu Server Get well-versed with newly-added features in Ubuntu 18.04. Learn to manage cutting-edge technologies such as virtualization, containers, Nextcloud and more Who This Book Is For This book is intended for readers with intermediate or advanced-beginner skills with Linux, who would like to learn all about setting up servers with Ubuntu Server. This book assumes that the reader knows the basics of Linux, such as editing configuration files and running basic commands. What You Will Learn Manage users, groups, and permissions Encrypt and decrypt disks with Linux Unified Key Setup (LUKS) Set up SSH for remote access, and connect it to other nodes 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 Get familiar with scripting Automate server deployments with Ansible In Detail Ubuntu Server has taken the data centers by storm. Whether you're deploying Ubuntu for a large-scale project or for a small office, it is a stable, customizable, and powerful Linux distribution that leads the way with innovative and cutting-edge features. For both simple and complex server deployments, Ubuntu's flexible nature can be easily adapted to meet to the needs of your organization. With this book as your guide, you will learn all about Ubuntu Server, from initial deployment to creating production-ready resources for your network. The book begins with the concept of user management, group management, and filesystem permissions. Continuing into managing storage volumes, you will learn how to format storage devices, utilize logical volume management, and monitor disk usage. Later, you will learn how to virtualize hosts and applications, which will cover setting up KVM/QEMU, as well as containerization with both Docker and LXD. As the book continues, you will learn how to automate configuration with Ansible, as well as take a look at writing scripts. Lastly, you will explore best practices and troubleshooting techniques when working with Ubuntu Server that are applicable to real-world scenarios. By the end of the book, you will be an expert Ubuntu Server administrator who is well-versed in its advanced concepts. Style an...
- Contents:
- Cover
- Title Page
- Copyright and Credits
- Dedication
- Packt Upsell
- Contributors
- Table of Contents
- Preface
- Chapter 1: Deploying Ubuntu Server
- Technical requirements
- Setting up our lab
- Determining your server's role
- Deciding between 32- and 64-bit installations
- Obtaining Ubuntu Server installation media
- Creating a bootable Ubuntu Server flash drive
- Planning the partitioning layout
- Installing Ubuntu Server
- Installing Ubuntu Server on Raspberry Pi 3
- Summary
- Questions
- Further reading
- 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 users
- Managing groups
- Managing passwords and password policies
- Configuring administrator access with sudo
- Setting permissions on files and directories
- Chapter 3: Managing Storage Volumes
- Understanding the Linux filesystem
- Using symbolic and hard links
- Viewing disk usage
- Adding additional storage volumes
- Partitioning and formatting volumes
- Mounting and unmounting volumes
- Understanding the /etc/fstab file
- Managing swap
- Utilizing LVM volumes
- Understanding RAID
- Chapter 4: Connecting to Networks
- Setting the hostname
- Managing network interfaces
- Assigning static IP addresses
- Understanding NetworkManager
- Understanding Linux name resolution
- Getting started with OpenSSH
- Getting started with SSH key management
- Simplifying SSH connections with a config file
- Chapter 5: Managing Software Packages
- Understanding Linux package management
- Taking advantage of hardware enablement updates.
- Understanding the differences between Debian and Snap packages
- Installing and removing software
- Searching for packages
- Managing package repositories
- Backing up and restoring Debian packages
- Cleaning up orphaned apt packages
- Making use of Aptitude
- Chapter 6: Controlling and Monitoring Processes
- Showing running processes with the ps command
- Managing jobs
- Dealing with misbehaving processes
- Utilizing htop
- Managing system processes
- Monitoring memory usage
- Scheduling tasks with cron
- Understanding load average
- Chapter 7: Setting Up Network Services
- Planning your IP address scheme
- Serving IP addresses with isc-dhcp-server
- Setting up DNS with bind
- Creating a secondary (slave) DNS server
- Setting up an internet gateway
- Keeping your clock in sync with NTP
- Chapter 8: Sharing and Transferring Files
- File server considerations
- Sharing files with Windows users via Samba
- Setting up NFS shares
- Transferring files with rsync
- Transferring files with scp
- Mounting remote directories with SSHFS
- Chapter 9: Managing Databases
- Preparations for setting up a database server
- Installing MariaDB
- Understanding the MariaDB configuration files
- Managing MariaDB databases
- Setting up a slave database server
- Chapter 10: Serving Web Content
- Installing and configuring Apache
- Installing additional Apache modules
- Securing Apache with SSL
- Installing and configuring NGINX
- Setting up failover with keepalived
- Setting up and configuring Nextcloud
- Chapter 11: Learning Advanced Shell Techniques
- Understanding the Linux shell
- Understanding Bash history.
- Learning some useful command-line tricks
- Redirecting output
- Understanding variables
- Writing simple scripts
- Putting it all together: Writing an rsync backup script
- Chapter 12: Virtualization
- Setting up a virtual machine server
- Creating virtual machines
- Bridging the virtual machine network
- Simplifying virtual machine creation with cloning
- Managing virtual machines via the command line
- Chapter 13: Running Containers
- What is containerization?
- Understanding the differences between Docker and LXD
- Installing Docker
- Managing Docker containers
- Automating Docker image creation with Dockerfiles
- Managing LXD containers
- Chapter 14: Automating Server Configuration with Ansible
- Understanding the need for configuration management
- Why Ansible?
- Creating a Git repository
- Getting started with Ansible
- Making your servers do your bidding
- Putting it all together - Automating web server deployment
- Using Ansible's pull method
- Chapter 15: Securing Your Server
- Lowering your attack surface
- Understanding and responding to CVEs
- Installing security updates
- Automatically installing patches with the Canonical Livepatch service
- Monitoring Ubuntu servers with Canonical's Landscape service
- Securing OpenSSH
- Installing and configuring Fail2ban
- MariaDB best practices for secure database servers
- Setting up a firewall
- Encrypting and decrypting disks with LUKS
- Locking down sudo
- Chapter 16: Troubleshooting Ubuntu Servers
- Evaluating the problem space
- Conducting a root cause analysis
- Viewing system logs
- Tracing network issues
- Troubleshooting resource issues.
- Diagnosing defective RAM
- Chapter 17: Preventing and Recovering from Disasters
- Preventing disasters
- Utilizing Git for configuration management
- Implementing a backup plan
- Replacing failed RAID disks
- Utilizing bootable recovery media
- Further Reading
- Appendix A: Using the Alternate Installer
- Obtaining the Alternate Installer
- Installing via the Alternate Installer
- Setting up software RAID
- Appendix B: Assessments
- Chapter 1 - Deploying Ubuntu Server
- Chapter 2 - Managing Users
- Chapter 3 - Managing Storage Volumes
- Chapter 4 - Connecting to Networks
- Chapter 5 - Managing Software Packages
- Chapter 6 - Controlling and Monitoring Processes
- Chapter 7 - Setting Up Network Services
- Chapter 8 - Accessing and sharing files
- Chapter 9 - Sharing and Transferring Files
- Chapter 10 - Serving Web Content
- Chapter 11 - Learning Advanced Shell Techniques
- Chapter 12 - Virtualization
- Chapter 13 - Running Containers
- Chapter 14 - Automating Server Configuration with Ansible
- Chapter 15 - Securing Your Server
- Chapter 16 - Troubleshooting Ubuntu Servers
- Chapter 17 - Preventing and Recovering from Disasters
- Other Books You May Enjoy
- Index.
- Notes:
- Description based on print version record.
- Previous edition published: 2016.
- Includes bibliographical references.
- OCLC:
- 1039690274
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.