Ubuntu Server Cookbook

Arm yourself to make the most of the versatile, powerful Ubuntu Server with over 100 hands-on recipes
Preview in Mapt

Ubuntu Server Cookbook

Uday R. Sawant

2 customer reviews
Arm yourself to make the most of the versatile, powerful Ubuntu Server with over 100 hands-on recipes
Mapt Subscription
FREE
$29.99/m after trial
eBook
$20.00
RRP $39.99
Save 49%
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
$20.00
$49.99
$29.99 p/m after trial
RRP $39.99
RRP $49.99
Subscription
eBook
Print + eBook
Start 14 Day Trial

Frequently bought together


Ubuntu Server Cookbook Book Cover
Ubuntu Server Cookbook
$ 39.99
$ 20.00
Linux: Powerful Server Administration Book Cover
Linux: Powerful Server Administration
$ 79.99
$ 40.00
Buy 2 for $35.00
Save $84.98
Add to Cart

Book Details

ISBN 139781785883064
Paperback456 pages

Book Description

Ubuntu is one of the most secure operating systems and defines the highest level of security as compared other operating system. Ubuntu server is a popular Linux distribution and the first choice when deploying a Linux server. It can be used with a $35 Raspberry Pi to top-notch, thousand-dollar-per-month cloud hardware. Built with lists that there are 4 million + websites built using Ubuntu. With its easy-to-use package management tools and availability of well-known packages, we can quickly set up our own services such as web servers and database servers using Ubuntu.

This book will help you develop the skills required to set up high performance and secure services with open source tools. Starting from user management and an in-depth look at networking, we then move on to cover the installation and management of web servers and database servers, as well as load balancing various services. You will quickly learn to set up your own cloud and minimize costs and efforts with application containers. Next, you will get to grips with setting up a secure real-time communication system. Finally, we’ll explore source code hosting and various collaboration tools. By the end of this book, you will be able to make the most of Ubuntu’s advanced functionalities.

Table of Contents

