Ubuntu Server Administration
---
Ubuntu Server Administration
1. Sharing Files and Printers
- Using the Network File System- Installing and Starting or Stopping NFS
- NFS Server Configuration
- NFS Client Configuration
- Putting Samba to Work
- Manually Configuring Samba with /etc/samba/smb.conf
- Testing Samba with the testparm Command
- Starting, Stopping, and Restarting the smbd Daemon
- Mounting Samba Shares
- Configuring Samba Using SWAT
- Network and Remote Printing with Ubuntu
- Creating Network Printers
- Using the Common UNIX Printing System GUI
- Avoiding Printer Support Problems
2. Apache Web Server Management
- About the Apache Web Server- Installing the Apache Server
- Installing from the Ubuntu Repositories
- Building the Source Yourself
- Starting and Stopping Apache
- Starting the Apache Server Manually
- Using /etc/init.d/apache2
- Runtime Server Configuration Settings
- Runtime Configuration Directives
- Editing apache2.conf
- Apache Multiprocessing Modules
- Using .htaccess Configuration Files
- File System Authentication and Access Control
- Restricting Access with allow and deny
- Authentication
- Final Words on Access Control
- Apache Modules
- mod_access
- mod_alias
- mod_asis
- mod_auth
- mod_auth_anon
- mod_auth_dbm
- mod_auth_digest
- mod_autoindex
- mod_cgi
- mod_dir and mod_env
- mod_expires
- mod_headers
- mod_include
- mod_info and mod_log_config
- mod_mime and mod_mime_magic
- mod_negotiation
- mod_proxy
- mod_rewrite
- mod_setenvif
- mod_speling
- mod_status
- mod_ssl
- mod_unique_id
- mod_userdir
- mod_usertrack
- mod_vhost_alias
- Virtual Hosting
- Address-Based Virtual Hosts
- Name-Based Virtual Hosts
- Logging
3. Nginx Web Server Management
- About the Nginx Web Server- Installing the Nginx Server
- Installing from the Ubuntu Repositories
- Building the Source Yourself
- Configuring the Nginx Server
- Virtual Hosting
- Setting Up PHP
- Adding and Configuring Modules
4. Other HTTP Servers
- lighttpd- Yaws
- Cherokee
- Jetty
- thttpd
- Apache Tomcat
5. Remote File Serving with FTP
- Choosing an FTP Server- Choosing an Authenticated or Anonymous Server
- Ubuntu FTP Server Packages
- Other FTP Servers
- Installing FTP Software
- The FTP User
- Configuring the Very Secure FTP Server
- Controlling Anonymous Access
- Other vsftpd Server Configuration Files
- Using the ftphosts File to Allow or Deny FTP Server Connection
6. Handling Email
- How Email Is Sent and Received- The Mail Transport Agent
- Choosing an MTA
- The Mail Delivery Agent
- The Mail User Agent
- Basic Postfix Configuration and Operation
- Configuring Masquerading
- Using Smart Hosts
- Setting Message Delivery Intervals
- Mail Relaying
- Forwarding Email with Aliases
- Using Fetchmail to Retrieve Mail
- Installing Fetchmail
- Configuring Fetchmail
- Choosing a Mail Delivery Agent
- Procmail
- Spamassassin
- Squirrelmail
- Virus Scanners
- Autoresponders
- Alternatives to Microsoft Exchange Server
- Microsoft Exchange Server/Outlook Client
- CommuniGate Pro
- Oracle Beehive
- Bynari
- Open-Xchange
- phpgroupware
- PHProjekt
- Horde
7. Proxying, Reverse Proxying, and Virtual Private Networks (VPN)
- What Is a Proxy Server?- Installing Squid
- Configuring Clients
- Access Control Lists
- Specifying Client IP Addresses
- Sample Configurations
- Virtual Private Networks (VPN)
- Setting Up a VPN Client
- Setting Up a VPN Server
8. Administering Relational Database Services
- A Brief Review of Database Basics- How Relational Databases Work
- Understanding SQL Basics
- Creating Tables
- Inserting Data into Tables
- Retrieving Data from a Database
- Choosing a Database: MySQL Versus PostgreSQL
- Speed
- Data Locking
- ACID Compliance in Transaction Processing to Protect Data Integrity
- SQL Subqueries
- Procedural Languages and Triggers
- Configuring MySQL
- Setting a Password for the MySQL Root User
- Creating a Database in MySQL
- Configuring PostgreSQL
- Initializing the Data Directory in PostgreSQL
- Creating a Database in PostgreSQL
- Creating Database Users in PostgreSQL
- Deleting Database Users in PostgreSQL
- Granting and Revoking Privileges in PostgreSQL
- Database Clients
- SSH Access to a Database
- Local GUI Client Access to a Database
- Web Access to a Database
- The MySQL Command-Line Client
- The PostgreSQL Command-Line Client
- Graphical Clients
9. NoSQL Databases
- Key/Value Stores- Berkeley DB
- Cassandra
- Memcached and MemcacheDB
- Redis
- Riak
- Document Stores
- CouchDB
- MongoDB
- BaseX
- Wide Column Stores
- BigTable
- HBase
- Graph Stores
- Neo4j
- OrientDB
- HyperGraphDB
- FlockDB
10. Lightweight Directory Access Protocol (LDAP)
- Configuring the Server- Creating Your Schema
- Populating Your Directory
- Configuring Clients
- Evolution
- Thunderbird
- Administration
11. Linux Terminal Server Project (LTSP)
- Requirements- Installation
- Using LTSP
12. Virtualization on Ubuntu
- KVM- VirtualBox
- VMware
- Xen
13. Ubuntu in the Cloud
- Why a Cloud?- Software as a Service (SaaS)
- Platform as a Service (PaaS)
- Infrastructure as a Service (IaaS)
- Metal as a Service (MaaS)
- Before You Do Anything
- Ubuntu Cloud and Eucalyptus
- Deploy/Install Basics: Public or Private?
- Public
- Private
- A euca2ools Primer
- Ubuntu Cloud and OpenStack
- Compute Infrastructure (Nova)
- Storage Infrastructure (Swift)
- Imaging Service (Glance)
- Installation
- Creating an Image
- Instance Management
- Storage Management
- Network Management
- An OpenStack Commands Primer
- Learning More
- Juju
- Getting Started
- Charms
- The Juju GUI
- Juju on Mac OS X
- Ubuntu Metal as a Service (MaaS)
- Landscape
14. Managing Sets of Servers
- Juju- Puppet
- Chef
- CFEngine
- Ansible
- Landscape
15. Name Serving with the Domain Name System (DNS)
- Understanding Domain Names- DNS Servers
- DNS Records
- Setting Up a DNS Server with BIND