Serveur dédié: Ubuntu
# Par Neck le vendredi 8 février 2008, 21h13 (Informatique)
Première connexion
L'administration du serveur se fait en mode console au travers d'une connexion ssh que l'on ouvre ainsi:
$ ssh <nom>@<ip du serveur>
Une fois le mot de passe entré vous serez connecté à votre serveur en tant qu'utilisateur <nom>.
Note: pour une sécurité optimale choisissez un mot de passe suffisamment compliqué (pour en changer utilisez la commande passwd) et fermez la connexion avec exit une fois que vous avez terminé.
Installer Nano
Il va falloir éditer pas mal de fichiers textes, dans le cas de la distribution de Gandi le seul éditeur à disposition par défaut semble être vim. Puissant mais loin d'être intuitif, je propose d'installer nano qui possède bien moins de fonctionnalités mais est nettement plus simple à utiliser.
$ su // installer nano # apt-get install nano // le choisir comme éditeur par défaut # export EDITOR=/bin/nano # exit
Activer Sudo
Chose assez surprenante, la distribution fournie par Gandi ne propose pas le comportement habituel d'Ubuntu pour effectuer une action en tant qu'administrateur (sudo <commande>), au lieu de ça il faut utiliser su pour devenir root puis effectuer ce que l'on veut.
Je préfère sudo notamment parce qu'il me protège contre ma propre stupidité... voici comment l'activer:
// Devenir root. $ su // Ajouter votre utilisateur à un groupe de votre choix qui aura les privilèges administrateur. # adduser <utilisateur> <groupe> // Éditer la configuration de sudo (ne pas toucher directement le fichier). # visudo
Dans le fichier à présent ouvert, ajouter ceci à la fin:
%<groupe> ALL=(ALL) ALL
Enregistrer et quitter.
// Revenir à l'utilisateur de base. # exit // Tester sudo, ça devrait marcher. // Sinon essayer de se déconnecter/reconnecter. $ sudo <commande> // Si le test est concluant verrouiller le compte root. $ sudo passwd -l root
À présent il faut précéder toutes les commandes à exécuter en tant qu'administrateur de sudo.
Configurer et effectuer les mises à jour
Pour des raisons évidentes il vaut mieux garder le serveur à jour, Ubuntu fonctionnant sur le même principe que Debian, il faut d'abord configurer les dépots. Ils sont listés dans /etc/apt/sources.list, voici à quoi ressemble mon fichier après édition:
# nano /etc/apt/sources.list
# Miroirs par défauts proposés par Gandi deb http://ubuntu.mirror.gandi.net/mirror/ubuntu/ubuntu gutsy main universe multiverse deb http://ubuntu.mirror.gandi.net/mirror/ubuntu/ubuntu gutsy-security main universe multiverse deb http://ubuntu.mirror.gandi.net/mirror/ubuntu/ubuntu gutsy-updates main # Sources (ça peut toujours servir) deb-src http://ubuntu.mirror.gandi.net/mirror/ubuntu/ubuntu gutsy main universe multiverse deb-src http://ubuntu.mirror.gandi.net/mirror/ubuntu/ubuntu gutsy-security main universe multiverse deb-src http://ubuntu.mirror.gandi.net/mirror/ubuntu/ubuntu gutsy-updates main # Paquets DotDeb (dernières versions Apache, PHP, etc) deb http://packages.dotdeb.org stable all deb-src http://packages.dotdeb.org stable all
Le fichier modifié et enregistré, on met à jour le système:
// Mettre à jour les dépots # apt-get update // Mettre à jour les programmes installés # apt-get upgrade
Automatisation
Vérifier les mises à jour doit être fait de manière régulière pour être utile. C'est pourquoi nous allons créer une tâche cron qui va le faire pour nous quotidiennement. Attention à bien lancer l'éditeur en tant qu'administrateur, il existe aussi un cron utilisateur mais il ne possède pas assez de droits pour cette utilisation.
# crontab -e
Ajouter à la fin du fichier.
# Mettre à jour le serveur tous les matins à 5h30. 30 5 * * * (apt-get update -qq && apt-get upgrade -y -q) > /var/log/update.log
Votre serveur est dorénavant tenu à jour automatiquement.
Note: En l'occurrence il pourrait être intéressant d'envoyer le résultat par mail afin de s'assurer que tout s'est bien déroulé, nous verrons comment faire ultérieurement.
Nettoyer les services
Les services sont des petits programmes qui tournent en permanence pour effectuer diverses tâches. Si certains sont bien utiles d'autre ne servent à rien, à part manger des ressources.
Il existe un petit utilitaire en ligne de commande qui permet leur gestion sysv-rc-conf:
// Installer sysv-rc-conf # apt-get install sysv-rc-conf // Exécuter sysv-rc-conf # sysv-rc-conf
En l'occurrence je n'ai pas remarqué quoi que ce soit d'inutile, donc rien à modifier.
Se mettre à l'heure
Beaucoup de chose dépendent de l'heure, dès lors il est préférable que le serveur soit synchronisé avec un serveur d'horodatage. Une synchronisation prend la forme suivante:
# ntpdate pool.ntp.org
Cependant cela aura pour effet d'ajuster l'horloge une fois, il serait préférable d'en vérifier l'exactitude de temps à autre. Heureusement il existe un service pour ça:
# apt-get install ntp
L'installation va créer le fichier /etc/ntp.conf, ouvrez-le et cherchez la ligne Server ntp.ubuntu.com, nous allons la supprimer et la remplacer par les suivantes :
Server 0.fr.pool.ntp.org Server 1.fr.pool.ntp.org Server 2.fr.pool.ntp.org Server 3.fr.pool.ntp.org
Pour finir on relance le service:
# /etc/init.d/ntp restart
Note: choisissez de préférence des serveurs géographiquement proches, voir liste de serveurs publiques.
Références
- Fourre-tout.com: Installation Ubuntu Server - Chapitre 1 (mises à jour, synchronisation, services).
- Groupes Gandi: Sudo ne marche pas.
- Wiki Gandi: Se connecter à Gandi Expert (ssh), Installation de Apache 2.2, PHP 5.2 et MySQL 5.0 (dépots).
- Documentation Ubuntu Francophone: Sudo, Cron, Services.
Sommaire | Dernière modification le 2 mars 2008

Commentaires
En fait de mon côté j’utilise:
59 4 1 * * rm /var/log/update.log && touch /var/log/update.log
0 5 * * * (echo "\n----\nPACKAGE UPDATE: $(date)\n" && apt-get update -qq && apt-get upgrade -y -q) >> /var/log/update.log
Je doute que le echo ou le >> pose problème pour l’upgrade, mais j’ai peut-être loupé autre chose.
Tiens, mon premier commentaire a sauté?
Moi je vois bien ton premier commentaire :p
Pour ton code, tu peux utiliser directement ">" au lieu de ">>" car le premier écrase un fichier existant (et donc rend la suppression préalable inutile).
Ce qui aboutit ensuite quasiment à la même chose
Je crois aussi que pour qu'echo prenne en compte les "\n" il faut rajouter l'option " -e".