UbuntuServerGuide
Contents
|
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:
Correct (and/or Triage) a filed bug. Ubuntu Server Guide Bugs
Extend by adding a significant amount of new information (possibly new sub-chapter or an entirely new chapter). Let me know of your intentions.
Propose ideas for improvement (new topics, re-organization). There is a Discussion section at the bottom.
Useful links:
Current release guide: Ubuntu Server Guide - 14.04
Last release version of this document: SaucyUbuntuServerGuide
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, for example, 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/openldap-server.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
Note: For any subsequent pushes, "yourbranchname" needs to be a unique string:
$ bzr push lp:~yourlaunchpadid/serverguide/yoursecondbranchname $ bzr push lp:~yourlaunchpadid/serverguide/yourthirdbranchname
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'
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:
Below is sample code to achieve the above. Replace SOME_BUG_NUMBER with the number of the bug you want to cite:
<caution> <para> This section is plagued by a bug (<ulink url="http://pad.lv/SOME_BUG_NUMBER">LP #SOME_BUG_NUMBER</ulink>) and instructions will not work as advertised. </para> </caution>
Then add a note in the comment section in the below table: Affected by LP #SOME_BUG_NUMBER - Update required once bug is fixed.
Contribution table
The stuff in green is the priority this cycle. |
Using the following symbols...
|
TO DO |
|
IN PROGRESS |
|
MERGE PROPOSED |
|
MERGE ACCEPTED, I'M DONE! |
|
MERGE REJECTED |
|
NOTHING TO DO, IT'S GOOD AS IS |
|
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 |
|
|
|
|
|
|
2 - Installation |
||||||
2.1 -- Preparing to Install |
|
|
|
|
|
|
2.2 -- Installing from CD |
|
|
|
|
|
|
2.3 -- Upgrading |
|
|
|
|
|
|
2.4 -- Advanced Installation |
|
|
|
|
|
|
2.5 -- Kernel Crash Dumps |
|
|
|
|
|
|
3 - Package Management |
||||||
3.1 -- Introduction |
|
|
|
|
|
|
3.2 -- dpkg |
|
|
|
|
|
|
3.3 -- Apt-Get |
|
|
|
|
|
|
3.4 -- Aptitude |
|
|
|
|
|
|
3.5 -- Automatic Updates |
|
|
|
|
|
|
3.6 -- Configuration |
|
|
|
|
|
|
3.7 -- References |
|
|
|
|
|
|
4 - Networking |
||||||
4.1 -- Network Configuration |
|
|
|
|
|
|
4.2 -- TCP/IP |
|
|
|
|
|
|
4.3 -- Dynamic Host Configuration Protocol (DHCP) |
|
|
|
|
|
|
4.4 -- Time Synchronisation with NTP |
|
|
|
|
|
|
5 - Storage |
||||||
5.1 -- LVM |
|
|
|
|
|
|
5.2 -- Software RAID (md) |
|
|
|
|
|
|
5.3 -- DM Multipath |
|
|
|
|
|
|
5.4 -- Ceph |
Peter Matulis |
|
|
|
20% |
|
6 - Remote Administration |
||||||
6.1 -- OpenSSH Server |
|
|
|
|
|
|
6.2 -- Puppet |
|
|
|
|
|
|
6.3 -- Zentyal |
|
|
|
|
|
|
7 - Network Authentication |
||||||
7.1 -- OpenLDAP Server |
|
|
|
|
|
|
7.2 -- Samba and LDAP |
|
|
|
|
|
|
7.3 -- Kerberos |
|
|
|
|
|
|
7.4 -- Kerberos and LDAP |
|
|
|
|
|
|
7.5 -- SSSD and Active Directory |
Mark Thomas |
|
|
|
|
|
8 - Domain Name Service (DNS) |
||||||
8.1 -- Installation |
|
|
|
|
|
|
8.2 -- Configuration |
|
|
|
|
|
|
8.3 -- Troubleshooting |
|
|
|
|
|
|
8.4 -- References |
|
|
|
|
|
|
9 - Security |
||||||
9.1 -- User Management |
|
|
|
|
|
|
9.2 -- Console Security |
|
|
|
|
|
|
9.3 -- Firewall |
|
|
|
|
|
|
9.4 -- AppArmor |
Bruce Tarro |
cydizen |
|
|
10% |
|
9.5 -- Certificates |
Bruce Tarro |
cydizen |
|
|
|
0% |
9.6 -- eCryptfs |
Bruce Tarro |
cydizen |
|
|
|
0% |
10 - Monitoring |
||||||
10.1 -- Overview |
Alex Moldovan |
|
|
|
|
|
10.2 -- Nagios |
Alex Moldovan |
|
|
|
|
|
10.3 -- Munin |
Alex Moldovan |
|
|
|
|
|
11 - Web Servers |
||||||
11.1 -- HTTPD - Apache2 Web Server |
Derek Cameron |
|
|
|
|
|
11.2 -- PHP5 - Scripting Language |
|
|
|
|
|
|
11.3 -- Squid - Proxy Server |
|
|
|
|
|
|
11.4 -- Ruby on Rails |
|
|
|
|
|
|
11.5 -- Apache Tomcat |
|
|
|
|
|
|
12 - Databases |
||||||
12.1 -- MySQL |
|
|
|
|
|
|
12.2 -- PostgreSQL |
|
|
|
|
|
|
13 - LAMP Applications |
||||||
13.1 -- Overview |
|
|
|
|
|
|
13.2 -- Moin Moin |
|
|
|
|
|
|
13.3 -- MediaWiki |
|
|
|
|
|
|
13.4 -- phpMyAdmin |
|
|
|
|
|
|
13.5 -- WordPress |
Doug Smythies |
|
|
|
bug 1264963 |
|
14 - File Servers |
||||||
14.1 -- FTP Server |
|
|
|
|
|
|
14.2 -- Network File System (NFS) |
|
|
|
|
|
|
14.3 -- iSCSI Initiator |
|
|
|
|
|
|
14.4 -- CUPS - Print Server |
|
|
|
|
|
|
15 - Email Services |
||||||
15.1 -- Postfix |
|
|
|
|
|
|
15.2 -- Exim4 |
|
|
|
|
|
|
15.3 -- Dovecot Server |
|
|
|
|
|
|
15.4 -- Mailman |
|
|
|
|
|
|
15.5 -- Mail Filtering |
|
|
|
|
|
|
16 - Chat Applications |
||||||
16.1 -- Overview |
|
|
|
|
|
|
16.2 -- IRC Server |
|
|
|
|
|
|
16.3 -- Jabber Instant Messaging Server |
|
|
|
|
|
|
17 - Version Control Systems |
||||||
17.1 -- Bazaar |
|
|
|
|
|
|
17.2 -- Git |
|
|
|
|
|
|
17.3 -- Subversion |
|
|
|
|
|
|
17.4 -- References |
Ian Nicholson |
imnichol |
|
|
|
100% |
18 - Samba |
||||||
18.1 -- Introduction |
Mark Thomas |
markthomas |
|
|
|
|
18.2 -- File Server |
Mark Thomas |
markthomas |
|
|
|
|
18.3 -- Print Server |
Mark Thomas |
markthomas |
|
|
|
|
18.4 -- Securing File and Print Server |
Mark Thomas |
markthomas |
|
|
|
|
18.5 -- As a Domain Controller |
Mark Thomas |
markthomas |
|
|
|
|
18.6 -- Active Directory Integration |
Mark Thomas |
markthomas |
|
|
|
50% |
19 - Backups |
||||||
19.1 -- Shell Scripts |
|
|
|
|
|
|
19.2 -- Archive Rotation |
|
|
|
|
|
|
19.3 -- Bacula |
|
|
|
|
|
|
20 - Virtualization |
||||||
20.1 -- libvirt |
|
|
|
|
|
|
20.2 -- Cloud Images and uvtool |
Louis Bouchard |
|
|
|
||
20.4 -- LXC |
Serge Hallyn |
|
|
|
||
21 - Control Groups |
||||||
21.1 -- Overview |
Serge Hallyn |
|
|
|
||
21.2 -- Filesystem |
Serge Hallyn |
|
|
|||
21.3 -- Delegation |
Serge Hallyn |
|
|
|||
21.4 -- Manager |
Serge Hallyn |
|
|
|||
21.5 -- Resources |
Serge Hallyn |
|
|
|||
22 - Clustering |
||||||
22.1 -- DRBD |
|
|
|
|
|
|
23 - VPN |
||||||
23.1 -- OpenVPN |
|
|
|
|
|
|
24 - Other Useful Applications |
||||||
24.1 -- pam_motd |
|
|
|
|
|
|
24.2 -- etckeeper |
Peter Matulis |
|
|
|
||
24.3 -- Byobu |
Peter Matulis |
|
|
|||
24.4 -- References |
Peter Matulis |
|
|
|
||
A - Appendix |
||||||
A.1 -- Reporting Bugs in Ubuntu Server Edition |
Peter Matulis |
|
|
|
Getting help
Here are the best ways to get answers to any questions you may have:
The Driver of this project, Peter Matulis.
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.