
The leading platform for scale-out computing, Ubuntu Server helps you make the most of your infrastructure. Whether you want to deploy an OpenStack cloud, a Hadoop cluster or a 50,000-node render farm, Ubuntu Server delivers the best value scale-out performance available.
Here you can find information on how to install and configure various server applications. It is a step-by-step, task-oriented guide for configuring and customizing your system.
This guide assumes you have a basic understanding of your Ubuntu system. Some installation details are covered in Installation, but if you need detailed instructions installing Ubuntu please refer to the Ubuntu Installation Guide.
A HTML version of the manual is available online at the Ubuntu Documentation website.
- Ubuntu Server Guide
- Table of Contents
- Chapter 1. Introduction
- 1. Support
- Chapter 2. Installation
- 1. Preparing to Install
- 1.1. System Requirements
- 1.2. Server and Desktop Differences
- 1.2.1. Kernel Differences:
- 1.3. Backing Up
- 2. Installing from CD
- 2.1. Package Tasks
- 3. Upgrading
- 3.1. do-release-upgrade
- 4. Advanced Installation
- 4.1. Software RAID
- 4.1.1. Partitioning
- 4.1.2. RAID Configuration
- 4.1.3. Formatting
- 4.1.4. Degraded RAID
- 4.1.5. RAID Maintenance
- 4.1.6. Resources
- 4.2. Logical Volume Manager (LVM)
- 4.2.1. Overview
- 4.2.2. Installation
- 4.2.3. Extending Volume Groups
- 4.2.4. Resources
- 4.1. Software RAID
- 5. Kernel Crash Dump
- 5.1. Introduction
- 5.2. Kernel Crash Dump Mechanism
- 5.3. Installation
- 5.4. Configuration
- 5.5. Verification
- 5.6. Testing the Crash Dump Mechanism
- 5.7. Resources
- 1. Preparing to Install
- Chapter 3. Package Management
- 1. Introduction
- 2. dpkg
- 3. Apt-Get
- 4. Aptitude
- 4.1. Command Line Aptitude
- 5. Automatic Updates
- 5.1. Notifications
- 6. Configuration
- 6.1. Extra Repositories
- 7. References
- Chapter 4. Networking
- 1. Network Configuration
- 1.1. Ethernet Interfaces
- 1.1.1. Identify Ethernet Interfaces
- 1.1.2. Ethernet Interface Logical Names
- 1.1.3. Ethernet Interface Settings
- 1.2. IP Addressing
- 1.2.1. Temporary IP Address Assignment
- 1.2.2. Dynamic IP Address Assignment (DHCP Client)
- 1.2.3. Static IP Address Assignment
- 1.2.4. Loopback Interface
- 1.3. Name Resolution
- 1.3.1. DNS Client Configuration
- 1.3.2. Static Hostnames
- 1.3.3. Name Service Switch Configuration
- 1.4. Bridging
- 1.5. Resources
- 1.1. Ethernet Interfaces
- 2. TCP/IP
- 2.1. TCP/IP Introduction
- 2.2. TCP/IP Configuration
- 2.3. IP Routing
- 2.4. TCP and UDP
- 2.5. ICMP
- 2.6. Daemons
- 2.7. Resources
- 3. Dynamic Host Configuration Protocol (DHCP)
- 3.1. Installation
- 3.2. Configuration
- 3.3. References
- 4. Time Synchronisation with NTP
- 4.1. ntpdate
- 4.2. ntpd
- 4.3. Installation
- 4.4. Configuration
- 4.5. View status
- 4.6. References
- 1. Network Configuration
- Chapter 5. DM-Multipath
- 1. Device Mapper Multipathing
- 1.1. New and Changed Features for Ubuntu Server 12.04
- 1.1.1. Migration from 0.4.8
- 1.2. Overview
- 1.3. Storage Array Overview
- 1.4. DM-Multipath components
- 1.5. DM-Multipath Setup Overview
- 1.1. New and Changed Features for Ubuntu Server 12.04
- 2. Multipath Devices
- 2.1. Multipath Device Identifiers
- 2.2. Consistent Multipath Device Names in a Cluster
- 2.3. Multipath Device attributes
- 2.4. Multipath Devices in Logical Volumes
- 3. Setting up DM-Multipath Overview
- 3.1. Setting Up DM-Multipath
- 3.2. Installing with Multipath Support
- 3.3. Ignoring Local Disks When Generating Multipath Devices
- 3.4. Configuring Storage Devices
- 4. The DM-Multipath Configuration File
- 4.1. Configuration File Overview
- 4.2. Configuration File Blacklist
- 4.2.1. Blacklisting By WWID
- 4.2.2. Blacklisting By Device Name
- 4.2.3. Blacklisting By Device Type
- 4.2.4. Blacklist Exceptions
- 4.3. Configuration File Defaults
- 4.4. Configuration File Multipath Attributes
- 4.5. Configuration File Devices
- 5. DM-Multipath Administration and Troubleshooting
- 5.1. Resizing an Online Multipath Device
- 5.2. Moving root File Systems from a Single Path Device to a Multipath Device
- 5.3. Moving swap File Systems from a Single Path Device to a Multipath Device
- 5.4. The Multipath Daemon
- 5.5. Issues with queue_if_no_path
- 5.6. Multipath Command Output
- 5.7. Multipath Queries with multipath Command
- 5.8. Multipath Command Options
- 5.9. Determining Device Mapper Entries with dmsetup Command
- 5.10. Troubleshooting with the multipathd interactive console
- 1. Device Mapper Multipathing
- Chapter 6. Remote Administration
- 1. OpenSSH Server
- 1.1. Introduction
- 1.2. Installation
- 1.3. Configuration
- 1.4. SSH Keys
- 1.5. References
- 2. Puppet
- 2.1. Preconfiguration
- 2.2. Installation
- 2.3. Configuration
- 2.4. Resources
- 3. Zentyal
- 3.1. Installation
- 3.2. First steps
- 3.3. References
- 1. OpenSSH Server
- Chapter 7. Network Authentication
- 1. OpenLDAP Server
- 1.1. Installation
- 1.2. Post-install Inspection
- 1.3. Modifying/Populating your Database
- 1.4. Modifying the slapd Configuration Database
- 1.5. Logging
- 1.6. Replication
- 1.6.1. Provider Configuration
- 1.6.2. Consumer Configuration
- 1.6.3. Testing
- 1.7. Access Control
- 1.8. TLS
- 1.9. Replication and TLS
- 1.10. LDAP Authentication
- 1.11. User and Group Management
- 1.12. Backup and Restore
- 1.13. Resources
- 2. Samba and LDAP
- 2.1. Software Installation
- 2.2. LDAP Configuration
- 2.2.1. Samba schema
- 2.2.2. Samba indices
- 2.2.3. Adding Samba LDAP objects
- 2.3. Samba Configuration
- 2.4. Resources
- 3. Kerberos
- 3.1. Overview
- 3.2. Kerberos Server
- 3.2.1. Installation
- 3.2.2. Configuration
- 3.3. Secondary KDC
- 3.4. Kerberos Linux Client
- 3.4.1. Installation
- 3.4.2. Configuration
- 3.5. Resources
- 4. Kerberos and LDAP
- 4.1. Configuring OpenLDAP
- 4.2. Primary KDC Configuration
- 4.3. Secondary KDC Configuration
- 4.4. Resources
- 1. OpenLDAP Server
- Chapter 8. Domain Name Service (DNS)
- 1. Installation
- 2. Configuration
- 2.1. Overview
- 2.2. Caching Nameserver
- 2.3. Primary Master
- 2.3.1. Forward Zone File
- 2.3.2. Reverse Zone File
- 2.4. Secondary Master
- 3. Troubleshooting
- 3.1. Testing
- 3.1.1. resolv.conf
- 3.1.2. dig
- 3.1.3. ping
- 3.1.4. named-checkzone
- 3.2. Logging
- 3.1. Testing
- 4. References
- 4.1. Common Record Types
- 4.2. More Information
- Chapter 9. Security
- 1. User Management
- 1.1. Where is root?
- 1.2. Adding and Deleting Users
- 1.3. User Profile Security
- 1.4. Password Policy
- 1.4.1. Minimum Password Length
- 1.4.2. Password Expiration
- 1.5. Other Security Considerations
- 1.5.1. SSH Access by Disabled Users
- 1.5.2. External User Database Authentication
- 2. Console Security
- 2.1. Disable Ctrl+Alt+Delete
- 3. Firewall
- 3.1. Introduction
- 3.2. ufw - Uncomplicated Firewall
- 3.2.1. ufw Application Integration
- 3.3. IP Masquerading
- 3.3.1. ufw Masquerading
- 3.3.2. iptables Masquerading
- 3.4. Logs
- 3.5. Other Tools
- 3.6. References
- 4. AppArmor
- 4.1. Using AppArmor
- 4.2. Profiles
- 4.2.1. Creating a Profile
- 4.2.2. Updating Profiles
- 4.3. References
- 5. Certificates
- 5.1. Types of Certificates
- 5.2. Generating a Certificate Signing Request (CSR)
- 5.3. Creating a Self-Signed Certificate
- 5.4. Installing the Certificate
- 5.5. Certification Authority
- 5.6. References
- 6. eCryptfs
- 6.1. Using eCryptfs
- 6.2. Automatically Mounting Encrypted Partitions
- 6.3. Other Utilities
- 6.4. References
- 1. User Management
- Chapter 10. Monitoring
- 1. Overview
- 2. Nagios
- 2.1. Installation
- 2.2. Configuration Overview
- 2.3. Configuration
- 2.4. References
- 3. Munin
- 3.1. Installation
- 3.2. Configuration
- 3.3. Additional Plugins
- 3.4. References
- Chapter 11. Web Servers
- 1. HTTPD - Apache2 Web Server
- 1.1. Installation
- 1.2. Configuration
- 1.2.1. Basic Settings
- 1.2.2. Default Settings
- 1.2.3. httpd Settings
- 1.2.4. Apache2 Modules
- 1.3. HTTPS Configuration
- 1.4. Sharing Write Permission
- 1.5. References
- 2. PHP5 - Scripting Language
- 2.1. Installation
- 2.2. Configuration
- 2.3. Testing
- 2.4. References
- 3. Squid - Proxy Server
- 3.1. Installation
- 3.2. Configuration
- 3.3. References
- 4. Ruby on Rails
- 4.1. Installation
- 4.2. Configuration
- 4.3. References
- 5. Apache Tomcat
- 5.1. System-wide installation
- 5.2. Configuration
- 5.2.1. Changing default ports
- 5.2.2. Changing JVM used
- 5.2.3. Declaring users and roles
- 5.3. Using Tomcat standard webapps
- 5.3.1. Tomcat documentation
- 5.3.2. Tomcat administration webapps
- 5.3.3. Tomcat examples webapps
- 5.4. Using private instances
- 5.4.1. Installing private instance support
- 5.4.2. Creating a private instance
- 5.4.3. Configuring your private instance
- 5.4.4. Starting/stopping your private instance
- 5.5. References
- 1. HTTPD - Apache2 Web Server
- Chapter 12. Databases
- 1. MySQL
- 1.1. Installation
- 1.2. Configuration
- 1.3. Database Engines
- 1.4. Advanced configuration
- 1.4.1. Creating a tuned my.cnf file
- 1.4.2. MySQL Tuner
- 1.5. Resources
- 2. PostgreSQL
- 2.1. Installation
- 2.2. Configuration
- 2.3. Backups
- 2.4. Resources
- 1. MySQL
- Chapter 13. LAMP Applications
- 1. Overview
- 2. Moin Moin
- 2.1. Installation
- 2.2. Configuration
- 2.3. Verification
- 2.4. References
- 3. MediaWiki
- 3.1. Installation
- 3.2. Configuration
- 3.3. Extensions
- 3.4. References
- 4. phpMyAdmin
- 4.1. Installation
- 4.2. Configuration
- 4.3. References
- 5. WordPress
- 5.1. Installation
- 5.2. Configuration
- 5.3. References
- Chapter 14. File Servers
- 1. FTP Server
- 1.1. vsftpd - FTP Server Installation
- 1.2. Anonymous FTP Configuration
- 1.3. User Authenticated FTP Configuration
- 1.4. Securing FTP
- 1.5. References
- 2. Network File System (NFS)
- 2.1. Installation
- 2.2. Configuration
- 2.3. NFS Client Configuration
- 2.4. References
- 3. iSCSI Initiator
- 3.1. iSCSI Initiator Install
- 3.2. iSCSI Initiator Configuration
- 3.3. References
- 4. CUPS - Print Server
- 4.1. Installation
- 4.2. Configuration
- 4.3. Web Interface
- 4.4. References
- 1. FTP Server
- Chapter 15. Email Services
- 1. Postfix
- 1.1. Installation
- 1.2. Basic Configuration
- 1.3. SMTP Authentication
- 1.4. Configuring SASL
- 1.5. Mail-Stack Delivery
- 1.6. Testing
- 1.7. Troubleshooting
- 1.7.1. Escaping chroot
- 1.7.2. Smtps
- 1.7.3. Log Files
- 1.7.4. References
- 2. Exim4
- 2.1. Installation
- 2.2. Configuration
- 2.3. SMTP Authentication
- 2.4. Configuring SASL
- 2.5. References
- 3. Dovecot Server
- 3.1. Installation
- 3.2. Configuration
- 3.3. Dovecot SSL Configuration
- 3.4. Firewall Configuration for an Email Server
- 3.5. References
- 4. Mailman
- 4.1. Installation
- 4.1.1. Apache2
- 4.1.2. Postfix
- 4.1.3. Exim4
- 4.1.4. Mailman
- 4.2. Configuration
- 4.2.1. Apache2
- 4.2.2. Postfix
- 4.2.3. Exim4
- 4.2.4. Main
- 4.2.5. Transport
- 4.2.6. Router
- 4.2.7. Mailman
- 4.3. Administration
- 4.4. Users
- 4.5. References
- 4.1. Installation
- 5. Mail Filtering
- 5.1. Installation
- 5.2. Configuration
- 5.2.1. ClamAV
- 5.2.2. Spamassassin
- 5.2.3. Amavisd-new
- 5.2.3.1. DKIM Whitelist
- 5.2.4. Postfix
- 5.2.5. Amavisd-new and Spamassassin
- 5.3. Testing
- 5.4. Troubleshooting
- 5.5. References
- 1. Postfix
- Chapter 16. Chat Applications
- 1. Overview
- 2. IRC Server
- 2.1. Installation
- 2.2. Configuration
- 2.3. References
- 3. Jabber Instant Messaging Server
- 3.1. Installation
- 3.2. Configuration
- 3.3. References
- Chapter 17. Version Control System
- 1. Bazaar
- 1.1. Installation
- 1.2. Configuration
- 1.3. Learning Bazaar
- 1.4. Launchpad Integration
- 2. Git
- 2.1. Installation
- 2.2. Configuration
- 2.3. Basic usage
- 2.4. Installing a gitolite server
- 2.5. Gitolite configuration
- 2.6. Managing gitolite users and repositories
- 2.7. Using your server
- 3. Subversion
- 3.1. Installation
- 3.2. Server Configuration
- 3.2.1. Create Subversion Repository
- 3.2.2. Importing Files
- 3.3. Access Methods
- 3.3.1. Direct repository access (file://)
- 3.3.2. Access via WebDAV protocol (http://)
- 3.3.3. Access via WebDAV protocol with SSL encryption (https://)
- 3.3.4. Access via custom protocol (svn://)
- 3.3.5. Access via custom protocol with SSH encryption (svn+ssh://)
- 4. References
- 1. Bazaar
- Chapter 18. Samba
- 1. Introduction
- 2. File Server
- 2.1. Installation
- 2.2. Configuration
- 2.3. Resources
- 3. Print Server
- 3.1. Installation
- 3.2. Configuration
- 3.3. Resources
- 4. Securing File and Print Server
- 4.1. Samba Security Modes
- 4.2. Security = User
- 4.3. Share Security
- 4.3.1. Groups
- 4.3.2. File Permissions
- 4.4. Samba AppArmor Profile
- 4.5. Resources
- 5. As a Domain Controller
- 5.1. Primary Domain Controller
- 5.2. Backup Domain Controller
- 5.3. Resources
- 6. Active Directory Integration
- 6.1. Accessing a Samba Share
- 6.2. Accessing a Windows Share
- 6.3. Resources
- Chapter 19. Backups
- 1. Shell Scripts
- 1.1. Simple Shell Script
- 1.2. Executing the Script
- 1.2.1. Executing from a Terminal
- 1.2.2. Executing with cron
- 1.3. Restoring from the Archive
- 1.4. References
- 2. Archive Rotation
- 2.1. Rotating NFS Archives
- 2.2. Tape Drives
- 3. Bacula
- 3.1. Overview
- 3.2. Installation
- 3.3. Configuration
- 3.4. Localhost Backup
- 3.5. Resources
- 1. Shell Scripts
- Chapter 20. Virtualization
- 1. libvirt
- 1.1. Virtual Networking
- 1.2. Installation
- 1.3. virt-install
- 1.4. virt-clone
- 1.5. Virtual Machine Management
- 1.5.1. virsh
- 1.5.2. Virtual Machine Manager
- 1.6. Virtual Machine Viewer
- 1.7. Resources
- 2. Cloud images and uvtool
- 2.1. Introduction
- 2.2. Creating virtual machines using uvtool
- 2.2.1. Uvtool packages
- 2.2.2. Get the Ubuntu Cloud Image with uvt-simplestreams-libvirt
- 2.2.3. Create the VM using uvt-kvm
- 2.2.4. Connect to the running VM
- 2.2.5. Get the list of running VMs
- 2.2.6. Destroy your VM
- 2.2.7. More uvt-kvm options
- 2.3. Resources
- 3. Ubuntu Cloud
- 3.1. Installation and Configuration
- 3.2. Support and Troubleshooting
- 3.3. Resources
- 4. LXC
- 4.1. Installation
- 4.2. Basic usage
- 4.2.1. Basic privileged usage
- 4.2.2. User namespaces
- 4.2.3. Basic unprivileged usage
- 4.2.4. Nesting
- 4.3. Global configuration
- 4.4. Networking
- 4.5. LXC startup
- 4.6. Backing Stores
- 4.7. Templates
- 4.8. Autostart
- 4.9. Apparmor
- 4.9.1. Customizing container policies
- 4.10. Control Groups
- 4.11. Cloning
- 4.11.1. Snapshots
- 4.11.2. Ephemeral Containers
- 4.12. Lifecycle management hooks
- 4.13. Consoles
- 4.14. Troubleshooting
- 4.14.1. Logging
- 4.14.2. Monitoring container status
- 4.14.3. Attach
- 4.14.4. Container init verbosity
- 4.15. LXC API
- 4.16. Security
- 4.16.1. Exploitable system calls
- 4.17. Resources
- 1. libvirt
- Chapter 21. Control Groups
- 1. Overview
- 2. Filesystem
- 3. Delegation
- 4. Manager
- 5. Resources
- Chapter 22. Clustering
- 1. DRBD
- 1.1. Configuration
- 1.2. Testing
- 1.3. References
- 1. DRBD
- Chapter 23. VPN
- 1. OpenVPN
- 1.1. Server Installation
- 1.2. Public Key Infrastructure Setup
- 1.2.1. Certificate Authority Setup
- 1.2.2. Server Certificates
- 1.2.3. Client Certificates
- 1.3. Simple Server Configuration
- 1.4. Simple Client Configuration
- 1.5. First trouble shooting
- 1.6. Advanced configuration
- 1.6.1. Advanced routed VPN configuration on server
- 1.6.2. Advanced bridged VPN configuration on server
- 1.6.2.1. Prepare interface config for bridging on server
- 1.6.2.2. Prepare server config for bridging
- 1.6.2.3. Client Configuration
- 1.7. Client software implementations
- 1.7.1. Linux Network-Manager GUI for OpenVPN
- 1.7.2. OpenVPN with GUI for Mac OS X: Tunnelblick
- 1.7.3. OpenVPN with GUI for Win 7
- 1.7.4. OpenVPN for OpenWRT
- 1.8. References
- 1. OpenVPN
- Chapter 24. Other Useful Applications
- 1. pam_motd
- 2. etckeeper
- 3. Byobu
- 4. References
- Appendix A. Appendix
- 1. Reporting Bugs in Ubuntu Server Edition
- 1.1. Reporting Bugs With apport-cli
- 1.2. Reporting Application Crashes
- 1.3. Resources
- 1. Reporting Bugs in Ubuntu Server Edition
Free Machine Learning Books
11 Books
- Pattern Recognition and Machine Learning (Information Science and Statistics)
- by Christopher M. Bishop
- Data mining
- by I. H. Witten
- The Elements of Statistical Learning: Data Mining, Inference, and Prediction
- by Various
Free Chemistry Textbooks
8 Books
- CK-12 Chemistry
- by Various
- Chemistry Grade 10 [CAPS]
- by Free High School Science Texts Project
- General Chemistry II
- by John Hutchinson
Free Mathematics Textbooks
21 Books
- Microsoft Word - How to Use Advanced Algebra II.doc
- by Jonathan Emmons
- Advanced Algebra II: Activities and Homework
- by Kenny Felder
- de2de
- by
Free Children Books
38 Books
- The Sun Who Lost His Way
- by
- Tania is a Detective
- by Kanika G
- Firenze_s-Light
- by
Free Java Books
10 Books
- Java 3D Programming
- by Daniel Selman
- The Java EE 6 Tutorial
- by Oracle Corporation
- JavaKid811
- by
- Jamaica Primary Social Studies 2nd Edition Student's Book 4
- by Eulie Mantock, Trineta Fendall, Clare Eastland
- Reggae Readers Student's Book 1
- by Louis Fidge
- Reggae Readers Student's Book 2
- by Louis Fidge