<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Emile "iMil" Heitor 's home &#187; Apache</title>
	<atom:link href="http://imil.net/wp/tag/apache/feed/" rel="self" type="application/rss+xml" />
	<link>http://imil.net/wp</link>
	<description>life, unix and stuff</description>
	<lastBuildDate>Fri, 30 Dec 2011 20:58:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>dspam sous NetBSD</title>
		<link>http://imil.net/wp/2010/02/27/dspam-sous-netbsd/</link>
		<comments>http://imil.net/wp/2010/02/27/dspam-sous-netbsd/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 12:36:41 +0000</pubDate>
		<dc:creator>iMil</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[dspam]]></category>
		<category><![CDATA[NetBSD]]></category>

		<guid isPermaLink="false">http://imil.net/wp/?p=393</guid>
		<description><![CDATA[Je suis toujours dans le fastidieux processus de migration des services d&#8217;iMil.net vers sa nouvelle demeure. Vous ne l&#8217;avez probablement pas remarqué, mais le site que vous avez sous les yeux est désormais servi par un apache chrooté, reverse-proxyisé par l&#8217;incroyable nginx. Je reviendrai probablement sur cette configuration dans un prochain post.
Ce week end, je [...]]]></description>
			<content:encoded><![CDATA[<p>Je suis toujours dans le fastidieux processus de migration des services d&#8217;iMil.net vers sa nouvelle demeure. Vous ne l&#8217;avez probablement pas remarqué, mais le site que vous avez sous les yeux est désormais servi par un <a hraf="http://imil.net/wp/?p=376">apache chrooté</a>, <a href="http://fr.wikipedia.org/wiki/Reverse_proxy">reverse-proxyisé</a> par l&#8217;incroyable <a href="http://nginx.org/">nginx</a>. Je reviendrai probablement sur cette configuration dans un prochain post.</p>
<p>Ce week end, je m&#8217;attaque à la migration du MX. *soupir*</p>
<p>Dans la liste infinie de trucs à configurer, il y a mon <a href="http://imil.net/wp/?p=200">&#8220;nouveau&#8221;</a> meilleur ami: <a href="http://www.nuclearelephant.com/">dspam</a>.</p>
<p>On aurait pu s&#8217;attendre à une installation <i>straightforward</i> de la bête (j&#8217;utilise évidemment intensivement <a href="http://imil.net/pkgin/">pkgin</a> pour l&#8217;installation des packages), mais en réalité, quelques petits casse-tête sont dispersés de-ci de-la.</p>
<p>En premier lieu, le package lui même. On peut lire dans le fichier <code>options.mk</code> le commentaire suivant :</p>
<pre>
### This is the backend database used to store the DSPAM signatures as
### well as other state information.  The recommended storage driver is
### "mysql", even for small installations.
</pre>
<p>&#8220;Fabuleux&#8221;, me dis-je. Sauf que les deux lignes d&#8217;après précisent :</p>
<pre>
### Possible: mysql, pgsql, sqlite, sqlite3 or hash
### Default: hash
</pre>
<p>Va comprendre. Cela signifie que, une fois n&#8217;est pas coutume, je devrai me fendre de la compilation de ce package avec une option particulière :</p>
<pre>
$ grep -i dspam /etc/mk.conf
DSPAM_STORAGE_DRIVER=   mysql
</pre>
<p>Bon.</p>
<p>La configuration du logiciel en soi n&#8217;a pas changé, je vous renvoie aux differentes documentations expliquant les paramètres clé du fichier <code>dspam.conf</code>.<br />
L&#8217;integration à <a href="http://www.sendmail.org/">sendmail</a> n&#8217;a pas changé non plus, ces deux lignes appliquées à votre <code>.mc</code> suffiront :</p>
<pre>
define(`LOCAL_MAILER_PATH', `/usr/pkg/bin/dspam')
define(`LOCAL_MAILER_ARGS', `dspam -t -Y -a $h "--deliver=innocent" --user $u -d %u')
</pre>
<p>Je rappelle à toutes fins utiles que la construction du <code>.cf</code>, sous NetBSD, s&#8217;effectue de cette façon :</p>
<pre>
make install-cf CF=nom
</pre>
<p>Jusqu&#8217;ici, tout va bien.</p>
<p>Et nous en arrivons à la partie la moins bien integrée du package: l&#8217;interface web. Première chose, le package n&#8217;embarque pas <strong>toutes</strong> les dépendances nécessaires au bon fonctionnement de l&#8217;interface de <code>dspam</code>. Il vous faudra donc vous fendre d&#8217;un :</p>
<pre>
$ sudo pkgin in p5-GD p5-GD-Graph3d
</pre>
<p>Afin de ne pas voir <code>admingraph.cgi</code> se crouter misérablement.</p>
<p>Vient ensuite l&#8217;application web en elle même. Je ne souhaitais pas dédier un <i>vhost</i> à <code>dspam</code>, mais plutot l&#8217;utiliser dans un sous repertoire de la partie privée de mon site; en effet,  cette dernière est accédée en HTTPS, sur un FQDN unique, et l&#8217;idée de gêrer plusieurs certificats <a href="http://www.cacert.org/">CACert</a> pour mes simples besoins me rebutait. En prime, cette methode me permet de configurer mon <i>reverse proxy</i> le plus simplement du monde.</p>
<p>Ainsi, j&#8217;ai copié l&#8217;ensemble des fichiers situés dans <code>/usr/pkg/share/dspam/webui/cgi-bin/</code> et <code>/usr/pkg/share/dspam/webui/htdocs/</code> dans un repertoire dédié. Afin de signifier à <code>apache</code> qu&#8217;il devra interpreter les <i>cgi</i> de ce repertoire, j&#8217;ai ajouté un fichier <code>.htaccess</code> contenant les directives suivantes :</p>
<pre>
Options +ExecCGI
AddHandler cgi-script .cgi .pl
</pre>
<p>Tous ces <i>cgi</i>s incluent le fichier <code>/usr/pkg/etc/dspam/configure.pl</code>, qui définit entre autres la variable <code>WEB_ROOT</code>, chemin vers la <i>CSS</i> et la petite icône <i>dspam</i>. Plutot que de copier le fichier <code>configure.pl</code> puis modifier tous les scripts afin que l&#8217;inclusion se fasse sur <code>./configure.pl</code>, j&#8217;ai renseigné la variable qui m&#8217;interesse directement dans <code>/usr/pkg/etc/dspam/configure.pl</code> :</p>
<pre>
$CONFIG{'WEB_ROOT'}     = "/dspam";
</pre>
<p>Reste à copier le fichier <code>/usr/pkg/etc/dspam/cgi-default.prefs</code> dans le repertoire choisi pour héberger l&#8217;interface <code>dspam</code> sous le nom <code>default.prefs</code>, et enfin d&#8217;ajouter l&#8217;utilisateur autorisé à manipuler l&#8217;interface dans <code>/usr/pkg/etc/dspam/cgi-admins</code>.</p>
<p>Tout ceci n&#8217;est pas bien propre, je vous l&#8217;accorde.</p>
<p>Notez que si vous souhaitez utiliser un <i>vhost</i>, la configuration serait bien moins fastidieuse puisqu&#8217;il suffirait de créer un <code>VirtualHost</code> dans lequel vous préciseriez un <code>ScriptAlias</code> et un <code>DocumentRoot</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://imil.net/wp/2010/02/27/dspam-sous-netbsd/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ldap un jour&#8230;</title>
		<link>http://imil.net/wp/2005/10/22/ldap-un-jour/</link>
		<comments>http://imil.net/wp/2005/10/22/ldap-un-jour/#comments</comments>
		<pubDate>Sat, 22 Oct 2005 11:10:09 +0000</pubDate>
		<dc:creator>iMil</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[LDAP]]></category>

		<guid isPermaLink="false">http://imil.net/wp/?p=57</guid>
		<description><![CDATA[Et c&#8217;est au tour d&#8217;apache. Très très simple :

cd /usr/ports/www/mod_vhost_ldap/
make install clean

Si votre apache n&#8217;est pas compilé avec le support LDAP vous vous ferez insulter.
À noter que, contrairement à ce que dit le port :

##      WITH_LDAP:               [...]]]></description>
			<content:encoded><![CDATA[<p>Et c&#8217;est au tour d&#8217;apache. Très très simple :<br />
<code><br />
cd /usr/ports/www/mod_vhost_ldap/<br />
make install clean<br />
</code><br />
Si votre apache n&#8217;est pas compilé avec le support LDAP vous vous ferez insulter.<br />
À noter que, contrairement à ce que dit le port :<br />
<code><br />
##      WITH_LDAP:                Enable LDAP support (mod_auth_ldap) (implies WITH_LDAP_MODULES)<br />
</code><br />
Si je ne place pas explicitement WITH_LDAP=yes <b>et</b> WITH_LDAP_MODULES=yes, je me prend un unresolved symbol au démarrage d&#8217;apache.</p>
<p>Ajoutez maintenant dans votre httpd.conf (dans cet ordre) :<br />
<code><br />
LoadModule ldap_module  libexec/apache2/mod_ldap.so<br />
LoadModule vhost_ldap_module  libexec/apache2/mod_vhost_ldap.so<br />
</code><br />
puis<br />
<code><br />
VhostLDAPEnabled on<br />
VhostLDAPUrl "ldap://127.0.0.1/ou=votre,dc=basedn"<br />
VhostLdapBindDN "cn=utilisateur,ou=qui,dc=binde"<br />
VhostLDAPBindPassword "mot de passe convivial"<br />
</code></p>
<p>Copiez le schéma fourni /usr/local/share/doc/mod_vhost_ldap/mod_vhost_ldap.schema dans /usr/local/etc/openldap/schema/ et ajoutez<br />
<code><br />
include         /usr/local/etc/openldap/schema/mod_vhost_ldap.schema<br />
</code><br />
dans votre slapd.conf</p>
<p>Evidemment, redémarrez slapd et httpd.</p>
<p>Il ne vous reste plus qu&#8217;à provisionner avec votre editeur LDAP favori. Les attributs sont triviaux, par exemple :<br />
<code><br />
# jard.in, apache, jardin<br />
dn: apacheServerName=jard.in,ou=apache,dc=jardin<br />
objectClass: top<br />
objectClass: apacheConfig<br />
apacheServerName: jard.in<br />
apacheDocumentRoot: /home/www<br />
</code><br />
Je regrette toutefois que l&#8217;auteur n&#8217;ait pas prévu des champs relatifs aux logfiles, j&#8217;ai du utiliser une vieille bidouille à base de LogFormat :<br />
<code><br />
LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
CustomLog /var/log/httpd-access-vhosts.log combined<br />
</code><br />
Pour faire passer sur le fichier httpd-access-vhosts.log le script split-logfile fourni avec apache2 qui sépare ce type de log fonction du vhost. Par très classe.<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://imil.net/wp/2005/10/22/ldap-un-jour/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Served from: imil.net @ 2012-02-04 19:21:20 by W3 Total Cache -->
