ubuntu-fr

Communauté francophone des utilisateurs d'Ubuntu

Planet Ubuntu-fr - Serveur

Fil des billets

mercredi, février 13 2008

Gravatar de mumblyFaille de sécurité du kernel Linux : le cas Dedibox + Ubuntu via mumbly

Rappel des faits :
Une importante faille de sécurité a été mise en évidence le week-end dernier sur l’ensemble des noyaux Linux 2.6 récents (2.6.17 à 2.6.24.1). Elle permet à un utilisateur local d’obtenir les privilèges root. Il est fortement conseillé de mettre à jour votre noyau sur votre Dédibox.
Suivez le guide !


Téléchargez le nouveau kernel sur le ftp de dedibox sur ftp://ftp.dedibox.fr/pub/dedibox/kernel/r8-1/C7-X86-32bits/kernel-image-2.6.24.2-c7-r8-1.deb

Puis installez-le :
sudo dpkg -i kernel-image-2.6.24.2-c7-r8-1.deb

Relancez grub :
sudo update-grub

ATTENTION : NE REBOOTEZ SURTOUT PAS ! Sous peine de voir votre dedibox inutilisable !

Si toutefois vous aviez rebooté et que vous êtes bloqué (La dedibox ne redémarre pas), suivez les étapes du point 1 pour “réparer” votre Grub.
Sinon, passez directement au point 2.

1 - Connectez-vous à votre console dedibox : https://console.dedibox.fr
Passez votre dedibox en “mode rescue”
Récupérez votre mot de passe et votre adresse de connexion ssh
Attendez 1 bonne minute et connectez vous en ssh : mon_pseudo@ip_de_la_dedibox

Puis faites :
$ sudo -s
(+ mot de passe donné par console dedibox our le mode rescue)
# cd /mnt/
# mkdir mon_systeme
# mount -t auto /dev/sda2 mon_systeme/
# cd mon_systeme/
# chroot .
# mount -t auto /dev/sda1 /boot/
# cd /boot/grub/
# vim menu.lst

2/ Remplacez tous les root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx par root=/dev/sda2
Sauvegardez : avec Vim c’est :wq

… et maintenant vous pouvez rebooter !
#reboot

Vérifiez que vous êtes bien passé sur le nouveau kernel avec la commande :
uname -r

Vous devriez voir : 2.6.24.2dedibox-r8-1-c7

vendredi, janvier 4 2008

Gravatar de mumblyMise à jour Ubuntu 7.04 vers 7.10 : le cas Dedibox via mumbly

Plusieurs de mes sites tournent sur un serveur dédié Dedibox avec Ubuntu server. J’en suis parfaitement content depuis plus d’un an maintenant. (Ce n’est pas de la pub : c’est une évaluation ! :o) ) Bref : j’avais à l’origine installé la Dedibox en Ubuntu 6.06 LTS mais le passage à la 7.04 s’est mal passé. Réinstallation en 7.04 toute fraîche. J’ai entrepris ce matin de passer la Dedibox de 7.04 server vers 7.10 server…

Et, si la manipulation s’avère finalement assez simple, il est FORTEMENT recommandé de suivre la procédure qui va suivre pour éviter une grosse déconvenue : le non redémarrage pur et simple du serveur après l’upgrade.

