Tous les tutoriaux sont basés sur un serveur exemple sous Linux Debian (ou équivalent, par exemple Ubuntu), nommé test.alsacreations.com pour lequel nous disposons d'un utilisateur nommé dew et d'un accès root (super-administrateur) avec son propre mot de passe.
Ces accès sont créés, soit par vous-même lors de l'installation, soit fournis par votre hébergeur de serveur dédié après l'installation du système.
Afin d'administrer le serveur dédié avec ces identifiants, il est nécessaire de se connecter en ligne de commande par SSH (Secure Shell).
Sous Linux
Ouvrez une console, et utilisez la commande ssh test.alsacreations.com -l dew
En précisant le port 22 (par défaut) : ssh test.alsacreations.com -l dew -p 22
Sous Windows : Putty
Le meilleur client SSH existant sous Windows à l'heure actuelle est Putty. Il vous suffira de préciser l'adresse de votre serveur (et éventuellement le port si celui-ci diffère du port 22 par défaut pour SSH) pour vous y connecter.
N'hésitez pas à personnaliser l'affichage dans Window > Colours (couleur de fond, police) pour vous sentir comme chez vous. Dans Window > Translation vous pourrez choisir le jeu de caractères (ISO / UTF-8) si les caractères accentués ne s'affichent pas correctement.
Root (super-administrateur)
Afin de configurer votre serveur, vous aurez besoin de lancer des commandes en mode super-administrateur. C'est un utilisateur qui a le maximum de privilèges sur la machine. Normalement vous avez du choisir son mot de passe lors de l'installation de votre serveur.
Sous Ubuntu
Utilisez sudo
avant chaque commande. Par exemple : sudo apt-get install nano
Sous Debian
Utilisez tout simplement la commande su
puis entrez le mot de passe root, ou installez sudo comme pour Ubuntu avec apt-get install sudo
puis définissez les droits grâce à visudo
.
Manuel
Pour avoir plus d'informations sur une commande ou un programme, utilisez le manuel Linux en tapant man
suivi du nom de la commande.
- ls : Liste le contenu du répertoire courant
- cd : Change de répertoire (ex : cd /etc/ )
- mv : Déplace (ou renomme) un fichier
- cp : Copie un fichier
- rm : Supprime un fichier (récursivement : -rf)
- rmdir : Supprime un répertoire
- mkdir : Crée un répertoire
Les fichiers de configuration sont en général tous stockés dans /etc/, les programmes exécutables dans /bin/ ou /usr/bin/, les fichiers documents (web, mail, mysql) dans /var/ et les répertoires utilisateurs dans /home/ sauf pour root qui dispose de /root/.
Modifier le mot de passe root
N'hésitez pas à modifier le mot de passe surtout si celui-ci vous a été attribué par défaut. Identifiez-vous d'abord en root (voir ci-dessus) puis entrez la commande :
passwd root
Edition des fichiers
Pour éditer les fichiers en ligne de commande (via SSH) de nombreux éditeurs de texte existent. Si vous débutez sous Linux Ubuntu ou Debian, nous vous conseillons nano, qui est relativement simple d'accès. Vous pouvez l'installer grâce à apt-get install nano
. Sinon, préférez vi (ou vim) qui est très puissant. C'est cet éditeur que nous utiliserons dans les tutoriaux de cette section.
Quelques commandes vi de base :
- i : Insérer du texte
- a : Ajouter du texte
- Echap : Sortir du mode choisi précédemment (i ou a)
- x : Effacer un caractère
- dd : Effacer/couper une ligne
- Y : Copier une ligne
- p : Coller une ligne
- o : Insérer une nouvelle ligne
- u : Annuler la dernière action
- :w : Enregistrer le fichier
- :q : Quitter
- :q! : Quitter sans sauvegarder
- /mot_à_chercher : Rechercher un mot
- n : Rechercher le mot suivant
- :g/mot1/s//mot2/g : Rechercher dans tous le fichier le mot1 pour le remplacer par le mot2
L'éditeur par défaut du système est modifiable via les alternatives. Pour remplacer nano par vi (ou l'inverse) utilisez : update-alternatives --config editor
Configuration SSH
Afin de sécuriser l'accès SSH au serveur, éditons le fichier /etc/ssh/sshd_config. Nous allons changer le port de connexion par défaut pour éviter quelques attaques par bruteforce sur le port 22, qui est bien connu pour héberger ce service. N'oubliez pas de préciser ce nouveau port (dans Putty ou en ligne de commande ssh sous Linux) à la prochaine connexion.
vi /etc/ssh/sshd_config
Port 1337 # Changer le port par défaut
PermitRootLogin no # Ne pas permettre de login en root
Protocol 2 # Protocole v2
AllowUsers dew # N'autoriser qu'un utilisateur
Redémarrez le service SSH après ces modifications :
/etc/init.d/ssh restart
Configuration de base du réseau
Vérifiez que le hostname de votre machine est correct ou personnalisez-le en éditant /etc/hostname. Celui-ci doit aussi refléter le reverse configuré auprès de votre hébergeur ou datacenter.
vi /etc/hostname
Dans notre cas exemple, nous préciserons test.alsacreations.com
Vérifiez le fichier /etc/hosts
vi /etc/hosts
Celui-ci doit ressembler à peu près à cela, avec votre propre adresse IP et nom de domaine :
127.0.0.1 localhost test
88.150.120.130 test.alsacreations.com test
Nous allons également optimiser quelque peu la sécurité réseau du serveur au passage. Ne procédez à ces modifications que si vous savez ce que vous faites.
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
echo "1024" > /proc/sys/net/ipv4/tcp_max_syn_backlog
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
Editez le fichier /etc/resolv.conf pour vérifier ou ajouter les serveurs DNS à utiliser :
vi /etc/resolv.conf
nameserver ip_serveur_dns_1
nameserver ip_serveur_dns_2
Après ces quelques changements nous pouvons redémarrer le service réseau :
/etc/init.d/networking restart
Ou plus radicalement redémarrer le serveur :
reboot
Attendez quelques minutes puis reconnectez-vous. Vérifiez les changements grâce aux commandes suivantes :
- hostname -f
- doit retourner le FQDN soit test.alsacreations.com dans notre exemple
- hostname -s
- doit retourner le nom court, soit test
- hostname -d
- doit retourner le domaine, soit alsacreations.com
- hostname -i
- retourne l'adresse IP
Administration
Mises à jour grâce à APT
APT est un gestionnaire de paquets très performant. Il va permettre d'ajouter ou de retirer des programmes à la distribution Linux. Pour commencer, mettons la liste des paquets à jour depuis les serveurs de référence : apt-get update
Puis procédons à une mise à jour du système. Les paquets seront remplacés par leurs mises à jour : apt-get upgrade
Voici quelques commandes APT très utiles :
- apt-get dist-upgrade
- Met à jour la distribution complète
- apt-get install paquet
- Installe le paquet mentionné
- apt-get install paquet -s
- Simulation d'installation
- apt-get remove paquet
- Désinstallation/suppression du paquet
- apt-get remove paquet --purge
- Désinstallation complète (fichiers de configuration compris)
- apt-cache show paquet
- Informations sur le paquet
- apt-cache search paquet
- Recherche dans les paquets disponibles
- apt-cache depends paquet
- Dépendances
- apt-cache madison paquet
- Versions disponibles
- apt-cache policy paquet
- Versions et possibilités
- apt-get clean
- Vide le cache disque des paquets
Services, démons
Dans la suite des tutoriaux, nous allons installer un certain des services (web, ftp, mail) aussi appelés démons (daemons en anglais). Sous Linux Debian, Ubuntu et variantes ceux-ci s'administrent via des scripts localisés dans /etc/init.d, prenant en argument la plupart du temps les termes start (démarrer), stop (arrêter), restart (redémarrer), reload (recharger la configuration sans redémarrer). Exemple : /etc/init.d/apache restart
. Il faut bien entendu être identifié en root (super-administrateur) pour réaliser ces opérations.
NTP
NTP permet de synchroniser l'heure du serveur avec des horloges atomiques. Sous Debian Etch il existe déjà openntpd. Vous pouvez équiper votre système grâce à apt-get install ntp ntpdate
. Editez /etc/ntp.conf
ou /etc/default/ntpdate
pour vérifier la configuration et éventuellement modifier les adresses des serveurs avec ceux les plus proches de chez vous puis redémarrez le service : /etc/init.d/ntp restart
.
Divers
Installons quelques outils qui seront bien utiles (à ne faire que si cela vous semble pertinent) :
apt-get install zip unzip gcc libc6-dev linux-kernel-headers diff wget bzip2 make
Pour gérer les jeux de caractères et les locales n'hésitez pas à invoquer :
dpkg-reconfigure locales
Fin
Voilà votre système prêt à être configuré grâce aux autres tutoriaux. Dans tous les cas, vous pouvez faire appel au manuel sous Linux via la commande man
suivie du nom de la rubrique à consulter (en général le nom de la commande ou du paquet installé).