UbuntuServerGuide

Ubuntu Server Guide - Ubuntu 14.04

The guide is published for LTS releases only. Unofficial guides of the current branch will occasionally be made available online. All development and management procedures will remain on the traditional/stable 6-month cycle. Focus/branch of development will change on the prerogative of the committers.

Contributors must use the latest Ubuntu 14.04 release to exercise their additions/fixes to the guide.

If you really want to add something only found in a newer release please go ahead but make this clear in your merge proposal comments. Your changes will be included in the next LTS release (or in an unofficial snapshot).

The Ubuntu Server Guide project is part of System Documentation and, as such, everything that has been written on that topic applies equally here. Follow the above links to understand the process of contributing to Ubuntu System Documentation.

The purpose of this page is to organize contributions made to the Server Guide for the upcoming Ubuntu release. It is also cool to see what other people are up to. Subscribe to this page!

In addition to this focus wiki page, there is a focus Launchpad team replete with a mailing list. If you are committed to the improvement of the Guide please do become a member of the Ubuntu Server Guide Helpers team!

Here are ways to contribute, in order of priority:

  1. Review on a technical and style level.

  2. Correct (and/or Triage) a filed bug. Ubuntu Server Guide Bugs

  3. Extend by adding a significant amount of new information (possibly new sub-chapter or an entirely new chapter). Let me know of your intentions.

  4. Propose ideas for improvement (new topics, re-organization). There is a Discussion section at the bottom.

Useful links:

Kickstart

Below are sample terminal commands for installing sofware packages used by the documentation team, downloading and editing the current documentation branch, then pushing your edits to Launchpad.

1. Install the necessary software:

$ sudo apt-get install bzr docbook docbook-xsl xsltproc libxml2-utils yelp-tools yelp-xsl fop gnome-doc-utils make gettext

If you have not already done so, create your SSH key, set up Launchpad, and configure Bazaar. (Follow the instructions in sections 3.1, 4, and 5 here).

Make a directory to store the current documentation branch and change into that directory:

$ mkdir ~/sguide-1404
$ cd ~/sguide-1404

Download the current documentation branch into a directory 'yourbranchname' and change into that directory:

$ bzr branch lp:serverguide yourbranchname 
$ cd yourbranchname

Validate the serverguide.xml file to check for errors:

$ scripts/validate.sh serverguide/C/serverguide.xml

Stop if the file does not validate. Some warnings (e.g. "Column positions are not aligned") may be benign. Bring up any errors in the ubuntu-doc mailing list or try to correct the errors yourself.

To view the available xml files for editing:

$ ls serverguide/C/

2. Review and edit the documentation a little bit at a time. To edit the network-auth.xml file with gedit (users without a GUI will need to use vi or nano) run:

$ gedit serverguide/C/network-auth.xml

Save and close the file.

To check your edits, first make the html files from the xml files (The html files will be created in the directory yourbanchname/build/serverguide/C/):

$ make serverguide-html

Then view and verify the changes in your browser:

$ firefox build/serverguide/C/network-authentication.html

Validate the serverguide.xml file to check for any errors:

$ scripts/validate.sh serverguide/C/serverguide.xml

3. Commit your changes and push the branch to your Launchpad account:

$ bzr commit -m 'Your brief review note here.'
$ bzr push lp:~/yourlaunchpadid/serverguide/yourbranchname

Variations for the commit lines include specifying the related launchpad bug report, if one exists:

$ bzr commit --fixes lp:<bug-#> -m 'Summary of what you did; probably mention the sub-chapter you worked on; other notes can go here'

And specifying multiple bug reports, if appropriate:

$ bzr commit --fixes lp:<bug-#> --fixes lp:<bug-#> --fixes lp:<bug-#> -m 'Reviewing 7.1; notes can go here'

Note: For any subsequent pushes, "yourbranchname" needs to be a unique string:

$ bzr push lp:~yourlaunchpadid/serverguide/yoursecondbranchname
$ bzr push lp:~yourlaunchpadid/serverguide/yourthirdbranchname