Chapter 1: Managing Users and Groups
Introduction
Creating a user account
Creating user accounts in batch mode
Creating a group
Adding group members
Deleting a user account
Managing file permissions
Getting root privileges with sudo
Setting resource limits with limits.conf
Setting up public key authentication
Securing user accounts
Chapter 2: Networking
Introduction
Connecting to a network with a static IP
Installing the DHCP server
Installing the DNS server
Hiding behind the proxy with squid
Being on time with NTP
Discussing load balancing with HAProxy
Tuning the TCP stack
Troubleshooting network connectivity
Securing remote access with OpenVPN
Securing a network with uncomplicated firewall
Securing against brute force attacks
Discussing Ubuntu security best practices
Chapter 3: Working with Web Servers
Introduction
Installing and configuring the Apache web server
Serving dynamic contents with PHP
Hosting multiple websites with a virtual domain
Securing web traffic with HTTPS
Installing Nginx with PHP_FPM
Setting Nginx as a reverse proxy
Load balancing with Nginx
Setting HTTPs on Nginx
Benchmarking and performance tuning of Apache
Securing the web server
Troubleshooting the web server
Chapter 4: Working with Mail Servers
Introduction
Sending e-mails with Postfix
Enabling IMAP and POP3 with Dovecot
Adding e-mail accounts
Mail filtering with spam-assassin
Troubleshooting the mail server
Installing the Zimbra mail server
Chapter 5: Handling Databases
Introduction
Installing relational databases with MySQL
Storing and retrieving data with MySQL
Importing and exporting bulk data
Adding users and assigning access rights
Installing web access for MySQL
Setting backups
Optimizing MySQL performance – queries
Optimizing MySQL performance – configuration
Creating MySQL replicas for scaling and high availability
Troubleshooting MySQL
Installing MongoDB
Storing and retrieving data with MongoDB
Chapter 6: Network Storage
Introduction
Installing the Samba server
Adding users to the Samba server
Installing the secure FTP server
Synchronizing files with Rsync
Performance tuning the Samba server
Troubleshooting the Samba server
Installing the Network File System
Chapter 7: Cloud Computing
Introduction
Creating virtual machine with KVM
Managing virtual machines with virsh
Setting up your own cloud with OpenStack
Adding a cloud image to OpenStack
Launching a virtual instance with OpenStack
Installing Juju a service orchestration framework
Managing services with Juju
Chapter 8: Working with Containers
Introduction
Installing LXD, the Linux container daemon
Deploying your first container with LXD
Managing LXD containers
Managing LXD containers – advanced options
Setting resource limits on LXD containers
Networking with LXD
Installing Docker
Starting and managing Docker containers
Creating images with a Dockerfile
Understanding Docker volumes
Deploying WordPress using a Docker network
Monitoring Docker containers
Securing Docker containers
Chapter 9: Streaming with Ampache
Introduction
Installing the Ampache server
Uploading contents and creating catalogs
Setting on-the-fly transcoding
Enabling API access for remote streaming
Streaming music with Ampache
Chapter 10: Communication Server with XMPP
Introduction
Installing Ejabberd
Creating users and connecting with the XMPP client
Configuring the Ejabberd installation
Creating web client with Strophe.js
Enabling group chat
Chat server with Node.js
Chapter 11: Git Hosting
Introduction
Installing Git
Creating a local repository with Git CLI
Storing file revisions with Git commit
Synchronizing the repository with a remote server
Receiving updates with Git pull
Creating repository clones
Installing GitLab, your own Git hosting
Adding users to the GitLab server
Creating a repository with GitLab
Automating common tasks with Git hooks
Chapter 12: Collaboration Tools
Introduction
Installing the VNC server
Installing Hackpad, a collaborative document editor
Installing Mattermost – a self-hosted slack alternative
Installing OwnCloud, self-hosted cloud storage
Chapter 13: Performance Monitoring
Introduction
Monitoring the CPU
Monitoring memory and swap
Monitoring the network
Monitoring storage
Setting performance benchmarks
Chapter 14: Centralized Authentication Service
Introduction
Installing OpenLDAP
Installing phpLDAPadmin
Ubuntu server logins with LDAP
Authenticating Ejabberd users with LDAP

What You Will Learn

  • Set up high performance, scalable, and fault-tolerant back ends with web and database servers
  • Facilitate team communication with a real-time chat service and collaboration tools
  • Quickly deploy your applications to their own containers and scale your infrastructure as and when needed
  • Find out how to set up your own cloud infrastructure for your internal use or rent it to the public
  • Ensure quick and easy access for your users while also securing your infrastructure from intruders
  • Set up a high performance private network with a personal VPN server and centralized authentication system
  • Swiftly start a content streaming service
  • Set up network storage for private data and source code and say good bye to costly and unreliable cloud services

Authors

Table of Contents

