114
Ubuntu Server Guide Ubuntu Documentation Project <[email protected]>

Ubuntu Server Guide

  • Upload
    papissk

  • View
    26

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ubuntu Server Guide

Ubuntu Server Guide

Ubuntu Documentation Project <[email protected]>

Page 2: Ubuntu Server Guide

Ubuntu Server Guidepar Ubuntu Documentation Project <[email protected]>

Copyright © 2004, 2005, 2006 Canonical Ltd. and members of the Ubuntu Documentation Project

Résumé

Une introduction à l'installation et à la configuration d'applications pour serveurs sur Ubuntu.

Remerciements et licence

Les auteurs suivants de l'équipe de documentation d'Ubuntu tiennent ce document à jour :

• Bhuvaneswaran Arumugam

Le Server Guide Ubuntu est aussi basé sur les contributions de :

• Robert Stoffers

• Brian Shumate

• Rocco Stanzione

Ce document est mis à disposition sous une double license, la licence GNU Free Documentation (GFDL) et la licence Creative Commons

ShareAlike 2.0 (CC-BY-SA).

Vous êtes libre de modifier, d'étendre et d'améliorer le code source de la documentation d'Ubuntu sous les conditions de ces licences. Tous

travaux dérivés de cette documentation doivent être publiés sous au moins une de ces deux licences.

Cette documentation est distribuée dans l'espoir qu'elle sera utile, mais SANS AUCUNE GARANTIE; sans même la garantie implicite de

QUALITÉ MARCHANDE ou de CONVENANCE POUR UN BUT PARTICULIER COMME LE DÉCRIT LA DÉCLARATION DE

RESPONSABILITÉ.

Des copies de ces licences sont disponibles dans les sections annexes de ce livre. Des versions en ligne peuvent être trouvées aux adresses

suivantes :