4. Submit a proposal to merge the modifications with the main branch:

Log in to Launchpad and click "Code". Click the appropriate branch, then click "Propose for merging".

Alternative help method

Although the above is the preferred method for contributing, if you find it too laborious or you just can't make it work an alternative route is to create a bug about what you think is wrong in the guide and include some replacement text. Of course, if you are working already from an existing bug then just add the text in a new bug comment. If you have multiple bugs that affect the same sub-chapter then create a single bug for all of them.

Instructions affected by a software bug

If there is a software bug affecting the instructions you're reviewing you can add an admonishment:

bug_affecting_sg_instructions.png

Below is sample code to achieve the above. Replace BUG_URL and BUG_NUMBER with the appropriate values:

<caution>
   <para>
   This section is plagued by a bug (<ulink url="BUG_URL">LP #BUG_NUMBER</ulink>) and instructions may not work as intended.
   </para>
</caution>

Then add a note in the comment section in the below table: Affected by LP #BUG_NUMBER - Update required once bug is fixed.

Contribution table

The stuff in green is the priority this cycle.

Using the following symbols...

(o)

TO DO

(./)

IN PROGRESS

Warning /!\

MERGE PROPOSED

(OK)

MERGE ACCEPTED, I'M DONE!

Sad <:(

MERGE REJECTED

Awesome! B)

NOTHING TO DO, IT'S GOOD AS IS

(i)

COMMENT

...let us know what you want to do, where you're at, and any comments you may have. While In Progress, update the % Complete column regularly.

Sub-chapter

Your name

Your Launchpad ID

Review

Extension

Comments

% Complete

1 - Introduction

1.1 -- Support

(o)

2 - Installation

2.1 -- Preparing to Install

(o)

2.2 -- Installing from CD

(o)

2.3 -- Upgrading

(o)

2.4 -- Advanced Installation

(o)

2.5 -- Kernel Crash Dumps

(o)

3 - Package Management

3.1 -- Introduction

(o)

3.2 -- dpkg

(o)

3.3 -- Apt-Get

(o)

3.4 -- Aptitude

(o)

3.5 -- Automatic Updates

(o)

3.6 -- Configuration

(o)

3.7 -- References

(o)

4 - Networking

4.1 -- Network Configuration

(o)

4.2 -- TCP/IP

(o)

4.3 -- Dynamic Host Configuration Protocol (DHCP)

(o)

4.4 -- Time Synchronisation with NTP

(o)

5 - Storage

5.1 -- LVM

(o)

5.2 -- Software RAID (md)

(o)

5.3 -- DM Multipath

(o)

5.4 -- Ceph

Peter Matulis

petermatulis

(o)

20%

6 - Remote Administration

6.1 -- OpenSSH Server

(o)

6.2 -- Puppet

(o)

6.3 -- Zentyal

(o)

7 - Network Authentication

7.1 -- OpenLDAP Server

(o)

7.2 -- Samba and LDAP

(o)

7.3 -- Kerberos

(o)

7.4 -- Kerberos and LDAP

(o)

7.5 -- SSSD and Active Directory

Mark Thomas

markthomas

(OK)

8 - Domain Name Service (DNS)

8.1 -- Installation

(o)

8.2 -- Configuration

(o)

8.3 -- Troubleshooting

(o)

8.4 -- References

(o)

9 - Security

9.1 -- User Management

(o)

9.2 -- Console Security

(o)

9.3 -- Firewall

(o)

9.4 -- AppArmor

Bruce Tarro

cydizen

(i)

Bug 1304134 - Update required once bug is fixed.

10%

9.5 -- Certificates

Bruce Tarro

cydizen

(o)

0%

9.6 -- eCryptfs

Bruce Tarro

cydizen

(o)

0%

10 - Monitoring

10.1 -- Overview

Alex Moldovan

(./)

10.2 -- Nagios

Alex Moldovan

(./)

10.3 -- Munin

Alex Moldovan

(o)

11 - Web Servers

11.1 -- HTTPD - Apache2 Web Server

Derek Cameron

(OK)

MP 200021

11.2 -- PHP5 - Scripting Language

(o)

11.3 -- Squid - Proxy Server

(o)

11.4 -- Ruby on Rails

(o)

11.5 -- Apache Tomcat

(o)

12 - Databases

12.1 -- MySQL

(o)

12.2 -- PostgreSQL

(o)

13 - LAMP Applications

13.1 -- Overview

(o)

13.2 -- Moin Moin

(o)

13.3 -- MediaWiki

(o)

13.4 -- phpMyAdmin

(o)

13.5 -- WordPress

Doug Smythies

(OK)

bug 1264963

14 - File Servers

14.1 -- FTP Server

(o)

14.2 -- Network File System (NFS)

(o)

14.3 -- iSCSI Initiator

(o)

14.4 -- CUPS - Print Server

(o)

15 - Email Services

15.1 -- Postfix

(o)

15.2 -- Exim4

(o)

15.3 -- Dovecot Server

(o)

15.4 -- Mailman

(o)

15.5 -- Mail Filtering

(o)

16 - Chat Applications

16.1 -- Overview

(o)

16.2 -- IRC Server

(o)

16.3 -- Jabber Instant Messaging Server

(o)

17 - Version Control Systems

17.1 -- Bazaar

(o)

17.2 -- Git

(o)

17.3 -- Subversion

(o)

17.4 -- References

Ian Nicholson

imnichol

(OK)

100%

18 - Samba

18.1 -- Introduction

Mark Thomas

markthomas

(o)

18.2 -- File Server

Mark Thomas

markthomas

(o)

18.3 -- Print Server

Mark Thomas

markthomas

(o)

18.4 -- Securing File and Print Server

Mark Thomas

markthomas

(o)

18.5 -- As a Domain Controller

Mark Thomas

markthomas

(o)

18.6 -- Active Directory Integration

Mark Thomas

markthomas

(./)

50%

19 - Backups

19.1 -- Shell Scripts

(o)

19.2 -- Archive Rotation

(o)

19.3 -- Bacula

(o)

20 - Virtualization

20.1 -- libvirt

(o)

20.2 -- Cloud Images and uvtool

Louis Bouchard

louis-bouchard

(OK)

MP 212429

20.4 -- LXC

Serge Hallyn

serge-hallyn

(OK)
(OK)
(OK)

MP 205671
MP 210003
MP 213719

21 - Control Groups

21.1 -- Overview

Serge Hallyn

serge-hallyn

(OK)
(OK)

MP 210029
MP 213725

21.2 -- Filesystem

Serge Hallyn

serge-hallyn

21.3 -- Delegation

Serge Hallyn

serge-hallyn

21.4 -- Manager

Serge Hallyn

serge-hallyn

21.5 -- Resources

Serge Hallyn

serge-hallyn

22 - Clustering

22.1 -- DRBD

(o)

23 - VPN

23.1 -- OpenVPN

(o)

24 - Other Useful Applications

24.1 -- pam_motd

(o)

24.2 -- etckeeper

Peter Matulis

petermatulis

(OK)

MP 243748

24.3 -- Byobu

Peter Matulis

petermatulis

24.4 -- References

Peter Matulis

petermatulis

(OK)

MP 243749

A - Appendix

A.1 -- Reporting Bugs in Ubuntu Server Edition

Peter Matulis

petermatulis

(OK)

MP 227398

Getting help

Here are the best ways to get answers to any questions you may have:

Deadline

All final merge proposals should be made in time to be accepted by March 20th, 2014. See DocumentationStringFreeze and TrustyTahrReleaseSchedule.

Discussion

Here you can add your thoughts on

  • Re-organization of topics
  • Addition of missing topics
    • Samba chapter needs to be re-written for Samba4
    • Upstart missing
    • Ceph missing
  • Anything else

Notes:

  • sub-section 3.1.4 is about named-checkzone. There should also be a 3.1.5 about named-checkconf.

DocumentationTeam/SystemDocumentation/UbuntuServerGuide (last edited 2015-04-12 03:09:08 by ted-m-cox)