Maniatux's Blog

Welcome to the internet

Sysadmin

L'aventure d'un serveur sous NetBSD #1

Rédigé par Xavier - - Aucun commentaire

Comme je le racontais dans mes précédents articles, le peu que j'ai pu découvrir de NetBSD m'a beaucoup plu. C'est un système simple, bien documenté et très polyvalent. Il est en total contradiction avec d'autres systèmes très (trop) complexes et beaucoup plus lourds comme CentOS...

Je me suis monté un serveur mail sous NetBSD, installé sur mon fidèle Geode (Alix). Le Postfix de base ne me convenait pas car il ne supporte pas SASL, utile pour l'authentification SMTP. J'ai donc du le recompiler depuis un autre PC à l'aide de pkgsrc. La grande question fut : comment puis-je retirer le Postfix de base pour ne pas qu'il entre en conflit avec celui que je vais installer à la main ? Il n'y a pas besoin. Il y a juste un petit fichier de configuration à créer dans /etc/rc.d/conf et tout est expliqué à l'installation du nouveau package de Postfix. Ainsi le script rc.d présent lancera le nouveau Postfix...

pkgsrc est l'équivalent des ports sous FreeBSD, ou les ebuild sur Gentoo... cela permet de compiler automatiquement un logiciel avec toutes ses dépendances et d'en faire un package. Ce package peut ensuite être déployé sur d'autres machines à l'aide d'un serveur ftp ou http. J'ai installé NetBSD en virtuel sur une machine "puissante" puis j'ai compilé Postfix avec l'option suivante dans /etc/mk.conf:

PKG_OPTIONS.postfix = sasl -ldap -mysql

Par la suite j'ai également compilé dovecot puis créé des packages pour le tout à l'aide de la commande:

# make package

Il suffit ensuite de configurer le daemon FTP ou HTTP en mode anonyme pointant sur le répertoire contenant les packages. Puis sur la machine cible, on configure la variable pour les sources de packages puis on les installe avec pkg_add.

dovecot est vraiment une merveille à configurer, et contrairement à courrier-imap, je n'ai plus besoin d'ajouter le préfixe INBOX/ dans thunderbird pour chaque compte.

Classé dans : Sysadmin - Mots clés : aucun

Serveur de fichiers + Réplique

Rédigé par Xavier - - Aucun commentaire

Introduction

Pour stocker de manière permanente et sécurisée mes fichiers, je me suis monté un petit NAS très simple à base d'Atom, disque dur 1To tournant sur une Debian Squeeze. Je n'ai mis qu'un accès FTP pour le moment mais on peut très bien configurer du NFS ou du SAMBA si besoin.

Sécurité des données

Un disque dur n'est pas à l'abri d'une panne, il faut donc trouver un moyen de préserver les données quoi qu'il arrive. Une première solution est un RAID1, qui est envisageable pour moi vu que j'ai deux disques identiques de 1 To. Mais le RAID a surtout pour but d'assurer la continuité de service en cas de panne d'un disque, et non de préserver les données. En effet on est pas à l'abri d'une mauvaise manip provoquant la perte des fichiers, ou même dans le pire des cas une défaillance sur la carte mère qui bousillerait les deux disques en même temps. De plus je n'ai vraiment pas besoin d'une continuité de service.

L'autre solution est de créer un serveur-réplique, sur lequel on synchronise régulièrement les données. Il assure une bien meilleure sécurité.

Serveur principal

Les données sont stockées dans le répertoire /srv

Serveur réplique

Ce serveur est virtualisé sur Windows 7 par VirtualBox. J'utilise une des fonctionnalités avancées de ce dernier qui permet d'utiliser un disque physique pour une machine virtuelle (ce qui n'est pas faisable par l'interface graphique). L'astuce est détaillée ici, n'oubliez pas de lancer VirtualBox en administrateur par la suite sinon cela ne fonctionnera pas.

Ce serveur virtualisé tourne sur Debian également et stocke ses données sur /srv ce qui nous simplifie la vie. Ce qu'on lui rajoute en plus, c'est rsync tournant en daemon. Pour ceux qui ne connaissent pas, c'est un outil permettant de synchroniser des répertoires à travers un réseau. Il permet notamment des sauvegardes incrémentielles et beaucoup de paramétrages.

Rsync peut fonctionner sur des partages NFS ou autres, mais s'en passe très bien grâce à un modèle client/serveur. Pour pouvoir activer rsync en serveur, voici les manipulations à effectuer.

Ouvrir le fichier /etc/default/rsync, chercher la ligne RSYNC_ENABLE et passer la valeur en TRUE Ensuite vous devez définir quels répertoires devront être synchronisés. Ces paramétrages se trouvent dans /etc/rsyncd.conf voici les miens pour l'exemple:

log file = /var/log/rsyncd.log

[replique] #Nom du partage
uid=xavier #Sous quel user rsync doit parcourir ce répertoire
gid=xavier #Sous quel groupe
path=/srv/ #Mon partage
read only = false #J'ai le droit d'écrire
list = yes #J'ai le droit de lister

Lancement d'une synchro

Sur le serveur principal (et non celui qui sert de réplique, lancer la commande suivante:

# rsync -av --delete /srv/ IPsrvreplique::replique

Explication des paramètres:

  • -av: le a est un raccourci pour archiver, le v pour être verbeux
  • --delete: Supprimer sur la réplique les fichiers qui n'existent plus sur le serveur principal
  • /srv/ le répertoire du serveur qu'on veut synchroniser
  • IPsrvreplique::replique l'ip du serveur réplique, suivi du nom du partage à utiliser.

Et si vos serveurs tournent 24h/24 vous pouvez faire un script cron pour automatiser cette réplique. La première réplique prendra énormément de temps, pour mes 600Go de données il m'a fallu quasiment 3 jours car rsync utilise un système de checksum.

Classé dans : Sysadmin - Mots clés : aucun

Serveur Apache + PHP sur FreeBSD

Rédigé par Xavier - - Aucun commentaire

Cet article va surtout me servir de pense-bête, pour pouvoir me rappeler plus tard de la procédure. Je dispose d'un serveur FreeBSD virtualisé (KVM), installé depuis le dvd de manière classique.

Logiciels

  • FreeBSD-8.2
  • Apache 2.2
  • PHP 5.3

Prérequis

  • FreeBSD connecté à internet
  • Bases Apache, VirtualHost
  • Savoir utiliser vi

Lire la suite de Serveur Apache + PHP sur FreeBSD

Classé dans : Sysadmin - Mots clés : aucun