2 options
Mastering ubuntu server : gain expertise in the art of deploying, configuring, managing, and troubleshooting ubuntu server / Jay LaCroix.
- Format:
- Book
- Author/Creator:
- LaCroix, Jay, author.
- Language:
- English
- Subjects (All):
- Ubuntu (Electronic resource).
- Physical Description:
- 1 online resource (703 pages) : illustrations
- Edition:
- Third edition.
- Place of Publication:
- Birmingham, England : Packt Publishing, Limited, [2020]
- Summary:
- Mastering Ubuntu Server, Third Edition not only strengthens your server fundamentals but also equips you with the advanced concepts of Ubuntu 20.04 LTS. It polishes and expands your skill set to prepare you for better business opportunities.
- Contents:
- Cover
- Copyright
- Packt Page
- Contributors
- Table of Contents
- Preface
- Chapter 1: Deploying Ubuntu Server
- Technical requirements
- Determining your server's role
- Setting up our server
- Virtual machine
- Physical server
- Virtual private server
- Spare desktop or laptop
- Raspberry Pi
- Obtaining installation media
- Creating a bootable flash drive
- Planning the partitioning layout
- Installing Ubuntu Server
- Installing media
- Customizing the installation
- Configuring the server's disk
- Creating the initial user account
- Installing Ubuntu on a Raspberry Pi
- Summary
- Further Reading
- Chapter 2: Managing Users and Permissions
- Understanding users and groups
- Understanding when to use root
- Using sudo to run privileged commands
- Creating and removing users
- Using useradd
- Using adduser
- Removing users
- Understanding the /etc/passwd and /etc/shadow files
- Using/etc/passwd
- Using /etc/shadow
- Distributing default configuration files with /etc/skel
- Switching users
- Managing groups
- Managing passwords and password policies
- Locking and unlocking user accounts
- Setting password expiration information
- Setting a password policy
- Configuring administrator access with sudo
- Setting permissions on files and directories
- Viewing permissions
- Changing permissions
- Changing the ownership of objects
- Further reading
- Chapter 3: Managing Software Packages
- Understanding Linux package management
- Understanding the differences between Debian and Snap packages
- Debian packages
- Snap packages
- Installing and removing software
- Managing Debian packages with apt
- Managing Snap packages with snap
- Searching for packages
- Managing package repositories
- Adding additional repositories
- Adding Personal Package Archives.
- Backing up and restoring Debian packages
- Cleaning up orphaned apt packages
- Taking advantage of hardware enablement updates
- Chapter 4: Navigating and Essential Commands
- Learning essential Linux commands
- Understanding the Linux filesystem layout
- Viewing the contents of files
- Viewing application log files
- Chapter 5: Managing Files and Directories
- Copying, moving, and renaming files and directories
- Editing files with the Nano and Vim text editors
- Editing with Nano
- Editing with Vim
- Input and output streams
- Using symbolic and hard links
- Chapter 6: Boosting Your Command-line Efficiency
- Understanding the Linux shell
- Understanding Bash history
- Learning some useful command-line tricks
- Understanding variables
- Writing simple scripts
- Putting it all together - Writing an rsync backup script
- Chapter 7: Controlling and Managing Processes
- Managing jobs
- Understanding the ps command
- Viewing running processes with ps
- Configuring arguments to ps
- Changing the priority of processes
- Dealing with misbehaving processes
- Managing system processes
- Scheduling tasks with cron
- Chapter 8: Monitoring System Resources
- Viewing disk usage
- Using df
- Diving deeper into disk usage
- Monitoring memory usage
- Understanding server memory
- Managing swap
- Understanding load average
- Viewing resource usage with htop
- Chapter 9: Managing Storage Volumes
- Adding additional storage volumes
- Formatting and partitioning storage devices
- Creating a partition
- Formatting partitions
- Mounting and unmounting volumes
- Understanding the /etc/fstab file
- Analyzing the contents of /etc/fstab.
- Adding to the /etc/fstab file
- Backing up and restoring volumes
- Utilizing LVM
- Getting started with LVM
- Formatting logical volumes
- Removing volumes with LVM
- Understanding LVM snapshots
- Chapter 10: Connecting to Networks
- Setting the hostname
- Managing network interfaces
- Assigning static IP addresses
- Understanding Linux name resolution
- Getting started with OpenSSH
- Installing OpenSSH
- Issuing commands with OpenSSH
- Getting started with SSH key management
- Generating public and private keys
- Copying your public key to a remote server
- Utilizing an SSH agent
- Changing the passphrase of an OpenSSH key
- Simplifying SSH connections with a config file
- Chapter 11: Setting Up Network Services
- Planning your IP address scheme
- Setting up a DHCP server for serving IP addresses
- Adding a DNS server
- Setting up external DNS with bind
- Setting up internal DNS and adding hosts
- Setting up an internet gateway
- Keeping your clock in sync with NTP
- Chapter 12: 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 13: Managing Databases
- Preparations for setting up a database server
- Installing MariaDB
- Understanding the MariaDB configuration files
- Managing MariaDB databases
- Setting up a secondary database server
- Chapter 14: Serving Web Content
- Installing and configuring Apache
- Installing additional Apache modules
- Securing Apache with TLS
- Installing and configuring NGINX
- Setting up failover with keepalived.
- Setting up and configuring Nextcloud
- Chapter 15: 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
- Setting up an inventory file and configuring Ansible settings
- Configuring client servers
- Putting it all together - automating web server deployment
- Using Ansible's pull method
- Chapter 16: Virtualization
- Prerequisites and considerations
- 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 17: 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 18: Container Orchestration
- Container orchestration
- Preparing a lab environment for Kubernetes testing
- Utilizing MicroK8s
- Installing MicroK8s on Linux
- Installing MicroK8s on macOS
- Installing MicroK8s on Windows
- Interacting with MicroK8s
- Setting up a Kubernetes cluster
- Configuring Docker
- Testing Docker
- Installing Kubernetes
- Deploying containers via Kubernetes
- Chapter 19: Deploying Ubuntu in the Cloud
- Understanding the difference between on-premises and cloud infrastructure
- Important considerations when considering cloud computing as a potential solution
- Becoming familiar with some basic AWS concepts
- Creating an AWS account
- Signing up for AWS
- Implementing basic user security.
- Choosing a region
- Deploying Ubuntu as an AWS EC2 instance
- Setting up an IAM Role for Session Manager
- Creating an Ubuntu Server instance in AWS
- Creating and deploying Ubuntu AMI images
- Automatically scaling Ubuntu EC2 deployments with Auto Scaling
- Creating a launch template
- Creating an Auto Scaling group
- Creating a load balancer
- Keeping costs down: understanding how to save money and make cost-effective decisions
- Viewing billing information
- Adding a billing alert
- Removing unneeded backups
- Running EC2 instances only when they're needed
- Stopping or terminating unneeded EC2 instances
- Taking cloud further: additional resources to grow your knowledge
- Online training and labs
- Certification
- Keep experimenting and learning
- AWS documentation
- Chapter 20: Automating Cloud Deployments with Terraform
- Why it's important to automate your infrastructure
- Introduction to Terraform and how it can fit within your workflow
- Installing Terraform
- Automating an EC2 instance deployment
- Managing security groups with Terraform
- Using Terraform to destroy unused resources
- Combining Ansible with Terraform for a full deployment solution
- Chapter 21: 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 22: Troubleshooting Ubuntu Servers
- Evaluating the scope
- Conducting a root cause analysis
- Viewing system logs.
- Tracing network issues.
- Notes:
- Includes index.
- Description based on print version record.
- Description based on publisher supplied metadata and other sources.
- OCLC:
- 1229925406
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.