• GNU Free Documentation License [http://www.gnu.org/copyleft/fdl.html]

• Attribution-ShareAlike 2.0 [http://creativecommons.org/licenses/by-sa/2.0/]

Disclaimer

Every effort has been made to ensure that the information compiled in this publication is accurate and correct. However, this does not

guarantee complete accuracy. Neither Canonical Ltd., the authors, nor translators shall be held liable for possible errors or the consequences

thereof.

Some of the software and hardware descriptions cited in this publication may be registered trademarks and may thus fall under copyright

restrictions and trade protection laws. In no way do the authors make claim to any such names.

THIS DOCUMENTATION IS PROVIDED BY THE AUTHORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,

INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A

PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT,

INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,

PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)

HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT

(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF

ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Page 3: Ubuntu Server Guide

iii

Table des matières

About This Guide .............................................................................................................. vi

1. Conventions ........................................................................................................... vii

2. Contributing and Feedback ..................................................................................... viii

1. Introduction ................................................................................................................... 9

2. Installation ..................................................................................................................... 10

1. Préparer l'installation .............................................................................................. 11

2. Installation à partir du CD ...................................................................................... 13

3. Gestion des paquets ........................................................................................................ 14

1. Introduction ........................................................................................................... 15

2. Apt-Get ................................................................................................................. 16

3. Aptitude ................................................................................................................. 18

4. Configuration ......................................................................................................... 20

5. Dépôts supplémentaires .......................................................................................... 21

4. Réseau ........................................................................................................................... 22

1. Configuration du réseau .......................................................................................... 23

2. TCP/IP .................................................................................................................. 26

3. Configuration du pare-feu ....................................................................................... 30

4. Serveur OpenSSH .................................................................................................. 33

5. Serveur FTP ........................................................................................................... 36

6. Network File System (NFS) .................................................................................... 38

7. Dynamic Host Configuration Protocol (DHCP) ........................................................ 40

8. Service de nom de domaine (DNS) ......................................................................... 43

9. CUPS - Serveur d'impression .................................................................................. 45

10. HTTPD - serveur Internet Apache2 ....................................................................... 48

11. PHP5 - Langage de script ..................................................................................... 58

12. Squid - Serveur proxy .......................................................................................... 60

13. Système de contrôle de version ............................................................................. 62

14. Bases de données ................................................................................................. 69

15. Services de Courriel ............................................................................................. 72

16. Synchronisation temporelle avec NTP .................................................................... 84

5. Réseaux Windows .......................................................................................................... 86

1. Introduction ........................................................................................................... 87

2. Installer SAMBA ................................................................................................... 88

3. Configurer SAMBA ............................................................................................... 89

A. Creative Commons by Attribution-ShareAlike 2.0 ........................................................... 95

B. GNU Free Documentation License ................................................................................. 100

1. PREAMBLE .......................................................................................................... 101

2. APPLICABILITY AND DEFINITIONS .................................................................. 102

3. VERBATIM COPYING ......................................................................................... 104

4. COPYING IN QUANTITY .................................................................................... 105

Page 4: Ubuntu Server Guide

Ubuntu Server Guide

iv

5. MODIFICATIONS ................................................................................................. 106

6. COMBINING DOCUMENTS ................................................................................. 108

7. COLLECTIONS OF DOCUMENTS ....................................................................... 109

8. AGGREGATION WITH INDEPENDENT WORKS ................................................ 110

9. TRANSLATION .................................................................................................... 111

10. TERMINATION .................................................................................................. 112

11. FUTURE REVISIONS OF THIS LICENSE .......................................................... 113

12. ADDENDUM: How to use this License for your documents ................................... 114

Page 5: Ubuntu Server Guide

v

Liste des tableaux

2.1. Exigences minimales recommandées ............................................................................. 11

4.1. Modes d'accès ............................................................................................................. 63

Page 6: Ubuntu Server Guide

vi

About This Guide

Page 7: Ubuntu Server Guide

About This Guide

vii

1. Conventions

The following notes will be used throughout the book:

A note presents interesting, sometimes technical, pieces of information related to the

surrounding discussion.

A tip offers advice or an easier way of doing something.

A caution alerts the reader to potential problems and helps avoid them.

A warning advises the reader of a hazard that may arise in a given scenario.

Cross-reference conventions for print will be displayed as follows:

• Links to other documents or websites will look like this [http://www.ubuntu.com].

PDF, HTML, and XHTML versions of this document will use hyperlinks to handle

cross-referencing.

Type conventions will be displayed as follows:

• File names or paths to directories will be shown in monospace.

• Commands that you type at a Terminal command prompt will be shown as:

command to type

• Options that you click, select, or choose in a user interface will look like this.

Menu selections, mouse actions, and keyboard short-cuts:

• A sequence of menu selections will be displayed as follows: File → Open

• Mouse actions shall assume a right-handed mouse configuration. The terms « click » and

« double-click » refer to using the left mouse button. The term « right-click » refers to using the

right mouse button. The term « middle-click » refers to using the middle mouse button, pressing

down on the scroll wheel, or pressing both the left and right buttons simultaneously, based on the

design of your mouse.

• Keyboard shortcut combinations will be displayed as follows: Ctrl-N .Where the conventions for

« Control », « Shift, » and « Alternate » keys will be Ctrl, Shift, and Alt, respectively, and shall

mean the first key is to be held down while pressing the second key.

Page 8: Ubuntu Server Guide

About This Guide

viii

2. Contributing and Feedback

This book is developed by the Ubuntu Documentation Team

[https://wiki.ubuntu.com/DocumentationTeam]. You can contribute to this document by sending

ideas or comments to the Ubuntu Documentation Team mailing list. Information about the

team, its mailing lists, projects, etc. can be found on the Ubuntu Documentation Team Website

[https://wiki.ubuntu.com/DocumentationTeam].

If you see a problem with this document, or would like to make a suggestion, you can simply file a

bug report at the Ubuntu Bugtracker [https://launchpad.net/products/ubuntu-doc/+bugs]. Your help is

vital to the success of our documentation!

Many thanks,

-Your Ubuntu Documentation Team

Page 9: Ubuntu Server Guide

9

Chapitre 1. IntroductionBienvenue dans le Server Guide Ubuntu !

Le Server Guide Ubuntu contient des informations sur l'installation et la configuration de diverses

applications serveur sur votre système Ubuntu, afin qu'il corresponde à vos besoins. C'est un guide

pas-à-pas pour configurer et personnaliser votre système. Ce manuel passe en revue de nombreux

sujets intermédiaires exposés ci-dessous :

• Configuration du réseau

• Configuration Apache2

• Bases de données

• Réseaux Windows

Ce manuel est divisé en catégories principales que voici :

• Installation

• Gestion des paquets

• Réseau

• Réseaux Windows

Ce guide présume que vous avez une connaisance suffisante de votre système Ubuntu. Si vous avez

besoin d'une aide plus détaillée pour l'installation, référez-vous au guide d'installation d'Ubuntu.

Des versions HTML et PDF de ce manuel sont disponibles en ligne sur le site internet de

documentation Ubuntu [http://help.ubuntu.com].

Vous pouvez acheter ce guide sous forme de livre depuis la boutique de Lulu

[http://www.lulu.com/ubuntu-doc]. Vous ne paierez que le prix de l'impression et de l'envoi.

Page 10: Ubuntu Server Guide

10

Chapitre 2. InstallationCe chapitre fournit un rapide vue d'ensemble de l'installation de l'Ubuntu 6.10 Server Edition. Pour

des instructions plus détaillées, merci de vous reporter au guide d'installation d'Ubuntu.

Page 11: Ubuntu Server Guide

Installation

11

1. Préparer l'installation

Cette section détaille différents aspects à considérer avant de commencer l'installation.

1.1. Exigences du système

L'Ubuntu 6.10 Server Edition supporte trois (3) architectures majeures : Intel x86, AMD64 et

PowerPC. Le tableau qui suit décrit les configurations matérielles recommandées. Selon vos besoins,

il est possible que vous puissiez vous satisfaire de moins. Cependant, la plupart des utilisateurs

risquent d'être insatisfaits s'ils ne tiennent pas compte de ces suggestions.

Tableau 2.1. Exigences minimales recommandées

Type d'installation RAM Capacité Disque dur

Serveur 64 Megaoctects 500 Megaoctects

Le profil par défaut de Ubuntu 6.10 Edition Serveur apparaît ci-dessous. Encore une fois, la taille

de l'intallation dépend essentiellement des services installés pendant la configuration. Les services

sélectionnés par défaut conviennent à la plupart des administrateurs dans le cadre d'un usage courant

du serveur.

Serveur

Ce profil correspond à un petit serveur, constituant une base commune pour toutes sortes de

serveurs d'applications. C'est une configuration minimale, sur laquelle il est prévu d'ajouter des

services supplémentaires comme le service de fichiers ou d'impression, l'hébergement Web,

l'hébergement de messagerie, etc. Pour ces services, 500 Mo d'espace disque devraient suffire,

mais il s'agit de prévoir l'ajout d'espace supplémentaire selon les services que vous souhaitez

ajouter au serveur.

Souvenez-vous que ces quantités n'incluent pas tous les autres types objets qu'on trouve généralement,

comme les fichiers personnels des utilisateurs, les courriels, les journaux et les données. Il convient

toujours d'être généreux quand on prévoit l'espace destiné à ses propres fichiers et données.

1.2. Sauvegarde

• Avant de commencer, assurez-vous de sauvegarder chaque fichier présent sur votre système. Si

c'est la première fois que vous installez un autre système d'exploitation, autre que celui préinstallé,

il est vraisemblable que vous ayez à repartitioner votre disque, pour faire de la place pour Ubuntu.

Chaque fois, que vous partitionez votre disque, vous devez être prêt à perdre toutes les données

qu'il contient, suite à une erreur de votre part, ou un problème autre, comme une coupure de

l'alimentation. Les programmes utilisés lors de l'installation sont très fiables et sont utilisés depuis

des années, mais ils peuvent réaliser des actions destructives, et une erreur dans leur emploi, peut

provoquer la perte de données importantes.

Si vous décidez de créer un système multi-boot, assurez-vous de disposer du support de distribution

de tous les autres systèmes d'exploitation déjà présents. En particulier si vous re-partitionnez le

Page 12: Ubuntu Server Guide

Installation

12

disque dur de démarrage, car vous pourriez avoir à réinstaller le fichier de démarrage de votre

système d'exploitation, voire dans de nombreux cas, le système d'exploitation tout entier et tous les

fichiers situés sur les partitions concernées.

Page 13: Ubuntu Server Guide

Installation

13

2. Installation à partir du CD

Insérez votre CD d'installation dans le lecteur puis redémarrez l'ordinateur. La procédure d'installation

démarre immédiatement après l'insertion du CD. Après l'initialisation, votre premier écran apparaîtra.

Arrivé à cette étape, prenez connaissance du texte présent à l'écran. Vous voudrez peut-être consulter

l'écran d'aide fourni par le système d'installation. Pour cela, appuyez sur la touche F1.

Pour effectuer une installation serveur par défaut, sélectionnez l'option « Installer sur le disque »

puis pressez la touche Entrée. La procédure d'installation sera alors lancée. Suivez simplement les

instructions présentes à l'écran et votre système Ubuntu sera installé.

Sinon, pour installer un serveur LAMP (Linux, Apache, MySQL, PHP/Perl/Python), sélectionnez

« installer un serveur LAMP », et suivez les instructions.

Page 14: Ubuntu Server Guide

14

Chapitre 3. Gestion des paquetsUbuntu dispose d'un système complet de gestion de paquets pour l'installation, la configuration et

la suppression de programmes. Ce système permet non seulement d'accéder à une base de données

contenant plus de 17 000 paquets logiciels pour votre ordinateur Ubuntu, mais aussi de gérer les

résolutions de dépendances ainsi que les vérifications de mises à jour.

Divers outils pour interagir avec le système de gestion de paquets d'Ubuntu sont disponibles,

allant des utilitaires en simple ligne de commande qui peuvent aisément être automatisés par les

administrateurs système, jusqu'à une interface graphique simple à utiliser pour les débutants sur

Ubuntu.

Page 15: Ubuntu Server Guide

Gestion des paquets

15

1. Introduction

Le système de gestion des paquets d'Ubuntu est dérivé du même système utilisé par la distribution

GNU/Linux Debian. Les paquets contiennent tous les fichiers nécessaires, ainsi que les méta-données

et les instructions permettant d'implémenter une fonctionnalité particulière ou une application

logicielle dans votre ordinateur Ubuntu.

Les paquets Debian portent généralement l'extension ".deb", et sont situés dans des dépôts qui sont

des collections de paquets existants sur divers médias, tels que les CD-ROM ou Internet. Les paquets

sont généralement au format binaire précompilé, ce qui rend leur installation rapide et ne requiert

aucune compilation de logiciel.

Un grand nombre de paquets évolués utilisent le concept de dépendances. Les dépendances sont

des paquets additionnels requis par le paquet principal pour fonctionner correctement. Par exemple,

l'application de synthèse vocale Festival nécessite festvox-kalpc16k, qui est un paquet fournissant

une des voix utilisées par le logiciel. Pour que Festival fonctionne, toutes ses dépendances devront

être installées en même temps que le paquet principal. Les outils de gestion d'applications d'Ubuntu le

feront automatiquement.

Page 16: Ubuntu Server Guide

Gestion des paquets

16

2. Apt-Get

La commande apt-get est un puissant outil en ligne de commande travaillant avec l'Advanced

Packaging Tool (APT) d'Ubuntu, offrant des fonctionnalités telles que l'installation de nouveaux

logiciels, la mise à jour de ceux déjà existants, le rafraîchissement des index de paquets et même la

mise à niveau complète de votre système Ubuntu.

Étant un simple outil en ligne de commande, apt-get a de nombreux avantages par rapport aux

autres outils de gestion de paquets disponibles dans Ubuntu pour les administrateurs de serveurs.

Ces avantages comprennent la facilité d'utilisation à travers de simples connections terminal (SSH)

et la possibilité d'être utilisé dans des scripts d'administration système, qui peuvent à leur tour être

automatisés par l'utilitaire de planification cron.

Quelques exemples d'utilisation habituelle de l'utilitaire apt-get :

• Installation d'un paquet : L'installation de paquets en utilisant l'outil apt-get est relativement

simple. Par exemple, pour installer le scanner réseau nmap, entrez la commande suivante :

sudo apt-get install nmap

• Suppression d'un paquet : la suppression d'un paquet ou de paquets est également un processus

simple et direct. Pour supprimer le paquet nmap installé dans l'exemple précédent, entrez la

commande suivante :

sudo apt-get remove nmap

Paquets multiples : vous pouvez spécifier plusieurs paquets à installer ou à supprimer en

les séparant par des espaces.

• Mettre à jour l'index des paquets : l'index des paquets de APT est principalement une base de

données des paquets disponibles dans les dépôts listés dans le fichier /etc/apt/sources.list.

Pour synchroniser l'index local avec les derniers changements effectués sur les dépôts, tapez cette

ligne de commande :

sudo apt-get update

• Mettre à jour les paquets : au cours du temps, des versions mises à jour des paquets installés

sur votre ordinateur peuvent être mises en ligne dans les dépôts (des mises à jour de sécurité

par exemple). Pour mettre à jour votre système, mettez d'abord à jour l'index des paquet comme

expliqué ci-dessus, puis tapez :

sudo apt-get upgrade

Si un paquet a besoin d'installer ou de supprimer de nouvelles dépendances lorsqu'il est mis à jour,

il ne sera pas mis à jour par la commande upgrade. Pour une mise à jour de ce type, il est nécessaire

d'utiliser la commande dist-upgrade.

Page 17: Ubuntu Server Guide

Gestion des paquets

17

Vous pouvez également entièrement mettre à niveau votre système Ubuntu d'une version majeure

à une autre en utilisant dist-upgrade. Par exemple, pour mettre à niveau Ubuntu de la version 5.10

à la version 6.10, vous devez d'abord vous assurer de remplacer les dépôts existants 5.10 par ceux

de 6.10 dans le fichier /etc/apt/sources.list, puis exécuter apt-get update comme détaillé

ci-dessus, et enfin faire la mise à jour du système en tapant :

#

sudo apt-get dist-upgrade#

Au bout d'un temps assez considérable, votre ordinateur sera mis à niveau vers la nouvelle version.

En général, quelques étapes supplémentaires sont nécessaires et sont expliquées dans les notes de

révision de la version vers laquelle vous avez fait la mise à niveau.

Les actions de la commande apt-get, tel que l'ajout ou la suppression de paquets, sont inscrites dans

le fichier /var/log/dpkg.log.

Pour plus d'informations sur l'utilisation d'APT, lisez le Manuel d'utilisation APT Debian

[http://www.debian.org/doc/user-manuals#apt-howto], très complet, ou tapez :

apt-get help

Page 18: Ubuntu Server Guide

Gestion des paquets

18

3. Aptitude

Aptitude est une application en mode texte mais avec des menus, et servant d'interface à Advanced

Packaging Tool (APT). Beaucoup des fonctions communes de gestion des paquets, comme

l'installation, la désinstallation, et la mise à jour, sont effectuées dans Aptitude avec des commandes

utilisant une seule touche, qui sont généralement des lettres minuscules.

Il est préférable d'utiliser Aptitude dans un terminal non graphique pour s'assurer un bon

fonctionnement des touches de commandes. Vous pouvez démarrer Aptitude en tant qu'utilisateur

normal avec la commande suivante dans un terminal:

sudo aptitude

Au démarrage d'Aptitude, vous verrez une barre de menu en haut de l'écran et deux panneaux sous

cette barre. Le panneau du haut contient les catégories des paquets, telles que Nouveaux Paquets et

Paquets Non Installés. Le panneau du bas contient les informations relatives aux paquets et catégories

de paquets.

Utiliser Aptitude pour la maintenance des paquets est relativement direct, et l'interface utilisateur

simplifie les tâches courantes. Les exemples suivants sont des opérations de maintenance habituelles

des paquets, effectuées à la manière d'Aptitude :

• Installer des paquets: pour installer un paquet, localisez-le avec la catégories "Paquets non

installés", par exemple, en utilisant les touches fléchées du clavier et en appuyant sur Entrée, puis

sélectionnez le paquet que vous voulez installer. Appuyez ensuite sur la touche +, et la couleur du

paquet deviendra verte, indiquant qu'il est sélectionné pour être installé. Appuyez maintenant sur la

touche g pour avoir un liste des actions possibles. Appuyez à nouveau sur g, et on vous demandera

de devenir super-utilisateur pour continuer. Appuyez sur Entrée pour avoir une invite et tapez le

mot de passe pour vous identifier en tant que super-utilisateur. Enfin, appuyez sur g une fois de plus

et il vous sera demandé de télécharger le paquet. Appuyez sur Entrée à l'invite Continuer pour que

le téléchargement et l'installation commencent.

• Désinstaller des paquets : pour désinstaller un paquet, localisez le avec la catégories "Paquets

installés", par exemple, en utilisant les touches fléchées du clavier et en appuyant sur Entrée, puis

sélectionnez le paquet que vous voulez désinstaller. Appuyez ensuite sur la touche -, et la couleur

du paquet deviendra rose, indiquant qu'il est sélectionné pour être désinstallé. Appuyez maintenant

sur la touche g pour avoir un liste des actions possibles. Appuyez à nouveau sur g, et on vous

demandera de devenir super-utilisateur pour continuer. Appuyez sur Entrée pour avoir une invite

et tapez le mot de passe pour vous identifier en tant que super-utilisateur. Appuyez sur Entrée à

l'invite Continuer pour que la désinstallation commence.

• Mettre à jour l'index des paquets : pour mettre à jour l'index des paquets, appuyez sur la touche

u, on vous demandera alors de devenir super-utilisateur pour continuer. Appuyez sur Entrée pour

avoir une invite et tapez le mot de passe pour vous identifier en tant que super-utilisateur. La mise à

jour de l'index va commencer. Appuyez sur keycap>Entrée

Page 19: Ubuntu Server Guide

Gestion des paquets

19

• Mettre à jour des paquets : pour mettre à jour des paquets, suivez la procédure ci-dessus pour

mettre à jour l'index, puis appuyez sur la touche U pour marquer tous les paquets que vous pouvez

mettre à jour. Appuyez maintenant sur la touche g pour avoir un liste des actions possibles.

Appuyez à nouveau sur g, on vous demandera alors de devenir super-utilisateur pour continuer.

Appuyez sur Entrée pour avoir une invite et tapez le mot de passe pour vous identifier en tant que

super-utilisateur. Enfin, appuyez sur g une fois de plus et il vous sera demandé de télécharger le

paquet. Appuyez sur Entrée à l'invite Continuer pour que le téléchargement et la mise à jour des

paquets commencent.

La première colonne d'information affichée dans la liste des paquets du panneau du haut, lorsqu'on

examine réellement des paquets, liste l'état actuel du paquet et utilise la syntaxe suivante pour décrire

l'état du paquet:

• i : paquet installé.

• c : le paquet n'est plus installé, mais sa configuration est conservée sur le système

• p : purgé du système

• v : paquet virtuel

• B : paquet cassé

• u : fichiers décompressés, mais paquet pas encore configuré

• C : partiellement configuré, la configuration a échouée et nécessite une correction

• H: partiellement installé, la suppression a échoué et nécessite une correction

Pour quitter Aptitude, appuyez simplement sur la touche q et confirmez que vous désirez fermer le

logiciel. Beaucoup d'autres fonctions sont disponibles à partir du menu d'Aptitude, en appuyant sur la

touche F10.

Page 20: Ubuntu Server Guide

Gestion des paquets

20

4. Configuration

La liste des dépôts utilisée par Advanced Packaging Tool (APT) est enregistrée dans le fichier

de configuration /etc/apt/sources.list. Un exemple de ce fichier est présenté ici, de même que les

informations pour ajouter ou supprimer des liens vers des dépôts dans ce fichier.

Ceci [../sample/sources.list] est un exemple simple d'un fichier /etc/apt/sources.list typique.

Vous pouvez éditer le fichier pour activer ou désactiver certains dépôts. Par exemple, pour désactiver

la nécessité d'insérer le CD-ROM Ubuntu à chaque fois que vous faites une opération sur les paquets,

mettez simplement en commentaire la ligne appropriée qui se trouve au début du fichier :

# no more prompting for CD-ROM please

# deb cdrom:[Ubuntu 6.06 _Dapper Drake_ - Release i386 (20060329.1)]/ dapper main restricted

Page 21: Ubuntu Server Guide

Gestion des paquets

21

5. Dépôts supplémentaires

En plus des dépôts officiellement supportés par Ubuntu, il en existe d'autres maintenus par la

communauté et qui offrent un grand nombre de paquets supplémentaires. Deux de ces dépôts les

plus populaires sont Universe et Multiverse. Bien qu'ils ne soient pas officiellement supportés par

Ubuntu, ce pourquoi ils ne sont pas activés par défaut, ils proposent généralement des paquets sûrs et

ne présentant aucun risque pour votre ordinateur.

Les paquets situés dans le dépôt Multiverse ont souvent des licences particulières qui les

empêchent d'être distribués avec un système d'exploitation libre, et ils peuvent être illégaux

dans votre pays.

Soyez attentifs au fait que ni le dépôt Universe ni le dépôt Multiverse ne contiennent des

paquets officiellement supportés. Il peut donc ne pas y avoir de mises à jour de sécurité pour

ces paquets.

De nombreuses autres sources de paquets sont disponibles, et ne proposent parfois qu'un seul

paquet, c'est le cas des sources proposés par les développeurs d'une application unique. Vous devriez

cependant toujours faire très attention quand vous utilisez des sources exotiques. Recherchez des

sources et des paquets avec prudence avant d'effectuer une installation. Certains paquets provenant de

sources non fiables peuvent rendre votre système instable ou inutilisable à certains égards.

Pour activer les dépôts Universe et Multiverse, éditez le fichier /etc/apt/sources.list et supprimez

les commentaires des lignes appropriées :

# Nous désirons les dépôts Multiverse et Universe

deb http://archive.ubuntu.com/ubuntu dapper universe multiverse

deb-src http://archive.ubuntu.com/ubuntu dapper universe multiverse

5.1. Références

Méthode pour ajouter des Dépôts (Wiki Ubuntu) [https://wiki.ubuntu.com/AddingRepositoriesHowto]

Page 22: Ubuntu Server Guide

22

Chapitre 4. RéseauLes réseaux sont formés de deux ou plusieurs périphériques comme des ordinateurs, des imprimantes,

reliés entre eux par un lien physique ou sans fil dans le but de partager des informations et des

ressources ensemble.

Cette partie du Guide du serveur Ubuntu fournit des informations générales et spécifiques concernant

les réseaux, y compris un aperçu des concepts réseau et des informations détaillées sur les principaux

protocoles réseau et applications serveurs.

Page 23: Ubuntu Server Guide

Réseau

23

1. Configuration du réseau

Ubuntu est fourni avec de nombreux utilitaires graphiques pour la configuration des périphériques

réseau. Ce document s'adresse aux administrateurs de serveurs et se focalisera sur la gestion de votre

réseau en ligne de commande.

1.1. Ethernet

La plus grande partie de la configuration ethernet est dans un seul fichier :

/etc/network/interfaces. Si vous n'avez pas de périphérique ethernet, seule l'interface de boucle

locale sera dans ce fichier, qui ressemblera à ceci :

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

# The loopback network interface

auto lo

iface lo inet loopback

address 127.0.0.1

netmask 255.0.0.0

Si vous n'avez qu'un périphérique, eth0 obtenant sa configuration depuis un serveur DHCP et devant

être activé au démarrage, seulement deux lignes supplémentaires sont nécessaires :

auto eth0

iface eth0 inet dhcp

La première ligne précise que le périphérique doit être automatiquement activé au démarrage. La

deuxième ligne précise que cette interface (« iface ») eth0 doit avoir un adressage IPv4 (remplacer

« inet » par « inet6 » pour un périphérique IPv6), et doit être configurée automatiquement par DHCP.

En supposant que votre réseau et votre serveur DHCP sont correctement configurés, le réseau devrait

être opérationnel sans autre paramètrage. Le serveur DHCP fournira la passerelle par défaut (via

la commande route), l'adresse IP du périphérique (via la commande ifconfig), et les serveurs DNS

utilisés sur le réseau (dans le fichier /etc/resolv.conf).

Pour configurer votre périphérique ethernet avec une adresse IP statique et des paramètres

personnalisés, d'autres informations seront nécessaires. Supposez que vous voulez assigner l'adresse

192.168.0.2 au périphérique eth1, avec classiquement un masque 255.255.255.0, et que l'adresse de la

passerelle par défaut est 192.168.0.1. Le fichier /etc/network/interfaces ressemblera à ceci :

iface eth1 inet static

address 192.168.0.2

netmask 255.255.255.0

gateway 192.168.0.1

Dans ce cas vous devez préciser les serveurs DNS vous même dans /etc/resolv.conf, qui

ressemblera à ça :

search mydomain.com

Page 24: Ubuntu Server Guide

Réseau

24

nameserver 192.168.0.1

nameserver 4.2.2.2

La directive search ajoutera mydomain.com aux requêtes de nom d'hôte dans le but de résoudre

les noms dans votre réseau. Par exemple, si le domaine de votre réseau est mydomain.com

et que vous tentez de pinger l'hôte « mybox », la requête DNS sera modifiée pour chercher

« mybox.mydomain.com ». La directive nameserver précise les serveurs qui seront utilisés pour

la résolution de noms. Si vous utilisez votre propre serveur, entrez-le ici. Sinon demandez à votre

fournisseur d'accès les adresses des serveurs DNS primaires et secondaires et entrez-les dans

/etc/resolv.conf comme expliqué ci-dessus.

De nombreuses autres configurations sont possibles, y compris pour les interfaces de modem PPP, les

réseaux IPv6, des VPN, etc. Lisez man 5 interfaces pour plus d'informations et les options supportées.

Souvenez-vous que /etc/network/interfaces est utilisé par les scripts ifup/ifdown à un niveau

plus haut que dans beaucoup d'autres distribution Linux, et que les utilitaires de bas niveau comme

ifconfig, route, et dhclient sont toujours disponibles pour configurer votre réseau comme vous le

souhaitez.

1.2. Gérer les entrées DNS

Cette section explique comment configurer le serveur de noms à utiliser dans le cas d'une résolution

d'adresse IP en nom d'hôte et vice-versa. Elle ne concerne pas la configuration du système en tant que

serveur de noms.

Pour gérer les entrées DNS, vous pouvez ajouter, modifier, ou enlever les noms des DNS du fichier

/etc/resolv.conf. Un fichier d'exemple [../sample/resolv.conf] est donné ci-dessous :

search com

nameserver 204.11.126.131

nameserver 64.125.134.133

nameserver 64.125.134.132

nameserver 208.185.179.218

L'entrée search spécifie la chaîne de caractères qui sera ajoutée à un nom d'hôte incomplet. Ici,

nous avons choisi com. Donc quand vous exécuterez ping ubuntu, ça sera interprété comme ping

ubuntu.com.

L'entréenameserver précise l'adresse IP du serveur de noms. Elle sera utilisée pour résoudre l'adresse

IP ou le nom d'hôte donné. Ce fichier peut avoir plusieurs entrées de serveurs de nom. Ils seront

utilisés par les requêtes dans l'ordre où ils sont écrits dans le fichier.

Si les serveurs DNS sont récupérés automatiquement par DHCP ou PPOE (depuis votre

fournisseur d'accès), n'ajoutez rien à ce fichier. Il sera mis à jour automatiquement.

Les modifications que vous effectuez dans /etc/resolv.conf seront supprimées au

redémarrage de la machine. Si vous désirez que ces modifications deviennent permanentes,

Page 25: Ubuntu Server Guide

Réseau

25

il vous faudra installer le paquet resolvconf et mettre à jour les informations DNS du fichier

/etc/resolvconf/resolv.conf.d/base fourni avec ce paquet.

1.3. Gérer les hôtes

Pour gérer les hôtes, vous pouvez ajouter, éditer ou retirer des hôtes du fichier /etc/hosts. Ce fichier

contient les adresses IP et leur nom d'hôte correspondant. Quand votre système essaye de résoudre un

nom d'hôte vers une IP ou une IP vers un nom d'hôte, il regarde d'abord dans le fichier /etc/hosts

avant de faire appel aux serveurs DNS. Si l'adresse IP est listée dans /etc/hosts, les serveurs DNS ne

seront pas utilisés. Ce comportement peut être modifié en éditant /etc/nsswitch.conf à vos risques

et périls.

Si votre réseau contient des ordinateurs dont les adresses IP ne sont pas listées par les DNS, il est

recommandé de les ajouter dans le fichier /etc/hosts.

Page 26: Ubuntu Server Guide

Réseau

26

2. TCP/IP

Transmission Control Protocol et Internet Protocol (TCP/IP) sont les protocoles standards développés

à la fin des années 1970 par la Defense Advanced Research Projects Agency (DARPA) pour servir de

moyen de communication entre les différents types d'ordinateurs et de réseaux. TCP/IP est le moteur

d'Internet, et est donc l'ensemble de protocoles le plus populaire au monde.

2.1. Introduction à TCP/IP

Les deux protocoles de TCP/IP traitent différentes parties des réseau. Internet Protocol, le "IP"

de TCP/IP, est un protocole non-connecté qui ne traite que le routage de paquets en utilisant le

datagramme IP comme unité de base de l'information passant sur le réseau. Un datagramme IP

consiste en un en-tête suivi d'un message. Le Transmission Control Protocol est le "TCP" of TCP/IP.

Il permet aux hôtes d'établir des connexions qui serviront à échanger des flux de données. TCP assure

que les données arriveront à destination dans le même ordre que lorsqu'elles ont été envoyées.

2.2. Configuration TCP/IP

La configuration du protocole TCP/IP consiste en plusieurs éléments qui doivent être paramétrés

en éditant les fichiers de configuration adaptés, ou en déployant des solutions telles qu'un serveur

Dynamic Host Configuration Protocol (DHCP). Ce dernier pourra fournir automatiquement la bonne

configuration IP aux clients. Ces données de configuration doivent être définies correctement pour

assurer un bon fonctionnement du réseau avec Ubuntu.

Les paramètres courants de configuration TCP/IP et leurs objectifs sont les suivants:

• adresse IP L'adresse IP est un identifiant unique composé de 4 nombres entre 0 et 255 séparés par

des point. Chaque nombre représente 8 bits d'une adresse qui fait au total 32 bits. Ce format est

appelé notation décimale pointée.

• Masque de sous-réseau Le masque de sous-réseau est un masque de bits, ou ensemble de

marqueurs, qui séparent les parties de l'adresse IP correspondantes au réseau, et celles qui

correspondent au sous-réseau. Par exemple dans un réseau de classe C, le masque standard qui

est 255.255.255.0 cache les 3 premiers octets de l'adresse et permet d'utiliser le dernier octet pour

adresser les hôtes du sous-réseau.

• Adresse du réseau L'adresse du réseau représente les octets qui forment la partie réseau de

l'adresse IP. par exemple, l'hôte 12.128.1.2 dans un réseau de classe A utilisera 12.0.0.0 comme

adresse du réseau. La valeur 12 du premier octet est utilisée pour représenter le réseau, et les 0 des

3 octets suivants représentent toutes les valeurs possibles pour les hôtes. Les hôtes qui utilisent les

adresses privées non routables telles que 192.168.1.100 utiliseront 192.168.1.0 comme adresse du

réseau. Elle est constituée des 3 premiers octets de l'adresse de classe C 19.168.1 et d'un 0 pour la

partie hôtes.

• Adresse de diffusion L'adresse de diffusion est une adresse IP qui permet d'envoyer des données

simultanément à tous les hôtes d'un sous-réseau au lieu d'un hôte particulier. L'adresse standard de

diffusion des réseaux IP est 255.255.255.255, mais cette adresse ne peut pas envoyer de message

Page 27: Ubuntu Server Guide

Réseau

27

à tous les hôtes d'Internet car les routeurs la bloquent. Une adresse mieux appropriée sera adaptée

à un sous-réseau spécifique. Par exemple, dans un réseau de classe C, 192.168.1.0, l'adresse de

diffusion sera 192.168.1.255. Les messages diffusés sont généralement envoyés par les protocoles

comme Address Resolution Protocol (ARP) et Routing Information Protocol (RIP).

• Adresse de la passerelle Une adresse de passerelle est l'adresse IP à travers laquelle un réseau

ou un hôte d'un autre réseau peuvent être atteints. Si un hôte veut communiquer avec un hôte

d'un autre réseau, alors il doit utiliser la passerelle. En général cette passerelle sera le routeur du

réseau, qui transmettra les données aux réseaux ou hôtes extérieurs n'appartenant au réseau privé,

sur Internet par exemple. L'adresse de la passerelle doit être définie, sans quoi votre système sera

incapable de communiquer avec des hôtes extérieurs à votre réseau.

• Adresse DNS L'adresse DNS représente l'adresse IP des systèmes Domain Name Service (DNS,

ou serveurs de nom), qui traduisent les noms d'hôte en adresses IP. Il y a 3 niveaux d'adresses

DNS, du plus important au moins important : les serveurs de nom primaires ; les secondaires ; et

les tertiaires. Pour que votre système puisse résoudre des noms d'hôte en adresses IP, vous devez

spécifier une adresse DNS valide dans votre configuration TCP/IP. Dans la plupart des cas, ces

adresses seront fournies par votre fournisseur d'accès à Internet, mais de nombreux serveurs DNS

sont disponibles, comme les serveurs Level3 de Verizon, dont les adresses vont de 4.2.2.1 à 4.2.2.6.

Les adresses IP, masques, adresses de réseau, adresses de diffusion et adresses de

passerelle sont généralement spécifiés par la directive appropriée dans le fichier

/etc/network/interfaces. L'adresse de serveur de nom est spécifiée par la directive

nameserver dans le fichier /etc/resolv.conf. Pour plus d'informations, lisez la page de

manuel pour interfaces ou resolv.conf respectivement, avec les commande suivantes

dans une console :

Accédez au manuel du fichier interfaces avec la commande suivante :

man interfaces

Accédez au manuel du fichier resolv.conf avec la commande suivante : Accédez au manuel du

fichier resolv.conf avec la commande suivante :

man resolv.conf

2.3. Routage IP

Le routage IP est un moyen de choisir des chemins à travers différents réseaux pour envoyer les

données dans un réseau TCP/IP. Le routage utilise des tables de routage pour diriger les paquets de

la source vers la destination, souvent en passant à travers plusieurs nœuds intermédiaires appelés

routeurs. Le routage IP est le mode de choix de chemins le plus utilisé sur internet. Il existe 2 modes

de routage IP : le routage statique et la routage dynamique.

Le routage statique implique l'ajout manuel de règle de routage IP à la table de routage du système

et généralement cela se fait en manipulant la table de routage avec la commande route. Le routage

Page 28: Ubuntu Server Guide

Réseau

28

statique bénéficie de plusieurs avantages par rapport au routage dynamique, comme la simplicité de

son implantation dans des petits réseaux, la prévisibilité (la table de routage est toujours calculée à

l'avance et donc, la route est toujours la même à chaque fois qu'elle est utilisée), et la faible charge

sur les autres routeurs et les liaisons réseaux du fait de l'absence de routage dynamique. Cependant, le

routage statique présente également quelques désavantages. Par exemple, le routage statique est limité

aux petits réseaux et n'est pas très extensible. Le routage statique n'arrive absolument pas à s'adapter

aux pannes et aux erreurs du réseau rencontrés le long de la route, du fait même de sa nature fixe.

Le routage dynamique dépend de larges réseaux où de multiples routes sont possibles entre la source

et la destination. Il utilise des protocoles spécialisés comme Router Information Protocol (RIP), qui

prend en charge l'adaptation des tables de routage qui rend le routage dynamique possible. Le routage

dynamique a de nombreux avantages sur le routage statique, comme une plus grande adaptabilité

à la taille des réseaux et la possibilité de faire face à aux pannes et surcharges du réseau. De plus il

nécessite moins de configuration manuelle des tables de routage puisque les routeurs apprennent

les uns des autres les routes disponibles. Cela empêche également de faire des erreurs humaines

dans les tables de routage. Le routage dynamique a cependant des inconvénients comme une plus

grande complexité, ainsi qu'une utilisation plus intensive du réseau à cause de la communication entre

routeurs, qui ne bénéficie pas directement à l'utilisateur, mais utilise quand me la bande passante.

2.4. TCP et UDP

TCP est un protocole dit "connecté", qui permet la correction d'erreurs, et garantit que les données

arriveront à destination grâce à un contrôle de transmission. Le contrôle de transmission détermine

quand le flux de données doit être stoppé, et les paquets précédents devraient être ré-envoyés à cause

de problèmes comme des collisions par exemple, pour assurer un transport fiable des données. TCP

est généralement utilisé dans l'échange de données importantes comme les transactions de bases de

données par exemple.

User Datagram Protocol (UDP), à l'inverse, est un protocole dit "non-connecté" qui est peu utilisé

pour l'échange de données importantes puisqu'il ne gère pas le contrôle de transmission ou d'autres

méthodes pour fiabiliser le transport des données. UDP est souvent utilisé dans des applications

de diffusion audio ou vidéo car il est plus rapide que TCP grâce à l'absence de correction d'erreur

et de contrôle de transmission, mais aussi car la perte de quelques paquets n'est généralement pas

importante pour ces applications.

2.5. ICMP

Internet Control Messaging Protocol (ICMP) est une extension de Internet Protocol (IP) défini dans

la Request For Comments (RFC) #792 et qui supporte les paquets réseau contenant des messages

de contrôle, d'erreur, et d'informations. ICMP est utilisé par des application comme ping, qui peut

déterminer si un hôte ou un périphérique est en ligne ou non. Destination Unreachable et Time

Exceeded sont des exemples de messages retournés par ICMP et qui sont utiles pour des hôtes comme

pour des routeurs par exemple.

Page 29: Ubuntu Server Guide

Réseau

29

2.6. Services

Les démons sont des applications particulières qui s'exécutent généralement en permanence en tâche

de fond, et qui attendent des requêtes venant d'autres applications pour les fonctions qu'ils exercent.

De nombreux démons sont liés au réseau, et donc beaucoup de démons dans un système Ubuntu

offrent des fonctionnalités pour les réseaux. Les services possibles sont par exemple Hyper Text

Transport Protocol Daemon (httpd), qui propose des fonctions de serveur web, Secure SHell Daemon

(sshd), qui permet un accès distant sécurisé au système et le transfert de fichiers sécurisé, ou Internet

Message Access Protocol Daemon (imapd), qui offre des services de messagerie électronique.

Page 30: Ubuntu Server Guide

Réseau

30

3. Configuration du pare-feu

Le noyau Linux intègre le sous-système Netfilter, qui est utilisé pour manipuler ou décider du destin

du trafic réseau arrivant, sortant ou passant par votre serveur. Tous les pare-feu modernes pour Linux

utilisent ce système pour le filtrage des paquets.

3.1. Introduction au pare-feu

Le système du noyau de filtrage de paquets serait bien peu utile aux administrateurs sans une interface

utilisateur pour le gérer. C'est le but d'iptables. Quand un paquet atteint votre serveur, Netfilter

décidera si il sera accepté, manipulé, ou rejeté en suivant les règles fournies grâce à iptables. Si vous

le maîtrisez, iptables suffit donc à gérer votre pare-feu, mais de nombreuses interfaces existent pour

vous simplifier la tâche.

3.2. Translation d'IP

Le but du masquage IP (forme de translation d'adresses) est de permettre à des machines d'un réseau

doté d'adresses IP privées non routables d'accéder à Internet en passant par une autre machine

effectuant la translation. Le trafic sortant du réseau privé pour aller vers Internet doit être manipulé

pour que les réponses puissent être acheminées vers la machine qui a fait la requête correspondante.

Pour cela, le noyau doit modifier l'adresse IP source de chaque paquet pour que les réponses lui

soient renvoyées à lui plutôt qu'à l'adresse privée qui a fait la requête, ce qui est impossible sur

Internet. Linux utilise Connection Tracking (conntrack) pour savoir à chaque instant quelle connexion

appartient à quelle machine, et rerouter ensuite les paquets vers la bonne machine. Le trafic sortant du

réseau privé apparaît donc « masqué », comme s'il provenait de la passerelle Ubuntu. Ce procédé est

appelé « Partage de connexion Internet » dans la documentation de Microsoft.

Cela peut être effectué à l'aide d'une simple règle iptables, qui pourra éventuellement changer suivant

la configuration de votre réseau :

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE

La commande ci-dessus considère que votre adresse de réseau privé est 192.168.0.0/16 et que votre

interface reliée à Internet est ppp0. La syntaxe est construite comme ceci :

• -t nat -- la règle ira dans la table NAT

• -A POSTROUTING -- la règle sera ajoutée (-A) à la chaîne POSTROUTING

• -s 192.168.0.0/16 -- la règle s'applique au trafic provenant de plage d'adresse spécifiée

• -o ppp0 -- la règle s'applique au trafic devant être routé à travers l'interface réseau spécifiée

• -j MASQUERADE -- le trafic correspondant à cette règle « sautera » vers la cible MASQUERADE

pour être manipulé comme décrit ci-dessus

Chaque chaîne dans la table des filtres (la table par défaut, où la quasi-totalité des filtrages de

paquets se passent) a une politique par défaut d'acceptation (ACCEPT). Mais si vous voulez créer

un pare-feu en plus d'une passerelle, vous pouvez alors changer cette politique en une politique

Page 31: Ubuntu Server Guide

Réseau

31

d'abandon (DROP) ou de rejet (REJECT). Dans ce cas, le trafic masqué doit être autorisé par la

chaîne FORWARD pour que la règle ci-dessus fonctionne :

sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j ACCEPT

sudo iptables -A FORWARD -d 192.168.0.0/16 -m state --state ESTABLISHED,RELATED -i ppp0 -j ACCEPT

Les commandes ci-dessus vont autoriser toutes les connexions du réseau local vers Internet, ainsi que

tout le trafic en réponse à ces connexions jusqu'à la machine réelle qui a initié le trafic.

3.3. Outils

Il y a de nombreux outils disponibles pour aider à construire un pare-feu complet sans connaissance

approfondie d'iptables. Pour les outils possédant une interface graphique, Firestarter est assez connu

et facile d'accès ; fwbuilder est très puissant et l'administration semblera familière à ceux qui ont

déjà utilisé un pare-feu commercial comme Checkpoint FireWall-1. Si vous préférez un outil en

ligne de commande avec des fichiers de configuration en texte pur, Shorewall est une puissante

solution pour vous aider à configurer un pare-feu avancé quel que soit votre réseau. Si ce dernier est

relativement simple ou si vous n'avez pas de réseau, ipkungfu devrait vous donner un pare-feu prêt à

l'emploi sans aucune configuration à effectuer. Il permet tout de même d'être transformé en pare-feu

plus perfectionné grâce à des fichiers de configuration simples et très bien documentés. fireflier est

un autre outil intéressant, conçu pour être un pare-feu de bureau. Celui-ci consiste en un serveur

(fireflier-server) et une interface au choix (GTK or QT). Son comportement est similaire à la plupart

des pare-feu bien connus pour Windows.

3.4. Journaux

Les fichiers de journalisation d'un pare-feu sont essentiels pour reconnaître les attaques, les problèmes

dans vos règles de filtrage, et ils vous permettent de déceler les activités inhabituelles sur un réseau.

Vous devez cependant inclure des règles de journalisation dans votre pare-feu pour qu'ils soient

générés. Ces règles doivent se placer avant toute règle de filtrage de terminaison (une règle avec une

cible qui décide si un paquet doit être transmis ou non, comme ACCEPT, DROP ou REJECT). Par

exemple:

sudo iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j LOG --log-prefix "NEW_HTTP_CONN: "

Une requête sur le port 80 d'une machine locale va alors générer une journalisation dans dmesg qui

ressemble à ça :

[4304885.870000] NEW_HTTP_CONN: IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=58288 DF PROTO=TCP SPT=53981 DPT=80 WINDOW=32767 RES=0x00 SYN URGP=0

Cette journalisation apparaîtra également dans les fichiers /var/log/messages, /var/log/syslog

et /var/log/kern.log. Ce comportement peut être modifié en éditant le fichier /etc/syslog.conf

d'une façon appropriée, ou en installant et configurant ulogd et en utilisant la cible ULOG au lieu

de LOG. Le service ulogd est un démon qui audite les instructions de journalisation du noyau

spécifiques au pare-feu et peut les enregistrer dans n'importe quel fichier ou même vers une base de

données PostgreSQL ou MySQL. Vous pouvez simplifier et rendre compréhensibles vos fichiers de

Page 32: Ubuntu Server Guide

Réseau

32

journalisation du pare-feu en utilisant un analyseur de journalisation comme fwanalog, fwlogwatch ou

encore lire.

Page 33: Ubuntu Server Guide

Réseau

33

4. Serveur OpenSSH

4.1. Introduction

Cette section du Server Guide Ubuntu présente un puissant jeu d'utilitaires pour le contrôle à distance

d'ordinateurs et pour le transfert de données entre ordinateurs en réseau, nommé OpenSSH. Vous

apprendrez également plusieurs des différentes configurations possibles de l'application serveur

OpenSSH et comment les modifier sur votre système Ubuntu.

OpenSSH est une version libre du protocole Secure Shell (SSH), c'est une collection d'outils pour le

contrôle d'ordinateurs à distance, ou le transfert de fichiers entre ordinateurs. Les outils traditionnels

pour effectuer ces tâches, comme telnet ou rcp, ne sont pas sécurisés et font transiter le mot de passe

de l'utilisateur en clair. OpenSSH fournit un serveur et des outils clients pour faciliter le contrôle

à distance et le transfert de fichiers de façon sécurisée grâce au chiffrement des données, et donc

remplace efficacement les anciens outils.

Le serveur OpenSSH, sshd, attend en permanence des connexions depuis des clients. Quand une

requête de connexion a lieu, sshd établit la connexion correcte en fonction du type de client. Par

exemple, si un client se connecte avec le client ssh, le serveur OpenSSH va établir une connexion

sécurisée après une authentification. Si un client se connecte avec scp, le serveur OpenSSH va

commencer un transfert de fichier sécurisé entre le serveur et le client après une authentification.

OpenSSH peut utiliser de nombreuses méthodes d'authentification, par exemple un mot de passe, une

clé publique, ou un ticket Kerberos.

4.2. Installation

L'installation des applications client et serveur d'OpenSSH est simple. Pour installer les applications

clientes d'OpenSSH sur votre système Ubuntu, tapez cette commande dans un terminal :

sudo apt-get install openssh-client

Pour installer le serveur OpenSSH et les fichiers nécessaires, utilisez cette commande dans un

terminal :

sudo apt-get install openssh-server

4.3. Configuration

Vous pouvez configurer le comportement par défaut du serveur OpenSSH, sshd, en éditant le fichier

/etc/ssh/sshd_config. Pour des informations sur les options de configuration utilisées dans ce

fichier, veuillez lire le manuel approprié en tapant la commande suivante dans un terminal :

Page 34: Ubuntu Server Guide

Réseau

34

man sshd_config

Il y a de nombreuses options dans le fichier de configuration de sshd qui contrôlent par exemple les

paramètres de communication et les modes d'authentification. Des exemples d'options pouvant être

éditées dans le fichier /etc/ssh/ssh_config sont présentés par la suite.

Avant d'éditer le fichier de configuration, vous devriez faire une copie du fichier original

et le protéger en écriture de façon à conserver les paramètres d'origine en référence et à

pouvoir les réutiliser en cas de besoin.

Copiez le fichier /etc/ssh/sshd_config et protégez le en écriture en tapant la commande

suivante dans un terminal :

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original

sudo chmod a-w /etc/ssh/sshd_config.original

Voici des exemples de directives de configuration que vous pourriez changer :

• Pour que OpenSSH écoute sur le port 2222 au lieu du port par défaut 22, changez l'option Port

comme ceci :

Port 2222

• Pour que sshd accepte les informations de connexion basées sur une clef publique, il suffit d'ajouter

ou de modifier la ligne :

PubkeyAuthentication yes

dans le fichier /etc/ssh/sshd_config, ou si elle existe déjà, assurez-vous que la ligne

correspondante ne soit pas commentée.

• Pour que le serveur OpenSSH affiche le contenu du fichier /etc/issue.net comme une invite

avant l'affichage de l'écran de connexion, il suffit d'ajouter ou de modifier la ligne :

Banner /etc/issue.net

dans le fichier /etc/ssh/sshd_config.

Après avoir modifié le fichier /etc/ssh/sshd_config, enregistrez-le et redémarrez le service sshd

afin de prendre en compte les changements. Pour cela, saisissez la commande suivante dans un

terminal :

sudo /etc/init.d/ssh restart

Beaucoup d'autres directives de configuration pour sshd sont disponibles pour adapter son

comportement à vos besoins. Soyez conscient néanmoins que si votre unique possibilité

d'accès au serveur est ssh et que vous commettiez une erreur de configuration pour le service

sshd dans le fichier /etc/ssh/sshd_config, il se pourrait que vous vous bloquiez l'accès au

Page 35: Ubuntu Server Guide

Réseau

35

serveur jusqu'à son redémarrage, ou que le service sshd refuse de redémarrer à cause d'une

directive incorrecte de configuration. Par conséquent, soyez extrêmement prudent lorsque

vous éditez ce fichier sur un serveur distant.

4.4. Références

Site Internet de OpenSSH [http://www.openssh.org/]

Page de wiki OpenSSH avancé [https://wiki.ubuntu.com/AdvancedOpenSSH]

Page 36: Ubuntu Server Guide

Réseau

36

5. Serveur FTP

Le protocole de transfert de fichiers (FTP) est un protocole TCP pour télécharger et téléverser des

fichiers entre ordinateurs. FTP fonctionne sur un modèle client/serveur. Le composant serveur est

appelé démon FTP. Il écoute en permanence les requêtes FTP des clients distants. Lorsqu'il reçoit

une requête, il prend en charge l'identification et établit la connexion. Pendant la durée de la session il

éxécute toute commande envoyée par le client FTP.

L'accès à un serveur FTP peut être pris en charge de deux façons :

• Anonyme

• Authentifié

En mode anonyme, les clients distants peuvent accéder au serveur FTP en utilisant le compte par

défaut appelé « anonymous » ou « ftp » avec leur adresse de courriel comme mot de passe. En

mode authentifié, un utilisateur doit disposer d'un compte et d'un mot de passe. L'accès aux divers

répertoires et fichiers du serveur FTP dépend alors des permissions définies pour le compte utilisé

pour la connexion. En règle générale, le service FTP masque le répertoire racine du serveur FTP et

place l'utilisateur dans le répertoire d'accueil FTP. Cela permet de restreindre l'accès à une partie du

système de fichiers lors de sessions distantes.

5.1. vsftpd - Installation du serveur FTP

vsftpd est un démon FTP disponible dans Ubuntu. Son installation, sa configuration et sa maintenance

sont faciles. Pour installer vsftpd vous pouvez lancer la commande suivante dans un terminal :

sudo apt-get install vsftpd

5.2. vsftpd - Configuration du serveur FTP

Vous pouvez éditer le fichier de configuration de vsftpd, /etc/vsftpd.conf, pour changer la

configuration par défaut. Par défaut, seul le mode FTP anonyme est autorisé. Si vous voulez

désactiver cette option, vous devez modifier la ligne suivante :

anonymous_enable=YES

par

anonymous_enable=NO

Par défaut, les utilisateurs système locaux ne sont pas autorisés à se connecter au serveur FTP. Pour

changer cela, vous pouvez décommenter la ligne suivante :

#local_enable=YES

Par défaut, les utilisateurs sont autorisés à télécharger des fichiers du serveur FTP. Ils ne peuvent

cependant pas en envoyer. Pour modifier ceci, vous devez décommenter la ligne suivante :

Page 37: Ubuntu Server Guide

Réseau

37

#write_enable=YES

De manière similaire, par défaut, les utilisateurs anonymes n'ont pas le droit d'envoyer des fichiers

vers le serveur FTP. Pour changer cela, vous pouvez décommenter la ligne suivante :

#anon_upload_enable=YES

Le fichier de configuration contient un grand nombre d'options paramétrables. Une information à

propos de chaque paramètre est disponible dans le fichier de configuration. Vous pouvez aussi vous

référer aux pages de manuel, man 5 vsftpd.conf, pour obtenir le détail de chaque paramètre.

Une fois vsftpd configuré, vous pouvez démarrer le démon. La commande suivante permet de

démarrer le démon vsftpd :

sudo /etc/init.d/vsftpd start

Veuillez noter que les réglages par défaut du fichier de configuration sont tels qu'ils sont

pour des raisons de sécurité. Chacun des changements cités ci-dessus diminue la sécurité du

système, par conséquent ne les appliquez qu'en cas de nécessité.

Page 38: Ubuntu Server Guide

Réseau

38

6. Network File System (NFS)

NFS permet à un système de partager des répertoires et des fichiers à travers un réseau. En utilisant

NFS, utilisateurs et programmes peuvent accéder aux fichiers de systèmes distants comme s'ils étaient

des fichiers locaux.

Parmi les avantages les plus remarquables de NFS, on peut mentionner :

• Les stations de travail locales utilisent moins d'espace disque parce que les données fréquemment

utilisées peuvent être stockées sur une seule machine centrale tout en restant accessibles à d'autres

par le réseau.

• Il n'est pas nécessaire que les utilisateurs disposent d'un répertoire personnel sur chaque machine du

réseau. Les répertoires personnels peuvent être centralisés sur le serveur NFS afin d'être accessibles

par tout le réseau.

• Les périphériques de stockage, comme les lecteurs disquettes, les lecteurs de CD-ROM ou les clefs

USB, peuvent être utilisés par d'autres machines du réseau. Ceci permet de réduire le nombre de

lecteurs de supports amovibles sur un réseau.

6.1. Installation

Dans un terminal, saisissez la commande suivante pour installer le serveur NFS :

sudo apt-get install nfs-kernel-server

6.2. Configuration

Vous pouvez choisir les répertoires à exporter en les ajoutant au fichier /etc/exports. Par exemple :

/ubuntu *(ro,sync,no_root_squash)

/home *(rw,sync,no_root_squash)

Vous pouvez remplacer * par l'un des formats de nom d'hôte. La formulation du nom d'hôte devrait

être la plus précise possible pour éviter que des systèmes indésirables puissent accéder aux points de

montage NFS.

Pour démarrer le serveur NFS, saisissez la commande suivante dans un terminal :

sudo /etc/init.d/nfs-kernel-server start

6.3. Configuration du client NFS

Utilisez la commande mount pour monter un répertoire NFS partagé à partir d'une autre machine, en

tapant dans un terminal une commande telle que :

Page 39: Ubuntu Server Guide

Réseau

39

sudo mount exemple.nomhote.com:/ubuntu /local/ubuntu

Le répertoire /local/ubuntu du point de montage doit exister. Il ne devrait y avoir ni

fichiers ni sous-répertoires dans le répertoire /local/ubuntu

Une autre façon de monter un partage NFS à partir d'une autre machine est d'ajouter une ligne au

fichier /etc/fstab. La ligne doit comporter le nom d'hôte du serveur NFS, le répertoire du serveur

qui doit être partagé, et le répertoire de la machine locale où le partage NFS doit être monté.

La syntaxe générale de la ligne dans le fichier /etc/fstab est celle-ci :

exemple.nomhote.com:/ubuntu /local/ubuntu nfs size=8192,wsize=8192,timeo=14,intr

6.4. Références

FAQ Linux NFS [http://nfs.sourceforge.net/]

Page 40: Ubuntu Server Guide

Réseau

40

7. Dynamic Host Configuration Protocol (DHCP)

DHCP (Dynamic Host Configuration Protocol) est un service réseau qui permet aux ordinateurs

clients d'être configurés automatiquement à partir d'un serveur. Cela évite la configuration manuelle

de chaque client du réseau. Les ordinateurs configurés pour être clients DHCP n'ont aucun contrôle

sur les paramètres qu'ils reçoivent du serveur DHCP, et cette configuration est totalement transparente

pour l'utilisateur.

Les éléments de configuration les plus communs fournis par un serveur DHCP à un client DHCP

comprennent :

• Adresse IP et masque réseau

• DNS

• WINS

Cependant, un serveur DHCP peut également fournir des éléments de configuration tels que :

• Nom d'hôte

• Nom de domaine

• Passerelle par défaut

• Serveur de temps

• Serveur d'impression

L'avantage d'utiliser un serveur DHCP est qu'un changement dans la configuration du réseau, par

exemple un changement d'adresse d'un serveur DNS, n'a alors besoin d'être changé que sur le serveur

DHCP. Tous les clients réseau seront reconfigurés lors de leur prochaine connexion au serveur

DHCP. Un autre avantage est l'intégration plus facile de nouveaux ordinateurs dans le réseau,

puisqu'il n'y a pas besoin de vérifier les adresses IP disponibles. Les conflits dans les allocations

d'adresses IP sont également réduits.

Un serveur DHCP peut fournir des paramètres de configuration par deux méthodes :

Adresse MAC

Cette méthode entraîne l'utilisation de DHCP pour identifier l'adresse matérielle unique de chaque

carte réseau connectée. Par la suite, elle fournit continuellement une configuration constante à

chaque client DHCP qui émet une requête au serveur DHCP, tant qu'il utilise la même interface

réseau.

Pool d'adresses

Cette méthode entraîne la définition d'un lot (ou plage) d'adresses IP dans lequel les

configurations dynamiques des clients DHCP sont puisées selon le principe du premier arrivé,

premier servi. Lorsqu'un client DHCP n'est plus présent sur le réseau pendant une période définie,

la configuration expire et est remise dans le lot d'adresses IP disponibles pour d'autres clients.

Ubuntu est livré avec un serveur et un client DHCP. Le serveur est l'application dhcpd (dynamic host

configuration protocol daemon). L'application cliente fournie avec Ubuntu est dhclient et doit être

installée sur tous les ordinateurs devant être configurés automatiquement. Les deux programmes sont

faciles à installer et à configurer et seront automatiquement démarrés lors du démarrage du système.

Page 41: Ubuntu Server Guide

Réseau

41

7.1. Installation

Pour installer dhcpd, exécutez la commande suivante dans un terminal :

sudo apt-get install dhcpd

Vous lirez le message suivant, qui vous explique quoi faire ensuite :

Veuillez noter que si vous installez le serveur DHCP pour la première

fois, il vous faudra le configurer. Merci d'arrêter le démon serveur DHCP

(/etc/init.d/dhcp stop), de modifier /etc/dhcpd.conf selon vos besoins

et votre configuration particulière, et de redémarrer le démon serveur

DHCP (/etc/init.d/dhcp start).

Il faudra également modifier /etc/default/dhcp pour définir les interfaces

que dhcpd devrait écouter. Par défaut, il écoute eth0.

NOTE : Les messages de dhcpd sont envoyés vers syslog. Consultez y

les messages de diagnostic.

Démarrage du serveur DHCP : échec du démarrage de dhcpd - consultez syslog pour un diagnostic.

7.2. Configuration

Le message d'erreur par lequel l'installation se termine peut être déroutant, mais les étapes suivantes

vous aideront à configurer le service :

Le plus souvent, vous voudrez allouer les adresses IP aléatoirement. Ceci peut être fait avec la

configuration suivante :

# Sample /etc/dhcpd.conf

# (add your comments here)

default-lease-time 600;

max-lease-time 7200;

option subnet-mask 255.255.255.0;

option broadcast-address 192.168.1.255;

option routers 192.168.1.254;

option domain-name-servers 192.168.1.1, 192.168.1.2;

option domain-name "mydomain.org";

subnet 192.168.1.0 netmask 255.255.255.0 {

range 192.168.1.10 192.168.1.100;

range 192.168.1.150 192.168.1.200;

}

Le serveur DHCP attribuera alors à tout client une adresse IP comprise entre 192.168.1.10 et

192.168.1.100 ou 192.168.1.150 et 192.168.1.200. Cette adresse IP sera allouée pour 600 secondes

si le client ne réclame pas d'autre durée. Dans le cas contraire, la durée maximale d'allocation

Page 42: Ubuntu Server Guide

Réseau

42

(permise) sera de 7200 secondes. Le serveur "conseillera" également au client d'utiliser les valeurs

255.255.255.0 comme masque de sous-réseau, 192.168.1.255 comme adresse de broadcast,

192.168.1.254 comme adresse de routeur / passerelle, et 192.168.1.1 et 192.168.1.2 pour les serveurs

DNS.

Si vous avez besoin de spécifier un serveur WINS pour vos clients Windows, vous devrez par

exemple utiliser l'option netbios-name-servers.

option netbios-name-servers 192.168.1.1;

Les paramètres de configuration dhcpd sont tirés du mini-manuel DHCP, que vous pouvez trouver ici

[http://www.ibiblio.org/pub/Linux/docs/HOWTO/translations/fr/html-1page/DHCP.html].

7.3. Références

FAQ DHCP [http://www.dhcp-handbook.com/dhcp_faq.html]

Page 43: Ubuntu Server Guide

Réseau

43

8. Service de nom de domaine (DNS)

Le service de nom de domaine (DNS) est un service Internet qui établit la correspondance entre les

adresses IP et les noms de domaines pleinement qualifiés (FQDN : Fully Qualified Domain Name).

Ainsi, le DNS évite d'avoir à se rappeler des adresses IP. Les ordinateurs sur lesquels s'exécutent

les DNS sont appelés des serveurs de nom. Ubuntu est fourni avec BIND (Berkley Internet Naming

Daemon), le programme le plus couramment utilisé pour gérer un serveur de nom sur Linux.

8.1. Installation

Pour installer le service dns, exécutez la commande suivante dans un terminal :

sudo apt-get install bind

8.2. Configuration

Les fichiers de configuration DNS sont enregistrés dans le répertoire /etc/bind. Le fichier principal

de configuration est /etc/bind/named.conf. Le contenu du fichier de configuration par défaut est

affiché ci-dessous :

// This is the primary configuration file for the BIND DNS server named.

//

// Please read /usr/share/doc/bind/README.Debian for information on the

// structure of BIND configuration files in Debian for BIND versions 8.2.1

// and later, *BEFORE* you customize this configuration file.

//

include "/etc/bind/named.conf.options";

// reduce log verbosity on issues outside our control

logging {

category lame-servers { null; };

category cname { null; };

};

// prime the server with knowledge of the root servers

zone "." {

type hint;

file "/etc/bind/db.root";

};

// be authoritative for the localhost forward and reverse zones, and for

// broadcast zones as per RFC 1912

zone "localhost" {

type master;

file "/etc/bind/db.local";

};

Page 44: Ubuntu Server Guide

Réseau

44

zone "127.in-addr.arpa" {

type master;

file "/etc/bind/db.127";

};

zone "0.in-addr.arpa" {

type master;

file "/etc/bind/db.0";

};

zone "255.in-addr.arpa" {

type master;

file "/etc/bind/db.255";

};

// add local zone definitions here

include "/etc/bind/named.conf.local";

La ligne include spécifie le nom du fichier contenant les options du DNS. La ligne directory du fichier

d'options indique au DNS où chercher les fichiers. Tous les fichiers utilisés par BIND auront un

chemin relatif à ce répertoire.

Le fichier nommé /etc/bind/db.root décrit les serveurs de nom racine dans le monde. Les serveurs

changent au cours du temps, c'est pourquoi le fichier /etc/bind/db.root doit être mis à jour

régulièrement.

La section zone définit le serveur maître, et est stockée dans le fichier mentionnée par l'étiquette

file. Chaque zone contient trois enregistrement de ressources (RR=Ressource Record): SOA, NS et

PTR. Le SOA est l'acronyme de Start Of Authority (origine de l'autorité). Le "@" est une notation

spéciale qui signifie origine. NS (Name Server) est l'enregistrement d'un serveur de nom. PTR est

un pointeur sur un nom du domaine. Pour démarrer le serveur DNS, dans un terminal lancer la

commande suivante :

sudo /etc/init.d/bind start

Vous pouvez vous référer à la documentation indiquée dans la section références pour plus de détails.

8.3. Références

Guide d'administration DNS [http://www.tldp.org/HOWTO/DNS-HOWTO.html]

Page 45: Ubuntu Server Guide

Réseau

45

9. CUPS - Serveur d'impression

Le système principal d'impression sous Ubuntu est le Common UNIX Printing System (CUPS). Ce

système d'impression, qui est librement disponible et portable, est devenu le nouveau standard pour

imprimer dans la plupart des distributions Linux.

CUPS organise les tâches d'impression, les met en file d'attente, et rend possible l'impression en

réseau en utilisant le standard d'impression Internet Printing Protocol (IPP). Il offre un large support

pour un très grand nombre d'imprimantes, allant des imprimantes matricielles aux imprimantes

laser, en passant par de nombreux autres types. CUPS offre également le support PostScript Printer

Description (PPD - description d'imprimante PostScript) et l'auto-détection des imprimantes réseaux,

sans oublier une interface de configuration web simple et des outils d'administration.

9.1. Installation

Pour installer CUPS sur votre ordinateur Ubuntu, utilisez simplement sudo suivi de la commande

apt-get et spécifiez comme premier paramètre les paquets à installer. Une installation complète de

CUPS demande de nombreux paquets du fait des dépendances, mais ils peuvent être tous spécifiés sur

la même ligne de commande. Saisissez la commande suivante dans un terminal pour installer CUPS :

sudo apt-get install cupsys cupsys-client

Après une authentification avec votre mot de passe, les paquets devront se télécharger et s'installer

sans erreur. Une fois ceci effectué, le serveur CUPS sera démarré automatiquement. Pour la

résolution des problèmes, vous pouvez voir les erreurs du serveur CUPS dans son fichier journal

:/var/log/cups/error_log. Si ce fichier ne vous donne pas assez d'informations pour diagnostiquer

les problèmes que vous rencontrez, vous pouvez augmenter la verbosité du fichier journal de CUPS

en modifiant l'instruction LogLevel du fichier de configuration (dont nous parlerons plus en détail

ensuite) par « debug » voir même « debug2 », ce qui enregistrera toutes les informations. Si vous avez

effectué ce changement, n'oubliez pas de revenir à la configuration par défaut une fois votre problème

résolu, afin d'éviter que le fichier journal ne devienne énorme.

9.2. Configuration

Le comportement du système commun d'impression sous Linux est configuré par les directives

contenues dans le fichier /etc/cups/cupsd.conf. La syntaxe du fichier de configuration de CUPS est

identique au fichier principal de configuration du serveur HTTP Apache, les utilisateurs déjà habitués

à éditer les fichiers Apache devraient donc se sentir à l'aise. Quelques exemples de modifications que

vous pourriez souhaiter apporter vont être présentés ici.

Avant de modifier le fichier de configuration, vous devriez faire une copie de la

configuration originale et la protéger en écriture. Vous disposerez ainsi des paramètres par

défaut en guise de référence que vous pourrez réutiliser au besoin.

Page 46: Ubuntu Server Guide

Réseau

46

Copiez le fichier /etc/cups/cupsd.conf et protégez-le en écriture en exécutant dans un

terminal la commande suivante :

sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.original

sudo chmod a-w /etc/cups/cupsd.conf.original

• ServerAdmin : Pour configurer le courriel de l'administrateur du serveur CUPS, éditez simplement

le fichier de configuration /etc/cups/cupsd.conf avec votre éditeur préféré, et modifiez la ligne

ServerAdmin. Par exemple, si vous êtes l'administrateur du serveur CUPS, et que votre courriel est

'[email protected]', alors la ligne ServerAdmin doit être modifiée de cette manière :

ServerAdmin [email protected]

Pour des exemples supplémentaires de directives de configuration du serveur CUPS, consultez le

manuel associé en tapant la commande suivante dans un terminal :

man cupsd.conf

À chaque modification du fichier de configuration /etc/cups/cupsd.conf, vous devrez

redémarrer le serveur CUPS en tapant dans un terminal la commande suivante :

sudo /etc/init.d/cupsys restart

Une autre partie de la configuration du serveur CUPS est réalisée dans le fichier

/etc/cups.d/ports.conf :

• Listen: Par défaut sur Ubuntu, l'installation du serveur CUPS n'écoute que sur l'interface loopback

à l'adresse IP 127.0.0.1. Afin que le serveur CUPS écoute sur l'adresse IP d'une interface réseau

réelle, vous devez ajouter une directive Listen, qui spécifie un nom d'hôte, une adresse IP, ou une

paire adresse IP/port. Par exemple, si votre serveur CUPS a l'adresse IP 192.168.10.250 sur un

réseau local et que vous souhaitez le rendre accessible à d'autres systèmes du sous-réseau, il faut

modifier le fichier /etc/cups/cups.d/ports.conf et rajouter une directive Listen, comme cela :

Listen 127.0.0.1:631 # Directive d'écoute existante sur l'interface loopback

Listen /var/run/cups/cups.sock # Directive d'écoute existante sur un socket

Listen 192.168.10.250:631 # Directive d'écoute sur l'interface réseau local, port 631 (IPP)

Dans l'exemple ci-dessus, vous pouvez commenter ou supprimer la référence à l'adresse loopback

(127.0.0.1) si vous ne voulez pas que cupsd écoute sur cette interface, mais préférez qu'il n'écoute

que sur les interfaces Ethernet du réseau local. Pour activer l'écoute sur toutes les interfaces réseau

auxquelles un nom d'hôte donné est lié, y compris l'interface loopback, vouz pourriez créer une

entrée Listen pour le nom d'hôte socrates comme cela :

Page 47: Ubuntu Server Guide

Réseau

47

Listen socrates:631 # Directive d'écoute sur toutes les interfaces du nom d'hôte 'socrates'

ou en omettant la directive Listen et en utilisant Port, comme cela :

Port 631 # Ecouter sur le port 631 de toutes les interfaces

9.3. Références

Site Internet de CUPS [http://www.cups.org/]

Page 48: Ubuntu Server Guide

Réseau

48

10. HTTPD - serveur Internet Apache2

Apache est le serveur Web le plus couramment utilisé sur les systèmes Linux. Les serveurs Web sont

utilisés pour délivrer les pages Web demandées par les ordinateurs clients. Les clients demandent et

affichent les pages Web en utilisant des logiciels de navigation sur le Web, tel que Firefox, Opera ou

Mozilla.

Les utilisateurs entrent une URL (Uniform ressource Locator) pour pointer sur un serveur Web au

moyen d'un « nom de domaine pleinement qualifié » (FQDN : Fully Qualified Domain Name) et

d'un chemin vers la ressource désirée. Par exemple, pour voir la page d'accueil du site web Ubuntu

[http://www.ubuntu.com] un utilisateur entrera seulement le nom de domaine (FQDN). Pour obtenir

une informations spécifique sur le support payant [http://www.ubuntu.com/support/paid], un

utilisateur entrera le nom de domaine (FQDN) suivi du chemin de la ressource.

La méthode la plus communément utilisée pour le transfert de pages web est le Protocole de Transfert

d'Hyper Texte (dont l'acronyme anglais est HTTP). Les protocoles tels que le Protocol de Tansfert

d'Hyper Texte sur Sockets Sécurisées (HTTPS) et le Protocole de Transfert de Fichiers (FTP) un

protocol permettant d'envoyer et de télécharger des fichiers sont également supportés.

Le serveur web Apache sont fréquemment utilisés en combinaison avec la base de donnée MySQL,

le language de script de Prétraitement Hyper Texte (PHP), et d'autres languages de scripts populaires

tels que le Python et le Perl. Cette configuration, d

10.1. Installation

Le serveur web Apache2 est disponible sous Ubuntu. Pour l'installer :

• Dans un terminal, saissisez cette commande :

sudo apt-get install apache2

10.2. Configuration

Apache est configuré par le biai de directives dans les fichiers textes de configuration. Le fichier

principal est appelapache2.conf. De plus, d'autres fichiers de configurations peuvent Include et les

caract

Le serveur lit également un fichier contenant les types mimes des documents; le nom de ce fichier est

donné par la directive TypesConfig dont la valeur par défaut est mime.types.

Le fichier de configuration par défaut d'Apache2 est /etc/apache2/apache2.conf. Vous pouvez

éditer ce fichier afin de configurer le serveur Apache2. Vous pouvez configurer le numéro de port, la

racine des documents, les modules, les fichiers de traces, les hôtes virtuels, etc.

Page 49: Ubuntu Server Guide

Réseau

49

10.2.1. Réglages de base

Cette section donne les paramètres essentiels de la configuration du serveur Apache2. Pour de plus

amples détails, référez vous à la documentation Apache2 [http://httpd.apache.org/docs/2.0/].

• Apache2 contient par défaut une configuration des hôtes virtuels couvrant les besoins classiques.

C'est à dire qu'il est configuré avec un seul hôte virtuel (utlisant la directive VirtualHost) qui

peut être modifié, utilisé tel quel si vous ne disposez que d'un seul site, ou encore utilisé comme

modèle pour d'autres hôtes virtuels si vous disposez de plusieurs sites. Utilisé comme tel, l'hôte

virtuel par défaut sera votre site par défaut ou le site que les utilisateurs verront si l'URL entrée

ne correspond à aucun de vos sites définis par des directives ServerName. Pour modifier l'hôte

virtuel par défaut, éditez le fichier /etc/apache2/sites-available/default. Si vous souhaitez

configurer un nouvel hôte virtuel ou un site, copiez ce fichier dans le même répertoire avec un

nom de votre choix. Par exemple, sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-

available/mynewsite Éditez le nouveau fichier pour configurer le nouveau site en utilisant les

directives décrites ci-dessus.

• La directive ServerAdmin spécifie l'adresse mail qui figurera comme adresse de l'administrateur du

serveur. La valeur par défaut est webmaster@localhost. Cette valeur devrait être remplacée par une

adresse dont vous êtes destinataire (dans le cas où vous êtes l'administrateur du serveur). Si votre

site rencontre un problème, Apache2 affichera un message d'erreur contenant cette adresse mail

afin de lui rapporter le problème. Cette directive est à placer dans les fichiers de configuration de

vos sites situés dans /etc/apache2/sites-available.

• La directive Listen précise le port, et de manière optionelle l'adresse IP, sur lesquel Apache2

écoute. Si l'adresse IP n'est pas spécifiée, Apache écoutera sur toutes les adresses IP assignées à

la machine. La valeur par défaut de la directive Listen est 80. Modifiez la en 127.0.0.1:80 afin

qu'Apache2 n'écoute que sur l'interface locale et ne soit pas accessible depuis internet, en 81 (par

exemple) afin de modifier le port sur lequel Apache2 écoute, ou laissez la valeur par défaut dans la

majorité des cas. Cette directive se situe dans son propre fichier /etc/apache2/ports.conf

• La directive ServerName est optionnelle et prend pour valeur le FQDN auquel devrait répondre

votre site. L'hôte virtuel par défaut ne dispose pas de directive ServerName : il répond alors à toutes

les requêtes pour lesquelles aucune correspondance avec la directive ServerName des autres hôtes

virtuels n'a été trouvée. Si vous avez acheté le domaine ubunturocks.com et que vous souhaitez

l'héberger sur votre serveur Ubuntu, la valeur par défaut de la directive ServerName dans l'hôte

virtuel correspondant devrait être ubunturocks.com. Ajoutez cette directive au nouvel hôte virtuel

créé précédemment (/etc/apache2/sites-available/mynewsite).

Comme beaucoup de personnes pensent que le préfixe www est d'usage, vous pouvez

désirer que votre site réponde également à l'adresse www.ubunturocks.com. Utilisez la

directive ServerAlias dans ce but. Vous pouvez également utiliser les caractères jocker au

sein de la directive ServerAlias. Par exemple, *.ubunturocks.com permettra

• La directive DocumentRoot précise l'emplacement où Apache doit chercher les fichiers

du site. La valeur par défaut est /var/www. Aucun site n'est configuré à cet emplacement,

mais si vous décommentez la directive RedirectMatch dans le fichier de configuration

Page 50: Ubuntu Server Guide

Réseau

50

/etc/apache2/apache2.conf les requêtes seront alors redirigées vers /var/www/apache2-default

où se trouve le site par défaut d'Apache2. Modifiez cette valeur dans le fichier de configuration de

votre hôte virtuel, et n'oubliez pas de créer le répertoire si nécessaire.

Le contenu du répertoire /etc/apache2/sites-available n'est pas utilisé par Apache2. Des

liens symboliques dans /etc/apache2/sites-enabled pointent vers les configurations de

sites disponibles situés dans le répertoire "available". Pour créer ces liens symboliques,

il faut utiliser la commande a2ensite (activation d'un site Apache2 en anglais) comme

suit : sudo a2ensite mynewsite où le fichier de configuration de votre site est

/etc/apache2/sites-available/mynewsite. De manière symétrique, il faut utiliser

a2dissite pour désactiver le site.

10.2.2. Réglages par défaut

Cette section explique la configuration par défaut du serveur Apache2. Par exemple, si vous ajoutez

un hôte virtuel, les paramètres définis à l'intérieur de l'hôte virtuel sont utilisées dans cet hôte virtuel.

Pour une directive qui n'est pas définie à l'intérieur de l'hôte virtuel, la valeur par défaut est utilisée.

• La directive DirectoryIndex stipule la page par défaut qui doit être servie lorsqu'un utilisateur

demande l'index d'un répertoire en spécifiant un slash final (/) à la fin du nom d'un répertoire.

Par exemple, lorsqu'un utilisateur demande la page http://www.example.com/this_directory/, il ou

elle obtiendra ou bien la page spécifiée par la directive DirectoryIndex si elle existe, ou bien un

listing du répertoire généré par le serveur si l'option Indexes est spécifiée, ou bien une permission

non accordée si aucun des deux cas précédents ne se vérifie. Le serveur essaiera de trouver l'une

des pages données dans la directive DirectoryIndex et renverra la première trouvée. S'il ne trouve

pas une de ces pages et si l'option Indexes est activée pour ce répertoire, le serveur génèrera et

renverra une liste au format HTML des sous-répertoires et fichiers présents dans ce répertoire.

La valeur par défaut se trouvant dans le fichier /etc/apache2/apache2.conf est " index.html

index.cgi index.pl index.php index.xhtml". Si Apache2 trouve un fichier dans le répertoire demandé

qui correspond à l'un de ces noms, le premier d'entre eux sera affiché.

• La directive ErrorDocument vous permet de spécifier le fichier qu'Apache utilise pour des

erreurs spécifiques. Par exemple, si un utilisateur fait une requête sur une ressource qui n'existe

pas, une erreur 404 sera générée, et avec la configuration par défaut Apache2, le fichier

/usr/share/apache2/error/HTTP_NOT_FOUND.html.var sera affiché. Ce fichier n'est pas

dans le répertoire racine du serveur (DocumentRoot), mais il y a une directive Alias dans

/etc/apache2/apache2.conf qui redirige les requêtes erronées vers /usr/share/apache2/error/.

Pour voir une liste des directives ErrorDocument par défaut, utilisez la commande : grep

ErrorDocument /etc/apache2/apache2.conf

• Par défaut, le serveur écrit le journal des transferts dans /var/log/apache2/access.log. Vous

pouvez modifier cela sur la base d'un journal par site dans vos fichiers de configuration d'hôte

virtuel (virtual host) avec la directive CustomLog, ou l'omettre en acceptant la valeur par défaut

spécifiée dans /etc/apache2/apache2.conf. Vous pouvez également spécifier le fichier ou

le journal des erreurs est enregistré, via la directive ErrorLog, qui a pour valeur par défaut

Page 51: Ubuntu Server Guide

Réseau

51

/var/log/apache2/error.log. Celui-ci reste distinct du journal des transferts afin d'aider

à la résolution des dysfonctionnements de votre serveur Apache2. Vous pouvez également

spécifier le LogLevel (la valeur par défaut est "warn", N.d.T. : le niveau des enregistrements

correspond aux avertissements) et LogFormat(format des enregistrements) (voyez le fichier

/etc/apache2/apache2.conf pour la valeur par défaut).

• Certaines directives sont spécifiées par répertoire plutôt que par serveur. Option est l'une de ces

directives. Une section pour un répertoire est encadré par des balises de type XML, par exemple :

<Directory /var/www/mynewsite>#

...#

</Directory>

Les directives Option placés dans une section pour un répertoire acceptent une ou plusieurs de ces

valeurs (parmi d'autres), séparées par des espaces :

• ExecCGI - Autorise l'exécution des scripts CGI. Les scripts CGI ne sont pas exécutés si cette

option n'est pas choisie.

La plupart des fichiers ne doivent pas être exécutés en tant que scripts CGI. Cela

pourrait être très dangereux. Les scripts CGI doivent être placés dans un répertoire

séparé et extérieur à votre DocumentRoot, et seul ce répertoire devrait avoir l'option

ExecCGI activée. L'emplacement par défaut des scripts CGI est /usr/lib/cgi-bin.

• Includes - Autorise les inclusions côté serveur (server-side includes). Les inclusions côté

serveur (server-side includes) permettent à un fichier HTML d'inclure d'autres fichiers.

Ce n'est pas une option courante. Pour plus d'informations voyez le Howto Apache2 SSI

[http://httpd.apache.org/docs/2.0/howto/ssi.html].

• IncludesNOEXEC - Autorise les inclusions côté serveur (SSI), mais désactive les commandes

#exec et #include dans les scripts CGI.

• Indexes - Affiche une liste mise en forme du contenu du répertoire si aucun index de répertoire

(DirectoryIndex), comme index.html, n'existe dans ce dossier.

Pour des raisons de sécurité, ceci ne devrait habituellement pas être activé, et cela

ne devrait certainement pas être activé dans votre répertoire racine de documents

(DocumentRoot). Si vous êtes certain de vouloir que les utilisateurs voient le contenu

complet d'un répertoire, activez cette option avec prudence dans une section pour ce

répertoire.

• Multiviews - Support de la négociation de contenu multiviews ; cette otion est désactivée par

défaut pour des raisons de sécurité. Voyez la documentation Apache2 sur la négociation de

contenu [http://httpd.apache.org/docs/2.0/content-negotiation.html]

• SymLinksIfOwnerMatch - Ne suit les liens symboliques que si le fichier ou répertoire cible a le

même propriétaire que le lien.

10.2.3. Paramètres des hôtes virtuels

Les hôtes virtuels vous permettent de faire fonctionner différents serveurs sur la même machine, pour

différentes adresses IP, différents noms d'hôtes, ou des ports différents. Par exemple, vous pouvez

Page 52: Ubuntu Server Guide

Réseau

52

faire fonctionner le site web http://www.example.com et le site web http://www.anotherexample.com

sur le même serveur web en utilisant les hôtes virtuels. Cette option correspond à la directive

<VirtualHost pour l'hNameVirtualHost pour des h

Le jeu de directives pour un hôte virtuel ne s'applique que à cet hôte virtuel en particulier. Si une

directive est définie globalement pour le serveur et n'est pas définie dans les paramètres de l'hôte

virtuel, les paramètres par défaut s'appliquent. Par exemple, vous pouvez définir l'adresse de courriel

du webmaster globalement, et ne pas définir d'adresses individuelles pour chaque hôte virtuel.

La valeur de la directive DocumentRoot doit être le répertoire racine (qui contient index.html par

exemple) pour l'hôte virtuel. Le répertoire racine par défaut est /var/www.

La directive ServerAdmin dans la section VirtualHost est l'adresse du courriel utilisée dans le pied

de page des pages d'erreurs si vous choisissez d'afficher un pied de page avec une adresse de courriel

dans les pages d'erreurs.

10.2.4. Paramètres du serveur

Cette section explique comment effectuer les réglages de base du serveur.

LockFile - La directive LockFile définit le chemin vars le fichier lockfile utilisé

lorsque le serveur est compilé avec soit USE_FCNTL_SERIALIZED_ACCEPT, soit

USE_FLOCK_SERIALIZED_ACCEPT. Ce fichier doit être enregistré sur le disque local. On peut

laisser la valeur par défaut tant que le répertoire des journaux ne se situe pas sur un partage NFS.

Dans ce cas, la valeur par défaut doit être modifiée pour un emplacement sur le disque local et en

lecture uniquement pour le super-utilisateur (root).

PidFile - La directive PidFile définit le fichier dans lequel le serveur enregistre son ID de processus

(pid : process ID). Ce fichier ne doit être accessible en lecture que par le super-utilisateur (root). Dans

la plupart des cas, la valeur par défaut peut être conservée.

User - La directive User définit le numéro d'utilisateur (userid) utilisé par le serveur pour répondre

aux requêtes. Ce paramétrage détermine les accès au serveur. Un fichier inaccessible à cet utilisateur

sera également inaccessible aux visiteur de votre site web. La valeur par défaut pour la directive User

est www-data.

A moins que vous ne sachiez exactement ce que vous faites, ne définissez jamais la directive

User à root. Utiliser root (super-utilisateur) comme valeur pour User créera d'énormes trous

de sécurité dans votre serveur web.

La directive Group est similaire à la directive User. Elle définit le groupe sous lequel le serveur web

répondra aux requêtes. Le groupe par défaut est également www-data.

10.2.5. Modules d'Apache

Apache est un serveur modulaire. Ceci implique que seules les fonctionnalités de base sont présentes

dans le cœur du serveur. Les fonctionnalités étendues sont disponibles au travers de modules qui

Page 53: Ubuntu Server Guide

Réseau

53

peuvent être chargés par Apache. Par défaut, un groupe de modules de base est inclut dans le

serveur au moment de la compilation. Si le serveur est compilé pour utiliser des modules chargés

dynamiquement, alors les modules peuvent être compilés séparément, et ajoutés à tout moment en

utilisant la directive LoadModule. Autrement, Apache doit être recompilé pour ajouter ou supprimer

des modules. La compilation Ubuntu d'Apache autorise le chargement dynamique des modules.

Les directives de configuration peuvent être conditionnée à la présence d'un module en utilisant un

élément <IfModule>. Vous pouvez installer des modules Apache supplémentaires et les utiliser avec

votre serveur web. Vous pouvez installer les modules Apache en utilisant la commande apt-get. Par

exemple, pour installer le module Apache2 pour l'authentification MySQL, vous pouvez exécuter la

commande suivante dans une console :

sudo apt-get install libapache2-mod-auth-mysql

Une fois votre module installé, il sera disponible dans le répertoire /etc/apache2/mods-available.

Vous pouvez utiliser la commande a2enmod pour activer le module. Vous pouvez utiliser la

commande a2dismod pour désactiver le module. Une fois le module activé, il sera disponible dans le

répertoire /etc/apache2/mods-enabled.

10.3. Configuration HTTPS

Le module mod_ssl ajoute une fonctionnalité importante au serveur Apache2 : la capacité de crypter

les communications. Ainsi, lorsque votre navigateur communique en utilisant le cryptage SSL, le

préfixe https:// est utilisé en début d'url dans la barre d'adresse.

Le module mod_ssl est disponible dans le paquet apache2-common. Si vous avez installé ce paquet,

vous pouvez exécuter la commande suivante dans une console pour activer le module mod_ssl :

sudo a2enmod ssl

10.3.1. Certificats et sécurité

Pour configurer votre serveur sécurisé, utilisez le cryptage de clé publique pour créer une paire de clés

privée/publique. Dans la plupart des cas, vous envoyez une requête de certification (incluant votre clé

publique), prouvant l'identité de votre compagnie et le paiement d'une autorité de certification (CA :

Certficate Authorty). L'autorité de certification vérifie votre requête de certification et votre identité,

et vous renvoie un certificat pour votre serveur sécurisé.

Alternativement, vous pouvez créer votre propre certificat auto-signé. Remarquez cependant, que

les certificats auto-signés ne devraient pas être utilisés dans un environnement de production. Les

certificats auto-signés ne sont pas acceptés automatiquement par le navigateur de l'utilisateur. Les

utilisateurs reçoivent un avertissement du navigateur leur demandant s'ils acceptent le certificat pour

créer une connexion sécurisée.

Une fois que vous avez un certificat auto-signé ou un certificat signé par l'autorité de certification

(CA) de votre choix, vous devez l'installer sur votre serveur sécurisé.

Page 54: Ubuntu Server Guide

Réseau

54

10.3.2. Types de certificats

Vous avez besoin d'une clé et d'un certificat pour faire fonctionner votre serveur sécurisé, ceci signifie

que vous pouvez soit générer un certificat auto-signé, soit acheter un certificat signé par une autorité

de certification (CA). Un certificat signé par CA fournit deux fonctionnalités importantes pour votre

serveur :

• Les navigateurs reconnaissent (généralement) automatiquement le certificat et permettent

l'établissement d'une connexion sécurisée sans intervention de l'utilisateur.

• Lorsqu'une autorité de certification (CA) émet un certificat, cela garanti l'identité de l'organisation

qui fournit les pages web au navigateur.

La plupart des navigateurs qui supportent le SSL ont une liste des CAs dont les certificats sont

automatiquement acceptés. Si le navigateur rencontre un certificat émis par un autorité de certification

qui n'est pas dans la liste, le navigateur demande à l'utilisateur s'il accepte ou s'il décline la connexion.

Vous pouvez générer un certificat auto-signé pour votre serveur sécurisé, mais soyez conscient qu'un

certificat auto-signé ne fournit pas la même fonctionnalité qu'un certificat signé par CA. Un certificat

auto-signé n'est pas automatiquement reconnu par la plupart des navigateurs du Web, et un certificat

auto-signé n'offre aucune garantie concernant l'identité de l'organisation qui fournit le site web. Un

certificat signé par CA fournit ces deux fonctionnalités importantes pour un serveur sécurisé. Le

processus de récupération d'un certificat depuis un CA est assez simple. En voici un rapide aperçu :

1. Créez une paire de clefs privé et publique.

2. Créez une requête de certificat basée sur la clé publique. La requête de certificat contient

l'information concernant votre serveur et la société qui l'héberge.

3. Envoyez votre requête de certificat, avec les documents prouvant votre identité, à l'autorité de

certification (CA). Nous ne pouvons pas vous dire quelle autorité de certification choisir. Votre

décision peut être basée sur votre expériences passée, ou sur l'expérience de vos amis ou collègues,

ou simplement sur des considérations financières.

Une fois l'autorité de certification choisie, vous devez suivre les instructions qu'ils fournissent sur

la procédure d'obtention du certificat.

4. Quand l'autorité de certification est sûre que vous êtes celui que vous prétendez être, elle vous

envoie un certificat numérique.

5. Installez ce certificat sur votre serveur sécurisé, et commencez à prendre en charge les connexions

sécurisées.

Que vous ayez obtenu votre certificat d'une autorité de certification, ou qu'il s'agisse d'un certificat

auto-signé, la première étape consiste à générer une clé.

10.3.3. Génération d'une Demande de Signature de Certificat (Certificate Signing Request ou CSR)

Pour générer la requête de signature de certificat (CSR : Certificate Signing Request), vous devez

créer votre propre clé. Vous pouvez lancer la commande suivante dans une console pour créer la clé :

Page 55: Ubuntu Server Guide

Réseau

55

openssl genrsa -des3 -out server.key 1024

Generating RSA private key, 1024 bit long modulus

.....................++++++

.................++++++

unable to write 'random state'

e is 65537 (0x10001)

Enter pass phrase for server.key:

Vous pouvez maintenant saisir votre mot de passe. Pour une meilleure sécurité, il doit contenir

au minimum huit caractères. La longueur minimum lorsque vous spécifiez -des3 (algorithme de

cryptage) est de quatre caractères. Il devrait contenir des chiffres et/ou des signes de ponctuation et

ne pas se trouver dans un dictionnaire de mots. Rappelez vous également que votre mot de passe est

sensible à la casse (NdT : au sens typographique majuscules/minuscules)

Saisissez à nouveau votre mot de passe pour vérification. Une fois ressaisi correctement, la clé du

serveur est générée et stockée dans le fichier server.key.

Vous pouvez également lancer votre serveur web sécurisé sans mot de passe. C'est pratique

car vous n'aurez pas à saisir votre mot de passe à chaque fois que vous démarrez votre

serveur web sécurisé. Mais c'est hautement insécurisé et une clef compromise signifie que le

serveur lui-même sera compromis.

En tout cas, vous pouvez choisir d'exécuter votre serveur web sécurisé sans mot de passe en enlevant

l'argument -des3 pendant la phase de génération ou à l'aide de la commande suivante dans une console

:

openssl rsa -in server.key -out server.key.insecure

Une fois la commande ci-dessus exécutée, la clé non-sécurisée sera stokée dans le fichier

server.key.insecure. Vous pouvez utiliser ce fichier pour générer la CSR (requête de certificat

signé) sans mot de passe.

Pour créer un CSR, lancer la commande suivante dans un terminal :

openssl req -new -key server.key -out server.csr

Il va vous demander de saisir votre mot de passe. Si vous avez saisi le mot de passe correct, il

vous demandera de saisir le nom de la compagnie, le nom du site, votre courriel, etc. Une fois tous

ces points renseignés, votre CSR sera créée et stocké dans le fichier server.csr. Vous pouvez

transmettre cette CSR à une autorité de certification (CA). L'autorité de certification va utiliser cette

CSR et fournir un certificat. D'un autre côté, vous pouvez créer un certificat auto-signé en utilisant

cette CSR.

10.3.4. Création d'un Certificat Auto-signé (Self-Signed Certificate ou SSC)

Pour créer le certificat auto-signé, utilisez la commande suivante à l'invite d'un terminal :

Page 56: Ubuntu Server Guide

Réseau

56

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

La commande ci-dessus vous demandera de saisir votre mot de passe. Une fois le mot de passe correct

entré, votre certificat sera créé et stocké dans le fichier server.crt.

Si votre serveur doit être utilisé dans un environnement de production, vous avez

probablement besoin d'un certificat signé par une autorité de certification. Il n'est pas

recommandé d'utiliser un certificat auto-signé.

10.3.5. Installation du certificat

Vous pouvez installer la clé du fichier server.key et le certificat du fichier server.crt ou le

certificat émis par l'autorité de certification, en exécutant les commandes suivantes dans une console :

sudo cp server.crt /etc/ssl/certs

sudo cp server.key /etc/ssl/private

Vous devriez ajouter les quatre lignes suivantes au fichier /etc/apache2/sites-available/default

ou au fichier de configuration pour votre hôte virtuel sécurisé. Vous devriez les placer dans la section

VirtualHost. Elles devraient être situées sous la ligne DocumentRoot :

SSLEngine on

SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire

SSLCertificateFile /etc/ssl/certs/server.crt

SSLCertificateKeyFile /etc/ssl/private/server.key

HTTPS devrait écouter le port 443. Vous devriez ajouter la ligne suivante au fichier :

/etc/apache2/ports.conf

Listen 443

10.3.6. Accéder au serveur

Une fois votre certificat installé, vous devriez redémarrer votre serveur web. Vous pouvez exécuter la

commande suivante dans une console pour redémarrer votre serveur web :

sudo /etc/init.d/apache2 restart

Vous devez saisir votre mot de passe, et vous en souvenir, à chaque fois que vous

redémarrez votre serveur web.

Votre mot de passe vous sera demandé. Une fois le mot de passe correct saisi, le serveur web

sécurisé sera démarré. Vous pouvez accéder aux pages web du serveur sécurisé en tapant

https://your_hostname/url/ dans la barre d'adresse de votre navigateur.

Page 57: Ubuntu Server Guide

Réseau

57

10.4. Références

Documentation d'Apache2 [http://httpd.apache.org/docs/2.0/]

Documentation du Mod SSL [http://www.modssl.org/docs/]

Page 58: Ubuntu Server Guide

Réseau

58

11. PHP5 - Langage de script

PHP est un langage de script généraliste adapté au développement Web. Le script PHP peut être

incorporé dans du HTML. Cette section explique comment installer et configurer PHP5 sur un

système Ubuntu avec Apache2 et MySQL.

Cette section suppose que vous avez installé et configuré le serveur Web Apache2 et le serveur de

base de données MySQL. Vous pouvez vous référer aux sections sur Apache2 et sur MySQL dans ce

document pour installer et configurer Apache2 et MySQL.

11.1. Installation

PHP5 est disponible sur Ubuntu Linux.

• Pour installer PHP5 vous pouvez saisir la commande suivante dans un terminal :

sudo apt-get install php5-common php5 libapache2-mod-php5

Vous pouvez exécuter les scripts PHP5 depuis une ligne de commande. Pour exécuter des scripts

PHP5 depuis une ligne de commande, vous devez installer le paquet php5-cgi. Pour installer

php5-cgi, vous pouvez saisir la commande suivante dans un terminal :

sudo apt-get install php5-cgi

Pour utiliser MySQL avec PHP5 vous devez installer le paquet php5-mysql. Pour installer

php5-mysql, vous pouvez saisir la commande suivante dans un terminal :

sudo apt-get install php5-mysql

Réciproquement, pour utiliser PostgreSQL avec PHP5 vous devez installer le paquet php5-pgsql.

Pour installer php5-pgsql, vous pouvez saisir la commande suivante dans un terminal :

sudo apt-get install php5-pgsql

11.2. Configuration

Une fois PHP5 installé, vous pouvez exécuter des scripts PHP5 depuis votre navigateur Web. Si vous

avez installé le paquet php5-cgi, vous pouvez les exécuter dans un terminal.

Par défaut, le serveur Web Apache2 est configuré pour exécuter les scripts PHP5. En d'autres

termes, le module PHP5 est automatiquement activé dans le serveur Web Apache2 quand vous

installez le module. Veuillez vérifier si les fichiers /etc/apache2/mods-enabled/php5.conf et

/etc/apache2/mods-enabled/php5.load existent bien. S'ils n'existent pas, vous pouvez activer le

module en utilisant la commande a2enmod.

Page 59: Ubuntu Server Guide

Réseau

59

Une fois que vous avez installé les paquets en rapport avec PHP5 et activé le module PHP5

d'Apache2, vous devez redémarrer le serveur Web Apache2 pour pouvoir exécuter des scripts PHP5.

Vous pouvez exécuter la commande suivante dans un terminal pour redémarrer votre serveur Web :

sudo /etc/init.d/apache2 restart

11.3. Tests

Pour tester votre installation, vous pouvez exécuter le script phpinfo de PHP5, suivant :

<?php

print_r (phpinfo());

?>

Vous pouvez enregistrer le contenu dans un fichier phpinfo.php et le placer dans le répertoire

DocumentRoot du serveur Web Apache2. Quand vous pointerez votre navigateur sur

http://hostname/phpinfo.php, il affichera les valeurs de divers paramètres de configuration de

PHP5.

Page 60: Ubuntu Server Guide

Réseau

60

12. Squid - Serveur proxy

Squid est un serveur mandataire/cache web très complet qui fournit des services de cache et de relais

pour le protocole HTTP (Hyper Text Transport Protocol), le protocole FTP (File Transfer Protocol),

et d'autres protocoles réseau courants. Squid peut gérer le cache et le relais des requêtes SSL (Secure

Sockets Layer), agir en tant que cache pour les consultations DNS (Domain Name Server), et agir en

tant que cache transparent. Squid supporte également une large variété de protocoles de cache, comme

ICP (Internet Cache Protocol), HTCP (Hyper Text Caching Protocol), CARP (Cache Array Routing

Protocol), et WCCP (Web Cache Coordination Protocol).

Le serveur mandataire Squid est une excellente solution pour divers besoins de relais et de cache, son

usage s'étend de la succursale aux réseaux d'entreprise tout en fournissant des mécanismes de contrôle

d'accès étendus et modulaires et en surveillant les paramètres critiques via le protocole SNMP (Simple

Network Management Protocol). Lorsque vous sélectionnez un ordinateur pour utiliser en tant que

serveur mandataire Squid dédié, ou un serveur de cache, assurez vous que le système est configuré

avec une grande quantité de mémoire physique, car Squid maintient un cache en mémoire pour

accroître les performances.

12.1. Installation

Pour installer le serveur Squid, utilisez la commande suivante à l'invite d'un terminal :

sudo apt-get install squid squid-common

12.2. Configuration

Squid est configuré en éditant les directives contenues dans le fichier /etc/squid/squid.conf.

Les exemples suivants illustrent certaines modifications de directives qui peuvent affecter le

comportement du serveur Squid. Pour une configuration plus avancée de Squid, voyez la section

références.

Avant de modifier le fichier de configuration, vous devriez en faire une copie protégée

contre l'écriture, ainsi vous aurez les paramètres d'origine comme référence, et ré-utilisables

si nécessaire.

Copiez le fichier /etc/squid/squid.conf et protegez le en écriture en exécutant la

commande suivante dans un terminal :

sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.original

sudo chmod a-w /etc/squid/squid.conf.original

• Pour que votre serveur Squid écoute sur le port TCP 8888 à la place du port par défaut 3128,

modifiez la directive http_port comme ceci :

http_port 8888

Page 61: Ubuntu Server Guide

Réseau

61

• Pour donner un nom d'hôte spécifique à votre serveur Squid, changez la directive visible_hostname.

Ce nom d'hôte n'as pas forcément besoin d'être le même que le nom d'hôte de la machine. Dans cet

exemple il est défini comme étant weezie

visible_hostname weezie

• A nouveau, en utilisant le contrôle d'accès Squid, vous pouvez configurer l'utilisation des services

Internet mandatés par Squid pour n'être disponible que pour les utilisateurs disposant de certaines

adresses IP. Par exemple, nous n'allons autoriser l'accès que pour les utilisateurs du sous réseau

192.168.42.0/24 :

Ajoutez ce qui suit en bas de la section ACL de votre fichier /etc/squid/squid.conf :

acl fortytwo_network src 192.168.42.0/24

Ajoutez ensuite ce qui suit, en haut de la section http_access de votre fichier

/etc/squid/squid.conf :

http_access allow fortytwo_network

• En utilisant les excellentes fonctionnalités de contrôle d'accès de Squid, vous pouvez configurer

l'usage des services Internet mandatés par Squid pour n'être accessibles que pendant les heures de

bureau. Par exemple, nous restreindrons l'accès pour les employés d'un société qui travaillent du

lundi au vendredi, entre 9h00 et 17h00, et qui utilisent le sous réseau 10.1.42.0/42 :

Ajoutez ce qui suit en bas de la section ACL de votre fichier /etc/squid/squid.conf :

acl biz_network src 10.1.42.0/24 acl biz_hours time M T W T F 9:00-17:00

Ajoutez ensuite ce qui suit, en haut de la section http_access de votre fichier

/etc/squid/squid.conf :

http_access allow biz_network biz_hours

Après avoir effectué les changements dans le fichier /etc/squid/squid.conf, enregistrez le

fichier et redémarrez le serveur squid afin que les modifications soit effectives, en utilisant

la commande suivante dans une console :

sudo /etc/init.d/squid restart

12.3. Références

Site internet de Squid [http://www.squid-cache.org/]

Page 62: Ubuntu Server Guide

Réseau

62

13. Système de contrôle de version

Le contre de version est l'art de gérer les modification dans l'information. Cela a longtemps été un

outil crucial pour les développeurs, qui passent leur temps à effectuer de petites modifications sur

leurs logiciels et à les annuler le lendemain. Mais l'utilité du contrôle de version logiciel s'étend

largement au-delà du monde du développement de logiciels. Partout où vous pourrez trouver des

personnes qui utilisent l'informatique pour gérer une information qui est régulièrement modifiée, le

contrôle de version trouvera sa place.

13.1. Subversion

Subversion est un système open source de contrôle de version. En utilisant Subversion, vous pouvez

enregistrer l'historique des fichiers sources et des documents. Il gère les fichiers et les répertoires dans

le temps. Une arborescence des fichiers est placée dans un dépôt centralisé. Ce dépôt est a peu près

identique à un serveur de fichier ordinaire, sauf qu'il conserve trace de chaque changement effectué

sur les fichiers et répertoires.

13.1.1. Installation

Pour fournir l'accès à un dépôt Subversion en utilisant le protocole HTTP, vous devez installer et

configurer un serveur web. Il s'avère qu'Apache2 fonctionne avec Subversion. Reportez vous à la

section HTTP de la rubrique Apache2 pour installer et configurer Apache2. Pour fournir l'accès à

un dépôt Subversion en utilisant le protocole HTTPS, vous devez installer et configurer un certificat

numérique sur votre serveur web Apache2. Reportez vous à la section HTTPS de la rubrique Apache2

pour installer et configurer un certificat numérique.

Pour installer Subversion, utilisez la commande suivante à l'invite d'un terminal :

sudo apt-get install subversion libapache2-svn

13.1.2. Configuration du serveur

Ces étapes supposent que vous ayez installé sur votre système les paquets mentionnés ci-dessus. Cette

section explique comment créer un dépôt Subversion et accéder au projet.

13.1.2.1. Créer un dépôt Subversion

Le dépôt Subversion peut être créé en utilisant la commande suivante dans une console :

svnadmin create /path/to/repos/project

13.1.3. Modes d'accès

Les dépôts Subversion sont accessibles (vérifiés) par de nombreuses méthodes différentes, sur un

disque local, ou au travers de protocole réseau divers. L'emplacement d'un dépôt est cependant,

Page 63: Ubuntu Server Guide

Réseau

63

toujours une URL. Le tableau indique comment les différents schémas d'URL sont reliés aux

méthodes d'accès disponibles.

Tableau 4.1. Modes d'accès

Schéma Méthode d'accès

file:// accès direct au dépôt (sur disque local)

http:// Accès via le protocole WebDAV au serveur web

Apache2 fournissant Subversion

https:// Identique à http://, mais avec cryptage SSL

svn:// Accès via un protocol personnalisé à un serveur

svnserve

svn+ssh:// Indentique à svn://, mais au travers un tunnel SSH

Dans cette section, nous verrons comment configurer Subversion pour toutes ces méthodes

d'accès. Nous voyons ici les bases. Pour une utilisation plus avancée, référez-vous au svn book

[http://svnbook.red-bean.com/] (NdT : livre non traduit en français pour l'heure).

13.1.3.1. Accès direct au dépôt (file://)

C'est la plus simple des méthodes d'accès. Elle ne nécessite aucun serveur Subversion pour être

exécutée. Cette méthode d'accès est utilisée lors d'un accès Subversion depuis la même machine. La

syntaxe de la commande, saisie dans un terminal, est la suivante :

svn co file:///chemin/vers/depot/nomduprojet

ou

svn co file://localhost/chemin/vers/depot/nomduprojet

Si vous ne spécifiez pas le nom d'hôte, il y a trois barres obliques (///), deux pour le

protocole (file, dans ce cas) plus la première barre oblique de l'arborescence des fichiers. Si

vous spécifiez le nom d'hôte, vous devez utiliser deux barres obliques (//).

Les permissions du dépôt dépendent des permissions du système de fichiers. Si l'utilisateur a les droits

d'accès en lecture et écriture, alors il peut extraire et déposer sur le serveur.

13.1.3.2. Accès par le protocole WebDAV (http://)

Pour accéder au dépôt Subversion en utilisant le protocole WebDAV, vous devez configurer

votre serveur web Apache 2. Vous devez ajouter les fragments de code suivants dans votre fichier

/etc/apache2/apache2.conf :

Page 64: Ubuntu Server Guide

Réseau

64

<Location /svn>

DAV svn

SVNPath /chemin/vers/depot

AuthType Basic

AuthName "Nom du dépôt"

AuthUserFile /etc/subversion/passwd

<LimitExcept GET PROPFIND OPTIONS REPORT>

Require valid-user

</LimitExcept>

</Location>

Ensuite, vous devez créer le fichier /etc/subversion/passwd. Ce fichier contient les informations

d'authentification des utilisateurs. Pour ajouter une entrée, par exemple ajouter un utilisateur, vous

pouvez exécuter la commande suivante dans un terminal :

htpasswd2 /etc/subversion/passwd nom_utilisateur

Cette commande vous demande de saisir le mot de passe. Une fois le mot de passe entré, l'utilisateur

est ajouté. Dès lors, pour accéder au dépôt, vous pouvez utiliser la commande suivante :

svn co http://nomduserveur/svn

Le mot de passe est transmis en clair, comme texte simple. Si vous craignez les fureteurs de

mot de passe, nous vous conseillons d'utiliser un chiffrement SSL. Pour plus d'information,

veuillez vous référer au chapitre suivant.

13.1.3.3. Accès par le protocole WebDAV avec un chiffrement SSL (https://)

Accéder au dépôt Subversion via le protocole WebDAV avec cryptage SSL (https://) est similaire

à http:// sauf que vous devez installer et configurer un certificat numérique sur votre serveur web

Apache2.

Vous pouvez installer un certificat numérique émis par une autorité de certification comme Verisign.

Autrement, vous pouvez installer votre propre certificat auto-signé.

Cette étape suppose que vous avez installé et configuré un certificat numérique sur votre serveur web

Apache2. Maintenant, pour accéder au dépôt Subversion, veuillez vous référer à la section ci-dessus

! Les méthodes d'accès sont exactement les mêmes, hormis le protocole. Vous devez utiliser https://

pour accéder au dépôt Subversion.

13.1.3.4. Accès via un protocole personnalisé (svn://)

Une fois le dépôt Subversion créé, vous pouvez configurer le contrôle d'accès. Vous pouvez éditer

le fichier /path/to/repos/project/conf/svnserve.conf pour cela. Par exemple, pour activer

l'authentification, vous pouvez décommenter les lignes suivantes dans le fichier de configuration :

# [general]

# password-db = passwd

Page 65: Ubuntu Server Guide

Réseau

65

Après avoir décommenté ces lignes, vous pouvez gérer la liste d'utilisateurs dans le fichier passwd.

Éditez donc le fichier passwd dans le même répertoire et ajoutez le nouvel utilisateur. La syntaxe se

présente ainsi :

username = password

Pour plus de détails, référez-vous au fichier.

Maintenant, pour accéder à Subversion via le protocole personnalisé svn://, soit de la même machine,

soit d'une autre, vous pouvez exécuter svnserver en utilisant la commande svnserve. La syntaxe se

présente ainsi :

$ svnserve -d --foreground -r /path/to/repos

# -d -- daemon mode

# --foreground -- run in foreground (useful for debugging)

# -r -- root of directory to serve

For more usage details, please refer to:

$ svnserve --help

Une fois la commande exécutée, Subversion démarre en écoutant le port par défaut (3690). Pour

accéder au dépôt du projet, vous devez exécuter la commande suivante depuis un terminal :

svn co svn://nom_hote/projet project --username nom_utilisateur

Suivant la configuration du serveur, il vous demande un mot de passe. Une fois que vous vous êtes

authentifié, il vérifie le code sur le dépôt Subversion. Pour synchroniser le dépôt du projet avec votre

copie locale, vous pouvez exécuter la sous-commande update. La syntaxe de cette commande, saisie

dans un terminal, est la suivante :

cd repertoire_du_projet ; svn update

Pour plus d'informations sur l'utilisation de chaque sous-commande de Subversion, vous pouvez

vous référer au manuel. Par exemple, pour en savoir plus sur la commande co (checkout), exécutez la

commande suivante dans un terminal :

svn co help

13.1.3.5. Accès par un protocole personnalisé avec un chiffrement SSL (svn+ssh://)

La configuration et le processus du serveur est le même que pour la méthode svn://. Pour plus de

détails, veuillez vous référer au chapitre précédent. Dans cette étape, nous supposons que vous avez

suivi l'étape précédente et que vous avez démarré le serveur Subversion en utilisant la commande

svnserve.

De même, nous supposons que le serveur ssh s'exécute sur cette machine et que les connexions

entrantes y sont autorisées. Pour vous en assurer, essayez de vous connecter à la machine en utilisant

Page 66: Ubuntu Server Guide

Réseau

66

ssh. Si vous pouvez vous identifier, alors tout est parfait. Si vous ne pouvez pas vous identifier,

résolvez le problème avant de continuer.

Le protocole svn+ssh:// est utilisé pour accéder au dépôt Subversion en utilisant un chiffrement SSL.

Le transfert de données est chiffré en utilisant cette méthode. Pour accéder au dépôt du projet (pour

une vérification par exemple), vous devez utiliser la syntaxe suivante :

svn co svn+ssh://hostname/var/svn/repos/project

Vous devez utiliser le chemin complet (/chemin/vers/dépôt/projet) pour accéder au dépôt

Subversion en utilisant cette méthode d'accès.

Suivant la configuration du serveur, il vous demande un mot de passe. Vous devez saisir le mot de

passe que vous utilisez pour vous identifier via ssh. Une fois que vous vous êtes authentifié, il vérifie

le code sur le dépôt Subversion.

13.2. Serveur CVS

CVS est un système de gestion de version. Vous pouvez l'utiliser pour enregistrer l'historique des

fichiers sources.

13.2.1. Installation

Dans un terminal, saisissez la commande suivante pour installer cvs :

sudo apt-get install cvs

Après avoir installé cvs, vous devez installer xinetd pour pouvoir démarrer ou arrêter le serveur cvs. À

l'invite de commande, saisissez la commande suivante pour installer xinetd :

sudo apt-get install xinetd

13.2.2. Configuration

Une fois que vous avez installé cvs, le dépôt sera automatiquement initialisé. Par défaut, le dépôt se

trouve dans le répertoire /var/lib/cvs. Vous pouvez changer ce chemin en exécutant la commande

suivante :

cvs -d /votre/nouveau/dépôt/cvs init

Une fois le dépôt initial paramétré, vous pouvez configurer xinetd pour qu'il démarre le serveur CVS.

Copiez les lignes suivantes dans le fichier /etc/xinetd/cvspserver.

service cvspserver

{

port = 2401

Page 67: Ubuntu Server Guide

Réseau

67

socket_type = stream

protocol = tcp

user = root

wait = no

type = UNLISTED

server = /usr/bin/cvs

server_args = -f --allow-root /var/lib/cvs pserver

disable = no

}

Prenez bien soin de modifier le dépôt si vous avez changé son répertoire par défaut

(/var/lib/cvs).

Une fois que vous avez configuré xinetd, vous pouvez démarrer le serveur cvs en exécutant la

commande suivante :

sudo /etc/init.d/xinetd start

Pour vous assurer que le serveur CVS est bien en cours d'exécution, saisissez la commande suivante :

sudo netstat -tap | grep cvs

Quand vous exécutez cette commande, vous devriez voir apparaître la ligne suivante ou quelque chose

de similaire :

tcp 0 0 *:cvspserver *:* LISTEN

À partir de là, vous pouvez continuer en ajoutant des utilisateurs, de nouveaux projets ou en gérant le

serveur CVS.

CVS permet à l'utilisateur d'ajouter des utilisateurs indépendamment du système

d'exploitation installé. La manière la plus simple est probablement de passer par Utilisateurs

Linux pour CVS, bien que cela puisse poser des problèmes de sécurité. Veuillez consulter le

manuel de CVS pour plus d'informations.

13.2.3. Ajouter des projets

Cette section détaille comment ajouter un nouveau projet au dépôt CVS. Créez le répertoire et

ajoutez-y le document et les fichiers sources nécessaires. Puis, utilisez la commande suivante pour

ajouter votre projet au dépôt CVS :

cd votre/projet

cvs import -d :pserver:[email protected]:/var/lib/cvs -m "Importation de mon projet dans le dépôt CVS" . nouveau_projet ouverture

Vous pouvez utiliser la variable d'environnement CVSROOT pour stocker le répertoire

racine de CVS. Une fois la variable d'environnement CVSROOT exportée, vous pouvez

vous dispenser d'utiliser l'option -d lors de l'emploi de la commande CVS ci-dessus.

Page 68: Ubuntu Server Guide

Réseau

68

la chaine de caractères nouveau_projet est une balise indiquant l'identité du diffuseur et ouverture est

une balise de version. Elles n'ont aucune utilité dans ce contexte, mais elles doivent être présentes car

CVS les exige.

Lors de l'ajout d'un nouveau projet, l'utilisateur CVS par lequel vous passez doit posséder les

droits d'écriture sur le dépôt CVS (/var/lib/cvs). Par défaut, le groupe src possède les droits

d'écriture sur le dépôt CVS. Vous avez donc la possibilité d'ajouter l'utilisateur à ce groupe

et il pourra alors ajouter et gérer les projets à l'intérieur du dépôt CVS.

13.3. Références

Site internet de Subversion [http://subversion.tigris.org/]

Livre sur Subversion [http://svnbook.red-bean.com/]

Manuel de CVS [http://ximbiot.com/cvs/manual/cvs-1.11.21/cvs_toc.html]

Page 69: Ubuntu Server Guide

Réseau

69

14. Bases de données

Ubuntu met à disposition deux serveurs de bases de données. Ils sont :

• MySQL™

• PostgreSQL

Ils sont disponibles dans le dépôt principal. Cette section détaille comment installer et configurer ces

deux serveurs.

14.1. MySQL

MySQL est un serveur de base de données multi-processus, multi-utilisateurs, rapide et stable. Il

est conçu pour répondre aux besoins de systèmes de production essentiels soumis à des charges

importantes, aussi bien que pour une intégration dans des logiciels à grande diffusion.

14.1.1. Installation

Pour installer MySQL, exécutez la commande suivante dans un terminal :

sudo apt-get install mysql-server mysql-client

Une fois l'installation terminée, le serveur MySQL devrait démarrer automatiquement. Vous pouvez

utiliser la commande suivante à l'invite d'un terminal pour vérifier si le serveur MySQL fonctionne :

sudo netstat -tap | grep mysql

Quand vous exécutez cette commande, vous devriez voir apparaître la ligne suivante ou quelque chose

de similaire :

tcp 0 0 localhost.localdomain:mysql *:* LISTEN -

Si le serveur ne fonctionne pas correctement, saisissez la commande suivante pour le démarrer :

sudo /etc/init.d/mysql restart

14.1.2. Configuration

Par défaut, le mot de passe administrateur n'est pas défini. Une fois MySQL installé, la première

chose à faire est de configurer le mot de passe administrateur. Pour ce faire, utilisez les commandes

suivantes :

sudo mysqladmin -u root password nouveau_mot_de_passe_sql

Page 70: Ubuntu Server Guide

Réseau

70

sudo mysqladmin -p -u root -h localhost password nouveaumotdepasse

Vous pouvez éditer le fichier /etc/mysql/my.cnf afin de configurer les réglages de base - fichier

journal, numéro de port, etc. Consultez le fichier /etc/mysql/my.cnf pour plus de détails.

14.2. PostgreSQL

PostgreSQL est un système de gestion de bases de données relationnelles objet qui a les même

fonctionnalités que les systèmes commerciaux de gestion de bases de données traditionnels avec les

améliorations que l'on peut trouver dans les systèmes SGBD de nouvelle génération.

14.2.1. Installation

Pour installer PostgreSQL, exécutez la commande suivante dans un terminal :

sudo apt-get install postgresql

Une fois que l'installation est terminée, vous devez configurer le serveur PostgreSQL suivant vos

besoins, bien que la configuration par défaut soit utilisable.

14.2.2. Configuration

Par défaut, la connexion via TCP/IP est désactivée. PostgreSQL supporte de nombreuses

méthodes d'authentification des clients. Par défaut c'est la méthode d'authentification

IDENT qui est utilisée. Veuillez consulter le Guide d'administration de PostgreSQL

[http://docs.postgresqlfr.org/8.1/admin.html].

Le paragraphe suivant part du principe que vous désirez activer les connexions TCP/IP et

utiliser la méthode MD5 pour l'authentification des clients. Les fichiers de configuration de

PostgreSQL sont enregistrés dans le répertoire /etc/postgresql/<version>/main. Par exemple,

si vous installez PostgreSQL 7.4, les fichiers de configuration sont enregistrés dans le répertoire

/etc/postgresql/7.4/main.

Pour configurer l'authentification par ident, ajoutez des entrées dans le fichier

/etc/postgresql/7.4/main/pg_ident.conf.

Pour activer les connexions TCP/IP, modifiez le fichier

/etc/postgresql/7.4/main/postgresql.conf.

Trouvez la ligne #tcpip_socket = false et transformez-la en tcpip_socket = true. Vous pouvez aussi

modifier tous les autres paramètres, si vous savez ce que vous faites! Pour plus d'informations,

référez-vous au fichier de configuration ou à la documentation de PostgreSQL.

Par défaut, les certificats des utilisateurs ne sont pas paramétrés pour une authentification MD5

des clients. C'est pourquoi il est tout d'abord nécessaire de configurer le serveur PostgreSQL

pour qu'il utilise l'authentification trust des clients, puis de se connecter à la base de données,

Page 71: Ubuntu Server Guide

Réseau

71

de configurer le mot de passe et enfin de revenir à l'ancienne configuration pour utiliser

l'authentification MD5 des clients. Pour activer l'authentification trust des clients, modifiez le fichier

/etc/postgresql/7.4/main/pg_hba.conf.

Décommentez toutes les lignes existantes utilisant l'authentification ident et MD5 des clients et

ajoutez la ligne suivante :

local all postgres trust sameuser

Ensuite, exécutez la commande suivante pour démarrer le serveur PostgreSQL :

sudo /etc/init.d/postgresql start

Une fois le serveur PostgreSQL démarré, exécutez la commande suivante à l'invite d'un terminal afin

de vous connecter à la base de donnée PostgreSQL servant d'exemple par défaut.

psql -U postgres -d template1

La commande ci-dessus permet la connexion à la base de données PostgreSQL template1 en tant

qu'utilisateur postgres. Une fois connecté au serveur PostgreSQL, vous serez face à une invite de

commande SQL. Vous pouvez alors utiliser la commande SQL suivante à l'invite de psql afin de

configurer le mot de passe de l'utilisateur postgres.

template1=# ALTER USER postgres with encrypted password 'your_password';

Après configuration du mot de passe, éditez le fichier /etc/postgresql/7.4/main/pg_hba.conf afin

d'utiliser l'authentification MD5 :

Commentez la ligne trust récemment ajoutée et ajoutez la ligne suivante :

local all postgres md5 sameuser

La configuration ci-dessus n'est absolument pas complète. Veuillez vous référer au Guide

de l'administrateur PostgreSQL [http://www.postgresql.org/docs/8.1/static/admin.html] pour

configurer d'autres paramètres.

Page 72: Ubuntu Server Guide

Réseau

72

15. Services de Courriel

La transmission d'un courriel d'une personne à une autre à travers un réseau ou par Internet nécessite

la mise en oeuvre de nombreux systèmes travaillant ensemble. Chacun de ces systèmes doit être

correctement configuré pour que cette tâche soit réalisée. L'expéditeur utilise un Mail User Agent

(MUA), ou client courriel, afin d'envoyer le message à travers un ou plusieurs Mail Transfer Agents

(MTA), le dernier d'entre eux le remettant à un Mail Delivery Agent (MDA) pour distribution dans la

boite à lettres du destinataire, d'où il sera retiré par le client courriel du destinataire, généralement par

l'intermédiaire d'un serveur POP3 ou IMAP.

15.1. Postfix

Postfix est le Service de Transfert de Courriel (MTA) par défaut d'Ubuntu. Il est conçu pour être sûr

autant que facile et rapide à configurer. Il est compatible avec le MTA sendmail. Cette section détaille

l'installation et la configuration de postfix. Elle explique aussi comment en faire un serveur SMTP

utilisant une connexion sécurisée (afin d'assurer la sécurité des courriels envoyés).

15.1.1. Installation

Pour installerpostfix avec les fonctions SMTP-AUTH et Transport Layer Security (TLS), utilisez la

commande suivante:

sudo apt-get install postfix

Appuyez simplement sur la touche Entrée à chaque fois que le processus d'installation vous posera

une question, la configuration sera faite plus précisément lors de la prochaine étape.

15.1.2. Configuration de base

Pour configurerpostfix, utilisez la commande suivante:

sudo dpkg-reconfigure postfix

L'interface utilisateur sera alors affichée. Dans chaque écran, sélectionnez les valeurs suivantes :

• OK

• Site Internet

• AUCUN

• courriel.exemple.fr

• courriel.exemple.fr, localhost.localdomain, localhost

• Non

• 127.0.0.0/8

• Oui

• 0

• +

Page 73: Ubuntu Server Guide

Réseau

73

• AUCUN(E)

Remplacer courriel.exemple.fr par le nom d'hôte de votre serveur de messagerie.

15.1.3. Authentification SMTP

Les prochaines étapes sont la configuration de postfix pour qu'il utilise SASL pour le SMTP

AUTH (authentification sur le serveur SMTP). Au lieu de modifier le fichier de configuration

directement, vous pouvez utiliser la commande postconf pour ajuster tous les paramètres de postfix.

Les paramètres de configuration sont enregistrés dans le fichier /etc/postfix/main.cf. Par la suite

si vous voulez modifier un paramètre en particulier, vous pouvez soit utiliser une commande, soit le

changer manuellement dans le fichier.

1. Configurez Postfix pour qu'il demande une authentification (SMTP AUTH) en utilisant SASL

(saslauthd) :

postconf -e 'smtpd_sasl_local_domain ='

postconf -e 'smtpd_sasl_auth_enable = yes'

postconf -e 'smtpd_sasl_security_options = noanonymous'

postconf -e 'broken_sasl_auth_clients = yes'

postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'

postconf -e 'inet_interfaces = all'

Ouvrez le fichier /etc/postfix/sasl/smtpd.conf et ajoutez les lignes suivantes à la fin du

fichier :

pwcheck_method: saslauthd

mech_list: plain login

2. Ensuite, configurez le certificat numérique pour TLS. Quand des questions vous seront posées,

suivez les instructions et répondez-y de façon appropriée.

openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024

chmod 600 smtpd.key

openssl req -new -key smtpd.key -out smtpd.csr

openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt

openssl rsa -in smtpd.key -out smtpd.key.unencrypted

mv -f smtpd.key.unencrypted smtpd.key

openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

sudo mv smtpd.key /etc/ssl/private/

sudo mv smtpd.crt /etc/ssl/certs/

sudo mv cakey.pem /etc/ssl/private/

sudo mv cacert.pem /etc/ssl/certs/

Vous pouvez recevoir le certificat numérique d'une autorité de certification. Sinon,

vous pouvez le créer vous-même. Référez-vous à Section 10.3.4, « Création d'un

Certificat Auto-signé (Self-Signed Certificate ou SSC) » [55] pour plus de détails.

Page 74: Ubuntu Server Guide

Réseau

74

3. Configurez Postfix pour qu'il utilise un chiffrement par TLS à la fois pour les courriels entrants

et sortants :

postconf -e 'smtpd_tls_auth_only = no'

postconf -e 'smtp_use_tls = yes'

postconf -e 'smtpd_use_tls = yes'

postconf -e 'smtp_tls_note_starttls_offer = yes'

postconf -e 'smtpd_tls_key_file = /etc/ssl/private/smtpd.key'

postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt'

postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem'

postconf -e 'smtpd_tls_loglevel = 1'

postconf -e 'smtpd_tls_received_header = yes'

postconf -e 'smtpd_tls_session_cache_timeout = 3600s'

postconf -e 'tls_random_source = dev:/dev/urandom'

postconf -e 'myhostname = courriel.exemple.fr'

Après avoir exécuté toutes les commandes, le SMTP AUTH est configuré avec postfix. Le

certificat auto-signé a été créé pour TLS et il est configuré avec postfix.

Maintenant, le fichier /etc/postfix/main.cf doit ressembler à ça [../sample/postfix_configuration].

La configuration initiale de postfix est complète. Exécutez la commande suivante pour démarrer le

démon postfix :

sudo /etc/init.d/postfix start

Le démon postfix est maintenant installé, configuré et fonctionne correctement. Postfix prend en

charge SMTP AUTH comme défini dans la RFC2554 [ftp://ftp.isi.edu/in-notes/rfc2554.txt]. Il

est basé sur SASL [ftp://ftp.isi.edu/in-notes/rfc2222.txt]. Cependant, il est toujours nécessaire de

paramétrer l'authentification SASL avant de pouvoir utiliser SMTP.

15.1.4. Configuration de SASL

Libsasl2, sasl2-bin et libsasl2-modules sont nécessaire pour activer l'authentification (SMTP AUTH)

via SASL. Vous pouvez installer ces applications si vous ne les avez pas déjà installées.

sudo apt-get install libsasl2 sasl2-bin

Quelques modifications sont nécessaires pour que tout fonctionne correctement. En raison du fait

que Postfix s'exécute dans un environnement restreint au répertoire /var/spool/postfix, SASL

à besoin d'être configuré pour qu'il s'exécute dans la fausse racine (/var/run/saslauthd devient

/var/spool/postfix/var/run/saslauthd) :

mkdir -p /var/spool/postfix/var/run/saslauthd

rm -rf /var/run/saslauthd

Pour activer saslauthd, éditez le fichier /etc/default/saslauthd, et modifiez ou ajoutez le paramètre

START. Afin de configurer saslauthd pour qu'il s'exécute dans une fausse racine, ajoutez les

Page 75: Ubuntu Server Guide

Réseau

75

paramètres PWDIR, PIDFILE et PARAMS. Pour finir, configurez le paramètre MECHANISMS

selon votre souhait. Le fichier doit ressembler à cela :

# This needs to be uncommented before saslauthd will be run

# automatically

START=yes

PWDIR="/var/spool/postfix/var/run/saslauthd"

PARAMS="-m ${PWDIR}"

PIDFILE="${PWDIR}/saslauthd.pid"

# You must specify the authentication mechanisms you wish to use.

# This defaults to "pam" for PAM support, but may also include

# "shadow" or "sasldb", like this:

# MECHANISMS="pam shadow"

MECHANISMS="pam"

Si vous le préférez, vous pouvez utiliser shadow au lieu de pam. Cela sélectionne le

transfert des mots de passe haché par MD5, ce qui est parfaitement sûr. Le nom d'utilisateur

et le mot de passe nécessaires pour l'authentification seront ceux des utilisateurs du système

que vous utilisez sur le serveur.

Ensuite, mettez à jour l'"état" dpkg de /var/spool/portfix/var/run/saslauthd. Le script

d'initialisation de saslauthd utilise ce paramètre pour créer le répertoire manquant avec les

permissions et le propriétaire appropriés :

dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd

15.1.5. Tests

La configuration de SMTP AUTH est complète. Il est maintenant temps de démarrer et de tester la

configuration. Vous pouvez exécuter la commande suivante pour démarrer le démon SASL :

sudo /etc/init.d/saslauthd start

Pour vérifier si SMTP-AUTH et TLS fonctionnent correctement, exécutez la commande suivante :

telnet courriel.exemple.fr 25

Après avoir établi la connexion au serveur de courriel postfix, saisissez :

ehlo courriel.exemple.fr

Si vous voyez les lignes suivantes parmi d'autres, alors tout fonctionne correctement. Saisissez quit

pour quitter.

250-STARTTLS

Page 76: Ubuntu Server Guide

Réseau

76

250-AUTH LOGIN PLAIN

250-AUTH=LOGIN PLAIN

250 8BITMIME

15.2. Exim4

Exim4 est un autre agent de transfert de courriel (MTA : Message Transfer Agent) développé à

l'Université de Cambridge pour être utilisé sur des systèmes Unix connectés à internet. Exim peut être

installé à la place de sendmail, mais la configuration de exim est complètement différente de celle de

sendmail.

15.2.1. Installation

Pour installer exim4, exécutez la commande suivante :

sudo apt-get install exim4 exim4-base exim4-config

15.2.2. Configuration

Pour configurer exim4, exécutez la commande suivante :

sudo dpkg-reconfigure exim4-config

L'interface utilisateur s'affichera. Elle vous permettra de configurer de nombreux paramètres. Par

exemple, dans exim4 les fichiers de configuration sont divisés en de multiples fichiers. Si vous désirez

les réunir en un seul fichier, vous pouvez modifier la configuration en ce sens à travers cette interface.

Tous les paramètres que vous ajuster avec l'interface de configuration sont enregistrés dans le fichier

/etc/exim4/update-exim4.conf.conf. Si vous souhaitez les modifier, soit vous exécutez à nouveau

l'assistant de configuration, soit vous éditez manuellement ce fichier avec votre éditeur de texte favori.

La configuration étant faite, vous pouvez exécuter la commande suivante pour régénérer le fichier de

configuration principal :

sudo update-exim4.conf

Le fichier de configuration principal sera généré et stocké dans

/var/lib/exim4/config.autogenerated.

À aucun moment, vous ne devez éditer manuellement le fichier de configuration principal

/var/lib/exim4/config.autogenerated, car il est mis à jour automatiquement chaque fois

que vous exécutez update-exim4.conf

Vous pouvez exécutez la commande suivante pour démarrer le démon exim4.

sudo /etc/init.d/exim4 start

Page 77: Ubuntu Server Guide

Réseau

77

À faire : Cette section doit couvrir la configuration SMTP AUTH avec exim4.

15.3. Serveur Dovecot

Dovecot est un serveur de réception de courrier (MDA=Mail Delivery Agent), conçu avec la sécurité

comme souci principal. Il prend en charge la majorité des formats de boîtes à lettres : mbox ou

Maildir. Cette section explique comment le paramétrer pour en faire un serveur imap ou pop3.

15.3.1. Installation

Pour installer dovecot, exécutez la commande suivante dans un terminal :

sudo apt-get install dovecot-common dovecot-imapd dovecot-pop3d

15.3.2. Configuration

Pour configurer dovecot, vous pouvez modifier le fichier /etc/dovecot/dovecot.conf.

Vous pouvez choisir le protocole que vous souhaitez utiliser. Il peut être de type pop3,

pop3s (pop3 sécurisé), imap ou imaps (imap sécurisé). La description de ces protocoles

dépasse le champ de ce guide. Pour plus d'informations, référez-vous aux articles de

wikipedia sur le POP3 [http://fr.wikipedia.org/wiki/Post_Office_Protocol] et l'IMAP

[http://fr.wikipedia.org/wiki/Internet_Message_Access_Protocol].

L'IMAPS et le POP3S sont plus sûrs que les simples IMAP et POP3 car ils utilisent un chiffrement

SSL pour établir une connexion. Une fois que vous avez choisi un protocole, modifiez la ligne

suivante dans le fichier /etc/dovecot/dovecot.conf :

protocols = pop3 pop3s imap imaps

Le protocole s'activera lorsque dovecot sera démarré. Ensuite, ajoutez la ligne suivante dans la section

pop3 du fichier /etc/dovecot/dovecot.conf :

pop3_uidl_format = %08Xu%08Xv

Puis, choisissez la boite aux lettres que vous utilisez. Dovecot prend en charge les formats

maildir et mbox. Ce sont les formats de boite aux lettres les plus couramment utilisés.

Ils ont chacun leurs propres avantages qui sont présentés sur le site web de dovecot

[http://dovecot.org/doc/configuration.txt].

Une fois que vous avez choisi le type de votre boite aux lettres, éditez le fichier

/etc/dovecot/dovecot.conf et modifiez la ligne suivante :

default_mail_env = maildir:~/Maildir # (pour maildir)

ou

default_mail_env = mbox:~/mail:INBOX=/var/spool/mail/%u # (pour mbox)

Page 78: Ubuntu Server Guide

Réseau

78

Vous devez configurer votre agent de transfert de courriel (MTA : Mail Transport Agent)

pour transférer les courriels entrants vers ce type de boite aux lettres si il est différent de

celui que vous avez configuré.

Une fois que vous avez configuré dovecot, démarrez le démon dovecot afin de tester votre

configuration :

sudo /etc/init.d/dovecot start

Si vous avez activé l'imap ou le pop3, vous pouvez aussi essayer de vous connecter avec les

commandes telnet localhost pop3 ou telnet localhost imap2. Si vous voyez quelque chose comme ce

qui suit, alors l'installation est une réussite :

bhuvan@rainbow:~$ telnet localhost pop3

Trying 127.0.0.1...

Connected to localhost.localdomain.

Escape character is '^]'.

+OK Dovecot ready.

15.3.3. Configuration SSL de Dovecot

Pour configurer dovecot pour l'usage du protocole SSL, vous pouvez éditer le fichier

/etc/dovecot/dovecot.conf et modifier les lignes suivantes :

ssl_cert_file = /etc/ssl/certs/dovecot.pem

ssl_key_file = /etc/ssl/private/dovecot.pem

ssl_disable = no

disable_plaintext_auth = no

Les fichiers cert et key sont créés automatiquement par dovecot lorsque vous l'installez. Merci de

noter que ces clés ne sont pas signées et retourneront des erreurs "signature erronnée" lors de la

connexion depuis un client. Pour éviter cela, vous pouvez utiliser vos propres certificats SSL.

15.3.4. Configuration du pare-feu pour un serveur de courrier électronique

Pour accéder à votre serveur de courrier depuis un autre ordinateur, vous devez configurer votre

pare-feu pour permettre les connexions au serveur à travers les ports nécessaires.

• IMAP - 143

• IMAPS - 993

• POP3 - 110

• POP3S - 995

15.4. Mailman

Mailman est un programme libre permettant la gestion de discussions par courrier électronique et de

listes de bulletins d'information électroniques. De nombreuses listes de diffusion libres (dont toutes

Page 79: Ubuntu Server Guide

Réseau

79

les listes de diffusion Ubuntu [http://lists.ubuntu.com]) utilisent Mailman comme logiciel de gestion

de liste de diffusion. Il est puissant, facile à installer et à gérer.

15.4.1. Installation

Mailman offre aux administrateurs et utilisateurs une interface web. Il nécessite donc la présence

d'apache et du support de mod_perl. Mailman utilise un serveur de courrier externe pour envoyer et

recevoir les messages. Il fonctionne parfaitement avec les serveurs de courrier suivants :

• Postfix

• Exim

• Sendmail

• Qmail

Nous allons voir comment installer Mailman, le serveur apache et le serveur de courriels Exim. Si

vous désirez installer Mailman associé à un serveur de courriers différent, veuillez consulter la section

"références".

15.4.1.1. Apache2

Pour installer apache2, merci de consulter Section 10.1, « Installation » [48].

15.4.1.2. Exim4

Pour installer Exim4, exécutez les commandes suivantes dans un terminal :

sudo apt-get install exim4

sudo apt-get install exim4-base

sudo apt-get install exim4-config

Une fois exim4 installé, les fichiers de configuration sont stockés dans le répertoire /etc/exim4.

Par défaut, dans Ubuntu les fichiers de configuration de exim4 sont divisés en plusieurs fichiers.

Vous pouvez changer ce comportement en modifiant le paramètre suivant dans le fichier

/etc/exim4/update-exim4.conf :

• dc_use_split_config='true'

15.4.1.3. Mailman

Pour installer Mailman, utilisez la commande suivante à l'invite d'un terminal :

sudo apt-get install mailman

Elle copie les fichiers d'installation dans le répertoire /usr/lib/cgi-bin/mailman, installe les scripts CGI

dans le répertoire /usr/lib/cgi-bin/mailman, crée l'utilisateur linux list et crée le groupe linux list. Le

processus Mailman sera la propriété de cet utilisateur.

Page 80: Ubuntu Server Guide

Réseau

80

15.4.2. Configuration

Cette section suppose que vous ayez installé Mailman, Apache2 et Exim4 avec succès. Maintenant,

vous avez juste besoin de les configurer.

15.4.2.1. Apache2

Une fois Apache2 installé, vous pouvez ajoutez les lignes suivantes dans le fichier

/etc/apache2/apache2.conf :

Alias /images/mailman/ "/usr/share/images/mailman/"

Alias /pipermail/ "/var/lib/mailman/archives/public/"

Mailman utilise Apache2 pour exécuter ses scripts CGI. Les scripts CGI de Mailman sont

installés dans le répertoire /usr/lib/cgi-bin/mailman. C'est pourquoi l'URL de Mailman sera

http://hostname/cgi-bin/mailman/. Vous pouvez modifier le fichier /etc/apache2/apache2.conf si

vous souhaitez changer ce comportement.

15.4.2.2. Exim4

Une fois Exim4 installé, vous pouvez démarrer le serveur Exim grâce à la commande suivante entrée

à l'invite d'un terminal :

sudo apt-get /etc/init.d/exim4 start

Afin que Mailman utilise Exim4, vous devez de configurer Exim4. Comme mentionné précédemment,

par défaut, Exim4 utilise de multiples fichiers de configuration, de types différents. Pour plus de

détails, veuillez vous référer au site internet de Exim [http://www.exim.org]. Pour exécuter Mailman,

il nous faut ajouter un nouveau fichier de configuration aux types de configuration suivants :

• Principal

• Transport

• Routeur

Exim crée un fichier de configuration principal en triant tous ces petits fichiers de configuration.

C'est pourquoi, l'ordre de ces fichiers de configuration est très important.

15.4.2.3. Principal

Tous les fichiers de configuration appartenant à la catégorie principale sont rangés dans le répertoire

/etc/exim4/conf.d/main/. Vous pouvez ajouter le contenu suivant à un nouveau fichier, appelé

04_exim4-config_mailman :

# start

# Home dir for your Mailman installation -- aka Mailman's prefix

# directory.

# On Ubuntu this should be "/var/lib/mailman"

Page 81: Ubuntu Server Guide

Réseau

81

# This is normally the same as ~mailman

MM_HOME=/var/lib/mailman

#

# User and group for Mailman, should match your --with-mail-gid

# switch to Mailman's configure script. Value is normally "mailman"

MM_UID=list

MM_GID=list

#

# Domains that your lists are in - colon separated list

# you may wish to add these into local_domains as well

domainlist mm_domains=hostname.com

#

# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

#

# These values are derived from the ones above and should not need

# editing unless you have munged your mailman installation

#

# The path of the Mailman mail wrapper script

MM_WRAP=MM_HOME/mail/mailman

#

# The path of the list config file (used as a required file when

# verifying list addresses)

MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck

# end

15.4.2.4. Transport

Tous les fichiers de configuration appartenant à la catégorie transport sont rangés dans le dossier

/etc/exim4/conf.d/transport/. Vous pouvez ajouter le contenu suivant à un nouveau fichier,

appelé 40_exim4-config_mailman :

mailman_transport:

driver = pipe

command = MM_WRAP \

'${if def:local_part_suffix \

{${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \

{post}}' \

$local_part

current_directory = MM_HOME

home_directory = MM_HOME

user = MM_UID

group = MM_GID

15.4.2.5. Routeur

Tous les fichiers de configuration appartenant à la catégorie routeur sont rangés dans le dossier

/etc/exim4/conf.d/router/. Vous pouvez ajouter le contenu suivant à un nouveau fichier, appelé

101_exim4-config_mailman :

mailman_router:

Page 82: Ubuntu Server Guide

Réseau

82

driver = accept

require_files = MM_HOME/lists/$local_part/config.pck

local_part_suffix_optional

local_part_suffix = -bounces : -bounces+* : \

-confirm+* : -join : -leave : \

-owner : -request : -admin

transport = mailman_transport

L'ordre des fichiers de configuration des catégories principale et transport est indifférent.

Mais l'ordre des fichiers de la catégorie routeur doit être respecté. Ce fichier particulier doit

apparaître avant le fichier 200_exim4-config_primary. Ces deux fichiers de configuration

contiennent le même type d'information. Le premier fichier est prioritaire. Pour plus de

détails, veuillez vous reporter à la section "références"

15.4.2.6. Mailman

Une fois Mailman installé, vous pouvez l'utiliser grâce à la commande suivante :

sudo /etc/init.d/mailman start

Une fois Mailman installé, vous devriez créer la liste de diffusion par défaut. Utilisez la commande

suivante pour créer la liste de diffusion :

sudo /usr/sbin/newlist mailman

Enter the email address of the person running the list: bhuvan at ubuntu.com

Initial mailman password:

To finish creating your mailing list, you must edit your /etc/aliases (or

equivalent) file by adding the following lines, and possibly running the

`newaliases' program:

## mailman mailing list

mailman: "|/var/lib/mailman/mail/mailman post mailman"

mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman"

mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman"

mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman"

mailman-join: "|/var/lib/mailman/mail/mailman join mailman"

mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman"

mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman"

mailman-request: "|/var/lib/mailman/mail/mailman request mailman"

mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman"

mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"

Hit enter to notify mailman owner...

#

Nous avons configuré exim pour qu'il reconnaisse tous les courriels issus de Mailman. Il n'est donc

pas indispensable de créer de nouvelles entrées dans /etc/aliases. Si vous avez procédé à des

Page 83: Ubuntu Server Guide

Réseau

83

modifications des fichiers de configuration, merci de vous assurer de redémarrer ces services avant de

passer à la section suivante.

15.4.3. Administration

Nous supposons que vous avez fait une installation par défaut. Les scripts cgi de mailman sont

toujours dans le répertoire /usr/lib/cgi-bin/mailman/. Mailman fournit un outil d'administration web.

Pour accéder à cette page, ouvrez avec votre navigateur l'adresse suivante :

http://hostname/cgi-bin/mailman/admin

La liste de diffusion par défaut, mailman, apparaîtra sur cet écran. Si vous cliquez sur le nom de la

liste, il vous sera demandé votre mot de passe d'authentification. Si vous entrez le bon mot de passe,

alors vous pourrez modifier les paramètres d'administration de cette liste de diffusion. Vous pouvez

créer une nouvelle liste de diffusion, en ligne de commande, avec l'utilitaire /usr/sbin/newlist. Sinon,

vous pouvez aussi créer une nouvelle liste de diffusion en utilisant l'interface web.

15.4.4. Utilisateurs

Mailman fournit aux utilisateurs une interface web. Pour accéder à cette page, ouvrez avec votre

navigateur l'adresse suivante :

http://hostname/cgi-bin/mailman/listinfo

La liste de destinataires par défaut, mailman, apparaîtra sur cet écran. Si vous cliquez sur le nom de

la liste, vous verrez apparaître le formulaire d'inscription. Vous pourrez alors saisir votre adresse

électronique, votre nom (non obligatoire) et votre mot de passe afin de vous inscrire. Un courriel de

confirmation vous sera adressé. Vous pourrez alors suivre les instruction incluses pour vous inscrire.

15.4.5. Références

GNU Mailman - Manuel d'installation [http://www.list.org/mailman-install/index.html]

Guide partique - Utiliser Exim4 avec Mailman 2.1 [http://www.exim.org/howto/mailman21.html]

Page 84: Ubuntu Server Guide

Réseau

84

16. Synchronisation temporelle avec NTP

Cette page décrit différentes méthodes pour maintenir votre ordinateur à l'heure. C'est utile pour les

serveurs, mais n'est pas nécessaire (ou souhaité) pour des machines de bureau.

NTP est un protocole TCP/IP permettant de synchroniser les horloges à travers un réseau. De manière

basique, un client demande l'heure actuelle à un serveur et l'utilise pour ajuster sa propre horloge.

Derrière cette description simple se cache une grande complexité ; il y a plusieurs niveaux de serveurs

NTP, dans le premier niveau les serveurs NTP sont connectés à des horloges atomiques (souvent via

le signal GPS) et les serveurs du deuxième et troisième niveau se répartissent la charge du traitement

des requêtes à travers internet. C'est pourquoi le logiciel client est bien plus complexe que ce que vous

pouvez penser. Il doit déterminer les délais de communication et ajuster l'horloge de manière à ne

pas perturber tous les autres processus qui s'exécutent sur le serveur. Mais, heureusement, toute cette

complexité n'est pas visible pour vous !

Ubuntu dispose de deux méthodes pour mettre à jour automatiquement votre horloge : ntpdate et ntpd.

16.1. Ntpdate

Par défaut, Ubuntu utilise ntpdate et l'exécutera lors de l'initialisation pour mettre à jour votre horloge

en utilisant le serveur NTP d'Ubuntu. Comme une horloge de serveur est susceptible de se décaler

considérablement entre deux redémarrages, il peut être judicieux de corriger l'horloge de temps en

temps. La façon la plus simple pour faire cela est d'utiliser cron pour l'exécuter tous les jours. Avec

votre éditeur de texte favori, créez un fichier /etc/cron.daily/ntpdate contenant :

ntpdate ntp.ubuntu.com

16.2. Ntpd

Ntpdate est un utilitaire un peu brut ; il peut uniquement ajuster l'horloge une fois par jour en faisant

une grosse correction. Le démon NTP ntpd est beaucoup plus subtil. Il calcul la dérive de l'horloge

de votre système et l'ajuste continuellement, aussi il n'y a pas de corrections importantes qui peuvent

entraîner des journaux incohérents par exemple. Cela utilise un peu de puissance de traitement et de

mémoire, mais pour un serveur moderne c'est négligeable.

Pour paramétrer ntpd :

sudo apt-get install ntp-simple

16.3. Modifier les serveurs de temps

Dans les deux cas précédant, votre système utilisera par défaut le serveur NTP d'Ubuntu à l'adresse

ntp.ubuntu.com. C'est correct, mais vous pouvez vouloir utiliser plusieurs serveurs afin d'augmenter

la précision et l'endurance du système et vous voulez peut-être utiliser des serveurs qui sont plus

Page 85: Ubuntu Server Guide

Réseau

85

proche de chez vous. Pour faire cela avec ntpdate, changez le contenu de /etc/cron.daily/ntpdate

par :

ntpdate ntp.ubuntu.com pool.ntp.org

Et pour ntpd éditez /etc/ntp.conf pour y inclure les lignes des serveurs supplémentaires :

ntp.ubuntu.com

server pool.ntp.org

Vous avez peut-être remarqué pool.ntp.org dans l'exemple précédant. C'est une très bonne idée

d'utiliser un serveur DNS à répartition de charge pour renvoyer un serveur NTP depuis un pool

(groupe de serveurs), en répartissant la charge entre plusieurs serveurs différents. Encore mieux, il

y a des pools pour différentes régions, par exemple, si vous habitez en France, alors vous pouvez

utiliser fr.pool.ntp.org au lieu de pool.ntp.org. Regardez sur http://www.pool.ntp.org/ pour plus

de détails.

Vous pouvez aussi rechercher sur Internet des serveurs NTP dans votre région, et les rajouter à

votre configuration. Pour tester si un serveur fonctionne, saisissez uniquement sudo ntpdate

ntp.nom.serveur dans un terminal et regardez ce qui se passe.

16.4. Pages connexes

• Le support de NTP [http://ntp.isc.org/bin/view/Support/WebHome]

• FAQ et guides sur NTP [http://www.ntp.org/ntpfaq/NTP-a-faq.htm]

Page 86: Ubuntu Server Guide

86

Chapitre 5. Réseaux WindowsLes réseaux informatiques sont souvent composés de systèmes divers, et bien qu'un réseau

uniquement composé d'ordinateurs de bureaux et de serveurs Ubuntu soit certainement amusant,

certains environnements réseaux comportent a la fois des ordinateurs sous Ubuntu et d'autres sous

Microsoft® Windows® fonctionnant ensemble en harmonie. Cette section du Server Guide Ubuntu

introduit les principes et outils utilisés pour la configuration de votre serveur Ubuntu et l'échange de

ressources réseaux avec des ordinateurs sous Windows.

Page 87: Ubuntu Server Guide

Réseaux Windows

87

1. Introduction

Pour établir avec succès un réseau entre votre système Ubuntu et des clients Windows, il faut

fournir et intégrer les services utilisés couramment dans les environnements Windows. Ces services

permettent aux ordinateurs ey aux utilisateurs présents sur le réseau de partager de l'information et des

données. Ils peuvent être classifiés en trois catégories principales selon leur fonctionnalité.

• Services de partage de fichiers et d'imprimantes. Utiliser le protocole Server Message Block

(SMB) pour faciliter le partage de fichiers, de dossiers, de volumes et d'imprimantes à travers le

réseau.

• Services d'annuaire. Partager l'information vitale sur les ordinateurs et utilisateurs du réseau

avec des technologies telles que le Lightweight Directory Access Protocol (LDAP) et le Microsoft

Active Directory®.

• Authentification et accès. Établir l'identité d'un ordinateur ou d'un utilisateur et déterminer

l'information à laquelle l'ordinateur ou l'utilisateur a l'autorisation d'accéder en utilisant des

principes et technologies telles les droits d'accès sur les fichiers, les politiques de groupes, et le

service d'authentification Kerberos.

Heureusement, votre système Ubuntu fournit tous ces outils pour partager des ressources réseaux

avec des clients Windows. Une des principaux logiciels fourni avec Ubuntu est la suite d' applications

SAMBA et le serveur SMB pour les réseaux Windows. Cette section du Server Guide Ubuntu vous

explique rapidement l'installation et la configuration des applications et utilitaires serveur SAMBA.

De la documentation plus détaillée à propos de SAMBA dépasse le but de ce guide mais existe sur le

site web de SAMBA [http://www.samba.org].

Page 88: Ubuntu Server Guide

Réseaux Windows

88

2. Installer SAMBA

A l'invite système, entrez la commande suivante pour installer les applications serveur SAMBA :

sudo apt-get install samba

Page 89: Ubuntu Server Guide

Réseaux Windows

89

3. Configurer SAMBA

Vous pouvez configurer le serveur SAMBA en éditant le fichier /etc/samba/smb.conf pour modifier

les paramètres par défaut ou en ajouter de nouveaux. Des informations supplémentaires sur chaque

paramètre sont disponibles dans les commentaires du fichier /etc/samba/smb.conf ou en regardant la

page manuel du fichier /etc/samba/smb.conf en entrant la commande suivante dans un terminal :

man smb.conf

Avant de modifier le fichier de configuration, vous devriez faire une copie du fichier

originel et le protéger contre l'écriture pour avoir les paramètres originels comme référence

et ainsi le réutiliser si nécessaire.

Sauvegardez le fichier /etc/samba/smb.conf :

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.originel

Maintenant, éditez le fichier /etc/samba/smb.conf et faites vos modifications.

3.1. Serveur

En supplément de la suite logicielle SAMBA pour le partage de fichiers et d'imprimantes, Ubuntu

inclut aussi d'autres applications serveur puissantes destinées à fournir des fonctionnalités réseau

supplémentaires et similaires à celles fournies par les serveurs Windows aux clients Windows.

Par exemple, Ubuntu offre une gestion centralisée des ressources réseau telles que les ordinateurs

ou les utilisateurs grâce à Directory Services (services d'annuaire), et facilite l'identification et la

gestion des permissions des ordinateurs et des utilisateurs grâce à Authentication Services (services

d'authentification).

Les sections suivantes évoqueront plus en détails SAMBA et les technologies associées, telles que

le serveur Lightweight Directory Access Protocol (LDAP) ou le serveur d'authentification Kerberos.

Vous apprendrez aussi quelques directives de configuration disponibles pour SAMBA qui facilitent

l'intégration dans un réseau comportant des clients et des serveurs Windows.

3.1.1. Active Directory

Active Directory est une implémentation propriétaire de Microsoft des services d'annuaire et

est utilisé pour partager l'information sur les ressources du réseau et ses utilisateurs. En plus de

fournir une source centralisée de cette information, Active Directory agit aussi comme une autorité

centralisée de sécurité et d'authentification pour le réseau. Active Directory, qui combine des

capacités traditionnellement trouvées dans des systèmes d'annuaire distincts et spécialisés, simplifie

l'intégration, la gestion et la sécurité des ressources réseau. Le paquet SAMBA peut être configuré

pour utiliser les services Active Directory d'un contrôleur de domaine Windows.

Page 90: Ubuntu Server Guide

Réseaux Windows

90

3.1.1.1. LDAP

L'application serveur LDAP fournit les fonctionnalités de service d'annuaire (Directory Services)

aux ordinateurs Windows d'une manière très similaire aux services Microsoft Active Directory.

Ces services comprennent la gestion des identités et des relations entre ordinateurs, utilisateurs, et

groupes d'ordinateurs ou d'utilisateurs qui font partie du réseau. Ils procurent une manière cohérente

de décrire, localiser et gérer ces ressources. L'implémentation libre de LDAP disponible pour votre

système Ubuntu se nomme OpenLDAP. Sur Ubuntu, les processus serveur responsables du traitement

des requêtes OpenLDAP et de la propagation des données d'un serveur LDAP à un autre sont slapd et

slurpd. OpenLDAP peut être utilisé conjointement avec SAMBA pour fournir les services de partage

des fichiers, d'imprimantes et les services d'annuaire tout comme le ferait un contrôleur de domaine

Windows pour autant que SAMBA soit compilé avec le support LDAP.

3.1.1.2. Kerberos

Le système de sécurisation des authentifications Kerberos est un service standardisé fournissant

une authentification aux ordinateurs et aux utilisateurs grâce à un serveur centralisé qui accorde

des tickets d'autorisation cryptés. Ceux-ci sont acceptés comme authentification par tout autre

ordinateur utilisant Kerberos. Parmi les avantages de l'authentification avec Kerberos, on peut citer

l'authentification réciproque, l'authentification par procuration, l'interopérabilité et une gestion

simplifiée des relations de confiance. Les processus serveurs principaux qui gèrent l'authentification

Kerberos et l'administration de la base de données Kerberos sous Ubuntu sont krb5kdc et kadmin.

SAMBA peut utiliser Kerberos comme mécanisme pour authentifier des ordinateurs et des utilisateurs

aux côtés d'un contrôleur de domaine Windows. À cette fin, il faut que Kerberos soit installé sur

le système Ubuntu, et le fichier /etc/samba/smb.conf doit être modifié pour choisir le mode

convenable de realm et security. Par exemple, modifiez le fichier /etc/samba/smb.conf et ajoutez les

valeurs :

realm = NOM_DOMAINE

security = ADS

dans le fichier, et enregistrez-le.

Assurez-vous de remplacer l'expression NOM_DOMAINE de l'exemple ci-dessus par le

nom réel de votre propre domaine Windows.

Vous devrez redémarrer les démons SAMBA pour appliquer ces changements. Redémarrez les

démons SAMBA en entrant la commande suivante dans un terminal :

sudo /etc/init.d/samba restart

3.1.2. Comptes d'ordinateurs

Les comptes d'ordinateur sont utilisés dans Directory Services pour identifier de manière unique les

ordinateurs d'un réseau, et sont traités de la même manière que les utilisateurs en terme de sécurité.

Page 91: Ubuntu Server Guide

Réseaux Windows

91

Les comptes d'ordinateurs peuvent avoir des mots de passe tout comme les comptes utilisateurs, et

font l'objet d'une autorisation pour accéder aux ressources du réseau. Par exemple, si un utilisateur

du réseau avec un compte valide pour un réseau en particulier essaye de s'authentifier à partir d'un

ordinateur qui n'a pas de compte d'ordinateur valide, suivant la politique mise en œuvre sur le réseau,

il peut lui être refusé l'accès si cet ordinateur ne fait pas partie des ordinateurs autorisés.

Un compte d'ordinateur peut être ajouté au fichier de mots de passe SAMBA, pourvu que le nom

de l'ordinateur à ajouter existe déjà comme un nom de compte d'utilisateur valide dans la base de

données locale. Pour ajouter un compte d'ordinateur ou de machine au fichier de mots de passe

SAMBA, il faut utiliser la commande smbpasswd dans un terminal comme ceci :

sudo smbpasswd -a -m NOM_ORDINATEUR

Assurez-vous de remplacer la chaîne COMPUTER_NAME dans l'exemple ci-dessus avec le

nom de l'ordinateur pour lequel vous voulez ajouter un compte de machine.

3.1.3. Permissions de fichier

Les permissions de fichiers définissent les droits explicites qu'un ordinateur ou un utilisateur a sur un

dossier, fichier ou groupe de fichiers particulier. De telles permissions peuvent être définies en éditant

le fichier /etc/samba/smb.conf et en spécifiant explicitement les permissions d'un partage de fichiers

défini. Par exemple, si vous avez défini un partage SAMBA intitulé sourcedocs et souhaitez donner

les droits en lecture seule au groupe d'utilisateurs appelé planning, mais souhaitez autoriser l'accès au

partage en écriture par le groupe appelé auteurs et à l'utilisateur nommé richard, alors vous pouvez

éditer le fichier /etc/samba/smb.conf, et ajouter les lignes suivantes sous l'entrée [sourcedocs] :

read list = @planning

write list = @auteurs, richard

Sauvegardez /etc/samba/smb.conf pour que les changements prennent effet.

Une autre possibilité pour les droits d'accès est de déclarer des permissions administratives

pour une ressource partagée particulière. Les utilisateurs ayant des permissions administratives

peuvent lire, écrire, ou modifier toute information contenue dans la ressource pour laquelle ils ont

explicitement reçu ce type de droits. Par exemple, si vous voulez donner à l'utilisateur melissa des

permissions administratives sur le partage sourcedocs de l'exemple, vous devez éditer le fichier

/etc/samba/smb.conf et ajouter la ligne suivante sous l'entrée [sourcedocs] :

admin users = melissa

Sauvegardez /etc/samba/smb.conf pour que les changements prennent effet.

3.2. Clients

Ubuntu comporte des applications clientes et des capacités pour accéder aux ressources partagées

grâce au protocole SMB. Par exemple, l'utilitaire nommé smbclient permet d'accéder aux systèmes

Page 92: Ubuntu Server Guide

Réseaux Windows

92

de fichiers partagés à distance d'une façon similaire à un client FTP. Pour accéder à un répertoire

partagé connu comme documents, proposé par un ordinateur sous Windows, nommé bill, on utilisera

smbclient, avec une commande de ce type dans un terminal :

smbclient //bill/documents -U <nomutilisateur>

Il vous sera alors demandé le mot de passe de l'utilisateur spécifié après le paramètre -U, et après

la réussite de l'authentification, vous obtiendrez une invite vous permettant de manipuler ou

transférer des fichiers avec une syntaxe semblable à celle d'un client FTP en mode texte. Pour plus

d'informations sur l'utilitaire smbclient, consultez la page du manuel avec la commande :

man smbclient

Le montage d'une ressource réseau fournie par le protocole SMB est aussi possible grâce à la

commande mount. Par exemple, pour monter un répertoire nommé code-projet disponible sur un

serveur Windows developpement pour l'utilisateur toto sur votre système Ubuntu dans le répertoire

/mnt/pcode, vous devrez entrer la commande suivante à l'invite :

mount -t smbfs -o username=toto //developpement/code-projet- /mnt/pcode

Il vous sera alors demandé d'entrer le mot de passe utilisateur, et après vous être authentifié, le

contenu de la ressource partagée sera accessible localement via le point de montage spécifié par le

dernier argument de la commande mount. Pour déconnecter la ressource partagée, utilisez simplement

la commande umount comme vous le feriez avec n'importe quel autre système de fichiers monté. Par

exemple :

umount /mnt/pcode

3.2.1. Comptes d'utilisateurs

Les comptes d'utilisateurs définissent des personnes avec un certain niveau d'autorisation pour utiliser

un certain ordinateur et des ressources réseau. Typiquement, dans un environnement réseau, un

compte d'utilisateur est fourni à chaque personne autorisée à accéder à un ordinateur ou à un réseau,

où des politiques de sécurité et des permissions définissent alors de quels droits explicites ce compte

d'utilisateur dispose. Pour définir des utilisateurs réseau SAMBA sur votre système Ubuntu, vous

pouvez utiliser la commande smbpasswd. Par exemple, pour ajouter un utilisateur SAMBA à votre

système Ubuntu avec le nom d'utilisateur toto, vous pourriez entrer ceci à l'invite de commande :

smbpasswd -a toto

L'application smbpasswd vous demandera alors d'entrer un mot de passe pour l'utilisateur :

Page 93: Ubuntu Server Guide

Réseaux Windows

93

Nouveau mot de passe SMB :

Entrez le mot de passe que vous désirez fixer pour l'utilisateur, et l'application smbpasswd vous

demandera de confirmer le mot de passe:

Retapez le nouveau mot de passe SMB :

Confirmez le mot de passe et smbpasswd ajoutera une entrée pour l'utilisateur au fichier de mots de

passe SAMBA.

3.2.2. Groupes

Les Groupes définissent un ensemble d'ordinateurs ou d'utilisateurs qui ont un niveau d'accès commun

à des ressources réseau particulières, et offrent une certaine granularité dans le contrôle d'accès à de

telles ressources. Par exemple, si un groupe qa est défini et contient les utilisateurs freda, danika,

et rob, et un second groupe support est défini et contient les utilisateurs danika, jeremy et vincent,

alors certaines ressources réseau configurées pour autoriser l'accès au groupe qa autoriseraient par

conséquent l'accès à freda, danika et rob, mais pas à jeremy ou à vincent. Comme l'utilisateur danika

appartient aux deux groupes qa et support, elle sera capable d'accéder aux ressources configurées

comme accessibles par les deux groupes, tandis que tous les autres utilisateurs n'auront accès qu'aux

ressources autorisant explicitement le groupe dont ils font partie.

Lors de la définition de groupes dans le fichier de configuration de SAMBA, /etc/samba/smb.conf,

la syntaxe reconnue est l'ajout d'un préfixe "@" au nom de groupe. Par exemple, si vous souhaitez

définir un groupe nommé sysadmin dans une certaine section du fichier /etc/samba/smb.conf, vous

devez entrer le nom de groupe @sysadmin.

3.2.3. Stratégie de groupe

Les stratégies de groupes définissent certains réglages de configuration SAMBA en rapport avec le

domaine ou le groupe de travail auquel appartient le compte d'ordinateur, ainsi que d'autres réglages

globaux du serveur SAMBA. Par exemple, si le serveur SAMBA appartient au groupe de travail

Windows appelé NIVEAU1, le fichier /etc/samba/smb.conf pourrait alors être modifié de la manière

suivante :

workgroup = NIVEAU1

Enregistrez le fichier et redémarrez les démons SAMBA pour appliquer le changement.

D'autres réglages de stratégie globale importants comprennent la chaîne du serveur qui définit le

nom serveur NETBIOS qui sera annoncé aux autres machines du réseau Windows par votre système

Ubuntu. C'est le nom par lequel votre système Ubuntu sera reconnu par les clients Windows et

d'autres ordinateurs capables de parcourir le réseau avec le protocole SMB. De plus, vous pouvez

indiquer le nom et l'emplacement du fichier journal du serveur SAMBA en utilisant la directive log

file dans le fichier /etc/samba/smb.conf.

Page 94: Ubuntu Server Guide

Réseaux Windows

94

Quelques directives supplémentaires influençant la stratégie de groupe globale concernent la

spécification de la nature globale des ressources partagées. Par exemple, l'emplacement de certaines

directives sous la section [global] du fichier /etc/samba/smb.conf concernera toutes les ressources

partagées, sauf si une directive identique remplace celle-ci sous la section d'une ressource partagée

particulière. Vous indiquez que tous les partages peuvent être parcourus par tous les clients du réseau

en plaçant la directive browseable, qui prend une valeur booléenne, sous la section [global] du fichier

/etc/samba/smb.conf. C'est-à-dire que si vous modifiez le fichier en ajoutant la ligne :

browseable = true

sous la section [global] de /etc/samba/smb.conf, tous les partages offerts par votre système Ubuntu

via SAMBA pourront être parcourus par tous les clients autorisés, sauf si un partage particulier

contient une directive browseable = false qui prendra le pas sur la directive globale.

Les directives public et writeable sont d'autres exemples qui fonctionnent de la même manière. La

directive public prend une valeur booléenne et détermine si une ressource partagée particulière est

visible par tous les clients, autorisés ou non. La directive writeable prend également une valeur

booléenne et détermine si une ressource partagée particulière est accessible en écriture par n'importe

quel client du réseau.

Page 95: Ubuntu Server Guide

95

Annexe A. Creative Commons by

Attribution-ShareAlike 2.0CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT

PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE

AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS

INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES

REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR

DAMAGES RESULTING FROM ITS USE.

License

THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE

COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY

COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN

AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.

BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND

AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU

THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH

TERMS AND CONDITIONS.

1. Definitions.

a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in

which the Work in its entirety in unmodified form, along with a number of other contributions,

constituting separate and independent works in themselves, are assembled into a collective

whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as

defined below) for the purposes of this License.

b. "Derivative Work" means a work based upon the Work or upon the Work and other

pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization,

motion picture version, sound recording, art reproduction, abridgment, condensation, or any

other form in which the Work may be recast, transformed, or adapted, except that a work that

constitutes a Collective Work will not be considered a Derivative Work for the purpose of

this License. For the avoidance of doubt, where the Work is a musical composition or sound

recording, the synchronization of the Work in timed-relation with a moving image ("synching")

will be considered a Derivative Work for the purpose of this License.

c. "Licensor" means the individual or entity that offers the Work under the terms of this License.

d. "Original Author" means the individual or entity who created the Work.

e. "Work" means the copyrightable work of authorship offered under the terms of this License.

f. "You" means an individual or entity exercising rights under this License who has not

previously violated the terms of this License with respect to the Work, or who has received

Page 96: Ubuntu Server Guide

Creative Commons by Attribution-ShareAlike 2.0

96

express permission from the Licensor to exercise rights under this License despite a previous

violation.

g. "License Elements" means the following high-level license attributes as selected by Licensor

and indicated in the title of this License: Attribution, ShareAlike.

2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising

from fair use, first sale or other limitations on the exclusive rights of the copyright owner under

copyright law or other applicable laws.

3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You

a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright)

license to exercise the rights in the Work as stated below:

a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to

reproduce the Work as incorporated in the Collective Works;

b. to create and reproduce Derivative Works;

c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly

by means of a digital audio transmission the Work including as incorporated in Collective

Works;

d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly

by means of a digital audio transmission Derivative Works.

e. For the avoidance of doubt, where the work is a musical composition:

i. "Performance Royalties Under Blanket Licenses." Licensor waives the exclusive right

to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI,

SESAC), royalties for the public performance or public digital performance (e.g. webcast) of

the Work.

ii. "Mechanical Rights and Statutory Royalties." Licensor waives the exclusive right to

collect, whether individually or via a music rights society or designated agent (e.g. Harry

Fox Agency), royalties for any phonorecord You create from the Work ("cover version")

and distribute, subject to the compulsory license created by 17 USC Section 115 of the US

Copyright Act (or the equivalent in other jurisdictions).

f. "Webcasting Rights and Statutory Royalties." For the avoidance of doubt, where the Work

is a sound recording, Licensor waives the exclusive right to collect, whether individually or via

a performance-rights society (e.g. SoundExchange), royalties for the public digital performance

(e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of

the US Copyright Act (or the equivalent in other jurisdictions).

The above rights may be exercised in all media and formats whether now known or hereafter

devised. The above rights include the right to make such modifications as are technically necessary

to exercise the rights in other media and formats. All rights not expressly granted by Licensor are

hereby reserved.

4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by

the following restrictions:

Page 97: Ubuntu Server Guide

Creative Commons by Attribution-ShareAlike 2.0

97

a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work

only under the terms of this License, and You must include a copy of, or the Uniform Resource

Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly

display, publicly perform, or publicly digitally perform. You may not offer or impose any terms

on the Work that alter or restrict the terms of this License or the recipients' exercise of the

rights granted hereunder. You may not sublicense the Work. You must keep intact all notices

that refer to this License and to the disclaimer of warranties. You may not distribute, publicly

display, publicly perform, or publicly digitally perform the Work with any technological

measures that control access or use of the Work in a manner inconsistent with the terms of this

License Agreement. The above applies to the Work as incorporated in a Collective Work, but

this does not require the Collective Work apart from the Work itself to be made subject to the

terms of this License. If You create a Collective Work, upon notice from any Licensor You

must, to the extent practicable, remove from the Collective Work any reference to such Licensor

or the Original Author, as requested. If You create a Derivative Work, upon notice from any

Licensor You must, to the extent practicable, remove from the Derivative Work any reference to

such Licensor or the Original Author, as requested.

b. You may distribute, publicly display, publicly perform, or publicly digitally perform a

Derivative Work only under the terms of this License, a later version of this License with

the same License Elements as this License, or a Creative Commons iCommons license that

contains the same License Elements as this License (e.g. Attribution-ShareAlike 2.0 Japan).

You must include a copy of, or the Uniform Resource Identifier for, this License or other

license specified in the previous sentence with every copy or phonorecord of each Derivative

Work You distribute, publicly display, publicly perform, or publicly digitally perform. You

may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this

License or the recipients' exercise of the rights granted hereunder, and You must keep intact all

notices that refer to this License and to the disclaimer of warranties. You may not distribute,

publicly display, publicly perform, or publicly digitally perform the Derivative Work with any

technological measures that control access or use of the Work in a manner inconsistent with the

terms of this License Agreement. The above applies to the Derivative Work as incorporated in a

Collective Work, but this does not require the Collective Work apart from the Derivative Work

itself to be made subject to the terms of this License.

c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or

any Derivative Works or Collective Works, You must keep intact all copyright notices for the

Work and give the Original Author credit reasonable to the medium or means You are utilizing

by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title

of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier,

if any, that Licensor specifies to be associated with the Work, unless such URI does not refer

to the copyright notice or licensing information for the Work; and in the case of a Derivative

Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation

of the Work by Original Author," or "Screenplay based on original Work by Original Author").

Such credit may be implemented in any reasonable manner; provided, however, that in the case

Page 98: Ubuntu Server Guide

Creative Commons by Attribution-ShareAlike 2.0

98

of a Derivative Work or Collective Work, at a minimum such credit will appear where any

other comparable authorship credit appears and in a manner at least as prominent as such other

comparable authorship credit.

5. Representations, Warranties and Disclaimer

UNLESS OTHERWISE AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS

THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF

ANY KIND CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY

OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE,

MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT,

OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE

OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS

DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION

MAY NOT APPLY TO YOU.

6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN

NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY

SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES

ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS

BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. Termination

a. This License and the rights granted hereunder will terminate automatically upon any breach by

You of the terms of this License. Individuals or entities who have received Derivative Works or

Collective Works from You under this License, however, will not have their licenses terminated

provided such individuals or entities remain in full compliance with those licenses. Sections 1,

2, 5, 6, 7, and 8 will survive any termination of this License.

b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration

of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right

to release the Work under different license terms or to stop distributing the Work at any time;

provided, however that any such election will not serve to withdraw this License (or any other

license that has been, or is required to be, granted under the terms of this License), and this

License will continue in full force and effect unless terminated as stated above.

8. Miscellaneous

a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the

Licensor offers to the recipient a license to the Work on the same terms and conditions as the

license granted to You under this License.

b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the

recipient a license to the original Work on the same terms and conditions as the license granted

to You under this License.

c. If any provision of this License is invalid or unenforceable under applicable law, it shall not

affect the validity or enforceability of the remainder of the terms of this License, and without

Page 99: Ubuntu Server Guide

Creative Commons by Attribution-ShareAlike 2.0

99

further action by the parties to this agreement, such provision shall be reformed to the minimum

extent necessary to make such provision valid and enforceable.

d. No term or provision of this License shall be deemed waived and no breach consented to unless

such waiver or consent shall be in writing and signed by the party to be charged with such

waiver or consent.

e. This License constitutes the entire agreement between the parties with respect to the Work

licensed here. There are no understandings, agreements or representations with respect to the

Work not specified here. Licensor shall not be bound by any additional provisions that may

appear in any communication from You. This License may not be modified without the mutual

written agreement of the Licensor and You.

Creative Commons is not a party to this License, and makes no warranty whatsoever in connection

with the Work. Creative Commons will not be liable to You or any party on any legal theory for any

damages whatsoever, including without limitation any general, special, incidental or consequential

damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if

Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights

and obligations of Licensor.

Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL,

neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative

Commons without the prior written consent of Creative Commons. Any permitted use will be in

compliance with Creative Commons' then-current trademark usage guidelines, as may be published

on its website or otherwise made available upon request from time to time.

Creative Commons may be contacted at http://creativecommons.org/.

Page 100: Ubuntu Server Guide

100

Annexe B. GNU Free Documentation

LicenseVersion 1.2, November 2002

Copyright © 2000,2001,2002 Free Software Foundation, Inc.

Free Software Foundation, Inc.

51 Franklin St, Fifth Floor,

Boston,

MA

02110-1301

USA

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it

is not allowed.

Version 1.2, November 2002

Page 101: Ubuntu Server Guide

GNU Free Documentation License

101

1. PREAMBLE

The purpose of this License is to make a manual, textbook, or other functional and useful document

"free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it,

with or without modifying it, either commercially or noncommercially. Secondarily, this License

preserves for the author and publisher a way to get credit for their work, while not being considered

responsible for modifications made by others.

This License is a kind of "copyleft", which means that derivative works of the document must

themselves be free in the same sense. It complements the GNU General Public License, which is a

copyleft license designed for free software.

We have designed this License in order to use it for manuals for free software, because free software

needs free documentation: a free program should come with manuals providing the same freedoms

that the software does. But this License is not limited to software manuals; it can be used for any

textual work, regardless of subject matter or whether it is published as a printed book. We recommend

this License principally for works whose purpose is instruction or reference.

Page 102: Ubuntu Server Guide

GNU Free Documentation License

102

2. APPLICABILITY AND DEFINITIONS

This License applies to any manual or other work, in any medium, that contains a notice placed by the

copyright holder saying it can be distributed under the terms of this License. Such a notice grants a

world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated

herein. The "Document", below, refers to any such manual or work. Any member of the public is a

licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work

in a way requiring permission under copyright law.

A "Modified Version" of the Document means any work containing the Document or a portion of it,

either copied verbatim, or with modifications and/or translated into another language.

A "Secondary Section" is a named appendix or a front-matter section of the Document that deals

exclusively with the relationship of the publishers or authors of the Document to the Document's

overall subject (or to related matters) and contains nothing that could fall directly within that overall

subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not

explain any mathematics.) The relationship could be a matter of historical connection with the subject

or with related matters, or of legal, commercial, philosophical, ethical or political position regarding

them.

The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of

Invariant Sections, in the notice that says that the Document is released under this License. If a section

does not fit the above definition of Secondary then it is not allowed to be designated as Invariant.

The Document may contain zero Invariant Sections. If the Document does not identify any Invariant

Sections then there are none.

The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or

Back-Cover Texts, in the notice that says that the Document is released under this License. A

Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.

A "Transparent" copy of the Document means a machine-readable copy, represented in a format

whose specification is available to the general public, that is suitable for revising the document

straightforwardly with generic text editors or (for images composed of pixels) generic paint programs

or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters

or for automatic translation to a variety of formats suitable for input to text formatters. A copy made

in an otherwise Transparent file format whose markup, or absence of markup, has been arranged

to thwart or discourage subsequent modification by readers is not Transparent. An image format is

not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called

"Opaque".

Examples of suitable formats for Transparent copies include plain ASCII without markup,

Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and

standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples

of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary

Page 103: Ubuntu Server Guide

GNU Free Documentation License

103

formats that can be read and edited only by proprietary word processors, SGML or XML for which

the DTD and/or processing tools are not generally available, and the machine-generated HTML,

PostScript or PDF produced by some word processors for output purposes only.

The "Title Page" means, for a printed book, the title page itself, plus such following pages as are

needed to hold, legibly, the material this License requires to appear in the title page. For works in

formats which do not have any title page as such, "Title Page" means the text near the most prominent

appearance of the work's title, preceding the beginning of the body of the text.

A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely

XYZ or contains XYZ in parentheses following text that translates XYZ in another language.

(Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements",

"Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you

modify the Document means that it remains a section "Entitled XYZ" according to this definition.

The Document may include Warranty Disclaimers next to the notice which states that this License

applies to the Document. These Warranty Disclaimers are considered to be included by reference in

this License, but only as regards disclaiming warranties: any other implication that these Warranty

Disclaimers may have is void and has no effect on the meaning of this License.

Page 104: Ubuntu Server Guide

GNU Free Documentation License

104

3. VERBATIM COPYING

You may copy and distribute the Document in any medium, either commercially or noncommercially,

provided that this License, the copyright notices, and the license notice saying this License applies

to the Document are reproduced in all copies, and that you add no other conditions whatsoever to

those of this License. You may not use technical measures to obstruct or control the reading or further

copying of the copies you make or distribute. However, you may accept compensation in exchange

for copies. If you distribute a large enough number of copies you must also follow the conditions in

section 3.

You may also lend copies, under the same conditions stated above, and you may publicly display

copies.

Page 105: Ubuntu Server Guide

GNU Free Documentation License

105

4. COPYING IN QUANTITY

If you publish printed copies (or copies in media that commonly have printed covers) of the

Document, numbering more than 100, and the Document's license notice requires Cover Texts, you

must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover

Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly

and legibly identify you as the publisher of these copies. The front cover must present the full title

with all words of the title equally prominent and visible. You may add other material on the covers

in addition. Copying with changes limited to the covers, as long as they preserve the title of the

Document and satisfy these conditions, can be treated as verbatim copying in other respects.

If the required texts for either cover are too voluminous to fit legibly, you should put the first ones

listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.

If you publish or distribute Opaque copies of the Document numbering more than 100, you must

either include a machine-readable Transparent copy along with each Opaque copy, or state in or

with each Opaque copy a computer-network location from which the general network-using public

has access to download using public-standard network protocols a complete Transparent copy of

the Document, free of added material. If you use the latter option, you must take reasonably prudent

steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent

copy will remain thus accessible at the stated location until at least one year after the last time you

distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.

It is requested, but not required, that you contact the authors of the Document well before

redistributing any large number of copies, to give them a chance to provide you with an updated

version of the Document.

Page 106: Ubuntu Server Guide

GNU Free Documentation License

106

5. MODIFICATIONS

You may copy and distribute a Modified Version of the Document under the conditions of sections

2 and 3 above, provided that you release the Modified Version under precisely this License, with the

Modified Version filling the role of the Document, thus licensing distribution and modification of

the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the

Modified Version:

GNU FDL Modification Conditions

A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and

from those of previous versions (which should, if there were any, be listed in the History section

of the Document). You may use the same title as a previous version if the original publisher of that

version gives permission.

B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the

modifications in the Modified Version, together with at least five of the principal authors of the

Document (all of its principal authors, if it has fewer than five), unless they release you from this

requirement.

C. State on the Title page the name of the publisher of the Modified Version, as the publisher.

D. Preserve all the copyright notices of the Document.

E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.

F. Include, immediately after the copyright notices, a license notice giving the public permission to

use the Modified Version under the terms of this License, in the form shown in the Addendum

below.

G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in

the Document's license notice.

H. Include an unaltered copy of this License.

I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the

title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there

is no section Entitled "History" in the Document, create one stating the title, year, authors, and

publisher of the Document as given on its Title Page, then add an item describing the Modified

Version as stated in the previous sentence.

J. Preserve the network location, if any, given in the Document for public access to a Transparent

copy of the Document, and likewise the network locations given in the Document for previous

versions it was based on. These may be placed in the "History" section. You may omit a network

location for a work that was published at least four years before the Document itself, or if the

original publisher of the version it refers to gives permission.

K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section,

and preserve in the section all the substance and tone of each of the contributor acknowledgements

and/or dedications given therein.

Page 107: Ubuntu Server Guide

GNU Free Documentation License

107

L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles.

Section numbers or the equivalent are not considered part of the section titles.

M.Delete any section Entitled "Endorsements". Such a section may not be included in the Modified

Version.

N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any

Invariant Section.

O. Preserve any Warranty Disclaimers.

If the Modified Version includes new front-matter sections or appendices that qualify as Secondary

Sections and contain no material copied from the Document, you may at your option designate some

or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the

Modified Version's license notice. These titles must be distinct from any other section titles.

You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of

your Modified Version by various parties--for example, statements of peer review or that the text has

been approved by an organization as the authoritative definition of a standard.

You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as

a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of

Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by)

any one entity. If the Document already includes a cover text for the same cover, previously added by

you or by arrangement made by the same entity you are acting on behalf of, you may not add another;

but you may replace the old one, on explicit permission from the previous publisher that added the old

one.

The author(s) and publisher(s) of the Document do not by this License give permission to use their

names for publicity for or to assert or imply endorsement of any Modified Version.

Page 108: Ubuntu Server Guide

GNU Free Documentation License

108

6. COMBINING DOCUMENTS

You may combine the Document with other documents released under this License, under the terms

defined in section 4 above for modified versions, provided that you include in the combination all

of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant

Sections of your combined work in its license notice, and that you preserve all their Warranty

Disclaimers.

The combined work need only contain one copy of this License, and multiple identical Invariant

Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same

name but different contents, make the title of each such section unique by adding at the end of it, in

parentheses, the name of the original author or publisher of that section if known, or else a unique

number. Make the same adjustment to the section titles in the list of Invariant Sections in the license

notice of the combined work.

In the combination, you must combine any sections Entitled "History" in the various original

documents, forming one section Entitled "History"; likewise combine any sections Entitled

"Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled

"Endorsements".

Page 109: Ubuntu Server Guide

GNU Free Documentation License

109

7. COLLECTIONS OF DOCUMENTS

You may make a collection consisting of the Document and other documents released under this

License, and replace the individual copies of this License in the various documents with a single

copy that is included in the collection, provided that you follow the rules of this License for verbatim

copying of each of the documents in all other respects.

You may extract a single document from such a collection, and distribute it individually under this

License, provided you insert a copy of this License into the extracted document, and follow this

License in all other respects regarding verbatim copying of that document.

Page 110: Ubuntu Server Guide

GNU Free Documentation License

110

8. AGGREGATION WITH INDEPENDENT WORKS

A compilation of the Document or its derivatives with other separate and independent documents or

works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright

resulting from the compilation is not used to limit the legal rights of the compilation's users beyond

what the individual works permit. When the Document is included in an aggregate, this License

does not apply to the other works in the aggregate which are not themselves derivative works of the

Document.

If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the

Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on

covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the

Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole

aggregate.

Page 111: Ubuntu Server Guide

GNU Free Documentation License

111

9. TRANSLATION

Translation is considered a kind of modification, so you may distribute translations of the Document

under the terms of section 4. Replacing Invariant Sections with translations requires special

permission from their copyright holders, but you may include translations of some or all Invariant

Sections in addition to the original versions of these Invariant Sections. You may include a translation

of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided

that you also include the original English version of this License and the original versions of those

notices and disclaimers. In case of a disagreement between the translation and the original version of

this License or a notice or disclaimer, the original version will prevail.

If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the

requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.

Page 112: Ubuntu Server Guide

GNU Free Documentation License

112

10. TERMINATION

You may not copy, modify, sublicense, or distribute the Document except as expressly provided for

under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void,

and will automatically terminate your rights under this License. However, parties who have received

copies, or rights, from you under this License will not have their licenses terminated so long as such

parties remain in full compliance.

Page 113: Ubuntu Server Guide

GNU Free Documentation License

113

11. FUTURE REVISIONS OF THIS LICENSE

The Free Software Foundation may publish new, revised versions of the GNU Free Documentation

License from time to time. Such new versions will be similar in spirit to the present version, but may

differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.

Each version of the License is given a distinguishing version number. If the Document specifies that

a particular numbered version of this License "or any later version" applies to it, you have the option

of following the terms and conditions either of that specified version or of any later version that has

been published (not as a draft) by the Free Software Foundation. If the Document does not specify

a version number of this License, you may choose any version ever published (not as a draft) by the

Free Software Foundation.

Page 114: Ubuntu Server Guide

GNU Free Documentation License

114

12. ADDENDUM: How to use this License for your documents

To use this License in a document you have written, include a copy of the License in the document

and put the following copyright and license notices just after the title page:

Sample Invariant Sections list

Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or

modify this document under the terms of the GNU Free Documentation License,

Version 1.2 or any later version published by the Free Software Foundation; with no

Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the

license is included in the section entitled "GNU Free Documentation License".

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts."

line with this:

Sample Invariant Sections list

with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts

being LIST, and with the Back-Cover Texts being LIST.

If you have Invariant Sections without Cover Texts, or some other combination of the three, merge

those two alternatives to suit the situation.

If your document contains nontrivial examples of program code, we recommend releasing these

examples in parallel under your choice of free software license, such as the GNU General Public

License, to permit their use in free software.