Apportez votre aide…
Ubuntu server
Préparation avant installation
Avant d'installer Ubuntu serveur, quelques informations sont à prendre en compte :
Besoins matériels
Le minimum requis pour l'installation est de 256Mo RAM et un espace disque de 2 GO (installation de base) ou 3 Go (installation de toutes les options de tasksel 1).
L'édition serveur offre un socle pour le support de serveurs applicatifs de toutes sortes. C'est une version minimale de la plate-forme, qui permet d'offrir les services voulus comme le partage de fichiers, le service d'impression, l'hébergement de sites web, le service de messagerie 2) , etc.
Les besoins pour UEC sont totalement différents (pour cela voir la page UEC).
Différences entre version serveur et desktop
Il y a quelques différences entre ces deux versions.
Il est à noter que les deux utilisent les mêmes dépôts APT, ce qui rend aussi facile l'installation d'applications serveurs sur un poste de travail que sur un serveur.
Les différences entre les deux éditions sont l'absence d'environnement graphique X sur la version serveur, le processus d'installation et les options différentes du noyau3).
Différences des options du noyau
- Au niveau des entrées/sorties (Deadline I/O scheduler à la place de CFQ scheduler)
- Le mode préemptif n'est pas utilisé sur la version serveur
- La fréquence d'interruption est à 100 Hz sur la version serveur, 250 Hz sur la version desktop.
Pour voir toutes les options de configuration du noyau, vous pouvez jeter un oeil au fichier /boot/config-2.6.35-server. Le livre Linux Kernel in a Nutshell présente également les options disponibles.
Sauvegardes
Avant d'installer Ubuntu Serveur, vous devriez être sur d'avoir sauvegardé la totalité des données présentes sur le disque dur.
Si ce n'est pas le premier système d'exploitation que vous installez sur cet ordinateur, il y a de fortes chances pour que vous ayez à re-partitionner votre disque dur, pour faire de la place à Ubuntu.
A chaque re-partitionnement d'un disque, il faut être prêt à perdre la totalité des informations qu'il contenait, que vous ayez fait une erreur, ou que quelque chose se déroule mal pendant le partitionnement. Même si les programmes utilisés pendant le processus d'installation sont relativement stables, certains étant utilisés depuis des années, il ne faut pas perdre de vue qu'ils effectuent des actions destructrices.
Installation depuis le CD
Les premières étapes pour installer Ubuntu Serveur depuis le CD d'installation sont les mêmes que pour installer n'importe quel système d'exploitation depuis un CD.
A la différence de la version Desktop, la version serveur ne dispose pas d'un programme d'installation graphique. A la place, la version serveur utilise un processus basé sur des choix de menus type console.
- Télécharger et graver l'image ISO d'Ubuntu Serveur depuis le site web,
- Démarrer le système depuis le lecteur de CD-Rom,
- Au démarrage, on vous demandera de sélectionner votre langue. Après quoi, le processus d'installation vous demande la disposition de votre clavier,
- Depuis le menu principal, des options supplémentaires sont accessibles : vous pouvez installer un Ubuntu Serveur basique, ou installer un Ubuntu Serveur qui prenne place dans le cloud de l'entreprise (UEC : Ubuntu Enterprise Cloud).
La suite de la description ne concerne que la version de base. Pour plus d'informations sur UEC, merci de consulter la page dédiée.
- Le programme d'installation détecte votre configuration matérielle, et configure les cartes réseaux en utilisant DHCP. Si vous ne souhaitez pas utiliser DHCP, à l'écran suivant, sélectionnez "Retour", et sélectionnez l'option "Configuration manuelle".
- Le programme d'installation vous demande ensuite le nom de la machine et votre fuseau horaire.
- Vous pouvez choisir entre de nombreuses options de partitionnement du disque. Ces options seront expliquées un peu plus bas dans la page.
- Le système Ubuntu est installé.
- Un nouvel utilisateur est créé. Il aura un accès root grâce à l'utilitaire sudo. Vous pourrez ou non encrypter son répertoire utilisateur (home).
- L'étape suivante du processus est de choisir comment le système sera mis à jour. Il y a trois options : pas de mises à jour automatique, automatique ou via Landscape. Landscape est un service payant de Canonical pour aider la gestion des machines Ubuntu.
- Vous avez la possibilité d'installer (ou pas) de nombreuses solutions logicielles (sous forme de tâches). Vous pouvez également choisir manuellement quels paquets installer.
- Finalement, la dernière étape avant le redémarrage est de configurer l'horloge au format UTC.
A certaines étapes de l'installation, vous aurez besoin de lire l'écran d'aide du système d'installation. Pour cela, taper F1.
Tasksel
Pendant l'installation, vous avez la possibilité d'installer des paquets additionnels depuis le CD. Ces paquets sont groupés par type de service :
- Serveur DNS : sélectionne le serveur DNS BIND et sa documentation,
- Serveur LAMP : sélectionne un serveur Linux/Apache/MySQL/PHP serveur prêt à l'emploi,
- Serveur Mail : cette tâche sélectionne une variété de paquet nécessaire pour un serveur de mail générique,
- Serveur OpenSSH : sélectionne les paquets nécessaires pour un serveur OpenSSH,
- Base de données PostgreSQL : cette tâche sélectionne les paquets client et serveur pour la base de données PostgreSQL,
- Serveur d'impression : cette tâche configure le système pour devenir serveur d'impression,
- Serveur de fichiers Samba : cette tâche configure le système pour devenir un serveur de fichiers Samba, qui convient parfaitement pour un réseau hétérogène Linux-Windows.
- Serveur d'applications Tomcat : installe Apache Tomcat et les dépendances requises,
- Hôte pour machine virtuelle : inclut les paquets nécessaires pour faire fonctionner des machines virtuelles KVM,
- Sélection manuelle des paquets : exécute Aptitude, lequel permet une sélection individuelle des paquets.
L'installation de ces groupes de paquets est possible grâce à l'utilitaire Tasksel. Une des différences les plus importantes entre Ubuntu (debian) et les autres distributions GNU/Linux est qu'une fois installée, un paquet est déjà configuré avec des options par défauts fonctionnelles, et éventuellement, vous demande des informations complémentaires. En outre, quand vous installez une tâche, les paquets ne sont pas seulement installés, mais aussi configurés de façon à fournir un service totalement fonctionnel.
Une fois le processus d'installation fini, vous pouvez voir une liste des tâches disponibles en tapant cette commande :
tasksel --list-tasks
Vous pouvez voir une liste des paquetages installés avec chaque tâches en utilisant l'option –task-packages. Par exemple, pour lister les paquets installés avec la tâche Serveur DNS, entrez :
tasksel --task-packages dns-server
La sortie devrait rendre :
bind9-doc bind9utils bind9
Si vous n'avez pas installé une des tâches pendant le processus d'installation, mais que par exemple vous avez décidé de faire de votre serveur LAMP un nouveau serveur DNS, vous pouvez simplement insérer le CD d'installation et depuis un terminal, saisir :
sudo tasksel install dns-server
Mise à jour
Il existe deux commandes pour mettre à jour Ubuntu via la ligne de commande :
sudo apt-get update && sudo apt-get upgrade
La commande upgrade permet d'installer les versions les plus récentes de tous les paquets de la version d'Ubuntu en cours.
sudo apt-get update && sudo apt-get dist-upgrade
La commande dist-upgrade effectue la fonction upgrade en y ajoutant une gestion intelligente des changements de dépendances dans les nouvelles versions de paquets. Cette commande est recommandée pour les serveurs en production.
Mise à niveau (Migration)
Pour réaliser une mise à niveau en ligne de commande, consultez ce paragraphe.
Configuration réseau
Ubuntu desktop est livré avec un certain nombre d'utilitaires graphiques pour configurer une interface réseau. Étant en environnement serveur, nous allons nous focaliser sur la configuration du réseau uniquement en ligne de commande.
Interface Ethernet
Les interfaces Ethernet sont identifiées par le système en utilisant par convention le nommage ethX, ou X représente une valeur numérique. La première interface est typiquement identifiée comme eth0, la seconde comme eth1, et les suivantes dans l'ordre numérique.
Si le serveur tourne sur VirtualBox, les interfaces peuvent également être sous la forme enp0sX.
Identifier une interface
Pour rapidement identifier toutes les interfaces Ethernet, vous pouvez utiliser la commande ifconfig :
ifconfig -a | grep eth eth0 Link encap:Ethernet HWaddr 00:15:c5:4a:16:5a
Une autre application qui peut vous aider à identifier toutes les interfaces disponibles sur le système est la commande lshw.
Dans l'exemple ci-dessous, lshw montre une interface Ethernet unique, avec comme nom logique eth0, avec le bus d'information, les détails du driver et toutes les fonctionnalités supportées.
sudo lshw -class network *-network description: Ethernet interface product: BCM4401-B0 100Base-TX vendor: Broadcom Corporation physical id: 0 bus info: pci@0000:03:00.0 logical name: eth0 version: 02 serial: 00:15:c5:4a:16:5a size: 10MB/s capacity: 100MB/s width: 32 bits clock: 33MHz capabilities: (snipped for brevity) configuration: (snipped for brevity) resources: irq:17 memory:ef9fe000-ef9ffffff
Noms logiques des interfaces Ethernet
Les noms logiques sont configurés dans le fichier /etc/udev/rules.d/70-persistent-net.rules .
Si vous voulez contrôler quelle interface reçoit tel nom logique, trouvez la ligne contenant l'adresse physique MAC et modifiez la valeur NAME=ethX. Rebootez le système pour valider le changement.
Configuration des interfaces Ethernet
ethtool est un programme qui affiche ou change les paramètres des cartes Ethernet, comme l'auto-négociation, la vitesse du port, le mode duplex, et le Wake-on-Lan. Il n'est pas installé par défaut, mais est disponible dans les dépots.
sudo apt-get install ethtool
Cet exemple montre comment voir les fonctionnalités supportées et comment configurer une interface Ethernet :
sudo ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: g Wake-on: d Current message level: 0x000000ff (255) Link detected: yes
Les changements faits avec ethtool sont temporaires, et seront perdus au démarrage suivant. Si vous voulez que ces paramètres soit définitifs, ajoutez les commandes ethtool après une instruction pre-up dans le fichier de configuration : /etc/network/interfaces.
L'exemple suivant montre comment une interface identifiée comme eth0 peut être configurée d'une manière permanente avec une vitesse de 1000Mb/s en full duplex :
auto eth0 iface eth0 inet static pre-up /usr/sbin/ethtool -s eth0 speed 1000 duplex full
Adressage IP
Adressage temporaire
Pour une configuration temporaire, vous pouvez utiliser les commandes standards comme ip, ifconfig, et route, qui fonctionnent également sur les autres systèmes d'exploitations GNU/Linux.
Ces commandes vous permettent d'appliquer une configuration, qui prend effet immédiatement, bien qu'elle ne soit pas persistente, et qu'elle soit perdue au redémarrage.
Pour configurer temporairement une adresse IP, vous pouvez utiliser la commande ifconfig de cette manière :
sudo ifconfig eth0 192.168.1.1 netmask 255.255.255.0
Pour vérifier la configuration de l'adresse de la carte eth0, réutilisez ifconfig :
ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:15:c5:4a:16:5a inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::215:c5ff:fe4a:165a/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:466475604 errors:0 dropped:0 overruns:0 frame:0 TX packets:403172654 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2574778386 (2.5 GB) TX bytes:1618367329 (1.6 GB) Interrupt:16
Pour configurer une passerelle par défaut, vous pouvez utiliser la commande route :
sudo route add default gw 192.168.1.240 eth0
et pour vérifier la configuration de la passerelle :
route -r
Si vous avez besoin d'un serveur DNS temporairement, vous pouvez ajouter l'adresse d'un serveur DNS dans le fichier /etc/resolv.conf : (* Cette information est obsolete dans les dernières version : faire man resolvconf et lire le README de resolvconf *)
nameserver 192.168.1.1 nameserver 192.168.1.2
Si vous n'avez plus besoin de cette configuration et voulez purger toute la configuration d'une interface, vous pouvez utiliser la commande ip qui vide les options :
ip addr flush eth0
Adressage IP Dynamique
Pour configurer votre serveur afin d'utiliser un adressage IP dynamique, ajoutez la méthode dhcp à l'interface appropriée dans /etc/network/interfaces :
auto eth0 iface eth0 inet dhcp
Après avoir modifié la configuration de la carte réseau comme ci-dessus, vous pouvez manuellement appliquer le changement avec la commande ifup, qui initialise le processus DHCP via dhclient.
sudo ifup eth0
Pour désactiver manuellement une carte réseau, utilisez la commande ifdown, qui va initier le processus d'arrêt de DHCP et arrêter l'interface.
sudo ifdown eth0
Adressage IP statique
Pour configurer le système en adressage IP statique, ajoutez la méthode static à l'interface appropriée dans /etc/network/interfaces :
auto eth0 iface eth0 inet static address 192.168.1.1 netmask 255.255.255.0 gateway 192.168.1.240
Vous pouvez activer/désactiver l'interface en utilisant les commandes ifup et ifdown comme vu précédemment.
L'interface de Loopback
L'interface de loopback est identifiée par le système comme lo et son adresse IP par défaut est 127.0.0.1. Cela peut être vérifié avec la commande ifconfig :
ifconfig lo lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:2718 errors:0 dropped:0 overruns:0 frame:0 TX packets:2718 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:183308 (183.3 KB) TX bytes:183308 (183.3 KB)
Par défaut, il doit y avoir deux lignes dans le fichier /etc/network/interfaces qui configure automatiquement l'interface de loopback. Il est recommandé de conserver ces paramètres par défaut à moins d'avoir un but précis de le faire :
auto lo iface lo inet loopback
Résolution de noms
Pour configurer le système pour utiliser la résolution de nom DNS, ajoutez l'adresse IP des serveurs DNS appropriés à votre réseau dans le fichier /etc/resolv.conf. Vous pouvez également ajouter un suffix DNS correspondant à votre nom de domaine réseau.
search ubuntu-fr.lan nameserver 192.168.1.1 nameserver 192.168.1.2
L'option search peut également être utilisée avec plusieurs domaines, de telle sorte que les requêtes DNS seront complétées avec le suffix dans l'ordre indiqué par le fichier /etc/resolv.conf.
Par exemple, si votre réseau dispose de plusieurs sous-domaine DNS : un parent ubuntu-fr.lan, et deux sous-domaines dev.ubuntu-fr.lan et asso.ubuntu-fr.lan, le fichier de configuration ressemblera à ceci :
search ubuntu-fr.lan dev.ubuntu-fr.lan asso.ubuntu-fr.lan nameserver 192.168.1.1 nameserver 192.168.1.2
et si vous essayer de faire un ping sur le nom serveur1, votre système va automatiquement interroger le DNS en utilisant le FQDN (Fully Qualified Domain Name) dans cet ordre :
- serveur1.ubuntu-fr.lan
- serveur1.dev.ubuntu-fr.lan
- serveur1.asso.ubuntu-fr.lan
Si aucune réponse ne correspond, le serveur DNS renverra un résultat notfound et la requête DNS échouera.
Noms d'hôtes statiques
Les noms d'hôtes statiques peuvent être définis localement dans le fichier /etc/hosts.
Les entrées dans le fichier hosts seront prioritaire par rapport au DNS par défaut. Cela implique que si votre système essaie de résoudre un nom d'hôte et qu'une entrée correspond dans le fichier hosts, il ne va pas essayer d'interroger le DNS.
Dans certaines configurations, spécialement quand l'accès à Internet n'est pas requis, les serveurs qui communiquent avec un nombre limité de ressources peuvent être paramétrés pour utiliser avec avantage les noms d'hôtes statiques en lieu et place du DNS.
L'exemple suivant est un exemple de fichier hosts, dans lequel un certain nombre de serveurs ont été identifiés simplement par leur nom d'hôte, leur alias et leur FQDN équivalent :
127.0.0.1 localhost 127.0.1.1 ubuntu-serveur 192.168.1.1 serveur1 www serveur1.ubuntu-fr.lan 192.168.1.2 serveur2 mail serveur2.ubuntu-fr.lan 192.168.1.3 serveur3 file serveur3.ubuntu-fr.lan 192.168.1.4 serveur4 backup serveur4.ubuntu-fr.lan
Configuration NSS (Name Service Switch)
L'ordre dans lequel votre système sélectionne une méthode de résolution de noms en adresses IP est contrôlé par le fichier de configuration de NSS (Name Service Switch) /etc/nsswitch.conf. Comme mentionné dans la section précédente, typiquement, les noms d'hôtes statiques définis dans /etc/hosts sont prioritaires par rapport à la résolution de noms DNS.
L'exemple suivant montre la ligne responsable de cet ordre dans le fichier /etc/nsswitch.conf :
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
- files tente en premier la résolution dans le fichier /etc/hosts.
- mdns4_minimal tente la résolution du nom en utilisant un Multicast DNS.
- [NOTFOUND=return] veut dire que toute réponse notfound renvoyée par le processus mdns4_minimal précédent doit être traitée comme autoritaire, et le système ne doit pas continuer d'attendre une réponse.
- dns représente une requête légale unicast DNS.
- mdns4 représente une requête multicast DNS.
Pont
Faire un pont entre de nombreuses interfaces est une configuration un peu plus avancée, mais est vraiment utile dans de nombreux scénarios. Un premier scénario est de configurer un pont avec plusieurs interfaces réseau, et d'utiliser un firewall pour filtrer le trafic entre deux segments du réseau. Un autre scénario est d'utiliser un pont sur un système avec une interface pour permettre à des machines virtuelles d'accéder directement au réseau externe. L'exemple ci-dessous reprend ce dernier scénario :
Avant de configurer un pont, vous devrez installer le paquet bridge-utils :
sudo apt-get install bridge-utils
Ensuite, configurer le pont en éditant le fichier /etc/network/interfaces :
auto lo iface lo inet loopback auto br0 iface br0 inet static address 192.168.1.10 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 bridge_ports eth0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off
Redémarrer le réseau pour initialiser le pont :
sudo /etc/init.d/networking restart
Le nouveau pont devrait maintenant fonctionner. brctl donne des informations utiles à propos de l'état du pont, quelles interfaces sont configurées pour le pont, etc. Voir le man brctl pour plus d'informations.
Basé sur « Ubuntu Server Guide - Community Ubuntu Documentation ».