Guide d’Installation d’un nouveau serveur dédié

Publié le 3 mars 2009 à 9:45 par heri dans: Hébergement web

Alors, vous voilà avec  un nouveau serveur dédié, dans le but de déployer de nouveaux sites et de nouveaux services web. Il est fort probable que vous avez déjà un site web fonctionnel, testé et développé localement sur votre ordinateur, ou envoyé par un fournisseur de service qui a fait la programmation pour vous.

Si vous êtes un administrateur système experimenté, ce qui suit peut ne pas être intéressant pour vous, mais pour les développeurs web et ceux qui sont nouveaux dans l’hébergement web, l’article suivant peut être un guide bienvenu pour vos premiers pas. La liste peut aussi être vue différement, dépendamment de quelle technologies vous utilisez.

Une des premières étapes lors de la mise en route d’un serveur est la sécurisation de la machine. (Remarque: il y a eu aussi un article sur la sécurité récemment pour la maintenance). Sur un serveur Linux, voici les premières étapes:

  • changer le port utilisé pour le ssh, et aussi créer un autre compte pour votre utilisation. Désactiver l’idenfication avec root. Vous pouvez aussi associer sshd à une seule addresse IP, différent de l’addresse IP principale du serveur
  • désactiver telnet
  • désactiver l’identification d’Apache (pour empêcher les pirates de connaître la version que vous utilisez pour Apache)
  • mettre en place un nouveau nom d’utilisateur & mot de passe pour mysql (si pertinent)

Pour ceux qui sont sur CentOS, voici un guide, daté mais complet, sur la sécurité.

La prochaine étape que vous devrez regarder est l’optimisation du serveur. L’optimisation est un vaste sujet, trop vaste pour être bien couvert aussi, mais voici néanmoins des indices:

  • Mettez à jour et installer les programmes et logiciels requis,
  • Optimisez MySQL, comme par exemple la taille du buffer, le cache, nombre de connections. Attention: si vous ne comprenez pas vraiment ce qu’il y dans le fichier my.cnf, n’essayez pas de le changer. Essayez plutôt de travailler sur les tâches les plus faciles, comme utiliser EXPLAIN pour analyser les requêtes. Voici un bon article sur l’optimisation MySQL, ou vous pouvez aller directement au manuel de référence
  • Optimiser Apache, avec les variables dans le fichier httpd.conf. Vous pouvez utiliser ab ou httpperf après pour voir les différences de performance, et aussi garder un oeil sur l’utilisaton de la RAM ( ps -aux | grep httpd )

L’optimisation peut prendre beaucoup de temps, vous devrez donc dédier à l’avance un temps limite pour cette section; and ensuite revenir à l’optimisation quand il se passe de vrais problèmes (des requêtes qui prennent beaucoup de temps, swaps mémoire, des process qui s’éteignent etc.)

La troisième étape est maintenant l’installation de votre site:

  • envoyer le code par un outil de controle de code source, comme svn, git, ou rsync / ftp
  • activer l’application web, et ensuite faire diverses tâches comme la mise en place de répertoires pour les fichiers statiques, pour le répertoire de chache, les fichiers de configuration pour se connecter à la base de données,
  • envoyer les identifiants aux utilisateurs

Configurer le DNS peut être fait à tout moment durant le déployement, bien qu’il est préférable de le faire qand le serveur a été bien sécurisé et optimisé:

  • changer les configurations chez votre fournisseur de nom de domaine pour pointer vers l’adresse IP de votre nouveau serveur dédié
  • évaluer si vous avez besoin de votre propre serveur de nom de domaines (name servers)
  • si vous utilisez un service tierce pour votre infrastructure web (comme Google Apps, Zimbra ou autre), vous devrez configurer le DNS de la bonne manière
  • Si vou splanifiez d’envoyer des emails, dans le cas d’une application web où des usagers peuvent s’enregistrer et envoyer des notifications par email, vous aurez besoin de passer un peu de temps sur les configurations MX.  Hotmail et AOL sont spécialement connus pour être très demandants et marquer comme spam quasiment chaque email généré par une application web, vous devrez donc bien configurer les enregistrements SPF. Voici un outil de génération d’enregistrements SPF

La prochaine étape est la surveillance des performances, et dépend de la charge prévu pour votre serveur

  • Mettre en place des services tierces pour connaître le statut de votre site web, vous pouvez aussi utiliser des services de surveillance qui vous enverront un message texte sur votre téléphone cellulaire quand un service est hors ligne
  • Installer des outils pour la gestion des logs et la surveillance (munin, monit, ou nagios)
  • Mettre en place des load-balancers ou des proxy logiciels (comme haproxy, pound, mod_proxy_balancer ou mod_jk)

En suivant ces étapes, vous devriez être prêts maintenant pour recevoir la première vague de visiteurs, et ensuite passer la torche à ceux qui s’occupent du marketing du site :)

Je vous rappelle, que comme écrit plus haut, ceci n’est pas destiné à être un guide avancé et complet, mais comme une liste de vérification qui vous aider quand vous mettez en place un nouveau serveur dédié.

Si vous êtes intéressé, voici d’autres guides:

Commentaires

  1. On peut engager quelqu’un de chez iWeb pour faire tout cela ? Si oui, généralement quel est le coût?

    Merci.

  2. Pour SSH, il y a encore mieux : ne permettre que l’authentification par clé et laisser tomber l’authentification par mot de passe.

    Et pour MySQL, on peut prendre l’un des fichiers /usr/share/mysql/ pour bâtir /etc/my.cnf, en particulier /usr/share/mysql/my-large.cnf ou /usr/share/mysql/my-huge.cnf.

  3. Peut-être aussi trouver un système pour faire des backups. Il faut s’assurer que tout ce qui doit être backupé l’est correctement. Dans les système qui fonctionne bien et gratuit, il y a Rsnapshot, Amanda et Bacula.

  4. Ah oui c’est vrai, j’ai oublié le backup, c’est important ca (vu surtout l’épisode magnolia, ca prendrait quasiment un autre article sur le blogue)

    @Steve Présentement, on n’a pas de forfait mis en place pour cela, mais on est en train de concevoir de nouveaux services qui s’approchent de près à ce que vous décrivez. En attendant, vous pourrez prendre les services de gestion Level 5 et avoir le service via votre gestionnaire de compte

Laisser un commentaire

À propos du blog de iWeb

Le blog d'iWeb couvre l'hébergement web, le développement web, la conception web, le marketing Internet et à peu près toutes les annonces concernant iWeb.