Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/09/2008, à 18:15

cantaeus

Mise en place d'un serveur mutualisé AMP SSH SFTP

Bonjour à tous big_smile,

Je viens ici et aujourd'hui faire appel à vous compétences et votre motivation sans limite pour m'aider dans un projet relativement complexe : la mise en place d'un serveur web mutualisé (php5, mysql, phpmyadmin, apache2), disponible via ssh, et accessible via sFTP roll.

Parce que j'aime la simplicité d'utilisation de la version desktop, et parce que la version 8.04.1 Serveur est une LTS, aisni que grâce à l'auto-complétion intégrée à apt-get, j'ai choisi cette distribution tongue.

L'installation et la configuration des différents composants ne semble pas trop complexe, mais je n'arrive pas au résultat que je souhaiterais obtenir facilement, alors voilà, j'ai pensé qu'il pourrait être utile de traiter ce sujet dans sa globalité et de la manière la plus sérieuse possible smile.

Voyons donc ce que je souhaitais réaliser, ce que j'ai réussi, et ce qui me reste à faire :

Ce qui a été fait :

Installation du système d'exploitation :
L'installation d'Ubuntu 8.04 LTS Server se fait via une interface très simpliste, dépourvue de "chichi" graphiques, il ne faut donc pas paniquer. Dans l'ensemble, j'ai choisi les options par défaut (en ne cochant aucun service lors de l'installation, nous le ferons plus tard), mais j'ai choisi d'effectuer un partitionnement manuel. Aussi j'ai créé une partition / de 10GB,  une partition /home de 10GB, et une partition swap de 1GB, et une partition /var qui occupe l'espace restant (sur lequel seront stockés les sites web), qu'en pensez-vous ?

Mise à jour post-installation
Une fois l'installation du serveur terminée, je commence par effectuer une mise à jour post-installation du système de base, suivie d'un redémarrage afin de charger le système mis à jour sur le dernier noyau avec la commande

sudo apt-get update; sudo apt-get dist-upgrade; sudo reboot now

Installation du serveur web LAMP :
Une fois le redémarrage terminé, je commence par installer l'ensemble AMP (Apache 2, MySQL, Php5) avec la commande

sudo apt-get update; sudo apt-get install apache2 php5 mysql-server

Durant cette installation, on me demande de définir un mot de passe root pour MySQL, qu'il faudra impérativement garder en mémoire. Si tout se passe bien pour cette partie de l'installation, je devrais pouvoir accéder à phpmyadmin via l'url http://<ip_de_mon_serveur>/phpmyadmin et au contenu du répertoire /var/www via l'url http://<ip_de_mon_serveur>, c'est déjà une excellente chose wink

Service SSH :

Afin de pouvoir administrer à distance le serveur, l'installation de ssh est incontournable, et est très rapidement effectuée avec la commande

sudo apt-get install openssh-server

Pour vérifier que la manipulation à bien été effectuée, on tente une connexion à partir d'un autre poste sur le même réseau en entrant dans un terminal la commande

ssh <ip_du_serveur>

Service FTP et SFTP

Ici, j'ai pas mal hésité, car il faut garder à l'esprit que le but de toutes ces manipulations est de mettre en place un serveur Web/ssh/ftp autonome et sécurisé, mais surtout mutualisé. Pour le moment, on se contente d'installer proftpd :

sudo apt-get install proftpd

Administration du serveur par le Web avec Webmin :

Pour des raisons d'accessibilité, j'ai choisi d'installer Webmin, qui nous permettra d'administrer plus simplement le serveur à partir d'un simple navigateur internet. Pour ce faire, la commande

sudo apt-get install webmin

fonctionne relativement bien, on s'y connecte ensuite à l'url http://<ip_du_serveur>:10000
Veillez toutefois à ce que la version installée par Ubuntu avec aptitude soit bien la dernière en date sur le site de l'éditeur, webmin ne jouissant pas vraiment d'une réputation d'application "secure".

Le monitoring :

Il est indispensable sur un serveur de pouvoir connaitre l'utilisation des ressources qui en est faite, et c'est bien plus sympa quand on utilise des petits graphiques colorés, ce que cacti semble savoir faire. Encore une fois, ce petit logiciel web s'installe avec une seule commande simpliste : sudo apt-get install cacti et est accessible à l'url http://<ip_du_serveur>/cacti

J'ai besoin de vous pour aller plus loin :

Voilà, en gros j'en suis là. Je voulais donc vous demander votre avis sur les moyens employés jusqu'ici, sont-ils adaptés, et surtout, sont-ils "secure" ? Je ne souhaite pas vraiment lancer de débat, je voudrais construire une page de référence concernant la mise en place d'un serveur mutualisé sécurisé, alors si vous voyez une grosse abbération, je serais ravi de l'entendre pour mettre à jour le post au fur et à mesure.

Pour le moment, comme vous le voyez, le serveur peut sembler opérationnel, mais il n'en est rien, et je n'arriverais pas plus loin sans votre aide. Voici donc ce qui reste à faire :

- Faire en sorte qu'à chaque nouvel utilisateur créé, une base de données soit créée avec comme login et pass ceux de l'utilisateur en question, avec une base de données au nom de son login sur laquelle il aurait tous les droits,
- Faire en sorte qu'à chaque nouvel utilisateur créé, un accès FTP lui soit octroyé avec comme login et mot de passe son login et mot de passe utilisateur, avec un qouta de 100MB par exemple,
- Idem pour l'accès ssh,
- Que son répertoire de base soit un répertoire accessible par le web directement via http://<ip_du_serveur>/~<utilisateur>, localisé dans /var/<utilisateur>, et éventuellement depuis une autre url, mais que nous administrerons "à la main" si besoin avec les virtualhosts,
- Que le serveur effectue une sauvegarde complète du /var/<utilisateur> chaque jour, avec un roulement de 4 jours, qui serait stockée je-ne-sais-où, idem pour les bases de données mysql
-Que le serveur se mette à jour automatiquement avec aptitude et reboot tous les dimanche matin à 4h00 par exemple (avec cron ou autre...)

Enfin bref, merci à tous ceux qui auront eu le courage de lire jusqu'ici, et qui pensent qu'il serait intéressant de compléter ce post, ou de le corriger smile
J'attends donc vos lumières avec impatience, et j'espère que ce post deviendra une référence à terme en ce qui concerne l'hébergement mutualisé !

Dernière modification par cantaeus (Le 30/09/2008, à 18:17)


VidéoNoob : Cours d'informatique gratuits et en vidéo !

Hors ligne

#2 Le 30/09/2008, à 21:01

Uggy

Re : Mise en place d'un serveur mutualisé AMP SSH SFTP

Tu demandes des remarques..
En voici quelques unes suite a la lecture rapide de ton post.
N'y vois pas des "reproches" juste des remarques pour répondre a tes questions.. smile


Parce que j'aime la simplicité d'utilisation de la version desktop

En général "Serveur" ne rime pas avec "Version Desktop" ? J'ai pas trop compris..



Service FTP et SFTP...installer proftpd

proftpd fait serveur FTP et accessoirement FTPS.Mais pas SFTP.
OpenSSH peut faire SFTP.


surtout, sont-ils "secure"

FTP non..
Desktop.. pas top.. Webmin pas top.. Le reste faut voir...
La sécurité n'est probablement pas ce qui caractérise le mieux proftpd .. (mieux vaudrait vsftpd (ou peut etre pureftpd))


chaque nouvel utilisateur créé, un accès FTP lui soit octroyé avec comme login et mot de passe son login et mot de passe utilisateur

outch pas bon... le pass FTP passe en clair.. et hop il suffit de se connecter en ssh avec..


reboot tous les dimanche matin à 4h00

Ahh ? Pourquoi ?
Tu as géré des serveurs Windows avant  ? wink

Hors ligne

#3 Le 30/09/2008, à 21:43

cantaeus

Re : Mise en place d'un serveur mutualisé AMP SSH SFTP

Génial, merci de ta réponse si rapide et complète big_smile
Et bien sûr, je n'attends que des remarques/reproches, du moment que ça permet d'avancer smile

Mon choix de Ubuntu-server par rapport à Debian s'est surtout basé (à tort ou à raison, tu me diras) sur la présence de l'autocomplétion sur apt-get (c'est peu je sais), et sur la sympathie que m'inspire cette distrib depuis quelques années tongue

proftpd fait serveur FTP et accessoirement FTPS.Mais pas SFTP.

Génial, cela signifie que je n'ai pas besoin de serveur FTP, et que je peux très bien me contenter d'openssh-server pour les mêmes opérations de gestion de fichiers, mais den manière plus sécurisée n'est-ce pas ? Moins y'a de demons qui tournent et de ports ouverts, mieux c'est big_smile

surtout, sont-ils "secure"

- Plus de FTP, c'est bon
- Webmin : le serveur aura un certificat dédié signé, donc en https ça devrait le faire non ? Sinon connais-tu des équivalents ? Avec une veille de chaque nouvelle version by mail et mise à jour immédiate en cas ..?

Desktop.. pas top..

J'utilise bien la version serveur, pas besoin de tout le reste wink

Tu as géré des serveurs Windows avant  ? wink

On peut dire ça comme ça tongue, tu me recommanderais quelle fréquence ?

Sinon, as-tu, avez-vous d'autres idées ou connaissances permettant de réaliser cet objectif, comme sur le cron, les sauvegardes, l'automatisation d'ajour d'utilisateurs et de bdd sous mysql en rapport avec l'utilisateur direct, les liens symboliques à créer vers le /var/www, etc, etc ..?

Merci pour l'aide big_smile


VidéoNoob : Cours d'informatique gratuits et en vidéo !

Hors ligne

#4 Le 30/09/2008, à 23:41

UgM

Re : Mise en place d'un serveur mutualisé AMP SSH SFTP

Salut!

Très intéressant!
Sous GNU/Linux, tu n'as pas besoin de redémarrer le serveur (sauf mise à jour noyau).

Sinon, t'as vhffs qui est utilisé par Tuxfamily. Ca marche sous Debian mais ça fonctionne surement sous Ubuntu.

@++

Hors ligne

#5 Le 01/10/2008, à 00:44

Uggy

Re : Mise en place d'un serveur mutualisé AMP SSH SFTP

Mon choix de Ubuntu-server par rapport à Debian s'est surtout basé (à tort ou à raison, tu me diras) sur la présence de l'autocomplétion sur apt-get (c'est peu je sais)

Humm... tu veux parler de ces lignes dans le bashrc ?

if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi

Elle sont peut etre par defaut dans Ubuntu et pas dans Debian. ? Si ce n'est que ca..  smile



Génial, cela signifie que je n'ai pas besoin de serveur FTP, et que je peux très bien me contenter d'openssh-server pour les mêmes opérations de gestion de fichiers, mais den manière plus sécurisée n'est-ce pas ?

oui


- Webmin : le serveur aura un certificat dédié signé, donc en https ça devrait le faire non ? Sinon connais-tu des équivalents ?

Humm en Https ok.. ca sera chiffré.. ce qui me derange un peu, c'est juste qu'il n'y a pas besoin de ca pour gerer un serveur...
Je ne connais pas d''equivalent.. a l'epoque ou j'avais regardé webmin, il etait tellement moche et limité que j'ai vite oublié..  (ca a surement changé depuis)



On peut dire ça comme ça tongue, tu me recommanderais quelle fréquence ?

Bahh.. pourquoi vouloir rebooter le serveur si ce n'est pas nécessaire ???
(Ca ne doit l'etre , comme indiqué au dessus par UgM que lors du passage d'un nouveau noyau)
Je pige pas pourquoi tu veux le rebooter sans raison ? ? ? On est pas sous Windows.. les trucs fonctionnent..


Sinon, as-tu, avez-vous d'autres idées ou connaissances permettant de réaliser cet objectif, comme sur le cron, les sauvegardes, l'automatisation d'ajour d'utilisateurs et de bdd sous mysql en rapport avec l'utilisateur direct, les liens symboliques à créer vers le /var/www, etc, etc ..?

Oui tout est possible.. mais je ne vais pas comme ca dans un post, te faire toute tes confs...
Cherche, fait des tests, pose des questions, soumet tes scripts etc.. et on t'aideras a obtenir ce que tu cherches....

Dernière modification par Uggy (Le 01/10/2008, à 00:45)

Hors ligne

#6 Le 01/10/2008, à 19:43

cantaeus

Re : Mise en place d'un serveur mutualisé AMP SSH SFTP

-J'ignorais que l'auto-complétion se configurait ici, merci pour le tuyau smile.

-Pour ce qui est du besoin de webmin, c'est le gars qui aura besoin du serveur qui en a besoin, mon serveur n'en aurait pas, comme je l'ai dit plus haut, mois je vois de ports ouverts sur une machine, plus je suis heureux, l'idéal serait ici 22, 80, 443, un autre ?
Du coup, je le lui installerais, plus par contrainte que par choix sad.

-En ce qui concerne les mises à jour automatisées, après quelques lectures ici ou , il semble que ce soit une des pires idées qui soit, le serveur étant voué à obtenir un rôle critique pour l'entreprise qui en a besoin (hébergement de très nombreux sites web). Nous définirons donc ensemble un calendrier strict de mises à jour (toutes les semaines par exemple ...), la solution semble plus sage, qu'en pensez-vous ?

@UgM : Extrêmement intéressant ce projet vhhfs, je suis en train de lire la documentation, mais elle semble tout de même extrêmement ciblée vers debian (uniquement ?), et nous ditque

Les programmes mysql-5.0 et pure-ftpd doivent être patchés pour fonctionner correctement avec Vhffs.

. Peux-tu m'en dire plus sur ce vhffs ?

Dernière modification par cantaeus (Le 01/10/2008, à 19:54)


VidéoNoob : Cours d'informatique gratuits et en vidéo !

Hors ligne

#7 Le 02/10/2008, à 02:05

UgM

Re : Mise en place d'un serveur mutualisé AMP SSH SFTP

@cantaeus
Vhhfs est ciblé vers Debian car c'est un projet de TuxFamily pour répondre à leur besoin. Leurs serveurs tournent que sous Debian (je pense).
Pour faire fonctionner correctement Vhffs sous Debian, il ne faut pas utiliser les paquets mysql-5.0 et pure-ftpd disponibles dans le dépôt officiels mais les paquets sur le site ou sinon les compiler soi même avec les patches.

@++

Hors ligne

#8 Le 02/10/2008, à 11:26

Uggy

Re : Mise en place d'un serveur mutualisé AMP SSH SFTP

cantaeus a écrit :

c'est le gars qui aura besoin du serveur qui en a besoin

Change de gars smile




cantaeus a écrit :

les mises à jour automatisées,...il semble que ce soit une des pires idées qui soit

Oui je deconseille une mise a jour auto.

Hors ligne

#9 Le 02/10/2008, à 13:31

Hoper

Re : Mise en place d'un serveur mutualisé AMP SSH SFTP

Mon grain de sel....

Concernant le partitionnement, l'utilisation de LVM aurait été une bien meilleure idée qu'un gigantesque /var. D'ailleurs tu ferai mieux d'avoir un système de fichier spécifique pour tes sites web (/var/www si tu veux).

Concernant les sauvegardes, c'est la première chose à mettre en place. Mais quand je lis "sauvegarder je ne sais pas ou" j'avoue que j'ai un peu peur... C'est clairement la première question que je me serai posée, bien, bien avant de savoir quel logiciel j'allais utiliser pour ca.

En tout cas, tu trouvera un logiciel de backup professionnel, open source, et packagé sous ubuntu ici : http://www.bacula.org/fr/


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org

Hors ligne