
Finissons-en avec notre dossier en 4 partie sur l’installation et la configuration d’un Ubuntu Server ! Ceci est la dernière partie, au cours de laquelle vous allez apprendre à mettre en place un serveur de fichiers FTP, et où je vais vous donner quelques astuces et conseils supplémentaires. Si vous n’avez pas encore lu les épisodes précédents, jetez un coup d’œil au #1, #2 et #3 !
Après avoir installé et configuré notre serveur FTP, nous verrons des choses plus succinctes qui pourraient vous sauver la vie dans certaines situations, donc portez-y attention !
1. Déploiement du serveur FTP
Avoir un FTPd est parfois très utile (même avec SSH), pour certains scripts PHP tels que WordPress qui demandent un accès aux fichiers via FTP (installation d’extensions, mises à jour) pour certaines configurations. Aussi, si vous proposez un hébergement des sites web de personnes externes, vous n’aurez qu’à créer un utilisateur FTP virtuel et hop !
Bon, fini de parler, voyons comment installer PureFTPd, un serveur FTP relativement simple à mettre en place :
sudo apt-get install pure-ftpd
Ceci fait, il nous faut, comme d’habitude, ouvrir certains ports. Ouvrez le port 21 (port pour le mode actif), et les ports 3000 à 3005 (ports pour le mode passif). Puis, définissons les ports utilisés par le mode passif :
sudo nano /etc/pure-ftpd/conf/PassivePortRange
Dans le fichier ouvert, entrez : 3000 3005 puis enregistrez et fermez-le.
Ensuite, entrez cette commande :
sudo nano /etc/pure-ftpd/conf/ChrootEveryone
Dans ce fichier, tapez : yes et enregistrez-le avant de le fermer.
Enfin, pour ajouter un utilisateur, vous n’aurez plus qu’à utiliser la commande suivante :
sudo pure-pw useradd ftp-user -u unix-user -g unix-group -d /home/unix-user/web/web-dir
Dans cette commande, prenez soin de modifier les éléments soulignés avec :
- ftp-user : l’utilisateur FTP ;
- unix-user : l’utilisateur UNIX qui a les droits sur les fichiers à accéder via le FTP ;
- unix-group : normalement la même chose que l’unix-user ;
- /home/unix-user/web/web-dir : le chemin absolu vers le dossier à monter via le FTP
Puis, lorsque vous presserez la touche Entrée, le mot de passe de l’utilisateur à créer sera demandé. Une fois l’opération achevée, nous allons reconstruire la base de donnée d’utilisateurs PureFTPd avec la commande :
sudo pure-pw mkdb
Notez qu’à chaque ajout d’utilisateur vous devrez effectuer ceci !
Et enfin, redémarrons le serveur FTP étant donné de nos modifications de configuration du début :
sudo /etc/init.d/pure-ftpd restart
Hopla, et voilà ! Maintenant, testez votre serveur FTP avec l’aide d’un logiciel comme FileZilla, normalement vous serez bel et bien connecté à votre répertoire partagé ! Pour plus d’informations sur la configuration de PureFTPd, visualisez cette page.
2. Choses diverses
Bon, je vais vous le dire franchement, c’est avec le temps que l’expérience viendra, et surtout la facilité à manier la ligne de commande. À force de répéter les mêmes actions, cela en devient un automatisme.
Il existe des centaines de commandes que nous n’avons pas vu (en fait, je ne sais même pas si nous avons vu 1% des commandes). C’est pour cela que je vous ai concocté une liste des commandes les plus utiles :
- ls : lister les fichiers d’un répertoire (ls -a pour voir les cachés) ;
- cd : se déplacer dans un dossier ;
- rm : supprimer un fichier (rm -R pour un dossier) ;
- touch : créer un nouveau fichier ;
- mkdir : créer un nouveau dossier ;
- cp : copier un fichier ;
- history : afficher les 500 dernière commandes exécutées ;
- chmod : modifier les permissions sur un fichier/dossier ;
- zip/unzip : compresser/décompresser un ZIP ;
- tar -zcvf/tar -zxvf : compresser/décompresser un Tarball GZ ;
- find : rechercher un élément dans le système de fichiers ;
- ps aux : afficher tous les processus en cours d’exécution ;
- free : afficher la mémoire vive libre ;
- ping : pinger une machine sur le réseau (local ou Internet) ;
- traceroute : tracer le chemin réseau vers une machine distante ;
- ifconfig : obtenir les connexions réseau actives avec les IP ;
- ssh : se connecter à une machine distante en SSH ;
- wget : obtenir un fichier en HTTP ;
- nano : éditer un fichier texte ;
- whoami : afficher l’utilisateur connecté ;
- reboot : redémarrer la machine ;
- shutdown : arrêter la machine
Et n’oubliez pas : sous Ubuntu, un sudo avant une commande lui donne les droits d’administrateur (ne l’utilisez qu’en cas de besoin, elle peut être dangereuse cette petite commande !).
3. Quelques conseils
Avec mon expérience de 2 ans sur des serveurs Unix (petite pour certains), j’ai quelques conseils à vous donner pour éviter les problèmes ou tout simplement vous simplifier la vie !
Premier conseil : quand vous souhaitez répéter une commande exécutée il n’y a pas longtemps, appuyez sur la flèche du haut pour faire défiler les dernières commandes utilisées et ainsi les répéter. Pratique non ?
Deuxième conseil : créez des alias pour les grosses commandes que vous utilisez le plus ! Pour en définir, ouvrez le fichier .bashrc (nano .bashrc) et ajoutez simplement une ligne de ce style :
alias nouvelalias=’ancienne commande ici’
Et hop, déconnectez-vous, puis reconnectez-vous et vous n’aurez plus qu’à entrer nouvelalias (votre alias) à la place de votre ancienne commande.
Troisième conseil : faites très attention aux permissions appliquées aux dossiers et fichiers ! Un bon 644 par défaut me semble convenable, et 777 pour les éléments nécessitant les droits d’écriture pour un serveur web.
Quatrième conseil : n’utilisez que des mots de passe forts pour les comptes d’administration ! Se faire hacker via SSH peut arriver plus vite que l’on ne pense…
Cinquième conseil : n’ouvrez jamais tous les ports sur votre routeur (je pense tout particulièrement à la zone DMZ de la Livebox), c’est très très dangereux !
Sixième conseil : faites des backups (copies de sauvegarde) réguliers, vous n’êtes jamais à l’abri d’une défaillance matérielle. Quand ça arrivera, vous n’aurez que vos yeux pour pleurer…
4. Pour aller plus loin
Pour pouvoir faire encore plus avec votre serveur, je vous recommande de visiter la page de la documentation Ubuntu-fr dédiée aux machines de type serveur, ainsi que cet excellent site dédié à l’auto-hébergement.
Aussi, si vous souhaitez vous faciliter la vie pour les tâches d’administrations, vous pouvez installer Webmin, qui vous permet d’administrer via une interface web la totalité de votre système (mises à jour, apache, etc…). Personnellement, je préfère la ligne de commande car plus rapide quand on a l’habitude (si si !). Faites donc votre choix ! Si vous souhaitez sécuriser à fond votre installation, lisez ce billet sur la sécurité réseau.
Enfin ! Nous en avons fini avec cette série de billets ! Maintenant, vous devriez avoir un serveur prêt pour toutes les épreuves qui l’attendent. J’espère aussi que ceci vous a appris des choses, et vous permettra de continuer à vous ouvrir sur Linux et le Logiciel Libre, pour peut-être vous diriger vers d’autres OS : FreeBSD ou Solaris…
C’est maintenant à nous tous de résister pour que l’Internet ne se transforme pas en Minitel 2.0 ! Faites tourner ces billets (ramenez du monde sur mon weblog) afin de propager la bonne parole !
Cet article a été rédigé par Vanaryon le 1 mars 2010 sur www.vanaryon.eu; ce site étant clos et avec l’accord de Vanaryon, le contenu a été recopié ici afin de le pérenniser.
Merci pour ces 4 parties ! Mon serveur est maintenant fonctionnel 🙂