Chapter 1: Managing Users and Groups
Introduction
Creating a user account
Creating user accounts in batch mode
Creating a group
Adding group members
Deleting a user account
Managing file permissions
Getting root privileges with sudo
Setting resource limits with limits.conf
Setting up public key authentication
Securing user accounts
Chapter 2: Networking
Introduction
Connecting to a network with a static IP
Installing the DHCP server
Installing the DNS server
Hiding behind the proxy with squid
Being on time with NTP
Discussing load balancing with HAProxy
Tuning the TCP stack
Troubleshooting network connectivity
Securing remote access with OpenVPN
Securing a network with uncomplicated firewall
Securing against brute force attacks
Discussing Ubuntu security best practices
Chapter 3: Working with Web Servers
Introduction
Installing and configuring the Apache web server
Serving dynamic contents with PHP
Hosting multiple websites with a virtual domain
Securing web traffic with HTTPS
Installing Nginx with PHP_FPM
Setting Nginx as a reverse proxy
Load balancing with Nginx
Setting HTTPs on Nginx
Benchmarking and performance tuning of Apache
Securing the web server
Troubleshooting the web server
Chapter 4: Working with Mail Servers
Introduction
Sending e-mails with Postfix
Enabling IMAP and POP3 with Dovecot
Adding e-mail accounts
Mail filtering with spam-assassin
Troubleshooting the mail server
Installing the Zimbra mail server
Chapter 5: Handling Databases
Introduction
Installing relational databases with MySQL
Storing and retrieving data with MySQL
Importing and exporting bulk data
Adding users and assigning access rights
Installing web access for MySQL
Setting backups
Optimizing MySQL performance – queries
Optimizing MySQL performance – configuration
Creating MySQL replicas for scaling and high availability
Troubleshooting MySQL
Installing MongoDB
Storing and retrieving data with MongoDB
Chapter 6: Network Storage
Introduction
Installing the Samba server
Adding users to the Samba server
Installing the secure FTP server
Synchronizing files with Rsync
Performance tuning the Samba server
Troubleshooting the Samba server
Installing the Network File System
Chapter 7: Cloud Computing
Introduction
Creating virtual machine with KVM
Managing virtual machines with virsh
Setting up your own cloud with OpenStack
Adding a cloud image to OpenStack
Launching a virtual instance with OpenStack
Installing Juju a service orchestration framework
Managing services with Juju
Chapter 8: Working with Containers
Introduction
Installing LXD, the Linux container daemon
Deploying your first container with LXD
Managing LXD containers
Managing LXD containers – advanced options
Setting resource limits on LXD containers
Networking with LXD
Installing Docker
Starting and managing Docker containers
Creating images with a Dockerfile
Understanding Docker volumes
Deploying WordPress using a Docker network
Monitoring Docker containers
Securing Docker containers
Chapter 9: Streaming with Ampache
Introduction
Installing the Ampache server
Uploading contents and creating catalogs
Setting on-the-fly transcoding
Enabling API access for remote streaming
Streaming music with Ampache
Chapter 10: Communication Server with XMPP
Introduction
Installing Ejabberd
Creating users and connecting with the XMPP client
Configuring the Ejabberd installation
Creating web client with Strophe.js
Enabling group chat
Chat server with Node.js
Chapter 11: Git Hosting
Introduction
Installing Git
Creating a local repository with Git CLI
Storing file revisions with Git commit
Synchronizing the repository with a remote server
Receiving updates with Git pull
Creating repository clones
Installing GitLab, your own Git hosting
Adding users to the GitLab server
Creating a repository with GitLab
Automating common tasks with Git hooks
Chapter 12: Collaboration Tools
Introduction
Installing the VNC server
Installing Hackpad, a collaborative document editor
Installing Mattermost – a self-hosted slack alternative
Installing OwnCloud, self-hosted cloud storage
Chapter 13: Performance Monitoring
Introduction
Monitoring the CPU
Monitoring memory and swap
Monitoring the network
Monitoring storage
Setting performance benchmarks
Chapter 14: Centralized Authentication Service
Introduction
Installing OpenLDAP
Installing phpLDAPadmin
Ubuntu server logins with LDAP
Authenticating Ejabberd users with LDAP

Book Details

ISBN 139781785883064
Paperback456 pages
Read More
From 2 reviews

Read More Reviews

Recommended for You

Linux: Powerful Server Administration Book Cover
Linux: Powerful Server Administration
$ 79.99
$ 40.00
CentOS 7 Linux Server Cookbook - Second Edition Book Cover
CentOS 7 Linux Server Cookbook - Second Edition
$ 39.99
$ 20.00
DevOps: Puppet, Docker, and Kubernetes Book Cover
DevOps: Puppet, Docker, and Kubernetes
$ 79.99
$ 40.00
NGINX Cookbook Book Cover
NGINX Cookbook
$ 35.99
$ 18.00
Working with Linux - Quick Hacks for the Command Line Book Cover
Working with Linux - Quick Hacks for the Command Line
$ 31.99
$ 16.00
Mastering Docker - Second Edition Book Cover
Mastering Docker - Second Edition
$ 39.99
$ 20.00