<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Sos-dedie.com</title>
	<atom:link href="http://www.sos-dedie.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sos-dedie.com</link>
	<description>L'aide pour votre serveur dédié</description>
	<pubDate>Thu, 15 Jan 2009 05:09:30 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Apache 2 Worker et PHP FastCGI</title>
		<link>http://www.sos-dedie.com/2009/01/15/apache-2-worker-et-php-fastcgi/</link>
		<comments>http://www.sos-dedie.com/2009/01/15/apache-2-worker-et-php-fastcgi/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 04:58:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Apache]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[php5]]></category>

		<guid isPermaLink="false">http://www.sos-dedie.com/?p=58</guid>
		<description><![CDATA[Il existe plusieurs manières de faire tourner Apache et PHP sur son serveur et notamment une manière peu courante mais pourtant exploitant aux mieux les capacités des processeurs multi-cores et du multi-threading et nous allons voir laquelle.

La nécessité
Vous avez beaucoup de processus Apache qui se lance et autant de PHP ? Vous manquez de mémoire [...]]]></description>
			<content:encoded><![CDATA[<p>Il existe plusieurs manières de faire tourner Apache et PHP sur son serveur et notamment une manière peu courante mais pourtant exploitant aux mieux les capacités des processeurs multi-cores et du multi-threading et nous allons voir laquelle.</p>
<p><span id="more-58"></span></p>
<p><strong>La nécessité</strong></p>
<p>Vous avez beaucoup de processus Apache qui se lance et autant de PHP ? Vous manquez de mémoire et voulez gagner encore en performance ? Alors essayez Worker et Fastcgi ! Avec apache en mode Worker et PHP géré en Fastcgi votre système passera beaucoup moins de temps à ouvrir et fermer des processus car un seul processus gérera enfin toutes les requêtes !</p>
<p><strong>L&#8217;installation</strong></p>
<p>L&#8217;installation est assez simple pourvu que l&#8217;on fasse attention à quelques détails. Je ne vais pas reprendre ici en détail toute la configuration d&#8217;Apache et de PHP. Personnellement j&#8217;ai fait mes tests sur une version d&#8217;apache-php-mysql déjà installé. Donc vous pouvez le faire par dessus votre Apache prefork (ce qui est l&#8217;installation standard). Commençons par Apache.</p>
<p><code><br />
apt-get install apache2-mpm-worker libapache2-mod-fcgid<br />
</code></p>
<p>Si l&#8217;installation s&#8217;est bien déroulée, vous devriez avoir message final : Module fcgid installed. Si ce n&#8217;est pas le cas, activez le module avec la commande suivante.</p>
<p><code><br />
a2enmod fcgid<br />
</code></p>
<p>Pour vérifier il suffit aussi d&#8217;aller voir dans /etc/apache2/mods-enabled pour voir si le module fcgid.load est bien pressé (par lien symbolique ou physiquement)</p>
<p>Pendant l&#8217;installation vous aurez peut être peur en voyant que le système veut vous enlever le module php5. C&#8217;est normal, en effet celui-ci ne fonctionne pas avec Apache Thread (worker), c&#8217;est d&#8217;ailleurs pour cette raison que nous installerons  le php5 en mode cgi.</p>
<p><strong>PHP 5 en mode CGI</strong></p>
<p>Comme expliqué ci-dessus, le module PHP ne marchera pas avec le mode Worker d&#8217;Apache. Par conséquent nous devons installé le PHP en mode CGI qui sera utilisé ici à travers FASTCGI.</p>
<p><code><br />
apt-get install php5-cgi<br />
</code></p>
<p>Dans /etc/php5 vous trouverez par la suite un répertoire cgi le quel contient le php.ini, le fichier de configuration de php. Vous pouvez donc dans ce fichier faire vos réglages PHP classique.</p>
<p>Maintenant il faut expliquer à Apache que les page php que vous voulez vont être exécutée avec FASTCGI. Pour cela quelques commandes suffisent, elles sont à mettre dans la configuration de votre Virtual Host dans Apache</p>
<p>Par exemple si votre site Web est dans le dossier www de /home<br />
<code><br />
NameVirtualHost *<br />
&lt;VirtualHost *&gt;</code></p>
<p style="padding-left: 30px;">ServerAdmin webmaster@localhost<br />
DocumentRoot /home/www/</p>
<p>&lt;Directory /&gt;<br />
Options FollowSymLinks<br />
AllowOverride None<br />
&lt;/Directory&gt;</p>
<p>&lt;Directory /home/www/&gt;</p>
<p style="padding-left: 30px;">AddHandler fcgid-script .php<br />
AddHandler fcgid-script .php3<br />
FCGIWrapper /usr/lib/cgi-bin/php5 .php<br />
FCGIWrapper /usr/lib/cgi-bin/php5 .php3<br />
Options ExecCGI Indexes FollowSymLinks MultiViews<br />
AllowOverride None<br />
Order allow,deny<br />
allow from all</p>
<p>&lt;/Directory&gt;<br />
&#8230;.</p>
<p></code></p>
<p>La ligne AddHandler permet donc de spécifier quelle extension de fichier est a exécuter via FCGI. Il suffit ensuite d&#8217;indiquer où se trouve l&#8217;application concernant cette extension. Cela se fait avec FCGIWrapper. Pour finir, n&#8217;oubliez pas l&#8217;option ExecCGI sans quoi vos CGI ne s&#8217;exécuteront jamais&#8230;</p>
<p>Normalement après avoir tout redémarrer (apache2ctl restart), vous devriez vous retrouver avec seulement quelques processus d&#8217;apache et de php5 mais surtout un nombre défini et fixe qui ne changera peu.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sos-dedie.com/2009/01/15/apache-2-worker-et-php-fastcgi/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Optimiser Mysql</title>
		<link>http://www.sos-dedie.com/2008/10/30/optimiser-mysql/</link>
		<comments>http://www.sos-dedie.com/2008/10/30/optimiser-mysql/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 17:05:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Mysql]]></category>

		<guid isPermaLink="false">http://www.sos-dedie.com/wordpress/?p=53</guid>
		<description><![CDATA[L&#8217;optimisation de Mysql n&#8217;est pas une chose à prendre à la légère. Certaines optimisations peuvent parfois accélérer par 100 voir 1000 certaines requêtes ! Et vous allez me dire : et après ? Les ordinateurs sont tellement puissants ! Oui sauf que cela a un coût financier et écologique. Non seulement vous allez avoir besoin [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;optimisation de Mysql n&#8217;est pas une chose à prendre à la légère. Certaines optimisations peuvent parfois accélérer par 100 voir 1000 certaines requêtes ! Et vous allez me dire : et après ? Les ordinateurs sont tellement puissants ! Oui sauf que cela a un coût financier et écologique. Non seulement vous allez avoir besoin d&#8217;un serveur plus puissant pour faire tourner vos requêtes non optimisés (donc plus cher) mais ce serveur consommera aussi plus d&#8217;énergie !</p>
<p><span id="more-53"></span></p>
<p><strong>La nécessité</strong></p>
<p>L&#8217;optimisation Mysql peut devenir une réelle nécessité que vous soyez en hébergement mutualisé ou en dédié. Votre site répondra beaucoup plus rapidement et donc attirera plus de visiteurs avec des requêtes optimisés. Sans compter l&#8217;économie d&#8217;un serveur dédié moins puissant !</p>
<p>Nous allons voir donc quelques principes de bases sans entrer dans le cœur de Mysql.</p>
<p><strong>Detecter les requêtes non optimisés</strong></p>
<p>Le premier but va être de détecter vos requêtes non optimisées. Pour cela vous avez déjà un moyen visuel trés simple. Vous cliquez sur une rubrique de votre site et le chargement est extrêmement long ? La page d&#8217;entrée du site se charge par étape ? Demandez-vous ce qui peut causer ces soucis, cela peut être une page trop lourde à charger, des images trop volumineuses ou des requêtes SQL non optimisés !</p>
<p>Un autre moyen consiste à utiliser aussi le calcul du temps pris par les requêtes Mysql avec PHP, <a href="http://www.webdesign-tutoriaux.com/tutoriel-732.html">voir par exemple ce tutoriel</a>. Cela consiste à utiliser une fonction temps de PHP qui donnera des indications trés précises sur le temps utilisé. Vous mettez cette fonction avant et après la requête et vous affichez le résultat !</p>
<p><code><br />
function utime_temps()<br />
{<br />
$t=microtime();<br />
$t=((double)strstr($t, ' ')+(double)substr($t,0,strpos($t,' ')));<br />
return $t;<br />
}<br />
</code></p>
<p>Pour ceux qui sont en dédiés ou qui ont accès au fichier my.cnf dans /etc/mysql, vous pouvez rajouter ces lignes</p>
<p><code>log-slow-queries = /var/log/mysql/mysql-slow.log<br />
long_query_time = 1<br />
</code></p>
<p>dans le fichier my.cnf (et faire un restart de Mysql par exemple avec /etc/init.d/mysql restart). Avec ces paramètres les requêtes Mysql trop longue d&#8217;une seconde (paramètre long_query_time) seront indiquées dans le fichier mysql-slow.log. Ainsi la consultation de ce fichier vous permet simplement de cibler précisément vos optimisations.</p>
<p>Une autre fonction Mysql est aussi pratique : la fonction EXPLAIN. Il suffit par exemple dans PhpMyAdmin de positionner EXPLAIN devant la requête SQL que vous voulez analyser. Celle-ci retourne un résultat expliquant exactement ce que fait Mysql concernant cette requête. Et notamment la colonne rows indique le nombre de ligne parcouru (celui-ci doit être le plus petit possible) et la colonne key indique les clefs utilisées (ci c&#8217;est NULL alors aucune clef est utilisée pour cette requête)</p>
<p><strong>Clef et index !</strong></p>
<p>Une erreur classique consiste à négliger les clefs et les index. Dans une requête Mysql, lorsque vous utilisez la condition WHERE, celle-ci pourra être extrêmement améliorée par l&#8217;utilisation d&#8217;un index dans la condition WHERE. Par exemple :<br />
<code>SELECT * FROM tutoriaux WHERE categorie=1</code></p>
<p>Dans cette requête ci-dessous, si la table tutoriaux contient 100 000 enregistrements, Mysql va passer les 100 000 enregistrements pour chercher les tutoriaux de catégorie 1 !! C&#8217;est du temps perdu. Il suffit de mettre catégorie en index pour que de 100 000 enregistrements examinés on passe à &#8230;1 !</p>
<p>Vous allez me dire, dans ce cas là, pourquoi ne pas mettre des index partout ? Il y a plusieurs raisons à cela : d&#8217;abord un index prend de la place mémoire dans la table Mysql et si vous avez trop d&#8217;index, cette place mémoire peut être plus importante que la place que prend les données. Ensuite lorsque vous faites une insertion dans la table, Mysql est obligé de mettre à jour tous les index, ce qui prend du temps aussi !</p>
<p>Vous devez donc calculer ce qui est le plus intéressant pour vous. Si la requête est exécutée très souvent, il sera intéressant de mettre des index sur les conditions WHERE MAIS si vous faites beaucoup d&#8217;insertions dans la table, il faudra limiter les index au strict necessaire et calculer au plus juste avec EXPLAIN le gain réalisé en mettant un index.</p>
<p><strong>Jointures et inclusions</strong></p>
<p>Il faut faire attention à ne pas utiliser des requêtes trop complexe. Et surtout faire attention aux jointures et aux inclusions. Voici un exemple de requête :</p>
<p><code>SELECT * FROM tutoriaux WHERE id_cat IN<br />
(SELECT id_cat FROM tutoriaux_categorie WHERE id_cat_mere=2)</code></p>
<p>Dans cette requête, nous recherchons des tutoriaux dont la catégorie appartient à la catégorie &#8220;mère&#8221; 2. Cette requête est très belle mais peut rapidement poser d&#8217;énormes problèmes de temps si elle n&#8217;est pas optimisée. Déjà, oublier un index sur id_cat par exemple ou encore oublier un index sur id_cat_mere surtout que cette dernière table sera plutôt fixe (nous ne rajoutons pas des catégories tous les jours) avec une table assez conséquente de plusieurs milliers d&#8217;enregistrements conduira à une requête s&#8217;exécutant très lentement&#8230;pouvant prendre plusieurs secondes !</p>
<p>Toutefois on peut faire une chose pour optimiser tout cela. Pourquoi ne pas mettre l&#8217;information id_cat_mere dans la table tutoriaux ? D&#8217;accord, c&#8217;est moins joli, c&#8217;est moins conceptuel et on devra faire plus de mise à jour si on change la table tutoriaux_categorie MAIS ALORS que de temps de gagner ! Puisqu&#8217;au final on arrive à ça</p>
<p><code>SELECT * FROM tutoriaux WHERE id_cat_mere=2</code></p>
<p>Avec un index sur id_cat_mere, la requête est exécutée immédiatement !</p>
<p>Concernant les jointures, c&#8217;est la même chose&#8230;Par exemple :</p>
<p><code>SELECT *,count(c.nb_com) as nb FROM tutoriaux t LEFT JOIN tutoriaux_commentaire c WHERE t.id=c.id_tutoriaux GROUP BY t.id</code></p>
<p>Ici cette requête recherche les tutoriaux avec une information supplémentaire : le nombre de commentaire sur chaque tutoriel. Comme les commentaires sont dans une autre table Mysql, une jointure est effectué permettant de récupérer le nombre d&#8217;enregistrements (donc de commentaires) concernant le tutorial. Si vous avez 10 000 tutoriaux et des centaines de milliers de commentaires, cette requête est totalement explosive (pour le serveur !)</p>
<p>Hors nous pouvons faire une chose très simple. Inclure dans la table tutoriaux un champ nb_commentaire. Alors bien sur chaque fois qu&#8217;un commentaire est ajouté, il faudra incrémenter le champ nb_commentaire mais au final que de temps gagné car la requête devient :</p>
<p><code>SELECT * FROM tutoriaux</code></p>
<p>Ce n&#8217;est pas plus simple ?</p>
<p><strong>C&#8217;est fini</strong></p>
<p>Voilà j&#8217;aurais encore beaucoup de choses à dire sur le sujet mais j&#8217;espère que pour mon premier tutorial sur le site j&#8217;aurais éveillé la curiosité de certains concernant l&#8217;organisation des données dans la base de données et l&#8217;optimisation des requêtes Mysql !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sos-dedie.com/2008/10/30/optimiser-mysql/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Postfix + courier avec Mysql</title>
		<link>http://www.sos-dedie.com/2008/10/30/postfix-courier-avec-mysql/</link>
		<comments>http://www.sos-dedie.com/2008/10/30/postfix-courier-avec-mysql/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 17:00:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Email]]></category>

		<category><![CDATA[courier]]></category>

		<category><![CDATA[Mysql]]></category>

		<category><![CDATA[postfix]]></category>

		<guid isPermaLink="false">http://www.sos-dedie.com/wordpress/?p=50</guid>
		<description><![CDATA[Installer et configurer Postfix et courrier avec l&#8217;authentification Mysql
Dans ce tutorial, nous allons procéder à l’installation de postfix et courier en utilisant des bases de données mysql pour les paramètres. Cette configuration n’est pas la meilleure pour la sécurité (au niveau mysql) mais elle est très souple pour l’ajout d’utilisateur ou d’adresse email.
Postfix est un [...]]]></description>
			<content:encoded><![CDATA[<p>Installer et configurer Postfix et courrier avec l&#8217;authentification Mysql</p>
<p>Dans ce tutorial, nous allons procéder à l’installation de postfix et courier en utilisant des bases de données mysql pour les paramètres. Cette configuration n’est pas la meilleure pour la sécurité (au niveau mysql) mais elle est très souple pour l’ajout d’utilisateur ou d’adresse email.<span id="more-50"></span></p>
<p>Postfix est un MTA, il permet en autre de récupérer le courrier envoyé à votre serveur (par exemple contact@votredomaine.com). Nous allons donc procéder ici à la configuration de Postfix afin qu&#8217;il gère le courrier reçu par le serveur. Courier est un client POP. Nous allons installer ce logiciel afin de lire notre courrier présent sur le serveur par un logiciel de type Outlook express, Eudora, &#8230;Les deux logiciels utiliseront des tables Mysql pour leur paramétres.</p>
<p>Nous allons travailler sur une debian woody mais à part l’installation, le reste ne change pas sur les autres systèmes.</p>
<h3><strong>Postfix</strong></h3>
<p>Pour installer Postfix, avec une debian :</p>
<pre>apt-get install postfix postfix-mysql</pre>
<p>La version installé de postfix :</p>
<pre>postconf mail_version</pre>
<p>Quelques différences existent entre la version 1 et 2 de Postfix alors regardez quelle version vous avez ou installez une version spécifique avec apt-get.</p>
<p>Si Postfix vous demande pour quelle utilisation vous voulez vous en servir, choisissez Internet site. Faites Entrée pour tout le reste.</p>
<p>Nous allons créer des boites aux lettres virtuelles. Il faut savoir que par défaut, postfix envoi le courrier sur les comptes unix. Etant donné que nous comptons héberger plusieurs domaines sur un serveur, il devient fastidieux et dangereux de créer de nouveaux utilisateurs unix.</p>
<p>Nous allons donc utiliser la fonction boite virtuelle de Postfix qui va créé automatiquement des répertoires contenant le courrier et divers paramètres. Il suffit juste de lui indiquer ou placer le courrier et aussi quelle boite aux lettres il doit gérer.</p>
<p>Après avoir installer Postfix, créer un compte unix vmail qui servira de base pour la réception de tous les courriers.</p>
<pre>groupadd -g 5000 vmail 

useradd -g vmail -u 5000 vmail -d /home/vmail –m</pre>
<h4>Les tables Mysql</h4>
<p>Nous allons créer des tables Mysql qui contiendront tous les paramétrages de Postfix et Courier concernant les boites aux lettres virtuelles.</p>
<p>Tout d’abord, nous pouvons créer une base de donnée « courrier ».</p>
<p>Ensuite seulement trois tables.</p>
<pre>CREATE TABLE `domaines` (
 `domaine` varchar(100) NOT NULL default '',
 UNIQUE KEY `domaine` (`domaine`)
) TYPE=MyISAM;</pre>
<p>Dans la table domaines, entrez vos domaines qui recevront du courrier, par exemple sos-dedie.com (pas de sous domaine)</p>
<pre>CREATE TABLE `forward` (
 `source` varchar(255) NOT NULL default '',
 `destination` varchar(255) NOT NULL default '',
 PRIMARY KEY  (`source`)
) TYPE=MyISAM;</pre>
<p>Dans forward, entrez tout vos forwards, par ex contact@sos-dedie.com vers webmaster@sos-dedie.om</p>
<pre>CREATE TABLE `compte` (
 `login` varchar(255) NOT NULL default '',
 `motdepasse` varchar(255) NOT NULL default '',
 `emplacement` varchar(255) NOT NULL default '',
 PRIMARY KEY  (`login`)
) TYPE=MyISAM;</pre>
<p>Enfin cette dernière table définie vos comptes. Le login est de la forme d&#8217;un email (par ex contact@sos-dedie.com), ensuite emplacement contient un chemin relatif au répertoire de base (normalement /home/vmail/) de type contact/ pour un format de boite aux lettres maildir</p>
<h4>Initialisation de Postfix &amp; mysql</h4>
<p>Allez dans le répertoire /etc/postfix/ editer le fichier main.cf qui contient la configuration de postfix.</p>
<pre>cd /etc/postfix/
pico main.cf</pre>
<p>Voici un exemple de fichier main.cf épuré de tout commentaire (Postfix 2)</p>
<pre>myhostname = votreserveur.com

myorigin = votredomaine.com

mydestination = $myhostname, localhost.$mydomain, localhost

mynetworks = 127.0.0.0/8

best_mx_transport=virtual

virtual_mailbox_domains = mysql:/etc/postfix/virtual_domaine.cf

virtual_maps = mysql:/etc/postfix/virtual_adresse.cf mysql:/etc/postfix/virtual_forward.cf

virtual_mailbox_base = /home/vmail

virtual_mailbox_maps = mysql:/etc/postfix/virtual_emplacement.cf

virtual_uid_maps = static:5000

virtual_gid_maps = static:5000</pre>
<p>Nous allons étudier ce fichier. Toute modification de ce fichier doit être confirmé en relançant postfix par la commande</p>
<pre>/etc/init.d/postfix reload</pre>
<h4>Paramètres généraux de Postfix</h4>
<p>Nous allons d&#8217;abord configurer les paramètres généraux :</p>
<p><ins>myhostname</ins> : Contient le nom de votre machine ou à défaut votre nom de domaine, à l&#8217;installation postfix a normalement configuré ce champ</p>
<p><ins>myorigin</ins> : Ce paramètre contient le nom de domaine qui apparaîtra dans tout courrier sortant de votre serveur. Dans le fichier d&#8217;exemple, ce paramètre contient la valeur $myhostname ce qui signifie que myorigin contiendra la valeur défini dans myhostname.</p>
<p><ins>mydestination</ins> : Définit le domaine par défaut de destination (qui reçoit donc le courrier). Normalement ce paramètre est à localhost (le courrier est reçu à la machine elle-même)</p>
<p><ins>best_mx_transport</ins> : Indique à Postfix de s’occuper d’abord du transport virtuel (gestion des boites aux lettres virtuelles)</p>
<h4>Problème du Chroot de Postfix</h4>
<p>Postfix s’execute en Chroot et pose un problème d’accès à la socket Mysql (qu’il cherche dans /etc/postfix). Pour contourner ce problème, on doit d’abord dire à Postfix de se connecter via l’adresse IP de notre serveur et non pas en local. Mais pour cela, nous devons encore dire à Mysql qu’il accepte les requêtes venant de l’extérieur. Voici une faille de sécurité.</p>
<pre>pico /etc/mysql/my.cnf</pre>
<p>Commentez la ligne skip-networking ou cherchez la ligne Bind_adress et permettez l’accès à votre serveur.</p>
<p>Redémarrez mysql.</p>
<pre>/etc/init.d/mysql restart</pre>
<p>Pour palier au problème de sécurité et dans le cas où le fichier de configuration de Mysql (my.cnf) ne contiennent pas la ligne Bind_adress, on doit simplement limiter par un firewall l’accès à Mysql à notre seule adresse de serveur.</p>
<h4>Paramètre pour les boites aux lettres virtuelles</h4>
<p><ins>virtual_mailbox_base</ins> : Répertoire de base où sont stockés les boites aux lettres et leur courrier.</p>
<p><ins>virtual_maps</ins> : Ce paramètre permet de définir toutes les adresses emails acceptés. Par exemple si vous voulez une adresse du genre contact@votredomaine.com il faut l&#8217;indiquer dans virtual_maps sinon celle-ci sera éjectée. De plus, vous pouvez faire du forwarding avec ce paramètre. Par exemple : webmaster@votredomaine.com vers contact@votredomaine.com. Pour indiquer toutes les adresses, nous allons utiliser la table user et forward.</p>
<p>Tout d&#8217;abord, nous devons créer des fichiers de configuration virtual_adresse.cf et virtual_forward.cf contenant la configuration pour l’accès de Postfix à mysql.</p>
<p><strong>ATTENTION !</strong> <em>Pour la version 1 de Postfix, pas besoin de virtual_maps mais de transport_maps dans lequel vous indiquez un fichier contenant la liste des domaines virtuels suivi de virtual. De plus rajoutez le paramètre relay_domains = mysql:/etc/postfix/virtual_domaine.cf</em></p>
<pre>pico virtual_adresse.cf</pre>
<p>Entrez les champs suivant par ligne</p>
<pre>user = login mysql

password = mot de passe mysql

dbname = courrier

table = compte

select_field = ‘virtual’

where_field = login

hosts = adresse IP de votre serveur</pre>
<p>Ce fichier sert donc à établir une connexion à mysql à la base de donnée dbname et à la table table. Voici la requête mysql que Postfix crée :</p>
<pre>select ‘virtual’ from compte where login = '$lookup'</pre>
<p>La variable $lookup contient l’adresse de destination qu’a reçu Postfix ou dans le cas général la valeur que veut vérifier postfix (nom de domaine, forward, …) Ici le champ de selection est ‘virtual’ car il s’agit simplement de vérifier si l’adresse email existe. Pour le fichier de forwarding (redirection d’une adresse vers une autre) voici le contenu du fichier virtual_forward.cf</p>
<pre>pico virtual_forward.cf</pre>
<p>Entrez les champs suivant par ligne</p>
<pre>user = login mysql

password = mot de passe mysql

dbname = courrier

table = forward

select_field = destination

where_field = source

hosts = adresse IP de votre serveur</pre>
<p>Maintenant que l&#8217;on a définit les adresses hébergées sur ce site, il faut tout de même dire où Postfix va stocker le courrier de chaque adresse. C&#8217;est le rôle de virtual_mailbox_maps. Ce paramètre contient le chemin d&#8217;un fichier nommée virtual_emplacement.cf. Ce fichier contient une liste composée des adresses email suivi d&#8217;un chemin (relatif à virtual_mailbox_base).</p>
<pre>pico virtual_emplacement.cf</pre>
<pre>user = login mysql

password = mot de passe mysql

dbname = courrier

table = compte

select_field = emplacement

where_field = login

hosts = adresse IP de votre serveur</pre>
<p>Nous organisons nos boites de cette façon. Un dossier &#8220;nom de domaine&#8221; contenant des sous-dossiers &#8220;boite aux lettres&#8221;. Attention au / à la fin du chemin qui indique que le format de la boite au lettre sera Maildir au lieu de Mailbox.</p>
<p>Enfin les derniers paramétres</p>
<pre>virtual_uid_maps = static:5000

virtual_gid_maps = static:5000</pre>
<p>Ces dernières valeurs permettent de spécifier sous quel compte postfix va écrire les messages. Nous avons créé exprès un compte vmail (5000). Donc nous indiquons cette valeur qui est valable pour toutes les adresses (d’où le prefixe static <img class="smiley" src="../../themes/default/smilies/smile.png" alt=":)" /></p>
<h4>Vérification</h4>
<p>Sauvegardez votre main.cf et faite un</p>
<pre>/etc/init.d/postfix reload</pre>
<p>Si aucun message d’erreur n’apparaît, vous pouvez faire un petit contrôle avec un telnet.</p>
<p>Par exemple : telnet localhost 25 ou depuis l&#8217;extérieur telnet www.votredomaine.com 25</p>
<p>Si vous n&#8217;arrivez pas à vous connecter, regardez le fichier <code>tail /var/log/syslog</code></p>
<pre>telnet www.votredomaine.com 25</pre>
<p>220 myserver ESMTP Postfix (Debian/GNU)</p>
<pre>ehlo coucou.com</pre>
<p>250-mailtest 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250 XVERP 250 8BITMIME</p>
<pre>mail from:&lt;test@coucou.com&gt;</pre>
<p>250 Ok</p>
<pre>rcpt to:&lt;contact@votredomaine.com&gt;</pre>
<p>250 Ok</p>
<pre>data</pre>
<p>354 End data with &lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;&lt;/LF&gt;&lt;/CR&gt;&lt;/LF&gt;&lt;/CR&gt;</p>
<pre>blablabla...
.</pre>
<p>250 Ok: queued as ABC1D1C123</p>
<pre>quit</pre>
<p>221 BYE</p>
<h4>Les erreurs possibles</h4>
<p>Une erreur peut se produire après la commande rcpt to: Le problème peut être souvent du à plusieurs facteurs :</p>
<ol>
<li>l&#8217;adresse email du destinataire n&#8217;est pas reconnue, dans ce cas un problème peut se situer dans virtual_adresse</li>
<li>Postfix ne trouve pas le répertoire de destination, cette fois-ci c&#8217;est virtual_emplacement qui peut avoir un problème</li>
</ol>
<p>Pour en savoir plus, n&#8217;hésitez pas à consulter /etc/var/mail.log ou /etc/var/syslog</p>
<h3><strong>Courier</strong></h3>
<p>L&#8217;installation de courier est assez simple, la partie la plus difficile se situe dans la connexion et l&#8217;indentification de votre logiciel de messagerie (outlook par exemple) à votre serveur.</p>
<pre>apt-get install courier-pop courier-authdaemon  courier-authmysql courier-debug</pre>
<p>Nous allons faire l&#8217;identification des clients se connectant au serveur de courrier pour relever leur email. Nous avons déjà les tables Mysql, il reste à indiquer à Courier qu’il doit se servir de ces tables.</p>
<h4>Configuration de base</h4>
<pre>cd /etc/courier</pre>
<p>Editer le fichier pop3d, décommenter la ligne</p>
<pre>pico pop3d</pre>
<pre>POP3AUTH="LOGIN CRAM-MD5 CRAM-SHA1"</pre>
<p>Commentez la ligne</p>
<pre>#POP3AUTH=""</pre>
<p>Editer ensuite le fichier authdaemonrc</p>
<pre>pico authdaemonrc</pre>
<p>Mettez le paramètre</p>
<pre>authmodulelist="authmysql"</pre>
<p>Ce dernier permet de dire à Courier que l&#8217;authentification des utilisateurs se fait avec Mysql. Nous allons maintenant indiquer à Courier comment se connecter à Mysql et quelle base utiliser.</p>
<pre>pico authmysqlrc</pre>
<pre>MYSQL_SERVER            localhost
MYSQL_USERNAME          login mysql
MYSQL_PASSWORD          mot de passe mysql
MYSQL_DATABASE          courrier
MYSQL_USER_TABLE        compte</pre>
<p>Commentez la ligne</p>
<pre>MYSQL_CRYPT_PWFIELD    crypt</pre>
<p>Et décommentez</p>
<pre>MYSQL_CLEAR_PWFIELD     motdepasse</pre>
<p>Ensuite entrez les valeurs</p>
<pre>MYSQL_UID_FIELD         5000

MYSQL_GID_FIELD         5000

MYSQL_LOGIN_FIELD       login

MYSQL_HOME_FIELD        "/home/vmail/"</pre>
<p>Décommentez la ligne suivante (ou ajoutez là si elle est absente)</p>
<pre>MYSQL_MAILDIR_FIELD     emplacement</pre>
<p>Commentez la ligne</p>
<pre>MYSQL_NAME_FIELD		name</pre>
<p>Redémarrez les démons</p>
<pre>/etc/init.d/courier-pop restart
/etc/init.d/courier-authdaemon restart</pre>
<h4>Vérification</h4>
<p>Pour vérifier le fonctionnement de l&#8217;authentification, on utilise l&#8217;outil courierauthtest</p>
<pre>courierauthtest contact@votredomaine.com motdepasse</pre>
<p>Réponse du prompt</p>
<pre>Authenticated: module authdaemon

Home directory: /home/vmail

UID/GID: 5000/5000

Maildir: votredomaine.com/contact/

AUTHADDR=contact@votredomaine.com

AUTHFULLNAME=&lt;none&gt;</pre>
<p>Maintenant vérifions la connexion pop au serveur</p>
<pre>telnet www.votredomaine.com 110</pre>
<p>+OK Hello there.</p>
<pre>USER contact@votredomaine.com</pre>
<p>+OK Password required.</p>
<pre>PASS motdepasse</pre>
<p>+OK logged in.</p>
<pre>STAT</pre>
<p>+OK 4 14434</p>
<pre>TOP 1 5</pre>
<p>+OK headers follow.</p>
<pre>Return-Path: &lt;test@coucou.com&gt;

Delivered-To: contact@votredomaine.com

....

.

QUIT</pre>
<p>+OK Bye-bye.</p>
<h4>Les erreurs possibles</h4>
<p>Le plus souvent les erreurs se situe dans l&#8217;authentification (le paramétrage de courier est simple). Il faut donc faire marcher l&#8217;authentification mysql en testant avec courierauthtest. Les problèmes sont dû généralement à de mauvaise indication de champ dans le fichier de connection Mysql. Vérifiez bien que vous avez décommenté les lignes ou commentez celles indiquées.</p>
<p>Ensuite vérifier dans les logs ce qu&#8217;il se passe s&#8217;il y a des problèmes avec le telnet. Une erreur de type</p>
<pre>-ERR Maildir: No such file or directory</pre>
<p>est classique d&#8217;une mauvaise authentification ou d&#8217;un mauvais paramétrage dans l&#8217;authentification (mauvais chemin ,etc&#8230;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sos-dedie.com/2008/10/30/postfix-courier-avec-mysql/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Serveur de courrier Postfix + Courier Authentification userdb</title>
		<link>http://www.sos-dedie.com/2008/10/30/serveur-de-courrier-postfix-courier-authentification-userdb/</link>
		<comments>http://www.sos-dedie.com/2008/10/30/serveur-de-courrier-postfix-courier-authentification-userdb/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 16:57:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Email]]></category>

		<category><![CDATA[courier]]></category>

		<category><![CDATA[postfix]]></category>

		<guid isPermaLink="false">http://www.sos-dedie.com/wordpress/?p=48</guid>
		<description><![CDATA[Installer et configurer Postifx et Courier (pop) pour son serveur avec authentification simple
Postfix est un MTA, il permet en autre de récupérer le courrier envoyé à votre serveur (par exemple contact@votredomaine.com). Nous allons donc procéder ici à la configuration de Postfix afin qu&#8217;il gère le courrier reçu par le serveur. Courier est un client POP. [...]]]></description>
			<content:encoded><![CDATA[<p>Installer et configurer Postifx et Courier (pop) pour son serveur avec authentification simple</p>
<p>Postfix est un MTA, il permet en autre de récupérer le courrier envoyé à votre serveur (par exemple contact@votredomaine.com). Nous allons donc procéder ici à la configuration de Postfix afin qu&#8217;il gère le courrier reçu par le serveur. Courier est un client POP. Nous allons installer ce logiciel afin de lire notre courrier présent sur le serveur par un logiciel de type Outlook express, Eudora, &#8230;<span id="more-48"></span></p>
<p>Ce tutorial a pour but de faire les choses simplement ! Nous allons travailler sur une debian woody. Nous nous passerons donc de toute complication parceque c&#8217;est déjà assez complexe&#8230;</p>
<h3><strong>Postfix</strong></h3>
<p>Pour installer Postfix, avec une debian :</p>
<pre>apt-get install postfix</pre>
<p>La version installé de postfix :</p>
<pre>postconf mail_version</pre>
<p>Quelques différences existent entre la version 1 et 2 de Postfix alors regardez quelle version vous avez ou installez une version spécifique avec apt-get.</p>
<p>Si Postfix vous demande pour quelle utilisation vous voulez vous en servir, choisissez Internet site. Faites Entrée pour tout le reste.</p>
<p>Nous allons créer des boites aux lettres virtuelles. Il faut savoir que par défaut, postfix envoi le courrier sur les comptes unix. Etant donné que nous comptons héberger plusieurs domaines sur un serveur, il devient fastidieux et dangereux de créer de nouveaux utilisateurs unix.</p>
<p>Nous allons donc utiliser la fonction boite virtuelle de Postfix qui va créé automatiquement des répertoires contenant le courrier et divers paramètres. Il suffit juste de lui indiquer ou placer le courrier et aussi quelle boite aux lettres il doit gérer.</p>
<p>Après avoir installer Postfix, créer un compte unix vmail qui servira de base pour la réception de tous les courriers.</p>
<pre>groupadd -g 5000 vmail 

useradd -g vmail -u 5000 vmail -d /home/vmail -m</pre>
<p>Allez dans le répertoire /etc/postfix/ editer le fichier main.cf qui contient la configuration de postfix.</p>
<pre>cd /etc/postfix/

pico main.cf</pre>
<p>Voici un exemple de fichier main.cf épuré de tout commentaire (Postfix 2)</p>
<pre>myhostname = votreserveur.com

myorigin = votredomaine.com

mydestination = $myhostname, localhost.$mydomain, localhost

mynetworks = 127.0.0.0/8

virtual_mailbox_domains = votredomaine1.com votredomaine2.com

virtual_maps = hash:/etc/postfix/virtual_adresse

virtual_mailbox_base = /home/vmail

virtual_mailbox_maps = hash:/etc/postfix/virtual_emplacement

virtual_uid_maps = static:5000

virtual_gid_maps = static:5000</pre>
<p>Nous allons étudier ce fichier. Toute modification de ce fichier doit être confirmé en relançant postfix par la commande</p>
<pre>/etc/init.d/postfix reload</pre>
<h4>Paramétre généraux</h4>
<p>Nous allons d&#8217;abord configurer les paramètres généraux :</p>
<p><ins>myhostname</ins> : Contient le nom de votre machine ou à défaut votre nom de domaine, à l&#8217;installation postfix a normalement configuré ce champ</p>
<p><ins>myorigin</ins> : Ce paramètre contient le nom de domaine qui apparaîtra dans tout courrier sortant de votre serveur. Dans le fichier d&#8217;exemple, ce paramètre contient la valeur $myhostname ce qui signifie que myorigin contiendra la valeur défini dans myhostname.</p>
<p><ins>mydestination</ins> : Définit le domaine par défaut de destination (qui reçoit donc le courrier). Normalement ce paramètre est à localhost (le courrier est reçu à la machine elle-même)</p>
<h4>Paramètre pour les boites aux lettres virtuelles</h4>
<p><ins>virtual_mailbox_base</ins> : Répertoire de base où sont stockés les boites aux lettres et leur courrier.</p>
<p><ins>virtual_maps</ins> : Ce paramètre permet de définir toutes les adresses emails acceptés. Par exemple si vous voulez une adresse du genre contact@votredomaine.com il faut l&#8217;indiquer dans virtual_maps sinon celle-ci sera éjecté. De plus, vous pouvez faire du forwarding avec ce paramètre. Par exemple : webmaster@votredomaine.com vers contact@votredomaine.com. Comme la liste peut être grande, postfix utilise un fichier sous forme de base de donnée. Tout d&#8217;abord, vous devez ecrire un fichier texte nommée virtual_adresse</p>
<p><strong>ATTENTION !</strong> <em>Pour la version 1 de Postfix, pas besoin de virtual_maps mais de transport_maps dans lequel vous indiquez un fichier contenant la liste des domaines virtuels suivi de virtual. De plus rajoutez le paramétres relay_domains = votredomaine.com votredomaine2.com</em></p>
<pre>pico virtual_adresse</pre>
<p>Entrez vos adresses de boites virtuelles et/ou forwarding</p>
<pre>contact@votredomaine.com contact@votredomaine.com

contact@votredomaine2.com contact@votredomaine2.com

webmaster@votredomaine.com contact@votredomaine.com</pre>
<p>Une fois enregistré, vous devez transformer ce fichier en base de donnée en faisant</p>
<pre>postmap virtual_adresse</pre>
<p>Cela vous créé un nouveau fichier qui sera utilisé par Postfix. La commande hash: indique à Postfix le format du fichier à lire.</p>
<p>Maintenant que l&#8217;on a définit les adresses hébergées sur ce site, il faut tout de même dire où Postfix va stocker le courrier de chaque adresse. C&#8217;est le rôle de virtual_mailbox_maps. Ce paramètre contient le chemin d&#8217;un fichier nommée virtual_emplacement. Ce fichier contient une liste composée des adresses email suivi d&#8217;un chemin (relatif à virtual_mailbox_base).</p>
<pre>pico virtual_emplacement</pre>
<pre>contact@votredomaine.com votredomaine.com/contact/

contact@votredomaine2.com votredomaine2.com/contact/</pre>
<pre>postmap virtual_emplacement</pre>
<p>Nous organisons nos boites de cette façon. Un dossier &#8220;nom de domaine&#8221; contenant des sous-dossiers &#8220;boite aux lettres&#8221;. Attention au / à la fin du chemin qui indique que le format de la boite au lettre sera Maildir au lieu de Mailbox.</p>
<p>N&#8217;oubliez pas de faire postmap virtual_emplacement</p>
<p>Enfin les derniers paramétres</p>
<pre>virtual_uid_maps = static:5000

virtual_gid_maps = static:5000</pre>
<p>Ces dernières valeurs permettent de spécifier sous quel compte postfix va écrire les messages. Nous avons créé exprès un compte vmail (5000). Donc nous indiquons cette valeur qui est valable pour toute les adresses (d&#8217;où le prefixe static:)</p>
<h4>Vérification</h4>
<p>Sauvegardez votre main.cf et faite un</p>
<pre>/etc/init.d/postfix reload</pre>
<p>Si aucun message d&#8217;erreur apparaît, vous pouvez faire un petit contrôle avec un telnet.</p>
<p>Par exemple : telnet localhost 25 ou depuis l&#8217;extérieur telnet www.votredomaine.com 25</p>
<p>Si vous n&#8217;arrivez pas à vous connecter, regardez le fichier <code>tail /var/log/syslog</code></p>
<pre>telnet www.votredomaine.com 25</pre>
<p>220 myserver ESMTP Postfix (Debian/GNU)</p>
<pre>ehlo coucou.com</pre>
<p>250-mailtest 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250 XVERP 250 8BITMIME</p>
<pre>mail from:&lt;test@coucou.com&gt;</pre>
<p>250 Ok</p>
<pre>rcpt to:&lt;contact@votredomaine.com&gt;</pre>
<p>250 Ok</p>
<pre>data</pre>
<p>354 End data with &lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;&lt;/LF&gt;&lt;/CR&gt;&lt;/LF&gt;&lt;/CR&gt;</p>
<pre>blablabla...
.</pre>
<p>250 Ok: queued as ABC1D1C123</p>
<pre>quit</pre>
<p>221 BYE</p>
<h4>Les erreurs possibles</h4>
<p>Une erreur peut se produire après la commande rcpt to: Le problème peut être souvent du à plusieurs facteurs :</p>
<ol>
<li>l&#8217;adresse email du destinataire n&#8217;est pas reconnue, dans ce cas un problème peut se situer dans virtual_adresse</li>
<li>Postfix ne trouve pas le répertoire de destination, cette fois-ci c&#8217;est virtual_emplacement qui peut avoir un problème</li>
</ol>
<p>Pour en savoir plus, n&#8217;hésitez pas à consulter /etc/var/mail.log ou /etc/var/syslog</p>
<h3><strong>Courier</strong></h3>
<p>L&#8217;installation de courier est assez simple, la partie la plus difficile se situe dans la connexion et l&#8217;indentification de votre logiciel de messagerie (outlook par exemple) à votre serveur.</p>
<pre>apt-get install courier-pop courier-authdaemon courier-debug</pre>
<p>Nous allons faire l&#8217;identification des clients se connectant au serveur de courrier pour relever leur email par l&#8217;authentification userdb mais d&#8217;abord configurons un peu courier</p>
<h4>Configuration de base</h4>
<pre>cd /etc/courier</pre>
<p>Editer le fichier pop3d, décommenter la ligne</p>
<pre>vi pop3d</pre>
<pre>POP3AUTH="LOGIN CRAM-MD5 CRAM-SHA1"</pre>
<p>Commentez la ligne</p>
<pre>#POP3AUTH=""</pre>
<p>Editer ensuite le fichier authdaemonrc</p>
<pre>vi authdaemonrc</pre>
<p>Mettez le paramètre</p>
<pre>authmodulelist="authuserdb"</pre>
<p>Ce dernier permet de dire à Courier que l&#8217;authentification des utilisateurs se fait avec userdb. Normalement il n&#8217;y a rien d&#8217;autre à faire.</p>
<p>Redémarrez les démons</p>
<pre>/etc/init.d/courier-pop restart

/etc/init.d/courier-authdaemon restart</pre>
<h4>Créez une liste d&#8217;utilisateur</h4>
<p>Vous n&#8217;allez pas autoriser tout le monde à relever le courrier sur votre serveur. Pour cela vous devez indiquer une liste d&#8217;utilisateur avec leur mot de passe. Nous allons utiliser userdb qui est livré en standard et laisse moins de faille de sécurité que mysql par exemple.</p>
<p>Allez dans /etc/courier</p>
<pre>cd /etc/courier</pre>
<p>Créez le répertoire userdb, pour une raison de sécurité faite un chmod 0 userdb (empeche quelqu&#8217;un de lire le contenu)</p>
<pre>mkdir userdb

chmod 0 userdb</pre>
<p>Nous allons construire maintenant notre liste d&#8217;utilisateur. Nous allons créer dans le répertoire userdb autant de fichier que de domaine hébergé sur le serveur. Ces fichiers vont contenir les informations nécessaires.</p>
<p>La commande userdb permet la création de ces fichiers facilement. Disons que vous voulez créer l&#8217;utilisateur contact@votredomaine.com, voici la commande à entrer</p>
<pre>userdb votredomaine.com/contact@votredomaine.com
set mail=/home/vmail/votredomaine.com/contact
home=/home/vmail/votredomaine.com/contact
uid=5000 gid=5000</pre>
<p>Explication de la commande, on créer l&#8217;entrée contact@votredomaine.com dans le fichier votredomaine.com avec les paramètres mail et home qui contiennent l&#8217;adresse du courrier de cet utilisateur (voir postfix) et le repertoire de base de cet utilisateur. Ensuite pour cette entrée nous créons un mot de passe cryptée en md5. (le mot de passe est cryptée car nous avons défini dans pop3d d&#8217;authentifier une connexion avec un mot de passe cryptée)</p>
<pre>userdbpw -md5 | userdb votredomaine.com/contact@votredomaine.com set systempw</pre>
<p>Le prompt vous demande un mot de passe et une confirmation</p>
<p>Si tout c&#8217;est bien passé, un fichier votredomaine.com a été créé dans userdb contenant toute les informations nécessaires.</p>
<p>Si vous avez fini, transformez les fichiers textes en base de donnée par</p>
<pre>makeuserdb</pre>
<p>Maintenant nous allons tester le fonctionnement du pop</p>
<h4>Vérification</h4>
<p>Pour vérifier le fonctionnement de l&#8217;authentification, on utilise l&#8217;outil courierauthtest</p>
<pre>courierauthtest contact@votredomaine.com motdepasse</pre>
<p>Réponse du prompt</p>
<pre>Authenticated: module authdaemon

Home directory: /home/vmail/votredomaine.com/contact

UID/GID: 5000/5000

Maildir: /home/vmail/votredomaine.com/contact

AUTHADDR=contact@votredomaine.com

AUTHFULLNAME=&lt;none&gt;</pre>
<p>Maintenant vérifions la connexion pop au serveur</p>
<pre>telnet www.votredomaine.com 110</pre>
<p>+OK Hello there.</p>
<pre>USER contact@votredomaine.com</pre>
<p>+OK Password required.</p>
<pre>PASS motdepasse</pre>
<p>+OK logged in.</p>
<pre>STAT</pre>
<p>+OK 4 14434</p>
<pre>TOP 1 5</pre>
<p>+OK headers follow.</p>
<pre>Return-Path: &lt;test@coucou.com&gt;
Delivered-To: contact@votredomaine.com
....
QUIT</pre>
<p>+OK Bye-bye.</p>
<h4>Les erreurs possibles</h4>
<p>Le plus souvent les erreurs se situe dans l&#8217;authentification (le paramétrage de courier est simple). Il faut donc faire marcher l&#8217;authentification userdb en testant avec courierauthtest. Ensuite vérifier dans les logs ce qu&#8217;il se passe s&#8217;il y a des problèmes avec le telnet. Une erreur de type</p>
<pre>-ERR Maildir: No such file or directory</pre>
<p>est classique d&#8217;une mauvaise authentification ou d&#8217;un mauvais paramétrage dans l&#8217;authentification (mauvais chemin ,etc&#8230;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sos-dedie.com/2008/10/30/serveur-de-courrier-postfix-courier-authentification-userdb/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sécuriser une connection SSH</title>
		<link>http://www.sos-dedie.com/2008/10/30/securiser-une-connection-ssh/</link>
		<comments>http://www.sos-dedie.com/2008/10/30/securiser-une-connection-ssh/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 16:52:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Gestion]]></category>

		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.sos-dedie.com/wordpress/?p=44</guid>
		<description><![CDATA[Apprendre à sécuriser un peu plus son système.
Notre but ici est de sécuriser un peu plus la connexion SSH. Par défaut, généralement l&#8217;authentification avec une connexion SSH est la méthode simple d’identification unix avec un simple mot de passe (authentification PAM), ce qui fait qu’une attaque massive par mot de passe nous laisse sans défense. [...]]]></description>
			<content:encoded><![CDATA[<p>Apprendre à sécuriser un peu plus son système.</p>
<p>Notre but ici est de sécuriser un peu plus la connexion SSH. Par défaut, généralement l&#8217;authentification avec une connexion SSH est la méthode simple d’identification unix avec un simple mot de passe (authentification PAM), ce qui fait qu’une attaque massive par mot de passe nous laisse sans défense. Nous allons accentuer la sécurité pour que nous seul puissions accéder à notre serveur par SSH.<span id="more-44"></span></p>
<h3>Configuration</h3>
<p>Allez sur la page WEB de putty pour y télécharger puttygen</p>
<pre>http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html</pre>
<p>Nous allons créer des clefs cryptées, une de ces clefs va se trouver sur votre ordinateur local et l’autre sur le serveur. Les clefs fonctionnent toujours par paire (donc une seule est inutile)</p>
<p>Lancez Puttygen et sélectionnez en bas SSH 2 RSA, cliquez sur le bouton GENERATE et bougez la souris pour générer la clef (cela permet un plus grand hasard), une fois la clef générée, entrez un mot de passe pour Key passphrase et confirmé ce mot de passe. Vous pouvez même entrer une phrase entière qui vous servira de mot de passe.</p>
<p>Pour finir cliquez sur Save private key pour sauvegarder votre clef sur votre ordinateur local.</p>
<p>On va positionner la clef publique sur le serveur</p>
<p>Connectez-vous avec SSH sur votre serveur. Normalement vous êtes logué sous votre compte (généralement root). Créez un répertoire .ssh</p>
<pre>mkdir .ssh
cd .ssh</pre>
<p>Ensuite copier la clef publique depuis puttygen et retournez sur votre connections ssh et entrez la commande suivi de la clef publique</p>
<pre>echo &gt;&gt;authorized_keys ici collez votre clef publique</pre>
<p>Appuyez ensuite sur Entrée ou Control + D</p>
<p>Voilà, le fichier que nous avons créé est lu par défaut par le démon SSH. Celui-ci regarde dans le répertoire de l’utilisateur (ici root) s’il existe un dossier .ssh et ensuite un fichier authorized_keys.</p>
<p><img style="margin: 0pt auto; display: block;" longdesc="Puttygen permet de générer des clefs privés et publiques" src="http://www.sos-dedie.com/im/puttygen.png" alt="Puttygen" /></p>
<h3>Connexion avec Putty</h3>
<p>Maintenant il faut dire à Putty que nous allons utiliser un protocole d’identification par clef. Pour cela rien de plus simple, Il suffit de changer dans l’onglet Connection, SSH et Auth le champ private key file for Authentication. Là on indique le fichier que nous avons sauvegardé par avance.</p>
<p>Maintenant si vous ouvrez la connexion, Putty s’identifie avec la clef, étant donné que vous avez la clef privée qui correspond à la clef publique sur le serveur, le serveur va alors vous demander la Passphrase (montrant que personne n’a volé votre clef privée). Une fois la passphrase saisie vous êtes connecté.</p>
<h3>Restreindre les accès</h3>
<p>Nous avons bien configuré un accès par clef mais pour autant, nous n’avons pas encore interdit l’accès par l’authentification classique. Pour cela, nous devons éditer le fichier de configuration de ssh</p>
<pre>cd /etc/ssh

vi sshd_config</pre>
<p>Dans ce fichier se trouvent plusieurs paramètres qui nous intéressent.</p>
<pre>RSAAuthentication yes</pre>
<p>Cette ligne indique que nous pouvons faire une authentification par la méthode RSA.</p>
<pre>PubkeyAuthentication yes</pre>
<p>Celui-ci est le protocole qui nous intéresse, il doit donc être à yes pour que l’authentification par clef fonctionne.</p>
<pre>PasswordAuthentication no</pre>
<p>Indique si on utilise l’authentification par mot de passe pour l’utilisateur qui se connecte (mot de passe unix), pour nous cela sera non.</p>
<pre>UsePAM no</pre>
<p>Ici on indique si l’on doit utiliser le module PAM unix pour se connecter. Nous allons le désactiver car ils nous intéressent plus</p>
<p>On redemarre le tout par une commande</p>
<pre>/etc/init.d/ssh start</pre>
<p>Ou</p>
<pre>sshd</pre>
<p>Voilà j’espère que ce tutorial vous aura aidé un peu. N’oubliez pas pendant ces manœuvres de garder une connexion ouverte sinon vous ne pourriez plus accéder à votre serveur si c’est votre seul moyen !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sos-dedie.com/2008/10/30/securiser-une-connection-ssh/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Serveur dédié, le deuxième pas.</title>
		<link>http://www.sos-dedie.com/2008/10/30/serveur-dedie-le-deuxieme-pas/</link>
		<comments>http://www.sos-dedie.com/2008/10/30/serveur-dedie-le-deuxieme-pas/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 16:45:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Gestion]]></category>

		<category><![CDATA[Système]]></category>

		<guid isPermaLink="false">http://www.sos-dedie.com/wordpress/?p=40</guid>
		<description><![CDATA[Apprendre la base pour utiliser son serveur dédié sur Linux
Ce tutorial vient compléter son confrère « Serveur dédié les premiers pas « . Il reste en effet encore quelques commandes essentielles à découvrir sur votre système Linux. Ces commandes sont identiques quelque soit les versions que vous avez installer (Fedora, debian, mandrake,…)
Linux et les tâches.
Linux est multi [...]]]></description>
			<content:encoded><![CDATA[<p>Apprendre la base pour utiliser son serveur dédié sur Linux</p>
<p>Ce tutorial vient compléter son confrère « Serveur dédié les premiers pas « . Il reste en effet encore quelques commandes essentielles à découvrir sur votre système Linux. Ces commandes sont identiques quelque soit les versions que vous avez installer (Fedora, debian, mandrake,…)<span id="more-40"></span></p>
<h3>Linux et les tâches.</h3>
<p>Linux est multi tâches et doit sa réputation à cette fonctionnalité. En effet, le vrai multi tâche sur son concurrent Windows est arrivé bien tard. Même si cette fonctionnalité n’est pas nécessaire pour lancer des daemons sur Linux (Service sur Windows), il s’avère que la base de Linux, soit Unix est conçu de telle manière que le multi processus coule de source sur ce système.</p>
<p>Lorsque vous accédez à votre serveur dédié, une multitude de tâches fonctionnent en arrière plan. Pour savoir exactement ce qu’il se passe sur votre serveur vous pouvez utiliser la commande suivante</p>
<pre>top</pre>
<p>A ce moment là, une liste de processus s’affiche sur votre écran. Cette liste est mise à jour régulièrement (toutes les 10 secondes normalement). Chaque processus est identifié par un numéro (PID) qui est le premier champ de la liste ainsi que la commande qui l’a lancée (le dernier champ de la liste).</p>
<p>En haut de la liste s’affiche aussi des informations importantes, comme le temps depuis lequel l’ordinateur fonctionne (après la mention up), le nombre d’utilisateur,…Mais surtout des informations essentielles comme la mémoire physique totale (mention Mem) suivi du montant utilisé et du montant libre. Ne vous inquiétez pas si le montant libre est très petit, le système se sert d’un cache qui occupe de la place en mémoire physique. Le cache est indiqué avant la mention cached.</p>
<p>Vous devez regarder plutôt le Swap qui indique la taille totale du fichier Swap (une partition normalement sur linux), la partie used et free indique respectivement la taille utilisé et libre. Le Swap est un bon indicateur de grandeur de la mémoire demandé par le système.</p>
<p>La commande top vous indique aussi le pourcentage du CPU utilisé, toutes ces informations regroupées vous donne une bonne idée de la charge de votre serveur dédié.</p>
<p>Vous pouvez tuer un processus avec la commande</p>
<pre>kill pid</pre>
<p>Où pid est le numéro de processus. Si ce processus est parent d’autres processus, ses fils seront tués. Par exemple, Apache lance plusieurs processus fils pour répondre à la demande des visiteurs. Pour tuer Apache, vous devez éliminer le processus père. Une commande permet de connaître tous les processus fils et père</p>
<pre>pstree –p</pre>
<h3>Editeur de texte Vi</h3>
<p><span style="color: #993300;">On préferera en 2008 utiliser l&#8217;éditeur de texte PICO</span></p>
<p>L’éditeur de texte vi est présent sur tous les systèmes linux et unix. C’est un éditeur de base qui vous conviendra pour des petites modifications sur les fichiers textes. Toutefois cet éditeur plutôt barbare ne conviendra pas pour éditer des textes long et fastidieux.</p>
<p>On ouvre ou on créé un fichier dans le répertoire local avec la commande</p>
<pre>vi nomdefichier</pre>
<p>Une fois entré dans l’éditeur vous êtes dans le mode de commande. Vous avez deux modes principaux, le mode insertion et le mode de commande. En mode de commande, le clavier est utilisé pour entrer des commandes. En mode insertion, le clavier est utilisé pour insérer du texte.</p>
<p>Tapez i pour entrer en mode insertion et ESC pour sortir du mode insertion et revenir en mode de commande.</p>
<p>Utilisez la touche DEL pour effacer des caractères.</p>
<p>Voici quelques commandes utiles avec vi.</p>
<pre>:wq</pre>
<p>Sauve le fichier courant et sort de vi</p>
<pre>:q!</pre>
<p>Sort de vi sans sauvegarder le fichier courant.</p>
<pre>dd</pre>
<p>Efface une ligne.</p>
<pre>ny</pre>
<p>Où n est un nombre, copie n lignes dans le buffer</p>
<pre>pp</pre>
<p>Colle le buffer à partir de la position actuelle</p>
<h3>Quelques mots sur Apache</h3>
<p>Enfin vous serez amené à relancer Apache parfois. Pour relancer Apache de manière plus transparente pour vos visiteurs, vous pouvez utiliser la commande suivante :</p>
<pre>apachectl graceful</pre>
<p>Cette commande a l’avantage de relancer Apache sans tuer tous les processus ce qui provoquerait une jolie erreur pour vos visiteurs. Au contraire elle attend que les processus soient finis pour les relancer avec les nouveaux paramètres (fichier httpd.conf)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sos-dedie.com/2008/10/30/serveur-dedie-le-deuxieme-pas/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Serveur dédié, les premiers pas.</title>
		<link>http://www.sos-dedie.com/2008/10/30/serveur-dedie-les-premiers-pas/</link>
		<comments>http://www.sos-dedie.com/2008/10/30/serveur-dedie-les-premiers-pas/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 16:41:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Gestion]]></category>

		<category><![CDATA[Système]]></category>

		<guid isPermaLink="false">http://www.sos-dedie.com/wordpress/?p=37</guid>
		<description><![CDATA[Apprendre la base pour utiliser son serveur dédié sur Linux
Vous avez acheté un serveur dédié et vous êtes un peu déboussolé. D’abord le système ne vous est pas familier (il s’agit de linux le plus souvent) mais de plus vous n’avez plus l’âge (ou l’avez jamais eu) de jouer avec des lignes de commandes ! Et [...]]]></description>
			<content:encoded><![CDATA[<p>Apprendre la base pour utiliser son serveur dédié sur Linux</p>
<p>Vous avez acheté un serveur dédié et vous êtes un peu déboussolé. D’abord le système ne vous est pas familier (il s’agit de linux le plus souvent) mais de plus vous n’avez plus l’âge (ou l’avez jamais eu) de jouer avec des lignes de commandes ! Et bien pourtant…Si vous voulez vous passer de Webmin ou autre logiciel de gestion en ligne, il faudra passer par ce bon vieux clavier, exit la souris.<span id="more-37"></span></p>
<h3>Configurer votre accès SSH</h3>
<p>Pour accéder à votre serveur, on vous a fourni généralement des identifiants SSH. Sur Windows on pourra utiliser PUTTY qui est extrêmement simple. En effet, il suffit de lancer ce petit logiciel. D’y rentrer son IP dans le champ Host Name, de choisir le protocole SSH et de cliquer sur Open. Là s’ouvre une fenêtre de connexion vous demandant votre login et votre mot de passe.</p>
<p>Généralement et à partir de là vous êtes connecté à votre serveur dans le répertoire root.</p>
<h3>Le système Linux.</h3>
<p>Linux est un système multitâche ayant acquis sa popularité auprès des entreprises et des étudiants mais aussi en tant que serveur à cause de sa légendaire stabilité. Comme tout système, Linux a ses nombreuses failles mais issu d’un environnement Unix, il s’agit du plus simple et robuste système que l’on peut avoir pour un serveur hormis quelques autres systèmes particuliers mais peu répandu.</p>
<p>Il existe plusieurs distributions de Linux, Personnellement j’ai choisi la Debian Woody. Le système Débian est parfait pour le débutant car l’installation des logiciels par paquet est moins déroutante que le fameux makefile (compilation) des autres distributions (même s’il existe des paquetages, celui de Débian est le plus abouti).</p>
<h3>Quelques notions sur le système</h3>
<p>Il y a quelques fondamentaux à savoir sur Linux. Tout d’abord comme tout système Unix, celui-ci comporte un utilisateur « maître » et plusieurs autres utilisateurs. Chaque utilisateur a son répertoire personnel et des droits quant à l’utilisation des fichiers présents sur le système. Les droits existent sur tout fichier du système (et dans ce système tout est fichier). Un utilisateur peut par exemple ne pas avoir le droit de voir tout le système, il peut voir par exemple que son répertoire. Toutefois il peut avoir accès à l’utilisation à d’autres fichiers.</p>
<p>Les droits sont divisés à trois catégories, les droits pour l’utilisateur, pour le groupe et pour les autres. A chaque fichier est associé un utilisateur (généralement le créateur du fichier) et un groupe qu’on peut indiquer avec la commande chown</p>
<pre>chown utilisateur.groupe fichier</pre>
<p>Permet de spécifier que fichier est à utilisateur et au groupe groupe. Si le groupe n’est pas indiqué (paramètre sans .) alors on ne change que l’utilisateur.</p>
<p>Pour chaque catégorie, on peut spécifier un droit de lecture, d’écriture et d’utilisation (execution). Ceci se fait avec la commande chmod</p>
<pre>chmod o+rx fichier</pre>
<p>Permet par exemple d’ajouter les droits de lecture (read), execution (x) à la catégorie other sur fichier.</p>
<pre>chmod g–w fichier</pre>
<p>Permet d’enlever les droits d’écriture du groupe sur le fichier. On peut utiliser la mention « a » pour indiquer à la fois le groupe, l’utilisateur et other.</p>
<p>Nous allons voir maintenant quelques commandes de bases sur les fichiers</p>
<h3>Commande sur les fichiers.</h3>
<p>Tout d’abord la première commande à voir est help</p>
<pre>help</pre>
<p>Permet de lister les commandes du shell.</p>
<p>Ensuite les commandes de répertoire. Par exemple, une des plus utiles :</p>
<pre>ls –l</pre>
<p>Permet de lister le répertoire courant avec les droits sur les fichiers et le nom des utilisateurs et groupe.</p>
<pre>cd dossier</pre>
<p>Permet de faire que le répertoire courant soit dossier. Pour indiquer un chemin de puis la racine il suffit d’indiquer « / » au début du chemin indiqué à cd.</p>
<pre>cd ..</pre>
<p>Revient en arrière, les deux points qui se suivent sont du à l’architecture même des fichiers sur le disque dur, c’est vieux système d’organisation.</p>
<p>Pour savoir où vous êtes</p>
<pre>pwd</pre>
<p>Indique le chemin complet du répertoire courant depuis la racine.</p>
<pre>rm fichier</pre>
<p>Permet d’effacer le fichier. On peut composer avec * et ?. * remplace tout un ensemble de caractère et ? un seul caractère. Par exemple, pour effacer les fichiers commençant par image</p>
<pre>rm image*</pre>
<p>On peut utiliser le paramètre –r pour indiquer de descendre dans les sous répertoires. Attention à cette commande elle est très dangereuse.</p>
<pre>cp source destination</pre>
<p>Cette commande copie le fichier ou répertoire source vers destination.</p>
<p>Attention pour renommer un fichier, il suffit d’utiliser la commande mv (move) qui fonctionne comme cp excepté la possibilité de renommer un fichier et la suppression du fichier source.</p>
<h3>Installation de logiciel</h3>
<p>Sur Debian pour installer vos logiciels, vous pouvez utiliser les paquets et en plus les mettre à jour très facilement. Tout cela se fait avec la commande</p>
<pre>apt-get</pre>
<p>Cette commande en ligne prend plusieurs paramètres. Le premier paramètre est une commande (install, remove, updrage, update) et le deuxième une liste de logiciel.</p>
<p>Par exemple, pour installer apache</p>
<pre>apt-get install apache</pre>
<p>Cette commande installera apache en positionnant une configuration par défaut. Mais on peut aussi installer tout un ensemble de logiciels en une seule ligne !</p>
<pre>apt-get install apache php4 mysql php4-mysql</pre>
<p>Installera Apache, mysql et php4</p>
<p>Une chose bien pratique est la mise à jour des logiciels par la commande upgrade et update. En effet, le logiciel apt-get peut être connecté à une source de paquets et aller chercher par lui-même les bons paquets à changer, voir les nouveaux, les nouvelles versions etc…Attention la commande update n’installe rien, elle met juste à jour la liste des logiciels et leur version. Tandis que la commande upgrade elle met à jour tous les logiciels.</p>
<p>Pour désinstaller des logiciels :</p>
<pre>apt-get remove listedelogiciel</pre>
<p>Attention à cette manœuvre, regardez bien ce que cette commande vous désinstalle. En effet à cause des liaisons entre bibliothèques, apt-get peut estimer nécessaire de désinstaller d’autres logiciels. Regardez donc la liste des paquets qui seront effacé et choisissez de confirmer ou non.</p>
<p>Voilà pour les bases, nous en verrons un peu plus dans une deuxième partie.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sos-dedie.com/2008/10/30/serveur-dedie-les-premiers-pas/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Webmin</title>
		<link>http://www.sos-dedie.com/2008/10/30/webmin/</link>
		<comments>http://www.sos-dedie.com/2008/10/30/webmin/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 16:39:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Gestion]]></category>

		<category><![CDATA[webmin]]></category>

		<guid isPermaLink="false">http://www.sos-dedie.com/wordpress/?p=35</guid>
		<description><![CDATA[Se servir de Webmin pour configurer son serveur.
Webmin est une interface WEB permettant de paramétrer son serveur. Cette interface, beaucoup plus intuitive que la ligne de commande d’un SSH, vous permettra d’installer, paramétrer Apache, mysql ou php4. Toutefois, elle ne vous permettra pas la puissance d’une ligne de commande. Nous allons toute de même voir [...]]]></description>
			<content:encoded><![CDATA[<p>Se servir de Webmin pour configurer son serveur.</p>
<p>Webmin est une interface WEB permettant de paramétrer son serveur. Cette interface, beaucoup plus intuitive que la ligne de commande d’un SSH, vous permettra d’installer, paramétrer Apache, mysql ou php4. Toutefois, elle ne vous permettra pas la puissance d’une ligne de commande. Nous allons toute de même voir quelques applications.<span id="more-35"></span></p>
<h3>Connection</h3>
<p>Généralement l’interface Webmin est accessible par le port 10002 et par un protocole sécurisé (https). Pour y accéder vous devez donc taper cette commande :</p>
<pre>https://votreip:10002/</pre>
<p>L’interface vous demandera une authentification (il vaut mieux d’ailleurs….) Généralement le login est admin et le mot de passe est celui que vous avez choisi lors de la création de votre serveur dédié. Si cela ne marche pas, je vous conseille de consulter l’email que vous a envoyé votre prestataire et qui doit contenir toutes les informations nécessaires.</p>
<h3>Configuration</h3>
<p>Là vous êtes face à une interface. Suivant les modèles de Webmin, vous pouvez avoir à faire à des onglets ou à des icônes. Tout d’abord configurez l’interface en langue française si ce n’est déjà fait. Cela se trouve dans l’onglet Webmin, la ligne Webmin UI language permet de définir sa langue.</p>
<p>Une fois l’interface française tout devient plus simple <img class="smiley" src="../../themes/default/smilies/wink.png" alt=";-)" /></p>
<p>Dans l’onglet Système vous trouverez tous les paramétrages concernant le système Linux. Dans l’onglet Serveur, vous trouverez le paramétrage d’apache, mysql, …bref tous les logiciels qui nécessitent un serveur. Les autres onglets sont plus spécifiques et nous n’en parleront pas dans ce tutorial.</p>
<h3>Onglet système</h3>
<p>Nous allons parler ici de quelques modules (chaque icône correspond à un module sous webmin) cruciaux. Tout d’abord le module Utilisateurs et groupes est essentiel au système Unix, c’est lui qui gère l’ensemble des utilisateurs et groupes déclarés sur votre système. Vous pouvez ajouter un utilisateur avec le lien Créer un nouvel utilisateur et surtout changer le mot de passe en cliquant sur le nom d’un utilisateur.</p>
<p>Vous pouvez faire aussi un changement de mot de passe avec le module Change Passwords qui est des plus simple, il suffit de choisir un utilisateur et de rentrer un nouveau mot de passe.</p>
<p>Le module Tâches cron permet de paramétrer ses tâches cron. Donc d’entrer la commande ainsi que les délais et minutage</p>
<p>Enfin un autre module système crucial est le module Actions de démarrage et d’arrêt. Celui-ci permet non seulement de configurer les logiciels à lancer au boot mais surtout deux boutons à la fin du module permettent de Redémarrer le système ou d’arrêter le système.</p>
<h3>Onglet serveur</h3>
<p>C’est dans cet onglet que vous risquez de passer le plus clair de votre temps. En effet, il contient les modules de tous les serveurs qui vous sont nécessaire comme Apache ou Mysql.</p>
<p>Nous allons voir les principaux serveurs.</p>
<h4>Apache</h4>
<p>Lorsque vous cliquez sur l’icône serveur Apache, Webmin vous indique qu’Apache n’est pas installé (à moins que votre prestataire de service l’ai installé). Il vous suffit pour procéder à l’installation de cliquer sur « click here ». Apache s’installe et vous constatez la progression à l’écran.</p>
<p>Une fois installé, vous pouvez configurer votre nom de domaine. Pour cela vous créez un serveur virtuel avec le formulaire du bas.</p>
<p>Cochez n’importe quelle adresse Choisissez le répertoire racine des documents qui sera un dossier contenant votre domaine En nom du serveur mettez : www.votredomaine.com Ensuite cliquez sur créez.</p>
<p>Une fois cela fait, cliquez en haut à droite sur Appliquer Tout changement pour relancer Apache.</p>
<p>Voilà votre nom de domaine a été ajouté ! Si vous tapez www.votredomaine.com , vous devez voir votre page d’accueil.</p>
<h4>Php 4 et Mysql</h4>
<p>Pour installer php4 c’est un peu plus compliqué, vous devez aller dans l’onglet Système et composant logiciel et choisir composant d’APT. Indiquer dans le champ php4 et cliquez sur Installer. Vous pouvez par cette voie installer plusieurs logiciels. Vous devez ensuite activer PHP4 dans Apache. Sous l’onglet Serveur et le module Apache, vous éditez le fichier de configuration et vous décommentez la ligne suivante</p>
<pre>LoadModule php4_module /usr/lib/apache/1.3/libphp4.so</pre>
<p>Php4 devrait totalement fonctionner. Pour installer Mysql, rien de plus simple. Dans l’onglet Serveur, sélectionnez le module Mysql database server et installez-le ou lancez-le. Depuis ce module vous pouvez créer des permissions, des tables et tout ce qu’il faut pour gérer votre base de donnée.</p>
<p>Voilà vous avez la base pour créer et administrer votre domaine depuis Webmin.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sos-dedie.com/2008/10/30/webmin/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Installer un serveur de nom (DNS) avec Bind</title>
		<link>http://www.sos-dedie.com/2008/10/30/installer-un-serveur-de-nom-dns-avec-bind/</link>
		<comments>http://www.sos-dedie.com/2008/10/30/installer-un-serveur-de-nom-dns-avec-bind/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 16:37:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Domaine]]></category>

		<guid isPermaLink="false">http://www.sos-dedie.com/wordpress/?p=31</guid>
		<description><![CDATA[Gérer un serveur de nom sur son dédié.
Nous allons voir ici l’installation d’un serveur de Nom (DNS). Même si un tel serveur n’est franchement pas utile pour gérer quelques noms de domaines. Pour rappel, on nomme aussi DNS l’ensemble du système qui permet de transformer un nom (www.domaine.com) en adresse I.P.. Dans ce cas, DNS [...]]]></description>
			<content:encoded><![CDATA[<p>Gérer un serveur de nom sur son dédié.</p>
<p>Nous allons voir ici l’installation d’un serveur de Nom (DNS). Même si un tel serveur n’est franchement pas utile pour gérer quelques noms de domaines. Pour rappel, on nomme aussi DNS l’ensemble du système qui permet de transformer un nom (www.domaine.com) en adresse I.P.. Dans ce cas, DNS signifie Domaine Name Service.<span id="more-31"></span></p>
<p>Nous allons nous intéresser au Domaine Name Server que nous allons installer via debian mais l’installation diffère peu entre toutes les versions de Linux.</p>
<h3>Le principe de fonctionnement</h3>
<p>Généralement les serveurs de noms marchent par deux. Un primaire et un secondaire (la copie du primaire). Ceci principalement pour l’intégrité des données et avoir une roue de secours en cas de panne du serveur primaire.</p>
<p>Les informations des DNS sont regroupées par Zone, une zone peut être primaire ou secondaire. Voyons un peu plus loin un fichier de configuration en installant Bind.</p>
<p>Nous allons installer la version 9 de Bind qui est la plus sécurisée</p>
<pre>apt-get install bind9

cd /etc/bind/

pico named.conf</pre>
<p>Le fichier named.conf contient les informations de toutes les zones. L’installeur nous a normalement configuré par défaut plusieurs zones de ce type</p>
<pre>zone "localhost" {

        type master;

        file "/etc/bind/db.local";

};</pre>
<p>Le nom de la zone (ici localhost) doit être contenu entre guillemet, il s’agit du nom que l’on tape par exemple dans un navigateur. Par exemple votredomaine.com</p>
<p>Le type définit si la zone est primaire ou secondaire, dans ce cas le paramètre master définit une zone primaire.</p>
<p>Enfin le paramètre file indique un fichier contenant tous les autres paramètres de la zone.</p>
<p>Par conséquent, on ajoutera la gestion de notre nom de domaine en ajoutant une zone de ce type</p>
<pre>zone "sos-dedie.com" {

        type master;

        file "/etc/bind/db.sos-dedie.com";

};</pre>
<p>Donc c’est très simple.</p>
<h3>Configuration d’une zone.</h3>
<p>Maintenant que nous avons déclaré notre zone il faut donner les renseignements sur les services de cette zone dans le fichier db.sos-dedie.com</p>
<p>Tout d’abord commence une déclaration</p>
<pre>$TTL 86400</pre>
<p>Cette variable indique simplement la durée de vie de tout enregistrement (si une instruction contraire dans l’enregistrement n’est pas mentionnée)</p>
<pre>@       IN      SOA     ns1.sos-dedie.com. postmaster.sos-dedie.com. (

					20050321        ;Serial

                       			604800          ;Refresh

                       			86400           ;Retry

                       			2419200         ;Expire

                       			604800  )       ;Cache TTL</pre>
<p>Cette partie indique des paramètres généraux. Le signe @ correspond au nom de la zone. Ensuite nous déclarons le nom de notre serveur DNS et l’adresse email du responsable. Veuillez noter que le nom du serveur se termine par un point et que l’adresse du responsable ne contient pas d’arobase, celui-ci est remplacé par un point.</p>
<p>Le serial est un nombre, par convention la date à l’envers permettant aux autres serveurs de reconnaître une nouvelle configuration. Si vous changez le fichier, n’oubliez pas de remettre ce serial à jour. Les autres champs : Refresh, Retry, Expire, et Cache TTL indique aux serveurs esclaves divers paramètres de rafraîchissement.</p>
<pre> @       IN      NS      	ns1.sos-dedie.com.</pre>
<p>Cette ligne indique que pour cette zone (pour rappel @ remplace sos-dedie.com) il existe un serveur de nom qui s’appelle ns1.sos-dedie.com.</p>
<pre>@	IN        A       84.244.3.78</pre>
<p>Ensuite on indique l’adresse IP effective du nom de domaine sos-dedie.com, pour une adresse IPv6 (nouvelle version du protocole IP) vous devez remplacer A par AAAA</p>
<pre>@	IN	MX      5 mail</pre>
<p>Enfin, on indique que l’adresse du serveur de courrier sera mail.sos-dedie.com et que celui-ci a une priorité de 5. On pourrait rajouter d’autres adresses de serveurs de courrier en créant d’autre ligne identique et en changeant la priorité et l’adresse. Les priorités permettent d’essayer l’accès à plusieurs serveurs de courrier dans l’ordre de la priorité.</p>
<p>Enfin nous finissons en indiquant que mail et www ont une adresse IP</p>
<pre>www	IN      A       84.244.3.78

mail	IN      	A       84.244.3.78</pre>
<p>Remarquez que pour ces deux lignes on ne mentionne pas www.sos-dedie.com. Ou mail.sos-dedie.com. En effet, Bind rajoute automatiquement le nom de la zone si la mention de la colonne de gauche ne contient pas de . à la fin. Comme ici c’est le cas, bind interprete donc www comme étant www.sos-dedie.com.</p>
<p>Comme d’habitude on fait un restart du service</p>
<pre>  /etc/init.d/bind9 restart</pre>
<p>On peut regarder ce que nous dit Bind dans le syslog</p>
<pre>tail /var/log/syslog</pre>
<p>Et enfin on peut tester la résolution des noms avec la commande host</p>
<pre>apt-get install bind9-host

host www.yahoo.fr ns1.sos-dedie.com</pre>
<p>Normalement, la commande nous renvoi quelquechose de ce genre</p>
<pre>Using domain server:

Name: ns1.sos-dedie.com

Address: 84.001.2.8#53

Aliases:

www.yahoo.fr is an alias for www.euro.yahoo.akadns.net.

www.euro.yahoo.akadns.net has address 217.12.3.11</pre>
<p>qui indique bien que le nom www.yahoo.fr a été résolu grâce à notre serveur de nom dont l’adresse est ns1.sos-dedie.com</p>
<h3>Dernière étape</h3>
<p>Il ne reste plus qu’à indiquer à notre registrar nos nouveaux serveurs de noms. Nous lui indiquons donc que le DNS primaire est maintenant ns1.sos-dedie.com. Comme il ne connaît pas du tout ce serveur de nom, il y a de forte chance qu’il vous demande son adresse IP.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sos-dedie.com/2008/10/30/installer-un-serveur-de-nom-dns-avec-bind/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rediriger ses noms de domaine vers son serveur</title>
		<link>http://www.sos-dedie.com/2008/10/30/rediriger-ses-noms-de-domaine-vers-son-serveur/</link>
		<comments>http://www.sos-dedie.com/2008/10/30/rediriger-ses-noms-de-domaine-vers-son-serveur/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 16:30:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Domaine]]></category>

		<category><![CDATA[redirection]]></category>

		<guid isPermaLink="false">http://www.sos-dedie.com/wordpress/?p=27</guid>
		<description><![CDATA[Configurer les informations chez son registrar pour diriger ses noms de domaines sur son serveur.
Lorsque l’on a une adresse IP et que nous somme heureux d’y voir notre serveur fonctionner, on serait encore plus heureux de voir nos noms de domaines pointer vers cette adresse IP. Cette possibilité peut sembler obscure pour les débutants ou [...]]]></description>
			<content:encoded><![CDATA[<p>Configurer les informations chez son registrar pour diriger ses noms de domaines sur son serveur.</p>
<p>Lorsque l’on a une adresse IP et que nous somme heureux d’y voir notre serveur fonctionner, on serait encore plus heureux de voir nos noms de domaines pointer vers cette adresse IP. Cette possibilité peut sembler obscure pour les débutants ou pour ceux qui viennent de l’hébergement mutualisé.<span id="more-27"></span></p>
<p>Dans ce tutorial, nous n’allons pas apprendre à installer un serveur DNS qui conviendrait plus à une gestion dynamique ou à un grand nombre de nom de domaines. Nous allons utiliser les serveurs DNS du registar où se trouve le nom de domaine et configurer celui-ci pour que l’internaute qui tape www.votredomaine.com aille sur votre IP.</p>
<p>Nous supposons que vous êtes connecté en ligne de commande avec SSH.</p>
<h4>Explications de termes</h4>
<p>Chez la plupart des registar, vous trouverez la présence des termes ci-dessous qu’il est nécessaire de connaître pour comprendre le fonctionnement de la redirection.</p>
<p><ins>A</ins> : Cet enregistrement désigne l’adresse IP vers lequel pointe le nom de domaine Par exemple, www.votredomaine.com A 100.200.100.45</p>
<p><ins>CNAME</ins> : définition d’un alias. Par exemple, www2.votredomaine.com CNAME www.votredomaine.com. www2.votredomaine.com pointera vers www.votredomaine.com</p>
<p><ins>MX</ins> : Mail eXchanger indique à quelle machine on doit envoyer le courrier, en effet vous pouvez très bien ne pas gérer le courrier sur la même machine qui héberge votre domaine.</p>
<p><ins>NS</ins> : Name server ou Serveur de nom, en fait il s’agit du nom d’une machine gérant les noms de domaines</p>
<h4>Comment faire pointer son domaine vers son hébergement dédié.</h4>
<p>Lors de l’achat de votre dédié, on vous a attribué une adresse IP avec laquelle vous et le monde entier pouvez accéder au contenu de votre hébergement. Pour faire pointer votre nom de domaine vers cette adresse IP, il faut simplement trouver les enregistrement A chez votre registar. Généralement dans une section avancée (DNS Expert pour OVH, ou Advanced Tools chez Netsol. Vous devez donc changer cette adresse IP et mettre la votre. Le changement peut être rapide (environ 1 heure chez netsol) voire plus lent (24h chez ovh).</p>
<p>Concernant le courrier, il s’agit de pouvoir changer le champ MX. Vous pouvez soit indiquer un CNAME soit directement une adresse IP. Ce changement permettra à votre courrier d’arriver sur votre dédié .</p>
<p>L&#8217;administration chez Netsol<br />
<img src="http://www.sos-dedie.com/im/netsol.png" alt="" /></p>
<p>L&#8217;administration chez OVH<br />
<img src="http://www.sos-dedie.com/im/ovh.png" alt="" /></p>
<p>L&#8217;administration chez Lycos<br />
<img src="http://www.sos-dedie.com/im/lycos.gif" alt="" /></p>
<p>Dans le cas de Lycos, changez la première ligne et mettre l&#8217;adresse de votre serveur. Changez aussi la dernière ligne (www) pour que www.votredomaine.com pointe bien sur le serveur.</p>
<p>Si vous gérer l&#8217;email sur votre serveur, changez aussi maildefer et mailspool en mettant l&#8217;adresse de votre serveur. De même pour les autres services (ftp, pop ,&#8230;) si nécessaire.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sos-dedie.com/2008/10/30/rediriger-ses-noms-de-domaine-vers-son-serveur/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