j’ai tout simplement suivi la procédure indiqué sur HowtoForge (http://www.howtoforge.com/upgrade-ubuntu-7.04-server-to-7.10) et l’ai agrémentée d’une “astuce” trouvée sur les forums de dedibox-news.org.

Voici sommairement les étapes à suivre :

Je précise que je suis connecté à la Dedibox en SSH.

1 - sudo apt-get update 2 - sudo apt-get install update-manager-core 3 - sudo do-release-upgrade

Là, on va vous demander si vous souhaitez continuer en SSH et on vous prévient qu’il existe un “ssh de secours” sur le port 9004 … au cas où … je n’ai personnellement pas rencontrer le moindre problème !

Après la procédure est simple : vous répondez YES y à toutes les questions ou bien vous choisissez toujours les choix par défaut comme pour les question du style :

The default action is to keep your current version.

*** my.cnf (Y/I/N/O/D/Z) default=N ? <– ENTER or N

Pour Apache, j’ai choisi Apache2, apache et apache-ssl car j’ai une configuration un peu spéciale avec ISPConfig (apache + apache-ssl) et un serveur “normal” (apache2).

Services to restart for PAM library upgrade: <– saslauthd proftpd cron courier-authdaemon atd

What would you like to do about php.ini? <– keep your currently-installed version

Arrivé en fin de configuration, on me demande si je suis d’accord pour enlever 13 paquets qui “ne servent plus à rien” : je dis OUI

13 packages are going to be removed.

Continue yN Details d <– y

Puis arrive le moment fatidique du redémarrage ou vous voyez ces lignes :

System upgrade is complete.

At the end of the upgrade, a system restart is required:

Restart required

To fully ugprade, please restart

Continue yN <–

NE FAITES RIEN ICI !!! (… pour le moment !)

En effet si vous redémarrez “tel quel”, votre Dedibox ne REDEMARRERA PAS !!!

Explications :

Lors de l’upgrade votre /boot/grub/menu.lst n’a pas été touché ! Oui : car pour Dedibox, en gardant les dépôts installés par défaut, la dernière version du kernel est 2.6.21.1dedibox-r7. Vous devriez avoir un menu.lst avec deux lignes (au moins …) ou vous allez trouver ça :

root=UUID=45645653435444363533

… et c’est cette partie qui pose problème !

Il va falloir la changer comme suit :

## ## End Default Options ##

title Ubuntu 7.10, kernel 2.6.21.1dedibox-r7

root (hd0,0)

kernel /vmlinuz-2.6.21.1dedibox-r7 root=/dev/sda2 ro quiet splash

quiet

title Ubuntu 7.10, kernel 2.6.21.1dedibox-r7 (recovery mode)

root (hd0,0)

kernel /vmlinuz-2.6.21.1dedibox-r7 root=/dev/sda2 ro single

title Ubuntu 7.10, memtest86+

root (hd0,0)

kernel /memtest86+.bin

quiet

### END DEBIAN AUTOMAGIC KERNELS LIST

Enregistrez.

Puis faites :

$ sudo update-grub

Et maintenant, vous pouvez redémarrer votre serveur. Tout devrait aller pour le mieux ! Cette configuration être propre à Dedibox car, sur un ordi personnel, je n’ai pas eu ce soucis …

samedi, décembre 8 2007

Gravatar de adminSauvegardes extensives via Yann Hamon

Effraie.org héberge pas mal de sites, et la question des sauvegardes est devenue cruciale.
Bien sur, je pourrais renvoyer les utilisateur-ices à leur responsabilités, et leur demander de faire leurs propres sauvegardes. Cela dit, rien ne dit qu'elles/ils les fassent régulièrement, ni qu'ils sachent comment sauvegarder une base de données.

Je me suis donc penché sur la question, et j'ai amélioré mon rsync quotidien pour obtenir un système qui me convient mieux,

Pour assurer que les données seront à l'abri en cas de crash des disques durs internes, mon répertoire backups/ est situé sur un disque usb externe. Prochainement, je cherche également à automatiser une sauvegarde de ce répertoire sur un serveur distant

Sauvegardes des bases de données

J'utilise, suivant les conseils avisé d'un copain, le script autoMYSQLBackup.sh qu'on trouve ici. Après configuration de quelques variables, le script est opérationnel, et il ne vous reste qu'a le lier dans /etc/cron.daily/ pour obtenir une sauvegarde automatisée de chacune de vos bases. Le script conserve les backups des derniers 7 jours, une par semaine pendant un mois, et une par mois indéfiniment.
Au final, cela me permet de conserver une trace des données sur le long terme, sans pour autant user une espace disque démesuré, dans backups/sql.

Sauvegardes des données:

Pendant longtemps, je me suis contenté d'utiliser rsync pour sauvegarder les données du serveur. Cependant, je souhaitais bénéficier, comme pour les bases de données, de la possibilité de restaurer une sauvegarde plus ancienne. Pour cela, j'ai utilisé des outils standards, rsync, cp, rm, date, find et crontab.

Le fonctionnement est simple:

sauvegarde principale:

Chaque nuit, à 2h30, je sauvegarde l'ensemble des données que je veux pouvoir restaurer dans un répertoire backups/main, avec le "mini script" suivant, qui synchronise la racine du serveur avec ma sauvegarde:


#!/bin/sh
rsync -azh  --exclude=/pattern/à/ne/pas/sauver --exclude=/dev --exclude=/proc --exclude=/tmp --exclude=/sys   --delete-after --delete-excluded --stats / /chemin/vers/backups/main



et cette ligne dans la crontab de root:

30 02  *  *  * /chemin/vers/le/script/main_backup 2>&1 | mail votre@email.tld -s "[Rsync] rapport du `date +%A\ %d\ %B\ %Y`"



Je reçois ainsi chaque jour un rapport statistique sur la synchronisation, de cette forme:


Number of files: 208552
Number of files transferred: 1038
Total file size: 8.23G bytes
Total transferred file size: 354.84M bytes
Literal data: 354.86M bytes
Matched data: 0 bytes
File list size: 6230145
File list generation time: 98.647 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 70.71M
Total bytes received: 24.00K

sent 70.71M bytes  received 24.00K bytes  344.18K bytes/sec
total size is 8.23G  speedup is 116.42



En cas de problème, le mail contient la sortie d'erreur de la commande.

Journalisation des sauvegardes

Pour pouvoir restaurer des sauvegardes plus anciennes, ou des fichiers effacés il y a plusieurs jours sur le serveur (et donc absent de backups/main), j'utilise trois petits scripts simplistes, qui, associés à une ligne adéquate dans la crontab de root, me permettent de conserver l'ensemble des sauvegardes des 7 derniers jours, une sauvegarde par semaine pendant un mois, et une sauvegarde par mois pendant 6 mois.

Voici les scripts et les entrées dans la crontab qui vont avec:

daily_backup

le script:

#!/bin/sh
find /chemin/vers/backups/timed/daily/* -ctime +7 -exec rm -rf {} \;
cp -al /chemin/vers/backups/main /chemin/vers/backups/timed/daily/`date +%F` 2> /dev/null;



L'entrée dans la crontab:

30 03  *  *  * /home/effraie/scripts/daily_backup



weekly_backup

le script:

#!/bin/sh
find /chemin/vers/backups/timed/weekly/* -ctime +33 -exec rm -rf {} \;
cp -al /chemin/vers/backups/main /chemin/vers/backups/timed/weekly/`date +%U_%F` 2> /dev/null;



L'entrée dans la crontab:

40 03  *  *  0 /home/effraie/scripts/weekly_backup



monthly_backup

Le script:

#!/bin/sh
find /chemin/vers/backups/timed/monthly/* -ctime +183 -exec rm -rf {} \;
cp -al /chemin/vers/backups/main /mnt/usb-data/backups/timed/monthly/`date +%m-%Y` 2> /dev/null;



L'entrée dans la crontab:

50 03  1  *  * /home/effraie/scripts/monthly_backup



Avec ça, je pense être habillé pour l'hiver! Cela dit, toute suggestion d'amélioration est la bienvenue.

Gravatar de effraieSauvegardes extensives via effraie

Effraie.org héberge pas mal de sites, et la question des sauvegardes est devenue cruciale.
Bien sur, je pourrais renvoyer les utilisateur-ices à leur responsabilités, et leur demander de faire leurs propres sauvegardes. Cela dit, rien ne dit qu'elles/ils les fassent régulièrement, ni qu'ils sachent comment sauvegarder une base de données.

Je me suis donc penché sur la question, et j'ai amélioré mon rsync quotidien pour obtenir un système qui me convient mieux,

Pour assurer que les données seront à l'abri en cas de crash des disques durs internes, mon répertoire backups/ est situé sur un disque usb externe. Prochainement, je cherche également à automatiser une sauvegarde de ce répertoire sur un serveur distant

Sauvegardes des bases de données

J'utilise, suivant les conseils avisé d'un copain, le script autoMYSQLBackup.sh qu'on trouve ici. Après configuration de quelques variables, le script est opérationnel, et il ne vous reste qu'a le lier dans /etc/cron.daily/ pour obtenir une sauvegarde automatisée de chacune de vos bases. Le script conserve les backups des derniers 7 jours, une par semaine pendant un mois, et une par mois indéfiniment.
Au final, cela me permet de conserver une trace des données sur le long terme, sans pour autant user une espace disque démesuré, dans backups/sql.

Sauvegardes des données:

Pendant longtemps, je me suis contenté d'utiliser rsync pour sauvegarder les données du serveur. Cependant, je souhaitais bénéficier, comme pour les bases de données, de la possibilité de restaurer une sauvegarde plus ancienne. Pour cela, j'ai utilisé des outils standards, rsync, cp, rm, date, find et crontab.

Le fonctionnement est simple:

sauvegarde principale:

Chaque nuit, à 2h30, je sauvegarde l'ensemble des données que je veux pouvoir restaurer dans un répertoire backups/main, avec le "mini script" suivant, qui synchronise la racine du serveur avec ma sauvegarde:


#!/bin/sh
rsync -azh  --exclude=/pattern/à/ne/pas/sauver --exclude=/dev --exclude=/proc --exclude=/tmp --exclude=/sys   --delete-after --delete-excluded --stats / /chemin/vers/backups/main



et cette ligne dans la crontab de root:

30 02  *  *  * /chemin/vers/le/script/main_backup 2>&1 | mail votre@email.tld -s "[Rsync] rapport du `date +%A\ %d\ %B\ %Y`"



Je reçois ainsi chaque jour un rapport statistique sur la synchronisation, de cette forme:


Number of files: 208552
Number of files transferred: 1038
Total file size: 8.23G bytes
Total transferred file size: 354.84M bytes
Literal data: 354.86M bytes
Matched data: 0 bytes
File list size: 6230145
File list generation time: 98.647 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 70.71M
Total bytes received: 24.00K

sent 70.71M bytes  received 24.00K bytes  344.18K bytes/sec
total size is 8.23G  speedup is 116.42



En cas de problème, le mail contient la sortie d'erreur de la commande.

Journalisation des sauvegardes

Pour pouvoir restaurer des sauvegardes plus anciennes, ou des fichiers effacés il y a plusieurs jours sur le serveur (et donc absent de backups/main), j'utilise trois petits scripts simplistes, qui, associés à une ligne adéquate dans la crontab de root, me permettent de conserver l'ensemble des sauvegardes des 7 derniers jours, une sauvegarde par semaine pendant un mois, et une sauvegarde par mois pendant 6 mois.

attention.png Note ajoutée à la suite de quiproquo dans les commentaires
Le systéme de journalisation/rotation des backups utilise l'option -l de cp, pour créer des hardlinks au lieu de recopier les fichiers, dans tt les cas ou le fichier n'a pas été modifié. C'est le moyen de n'utiliser que l'espace disque minimum requis. Compresser les données dans une archive ferait perdre cet avantage, et utiliserait, finalement, plus d'espace disque.



Voici les scripts et les entrées dans la crontab qui vont avec:

daily_backup

le script:

#!/bin/sh
find /chemin/vers/backups/timed/daily/* -ctime +7 -exec rm -rf {} \;
cp -al /chemin/vers/backups/main /chemin/vers/backups/timed/daily/`date +%F` 2> /dev/null;



L'entrée dans la crontab:

30 03  *  *  * /home/effraie/scripts/daily_backup



weekly_backup

le script:

#!/bin/sh
find /chemin/vers/backups/timed/weekly/* -ctime +33 -exec rm -rf {} \;
cp -al /chemin/vers/backups/main /chemin/vers/backups/timed/weekly/`date +%U_%F` 2> /dev/null;



L'entrée dans la crontab:

40 03  *  *  0 /home/effraie/scripts/weekly_backup



monthly_backup

Le script:

#!/bin/sh
find /chemin/vers/backups/timed/monthly/* -ctime +183 -exec rm -rf {} \;
cp -al /chemin/vers/backups/main /mnt/usb-data/backups/timed/monthly/`date +%m-%Y` 2> /dev/null;



L'entrée dans la crontab:

50 03  1  *  * /home/effraie/scripts/monthly_backup



Avec ça, je pense être habillé pour l'hiver! Cela dit, toute suggestion d'amélioration est la bienvenue.

lundi, septembre 10 2007

Gravatar de adminProchaine session classroom, demain! via Yann Hamon

La classroom fait sa pré-rentrée!


Dés demain, vous pourrez nous retrouver pour une "mini" session à propos des réseaux locaux (LAN), en attendant la  "vraie" rentrée, d'ici quelques jours, au sujet de GPG.

Je n'allais bien sûr pas faire un billet pour vous expliquer qu'une session allait avoir lieu dans deux semaines bien sûr, mais pour vous annoncer que mardi 11 septembre, à partir de 20 heures (heure de Paris) allait avoir lieu une petite session sur l'introduction au fonctionnement des réseaux locaux.
Pourquoi une petite session allez vous me demander ? En fait, petite n'est pas le mot approprié, mais le concept de cette session ne va pas être de faire une présentation théorique et complète sur les LANs (Local Area Network). Mais plutôt de vous présenter quelques concepts simples, démystifier un peu le fonctionnement, et vous amener ainsi à vous poser des questions et à suivre un raisonnement logique.
Cette session se déroulera en deux parties: la première permettra de vous présenter quelques concepts, et la deuxième donc, de répondre à vos innombrables questions.

A mardi !

source: le blog de la classroom


Rappel: la classroom est acessible sur le canal #ubuntu-fr-classroom du réseau irc.freenode.net

Gravatar de effraieProchaine session classroom, demain! via effraie

La classroom fait sa pré-rentrée!


Dés demain, vous pourrez nous retrouver pour une "mini" session à propos des réseaux locaux (LAN), en attendant la  "vraie" rentrée, d'ici quelques jours, au sujet de GPG.

Je n'allais bien sûr pas faire un billet pour vous expliquer qu'une session allait avoir lieu dans deux semaines bien sûr, mais pour vous annoncer que mardi 11 septembre, à partir de 20 heures (heure de Paris) allait avoir lieu une petite session sur l'introduction au fonctionnement des réseaux locaux.
Pourquoi une petite session allez vous me demander ? En fait, petite n'est pas le mot approprié, mais le concept de cette session ne va pas être de faire une présentation théorique et complète sur les LANs (Local Area Network). Mais plutôt de vous présenter quelques concepts simples, démystifier un peu le fonctionnement, et vous amener ainsi à vous poser des questions et à suivre un raisonnement logique.
Cette session se déroulera en deux parties: la première permettra de vous présenter quelques concepts, et la deuxième donc, de répondre à vos innombrables questions.

A mardi !

source: le blog de la classroom


Rappel: la classroom est acessible sur le canal #ubuntu-fr-classroom du réseau irc.freenode.net

lundi, juin 25 2007

Gravatar de mumblyMettre en place un serveur type &quot;hébergement&quot; avec ISPConfig sous Ubuntu Gnu/Linux Feisty Fawn via mumbly

Cela fait maintenant assez longtemps que je cherche une solution simple et efficace afin d'héberger plusieurs sites persos et d'autres sites de collègues, d'amis, de la famille, etc.
J'ai d'abord commencé à installer "à la main" différents éléments indispensables à des conditions d'hébergement "normales", que ce soit le serveur Apache, php, un serveur Mysql, un serveur de Mail, etc.
Je me suis vite aperçu que cette solution fonctionnait bien (après moult réglages ...) mais que, avec l'arrivée de nouveaux sites, l'administration devenait assez lourde pour un non professionnel comme moi.
L'idéal aurait été de trouver un "script" qui permette de gérer TOUT d'un seul coup.

Imaginez : je clique sur un bouton après avoir rentré quelques coordonnées, adresse e-mail et nom de domaine et ... HOP! tout est mis à jour aussi bien les DNS que les alias mail ou la base de données MySQL, etc. ... et bien ca existe ! :o)
Oui, je sais, je débarque mais bon. Vieux motard que jamais ! :o)

Cette solution a été testée avec succès sur un serveur personnel placé chez moi avec une connexion de type adsl dégroupée (environ 100 Ko/s en up) et sur un serveur dédié de type Dédibox... le tout sous Ubuntu !
Sur la base de divers posts, tutos et documentations trouvées sur le Net, je vais vous proposez maintenant d'installer ce serveur complet.

Je tiens à signaler que je me suis beaucoup basé sur le tuto paru sur howtoforge.com "The perfect setup feisty fawn". Je tiens enfin à signaler que comme l'autorisation d'utiliser "tel quel" ce tuto m'a été refusée par l'auteur ... (!?!), j'ai re-adapté le tout en français et j'ai ajouté certains détails trouvés sur le Net qui complètent l'installation, notamment sur les forums d'ISPConfig.

1 - Choix de l'OS : Ubuntu Feisty Fawn 7.04 server sans configuration de type LAMP. Tout est fait "à la main" utltérieurement.

2- Choix des applications Le "script" d'hébergement : mon choix s'est porté sur ISPConfig (http://www.ispconfig.org/) : licence d'utilisation BSD, gratuité, simplicité d'utilisation et communauté dynamique ... Les applications de type "serveur" : Apache2 + SSL, php5, Mysql 5, Postfix, Proftpd, imap/pop3, etc. Les "+" : quota, statistiques, etc.

Aller, c'est parti :

Première commande, premier troll !
Eh oui, on va installer un bon vieux compte root !
sudo passwd root
... et donner un mot de passe au compte root !

Puis nous allons faire un petit changement important :
sudo ln -sf /bin/bash /bin/sh
/bin/sh est un lien "symlink" vers /bin/dash, mais nous nous voulons /bin/bash. La commande précédente permet de s'assurer que nous aurons bien /bin/bash...

Installons premièrement le server SSH indispensable surtout si vous êtes à distance :
$ sudo apt-get install ssh openssh-server

[UPDATE du 27/06/07] : Afin de renforcer la sécurité dudit serveur, vous pouvez modifier le /etc/ssh/sshd_config
sudo vim /etc/ssh/sshd_config

.. et ajouter la ligne suivante (ce qui interdira à root de se connecter) :
PermitRootLogin no

Configurons le fichier /etc/hosts afin qu'il ressemble à ça :
sudo vim /etc/hosts

127.0.0.1 localhost.localdomain localhost
82.244.xx.xx monserveur.serveur.com monserveur
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

ATTENTION : à adapter avec votre vraie adresse IP ! :o)

Maintenant tapez :
sudo echo monserveur.serveur.com > /etc/hostname
et rebootez votre système. Au redémarrage, essayez les commandes suivantes :
hostname
hostname -f


Les deux devraient vous retourner : monserveur.serveur.com.

Editons ou vérifions maintenant le fichier /etc/apt/sources.list et soyez sur d'avoir ajouté les sources pour universe et multiverse.
Puis tapez les commandes suivantes :
sudo apt-get update
sudo apt-get upgrade


Nous allons maintenant installer quota qui va nous permettre de limiter ou de définir une taille maxi d'hébergement.
sudo apt-get install quota

Il va falloir maintenant éditer /etc/fstab :
sudo vim /etc/fstab

... ce qui va donner quelque chose comme ca :
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# /dev/hda1
UUID=9e00f33f-33e5-457b-a32a-fde2911b7c67 /               ext3    defaults,errors=remount-ro,usrquota,grpquota 0       1
# /dev/hda5
UUID=39504888-6254-49ff-a738-277053b3f53d none            swap    sw              0       0
/dev/hdc        /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/hdd        /media/cdrom1   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0

L'important étant de rajouter usrquota et grpquota sur la ligne de la partition principale !
Pour activer quota, il va falloir rentrer les commandes suivantes, dans l'ordre :
sudo touch /quota.user /quota.group
sudo chmod 600 /quota.*
sudo mount -o remount /
sudo quotacheck -avugm
sudo quotaon -avug


Passons à un gros morceau : le serveur DNS
sudo apt-get install bind9

Pour des raison de sécurité, nous allons configurer bind afin qu'il tourne dans un environnement chrooté.
sudo /etc/init.d/bind9 stop

Il faut éditer /etc/default/bind9 :
sudo vim /etc/default/bind9

et veillez à ce que le fichier ressemble à ça :
OPTIONS="-u bind -t /var/lib/named"
# Set RESOLVCONF=no to not run resolvconf
RESOLVCONF=yes

Créons maintenant les fichiers, les répertoires et la configuration indispensables à cet environnement chrooté de bind :
sudo mkdir -p /var/lib/named/etc
sudo mkdir /var/lib/named/dev
sudo mkdir -p /var/lib/named/var/cache/bind
sudo mkdir -p /var/lib/named/var/run/bind/run
sudo mv /etc/bind /var/lib/named/etc
sudo ln -s /var/lib/named/etc/bind /etc/bind


puis

sudo mknod /var/lib/named/dev/null c 1 3
sudo mknod /var/lib/named/dev/random c 1 8
sudo chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
sudo chown -R bind:bind /var/lib/named/var/*
sudo chown -R bind:bind /var/lib/named/etc/bind


Nous allons maintenant modifier le fichier /etc/default/syslogd afin qu'il ressemble à ça :
sudo vim /etc/default/syslogd

#
# Top configuration file for syslogd
#

#
# Full documentation of possible arguments are found in the manpage
# syslogd(8).
#

#
# For remote UDP logging use SYSLOGD="-r"
#
SYSLOGD="-a /var/lib/named/dev/log"

On redémarre le daemon :
sudo /etc/init.d/sysklogd restart

Puis on redémarre bind :
sudo /etc/init.d/bind9 start

Nous allons maintenant installer le serveur MySQL :
sudo apt-get install mysql-server mysql-client libmysqlclient15-dev

Puis nous allons éditer le fichier /etc/mysql/my.cnf :
sudo vim /etc/mysql/my.cnf

et nous allons commenter la ligne :
[...]
#bind-address = 127.0.0.1
[...]

afin que le serveur "écoute" non seulement sur le localhost mais aussi sur toutes les adresses.

On redémarre le serveur MySQL :
sudo /etc/init.d/mysql restart

Il faut maintenant "sécuriser" MySQL et mettre un mot de passe à l'utilisateur root :
sudo mysql_secure_installation

 ... et répondez aux questions !

Nous allons maintenant installer Postfix avec le SMTP-AUTH et TLS :
sudo apt-get install postfix libsasl2 sasl2-bin libsasl2-modules libdb3-util procmail

A la première question posée dans la console (Type de configuration) répondez Site Internet et à la deuxième (Nom de courrier) répondez : monserveur.serveur.com (à adapter avec votre vraie config biensur !)
Mais par défaut, postfix n'est pas assez bien "configuré". Nous allons le reconfigurer :
sudo dpkg-reconfigure postfix

et répondre aux questions suivantes :
Type de configuration? <-- Site Internet
Destinataire du courrier destiné au superutilisateur : <-- [laisser blanc, ne rien mettre]
Nom de courrier ? <-- monserveur.serveur.com
Autres destinations pour lesquelles le courrier sera accepté (champ vide autorisé) : <-- monserveur.serveur.com, localhost.serveur.com, localhost.localdomain, localhost
Faut-il forcer des mises à jour synchronisées de la file d'attente des courriels ? <-- Non
Réseaux internes : <-- 127.0.0.0/8
Taille maximale des boîtes aux lettres : <-- 0
Caractère d'extension des adresses locales : <-- +
Protocoles internet à utiliser : <-- tous (ou ipv4)

Puis, il va falloir faire un peu de configuration :
sudo postconf -e 'smtpd_sasl_local_domain ='
sudo postconf -e 'smtpd_sasl_auth_enable = yes'
sudo postconf -e 'smtpd_sasl_security_options = noanonymous'
sudo postconf -e 'broken_sasl_auth_clients = yes'
sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
sudo postconf -e 'inet_interfaces = all'
sudo echo 'pwcheck_method: saslauthd' >> /etc/postfix/sasl/smtpd.conf
sudo echo 'mech_list: plain login' >> /etc/postfix/sasl/smtpd.conf


sudo mkdir /etc/postfix/ssl
sudo cd /etc/postfix/ssl/

sudo openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024

sudo chmod 600 smtpd.key
sudo penssl req -new -key smtpd.key -out smtpd.csr
sudo openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
sudo openssl rsa -in smtpd.key -out smtpd.key.unencrypted


sudo mv -f smtpd.key.unencrypted smtpd.key
sudo openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650


sudo postconf -e 'smtpd_tls_auth_only = no'
sudo postconf -e 'smtp_use_tls = yes'
sudo postconf -e 'smtpd_use_tls = yes'
sudo postconf -e 'smtp_tls_note_starttls_offer = yes'
sudo postconf -e 'smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key'
sudo postconf -e 'smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt'
sudo postconf -e 'smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem'
sudo postconf -e 'smtpd_tls_loglevel = 1'
sudo postconf -e 'smtpd_tls_received_header = yes'
sudo postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
sudo postconf -e 'tls_random_source = dev:/dev/urandom'
sudo postconf -e 'myhostname = monserveur.serveur.com' (cette ligne est à adapter à votre vraie configuration !)


 Et puis nous faisons :
sudo /etc/init.d/postfix restart

Maintenant, il y a deux ou trois trucs à changer pour que l'authentification fonctionne correctement :
sudo mkdir -p /var/spool/postfix/var/run/saslauthd

Puis il faut vérifier que /etc/default/saslauthd ressemble à ça :
sudo vim /etc/default/saslauthd

#
# Settings for saslauthd daemon
#

# Should saslauthd run automatically on startup? (default: no)
START=yes

# Which authentication mechanisms should saslauthd use? (default: pam)
#
# Available options in this Debian package:
# getpwent  -- use the getpwent() library function
# kerberos5 -- use Kerberos 5
# pam       -- use PAM
# rimap     -- use a remote IMAP server
# shadow    -- use the local shadow password file
# sasldb    -- use the local sasldb database file
# ldap      -- use LDAP (configuration is in /etc/saslauthd.conf)
#
# Only one option may be used at a time. See the saslauthd man page
# for more information.
#
# Example: MECHANISMS="pam"
MECHANISMS="pam"

# Additional options for this mechanism. (default: none)
# See the saslauthd man page for information about mech-specific options.
MECH_OPTIONS=""

# How many saslauthd processes should we run? (default: 5)
# A value of 0 will fork a new process for each connection.
THREADS=5

# Other options (default: -c)
# See the saslauthd man page for information about these options.
#
# Example for postfix users: "-c -m /var/spool/postfix/var/run/saslauthd"
# Note: See /usr/share/doc/sasl2-bin/README.Debian
OPTIONS="-c  -m /var/spool/postfix/var/run/saslauthd -r"

On redémarre saslauthd :
sudo /etc/init.d/saslauthd start

Installons maintenant tout ce qui est relatif au serveur pop, imap, etc. :
sudo apt-get install courier-authdaemon courier-base courier-imap courier-imap-ssl courier-pop courier-pop-ssl courier-ssl gamin libgamin0 libglib2.0-0

Lors de l'installation, à la première question vous répondrez non et à la deuxième simplement OK

Maintenant installons apache, php5 etc. :
sudo apt-get install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Répondez OUI à la question concernant le support Maildir ... Puis :
sudo vim /etc/apache2/mods-available/dir.conf

et on va changer la ligne DirectoryIndex comme cela :
#DirectoryIndex index.html index.cgi index.pl index.php index.xhtml
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml

Puis on rajoute l'écoute sur le port httpd 443 :
sudo vim /etc/apache2/ports.conf

Listen 80
Listen 443

On met en place les modules apache :
sudo a2enmod ssl
sudo a2enmod rewrite
sudo a2enmod suexec
sudo a2enmod include


 ... et on relance apache :
sudo /etc/init.d/apache2 force-reload

Maintenant nous allons désactiver php de "manière globale". En effet, sous ISPConfig, vous pouvez autoriser ou non l'utilisation de php pour les sites hébergés. Cette étape n'est pas indispensable mais c'est à vous de voir si cela sera utile ou non dans votre cas ...
sudo vim /etc/mime.types

 ... et on commente les lignes relatives à php :
[...] #application/x-httpd-php phtml pht php
#application/x-httpd-php-source phps
#application/x-httpd-php3 php3
#application/x-httpd-php3-preprocessed php3p
#application/x-httpd-php4 php4
[...]

Puis :
sudo vim /etc/apache2/mods-enabled/php5.conf

# AddType application/x-httpd-php .php .phtml .php3
# AddType application/x-httpd-php-source .phps

# AddType application/x-httpd-php .php .phtml .php3
# AddType application/x-httpd-php-source .phps


On redémarre apache :
sudo /etc/init.d/apache2 restart

On installe maintenant le serveur ftp (proftpd):
sudo apt-get install proftpd ucf

A la question posée, vous choisissez de faire tourner proftpd séparément (standalone)
Au redémarrage de proftpd vous allez certainement avoir une erreur du type :
- IPv6 getaddrinfo 'server1.example.com' error: Name or service not known

On va facilement corriger ce problème :
sudo vim /etc/proftpd/proftpd.conf

 ... et vos allez asser la ligne UseIPV6 à off comme cela :
UseIPv6 off

On renforce un peu la sécurité de proftpd :
sudo vim /etc/proftpd/proftpd.conf

et on rajoute :
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server ready."

Afin de rendre compatible le fichier de configuration de proftpd avec ISPConfig, on fait une petite manip :
sudo ln -s /etc/proftpd/proftpd.conf /etc/proftpd.conf

Puis on redémarre proftpd :
sudo /etc/init.d/proftpd restart

On installe webalizer pour les stats de fréquentation des sites :
sudo apt-get install webalizer

On installe ce qu'il faut pour synchroniser l'horloge du serveur :
sudo apt-get install ntp ntpdate

Puis on termine la config avec l'installation de quelques packages indispensables pour ISPConfig (notamment spammassassin) :
sudo apt-get install libhtml-parser-perl libdb-file-lock-perl libnet-dns-perl

Voila la config du serveur à proprement parler est terminée !!!

Installons ISPConfig :
Récupérez la dernière version stable (au 25/06/07) :
cd /home/user/Desktop
(user est à remplacer par votre vrai nom d'utilisateur ! :o) )

Puis :
wget http://ovh.dl.sourceforge.net/sourceforge/ispconfig/ISPConfig-2.2.14.tar.gz

Puis :
tar xvfz ISPConfig-2.2.14.tar.gz

Puis :
cd install_ispconfig

ATTENTION : Vous avez besoin de plusieurs packages à ce niveau afin de compiler correctement les applications comme notamment gcc, flex, libmysqlclient15-dev.

Puis lançons l'installation :
sudo ./setup

L'installateur va désormais lancer un long processus de compilation (relatif à la puissance de votre machine - 30 min environ sur un Athlon XP 2000+ et 1 Go de RAM DDR) de apache, php5, etc. Il s'agit en fait de compiler un serveur apache qui va écouter sur le port 81 pour faire tourner ISPConfig. Il n'y a pas d'interférence avec l'installation du apache "normal" qui a été installé avant. De plus, ISPConfig installe un apache1.3 alors que nous avons installés tout à l'heure un apache2.

Vous choisissez votre langage (français serait idéal en l'occurence ... !)
Vous acceptez les licences...
Mode d'installation : choisissez standard

Lorsque l'apache d'ISPConfig est compilé, un certificat SSL est créé. Par conséquent on va vous poser quelques questions... regardez les exemples fournits et adaptez à vos besoins.

ATTENTION : Aux étapes 7 et 8, "crypter la clé ..." etc. : répondez NON !!! Sans quoi ISPConfig ne pourra être redémarré que en fournissant la bonne clé !

Si la compilation échoue, l'installation s'arrête et tous les fichiers de compil en cours sont effacés ! Même le répertoire install_ispconfig disparait ! Vous devriez avoir un message d'erreur qui vous indique quel est le véritable problème ... En général, il manque une config ou un package ... Recommencez depuis le début de l'installation de ISPConfig (tar xvfz ISPConfig-2.2.14.tar.gz, etc.) puis suivez la même procédure...

Puis vers la fin de l'installation, on vous pose quelques questions :
Serveur mysql : répondez localhost
utilisateur mysql: root
mot de passe mysql : le mot de passe de root
Le nom de la base de données IPSCOnfig : ispconfigdb

Attention pour la suite choisissez bien votre adresse IP :
L'adresse IP du serveur ISPConfig : 192.168.0.1 (si vous êtes connecté à domicile, derrière une freebox en mode routeur par exmeple) sinon rentrer votre adresse IP publique (exemple : 82.244.xx.xx)
Le nom d'hote: www Le domaine : votrenomdedomaine.com (à adapter, biensur !)
Sélection du protocole (http ou https (crypté)) pour accéder à ISPConfig :
Personnellement, j'ai choisi 1 pour SSL Vous pourrez donc accéder à votre système ISPConfig à l'adresse https://www.votrenomdedomaine.com:81.

Pour la prmière fois, connectez vous avec l'identifiant admin et le mot de passe admin. Changez vite ce mot de passe dans les paramètres de ISPCOnfig ! :o)))

Et voila : c'est terminé !!!

Il ne vous reste plus qu'à vous familiariser avec l'interface, la config, etc. Dans le menu Aide, vous trouverez des tutos en francais fots bien faits. Allez les consulter pour apprendre à vous servir de toute l'interface !
vendredi, avril 20 2007

Gravatar de mumblyThe Perfect Setup - Ubuntu Feisty Fawn (Ubuntu 7.04 server) via mumbly

Comme à chaque sortie d'une nouvelle version d'Ubuntu, HowtoForge nous gratifie d'un excellent et simple tuto (en anglais) pour installer un serveur basé sur Ubuntu Gnu/Linux 7.04 "Feisty Fawn".
Et tout y est, ou presque ... : Apache web server (SSL-capable), Postfix mail avec SMTP-AUTH et TLS, BIND, DNS server, Proftpd FTP server, MySQL server, Courier POP3/IMAP, Quota, Firewall, etc.
... et c'est ici que ça se passe : http://www.howtoforge.com/perfect_setup_ubuntu704
jeudi, mars 29 2007

Gravatar de adminPasserelle multi fonction : Installation DHCP via Yann Hamon

Avant d’installer un serveur DHCP il faut récupérer certaine information sans quoi le serveur DHCP ne fonctionnera pas.

Récupération des adresses IP des serveurs DNS:

  • Linux: cat /etc/resolv.conf
  • Windows: ipconfig /all (seul la partie serveurs DNS nous intéresse)

Récupération de l’adresse MAC de l’interface réseau:

  • Linux: ifconfig | grep HWaddr
  • Windows: ipconfig /all (seule la partie Adresse physique nous intéresse attention les tirets sont à remplacer par des : )

Une fois que ces éléments sont en notre possession, nous allons fixer l’adresse IP de la passerelle, ceci est en général conseillé.

Modification du réseau:

 sudo nano -w /etc/network/interfaces 

Il faut remplacer les paramètre de votre interface eth0 par ceci qui est bien entendu à adapter

 auto eth0 iface eth0 inet static address 192.168.0.253 netmask 255.255.255.0 gateway 192.168.0.254 

Il est très important de remplir la partie gateway, c’est grâce à elle que les ordinateurs du réseau pour sortir sur internet. Içi j’ai mis l’IP interne de ma freebox, j’ai aussi fixé l’IP de la passerelle multi fonction à une adresse proche de celle de la freebox pour mettre tous les serveurs sur un range IP 192.168.0.200 jusque 192.168.0.254.

Redémarrage du service réseau pour prendre en compte les modifications:

 sudo /etc/init.d/networking restart 

Installation du service DHCP

Pour installer DHCP3 il faut utiliser la commande:

 sudo apt-get install dhcp3-server 

Une fois installé il y aura une erreur car il n’est pas encore configuré, nous allons devoir dire à DHCP sur quelle interface réseau il doit écouter. Pour cela nous allons devoir éditer un de ces fichiers de configuration mais avant cela il faudra les sauvegarder:

 sudo cp /etc/default/dhcp3-server /etc/default/dhcp3-server.orig sudo cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.orig 

Édition du fichier contenant l’interface à écouter:

 sudo nano -w /etc/default/dhcp3-server 

Il suffit de mettre dans ce fichier:

 INTERFACES="eth0" 

Une fois que le fichier est sauvegardé il ne reste plus qu’à passer à la configuration de DHCP en lui même, tout se passe dans le fichier /etc/dhcp3/dhcpd.conf.

Édition:

 sudo nano -w /etc/dhcp3/dhcpd.conf 

Étant donné que nous avons sauvegarder le fichier de configuration original, il ne reste plus qu’à tout remplacer par ce fichier de configuration minimal à adapter:

 ddns-update-style none; log-facility local7; # Configuration du réseau subnet 192.168.0.0 netmask 255.255.255.0 {   range 192.168.0.1 192.168.0.10;   option domain-name-servers IP_DNS1, IP_DNS2;   option domain-name "home.lan";   option routers 192.168.0.254;   option broadcast-address 192.168.0.255;   default-lease-time 600;   max-lease-time 7200; } #Configuration des IP fixe en fonction des adresses MAC host machine1 { 	hardware ethernet 00:00:00:00:00:00; 	fixed-address 192.168.0.11; } 

Il faut adapter les parties:

  • range: cela correspond au pool IP à renvoyer aux client DHCP, ici les ordinateur auront une IP comprise entre 192.168.0.1 et 192.168.0.10. Si vous avez plus de machine il faudra penser à augmenter la seconde adresse.
  • domain-name-servers: servira à envoyer aux clients les IP des serveurs DNS pour qu’ils puissent résoudre les noms de domaine.
  • routers: pour que les clients DHCP sachent par où il peuvent sortir du réseau pour aller sur internet.
  • host: pour fixer l’adresse IP d’un client spécifique en fonction de l’adresse MAC de son interface réseau qui est unique au monde.

Maintenant moment de vérité il ne reste plus qu’à redémarrer le service DHCP:

 sudo /etc/init.d/dhcp3-server restart 

Il ne reste plus qu’à allumer une des machines cliente pour voir si tout c’est bien déroulé:

  • Linux: ifconfig
  • Windows: ipconfig /all

Voilà pour le DHCP, si vous avez des suggestions les commentaires sont à vous.

Gravatar de adminPasserelle multi fonction : Installation DHCP via Yann Hamon

Avant d'installer un serveur DHCP il faut récupérer certaine information sans quoi le serveur DHCP ne fonctionnera pas.

Récupération des adresses IP des serveurs DNS:

  • Linux: cat /etc/resolv.conf
  • Windows: ipconfig /all (seul la partie serveurs DNS nous intéresse)

Récupération de l'adresse MAC de l'interface réseau:

  • Linux: ifconfig | grep HWaddr
  • Windows: ipconfig /all (seule la partie Adresse physique nous intéresse attention les tirets sont à remplacer par des : )

Une fois que ces éléments sont en notre possession, nous allons fixer l'adresse IP de la passerelle, ceci est en général conseillé.

Modification du réseau:

sudo nano -w /etc/network/interfaces

Il faut remplacer les paramètre de votre interface eth0 par ceci qui est bien entendu à adapter

auto eth0
iface eth0 inet static
address 192.168.0.253
netmask 255.255.255.0
gateway 192.168.0.254

Il est très important de remplir la partie gateway, c'est grâce à elle que les ordinateurs du réseau pour sortir sur internet. Içi j'ai mis l'IP interne de ma freebox, j'ai aussi fixé l'IP de la passerelle multi fonction à une adresse proche de celle de la freebox pour mettre tous les serveurs sur un range IP 192.168.0.200 jusque 192.168.0.254.

Redémarrage du service réseau pour prendre en compte les modifications:

sudo /etc/init.d/networking restart

Installation du service DHCP

Pour installer DHCP3 il faut utiliser la commande:

sudo apt-get install dhcp3-server

Une fois installé il y aura une erreur car il n'est pas encore configuré, nous allons devoir dire à DHCP sur quelle interface réseau il doit écouter. Pour cela nous allons devoir éditer un de ces fichiers de configuration mais avant cela il faudra les sauvegarder:

sudo cp /etc/default/dhcp3-server /etc/default/dhcp3-server.orig
sudo cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.orig

Édition du fichier contenant l'interface à écouter:

sudo nano -w /etc/default/dhcp3-server

Il suffit de mettre dans ce fichier:

INTERFACES="eth0"

Une fois que le fichier est sauvegardé il ne reste plus qu'à passer à la configuration de DHCP en lui même, tout se passe dans le fichier /etc/dhcp3/dhcpd.conf.

Édition:

sudo nano -w /etc/dhcp3/dhcpd.conf

Étant donné que nous avons sauvegarder le fichier de configuration original, il ne reste plus qu'à tout remplacer par ce fichier de configuration minimal à adapter:


ddns-update-style none;

log-facility local7;

# Configuration du réseau

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.1 192.168.0.10;
  option domain-name-servers IP_DNS1, IP_DNS2;
  option domain-name "home.lan";
  option routers 192.168.0.254;
  option broadcast-address 192.168.0.255;
  default-lease-time 600;
  max-lease-time 7200;
}

#Configuration des IP fixe en fonction des adresses MAC

host machine1 {
	hardware ethernet 00:00:00:00:00:00;
	fixed-address 192.168.0.11;
}

Il faut adapter les parties:

  • range: cela correspond au pool IP à renvoyer aux client DHCP, ici les ordinateur auront une IP comprise entre 192.168.0.1 et 192.168.0.10. Si vous avez plus de machine il faudra penser à augmenter la seconde adresse.
  • domain-name-servers: servira à envoyer aux clients les IP des serveurs DNS pour qu'ils puissent résoudre les noms de domaine.
  • routers: pour que les clients DHCP sachent par où il peuvent sortir du réseau pour aller sur internet.
  • host: pour fixer l'adresse IP d'un client spécifique en fonction de l'adresse MAC de son interface réseau qui est unique au monde.

Maintenant moment de vérité il ne reste plus qu'à redémarrer le service DHCP:

sudo /etc/init.d/dhcp3-server restart

Il ne reste plus qu'à allumer une des machines cliente pour voir si tout c'est bien déroulé:

  • Linux: ifconfig
  • Windows: ipconfig /all

Voilà pour le DHCP, si vous avez des suggestions les commentaires sont à vous.

Gravatar de MotarionPasserelle multi fonction : Installation DHCP via Motarion

Avant d’installer un serveur DHCP il faut récupérer certaine information sans quoi le serveur DHCP ne fonctionnera pas.

Récupération des adresses IP des serveurs DNS:

  • Linux: cat /etc/resolv.conf
  • Windows: ipconfig /all (seul la partie serveurs DNS nous intéresse)

Récupération de l’adresse MAC de l’interface réseau:

  • Linux: ifconfig | grep HWaddr
  • Windows: ipconfig /all (seule la partie Adresse physique nous intéresse attention les tirets sont à remplacer par des : )

Une fois que ces éléments sont en notre possession, nous allons fixer l’adresse IP de la passerelle, ceci est en général conseillé.

Modification du réseau:

 sudo nano -w /etc/network/interfaces 

Il faut remplacer les paramètre de votre interface eth0 par ceci qui est bien entendu à adapter

 auto eth0 iface eth0 inet static address 192.168.0.253 netmask 255.255.255.0 gateway 192.168.0.254 

Il est très important de remplir la partie gateway, c’est grâce à elle que les ordinateurs du réseau pour sortir sur internet. Içi j’ai mis l’IP interne de ma freebox, j’ai aussi fixé l’IP de la passerelle multi fonction à une adresse proche de celle de la freebox pour mettre tous les serveurs sur un range IP 192.168.0.200 jusque 192.168.0.254.

Redémarrage du service réseau pour prendre en compte les modifications:

 sudo /etc/init.d/networking restart 

Installation du service DHCP

Pour installer DHCP3 il faut utiliser la commande:

 sudo apt-get install dhcp3-server 

Une fois installé il y aura une erreur car il n’est pas encore configuré, nous allons devoir dire à DHCP sur quelle interface réseau il doit écouter. Pour cela nous allons devoir éditer un de ces fichiers de configuration mais avant cela il faudra les sauvegarder:

 sudo cp /etc/default/dhcp3-server /etc/default/dhcp3-server.orig sudo cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.orig 

Édition du fichier contenant l’interface à écouter:

 sudo nano -w /etc/default/dhcp3-server 

Il suffit de mettre dans ce fichier:

 INTERFACES="eth0" 

Une fois que le fichier est sauvegardé il ne reste plus qu’à passer à la configuration de DHCP en lui même, tout se passe dans le fichier /etc/dhcp3/dhcpd.conf.

Édition:

 sudo nano -w /etc/dhcp3/dhcpd.conf 

Étant donné que nous avons sauvegarder le fichier de configuration original, il ne reste plus qu’à tout remplacer par ce fichier de configuration minimal à adapter:

 ddns-update-style none; log-facility local7; # Configuration du réseau subnet 192.168.0.0 netmask 255.255.255.0 {   range 192.168.0.1 192.168.0.10;   option domain-name-servers IP_DNS1, IP_DNS2;   option domain-name "home.lan";   option routers 192.168.0.254;   option broadcast-address 192.168.0.255;   default-lease-time 600;   max-lease-time 7200; } #Configuration des IP fixe en fonction des adresses MAC host machine1 { 	hardware ethernet 00:00:00:00:00:00; 	fixed-address 192.168.0.11; } 

Il faut adapter les parties:

  • range: cela correspond au pool IP à renvoyer aux client DHCP, ici les ordinateur auront une IP comprise entre 192.168.0.1 et 192.168.0.10. Si vous avez plus de machine il faudra penser à augmenter la seconde adresse.
  • domain-name-servers: servira à envoyer aux clients les IP des serveurs DNS pour qu’ils puissent résoudre les noms de domaine.
  • routers: pour que les clients DHCP sachent par où il peuvent sortir du réseau pour aller sur internet.
  • host: pour fixer l’adresse IP d’un client spécifique en fonction de l’adresse MAC de son interface réseau qui est unique au monde.

Maintenant moment de vérité il ne reste plus qu’à redémarrer le service DHCP:

 sudo /etc/init.d/dhcp3-server restart 

Il ne reste plus qu’à allumer une des machines cliente pour voir si tout c’est bien déroulé:

  • Linux: ifconfig
  • Windows: ipconfig /all

Voilà pour le DHCP, si vous avez des suggestions les commentaires sont à vous.

mardi, mars 6 2007

Gravatar de adminMàJ Projet passerelle multi fonction : Réception matériel via Yann Hamon

J’ai eu un appel du transporteur pour me livrer le colis mais il n’ont pas pu le donner à ma gardienne. Donc normalement demain je le reçois! J’ai hâte de pouvoir commencer l’installation :)

Je mettrai ce billet à jour une fois que j’aurais reçu le matériel.

C’est bon j’ai reçu le matériel, il ne me manque qu’un seul câble de connexion SATA.

La carte mère, RAM et disques dur:

Matériel du serveur

Attention cette carte mère n’est pas livrée avec des câble SATA mais uniquement ATA il faudra donc acheter des câble supplémentaire au besoin

Boitier ouvert, il y a la place de mettre les deux disques dur même si il est prévu pour un seul:

Boitier du serveur

Il n’y a qu’une seule alimentation SATA sur l’alimentation fournie, prévoyez un adaptateur si vous voulez mettre un autre disque dur.

Gravatar de adminMàJ Projet passerelle multi fonction : Réception matériel via Yann Hamon

J'ai eu un appel du transporteur pour me livrer le colis mais il n'ont pas pu le donner à ma gardienne. Donc normalement demain je le reçois! J'ai hâte de pouvoir commencer l'installation :)

Je mettrai ce billet à jour une fois que j'aurais reçu le matériel.

C'est bon j'ai reçu le matériel, il ne me manque qu'un seul câble de connexion SATA.

La carte mère, RAM et disques dur:

Matériel du serveur

Attention cette carte mère n'est pas livrée avec des câble SATA mais uniquement ATA il faudra donc acheter des câble supplémentaire au besoin

Boitier ouvert, il y a la place de mettre les deux disques dur même si il est prévu pour un seul:

Boitier du serveur

Il n'y a qu'une seule alimentation SATA sur l'alimentation fournie, prévoyez un adaptateur si vous voulez mettre un autre disque dur.

Gravatar de MotarionMàJ Projet passerelle multi fonction : Réception matériel via Motarion

J’ai eu un appel du transporteur pour me livrer le colis mais il n’ont pas pu le donner à ma gardienne. Donc normalement demain je le reçois! J’ai hâte de pouvoir commencer l’installation :)

Je mettrai ce billet à jour une fois que j’aurais reçu le matériel.

C’est bon j’ai reçu le matériel, il ne me manque qu’un seul câble de connexion SATA.

La carte mère, RAM et disques dur:

Matériel du serveur

Attention cette carte mère n’est pas livrée avec des câble SATA mais uniquement ATA il faudra donc acheter des câble supplémentaire au besoin

Boitier ouvert, il y a la place de mettre les deux disques dur même si il est prévu pour un seul:

Boitier du serveur

Il n’y a qu’une seule alimentation SATA sur l’alimentation fournie, prévoyez un adaptateur si vous voulez mettre un autre disque dur.

dimanche, février 25 2007

Gravatar de adminProjet passerelle multi fonction - Achat matériel via Yann Hamon

Ce petit projet personnel a pour but la création d’un serveur qui fera office de passerelle internet multifonction pour mes autres machines, de serveur DCHP, de serveur DNS pour que mes machines aient un nom et de parefeu. Elle sera installée sous Ubuntu.(Lire EDIT en bas du billet)

Mon appartement étant petit je préfère prendre une petite machine pour gagner en place et surtout en consommation électrique.

Besoins:

  • petite taille
  • silencieux (je n’ai qu’une pièce)
  • 2 interfaces réseau

Bonus:

  • Raid 1

Voici ce que j’ai pu trouver qui correspondrais au projet:

  • Carte mère: EPIA EK10000G
  • RAM: ValueRAM DDR 1 Go PC3200 CAS 3
  • Disque dur: Spinpoint T166 SATA - 320 Go - 16 Mo * 2
  • Boitier: CM Media RC-270 (Noir)

Je viens de commander chez materiel.net, un des rares magasin en ligne à avoir ce genre de carte mère. Je devrais les avoir la semaine prochaine. J’ai tout de même peur que tout cela chauffe trop car les deux disque durs seront cote à cote. Je verrai peut être pour rajouter un petit ventilo plus tard après mes tests.

EDIT: on m’a critiqué sur mon projet, si je veux faire ce projet c’est uniquement parce que l’informatique me plait et que je suis curieux d’en savoir le maximum. Dans ma recherche de travail on m’a demandé plusieurs fois si je connaissais BIND, j’ai dû dire non. Donc comme je cherche un travail d’administrateur système, surtout dans l’hébergement web j’ai besoin de connaître BIND et tous les systèmes dont les hébergeurs web ont besoin, il n’y a pas que Apache ;)

Donc oui ce projet est important pour moi et dans l’informatique on a la chance de pouvoir s’autoformer. Voilà pourquoi je ferai tout à la main au lieu d’utiliser simplement une distribution comme IPCop.