<?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>404Blog</title>
	<atom:link href="http://www.404blog.net/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.404blog.net</link>
	<description></description>
	<lastBuildDate>Thu, 10 Jun 2010 10:05:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Apache2 + Webdav + openldap + ssl</title>
		<link>http://www.404blog.net/?p=62</link>
		<comments>http://www.404blog.net/?p=62#comments</comments>
		<pubDate>Thu, 06 May 2010 13:23:56 +0000</pubDate>
		<dc:creator>seynhaeve</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://www.404blog.net/?p=62</guid>
		<description><![CDATA[Installation des paquets:
[root@webdav:~]$apt-get install apache2
Apache
On active les modules nécessaires pour le webdav, le ssl et l&#8217;authentification ldap:
[root@webdav:~]$a2enmod authnz_ldap ssl dav dav_fs dav_lock
Considering dependency ldap for authnz_ldap:
Enabling module ldap.
Enabling module authnz_ldap.
Enabling module ssl.
See /usr/share/doc/apache2.2-common/README.Debian.gz on how to configure SSL and create self-signed certificates.
Enabling module dav.
Run '/etc/init.d/apache2 restart' to activate new configuration!
On créé un répertoire qui sera [...]]]></description>
			<content:encoded><![CDATA[<p>Installation des paquets:</p>
<p><code>[root@webdav:~]$apt-get install apache2</code></p>
<p><strong>Apache</strong></p>
<p>On active les modules nécessaires pour le webdav, le ssl et l&#8217;authentification ldap:</p>
<p><code>[root@webdav:~]$a2enmod authnz_ldap ssl dav dav_fs dav_lock<br />
Considering dependency ldap for authnz_ldap:<br />
Enabling module ldap.<br />
Enabling module authnz_ldap.<br />
Enabling module ssl.<br />
See /usr/share/doc/apache2.2-common/README.Debian.gz on how to configure SSL and create self-signed certificates.<br />
Enabling module dav.<br />
Run '/etc/init.d/apache2 restart' to activate new configuration!</code></p>
<p>On créé un répertoire qui sera accessible pour l&#8217;utilisateur test:</p>
<p><code>[root@webdav:~]$mkdir -p /var/www/webdav/test<br />
[root@webdav:~]$chmod 770 /var/www/webdav/test<br />
[root@webdav:~]$chown .www-data /var/www/webdav/test</code></p>
<p>On créé le fichier lock pour webdav:</p>
<p><code>[root@webdav:~]$mkdir /var/lock/DAVLock<br />
[root@webdav:~]$touch /var/lock/DAVLock/DAVLock<br />
[root@webdav:~]$chown -R www-data:www-data /var/lock/DAVLock</code></p>
<p>On créé le fichier virtual host:</p>
<p><code>&lt;VirtualHost *:443&gt;<br />
        ServerAdmin webmaster@frites.be<br />
        ServerAlias webdav.frites.be<br clear="none" /><br />
        SSLEngine on<br clear="none" /><br />
        SSLCertificateFile /etc/apache2/ssl/webdav.frites.be.pem<br />
        SSLCertificateKeyFile /etc/apache2/ssl/webdav.frites.be.key<br clear="none"/><br />
        DocumentRoot /var/www/webdav<br clear="none" /><br />
        ErrorLog /var/log/webdav_ssl_error.log<br />
        CustomLog /var/log/webdav_ssl_access.log combined<br />
        LogLevel warn<br clear="none" /><br />
        #WEBDAV<br clear="none" /><br />
        DavLockDB /var/lock/DAVLock/DAVLock<br clear="none" /><br />
        DAVMinTimeout 600<br clear="none" /><br />
        &lt;Directory /var/www/webdav/test&gt;<br />
         Dav On<br />
         AuthType Basic<br />
         AuthName "Accès RÉSERVÉ"<br />
         AuthName DAV<br />
         AuthBasicProvider ldap<br />
         AuthzLDAPAuthoritative off<br />
         AuthLDAPRemoteUserIsDN off<br />
         AuthLDAPGroupAttributeIsDN off<br />
         AuthLDAPURL ldaps://ldap.frites.be/ou=Webdav,dc=frites,dc=be?uid?sub?(objectClass=*)<br />
         require ldap-filter &#038;(uid=test)<br />
&lt;/Directory&gt;<br />
&lt;/VirtualHost&gt;</code></p>
<p>On active le virtual host:</p>
<p><code>a2ensite webdav</code></p>
<p>Ne pas oublier de créer le dossier /etc/apache2/ssl et d&#8217;y placer le certificat et la clef du serveur webdav.frites.be</p>
<p>On redémarre apache:</p>
<p><code>[root@webdav:~]$/etc/init.d/apache2 restart</code></p>
<p><strong>Authentification:</strong></p>
<p>On modifie le fichier /etc/ldap/ldap.conf où l&#8217;on indique le seveur ldap et l&#8217;endroit où se trouve le ca:</p>
<p><code>#<br />
# LDAP Defaults<br clear="none" /><br />
# See ldap.conf(5) for details<br />
# This file should be world readable but not world writable.<br clear="none" /><br />
BASE    dc=frites,dc=be<br />
URI     ldaps://ldap.frites.be<br />
TLS_CACERT /etc/ssl/certs/cacert.pem<br clear="none" /><br />
#SIZELIMIT      12<br />
#TIMELIMIT      15<br />
#DEREF          never</code></p>
<p>Il ne faut pas oublier de placer le ca dans le répertoire /etc/ssl/certs</p>
<p><strong>Accès au répertoire</strong></p>
<p>On peut accéder au répertoire en lecture via un navigateur web à l&#8217;adresse suivante https://webdav.frites.be/test avec comme login test et le mot de passe qui se trouve dans le ldap.</p>
<p>Si l&#8217;on veut faire des modifications il faut utiliser un autre client, sous Linux on peut y accéder en ligne de commande via cadaver, en graphique via nautilus par exemple.<br />
Sous Windows on peut rajouter un favori réseau afin d&#8217;éditer, créer et lire ce qui se trouve dans le répertoire test.<br />
Attention le bloc-notes de Windows n&#8217;est pas compatible avec webdav, si l&#8217;on veut modifier/lire un fichier texte avec le bloc-notes il faudra le rapatrier en local et ensuite le copier avec les modifications sur le serveur.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.404blog.net/?feed=rss2&amp;p=62</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Samba pdc</title>
		<link>http://www.404blog.net/?p=39</link>
		<comments>http://www.404blog.net/?p=39#comments</comments>
		<pubDate>Mon, 13 Jul 2009 07:18:26 +0000</pubDate>
		<dc:creator>seynhaeve</dc:creator>
				<category><![CDATA[Debian]]></category>

		<guid isPermaLink="false">http://www.404blog.net/?p=39</guid>
		<description><![CDATA[apt-get install samba
Pour que samba joue le rôle de pdc il faut remplir les 5 conditions suivantes:
1 activer security=user
2 activer le support des mots de passe cryptés encrypt password = yes
3 avoir un partage netlogon
4 le pdc doit être l&#8217;explorateur maître de son domaine domain master = yes
5 le pdc doit être serveur de connexion [...]]]></description>
			<content:encoded><![CDATA[<p><code>apt-get install samba</code></p>
<p>Pour que samba joue le rôle de pdc il faut remplir les 5 conditions suivantes:</p>
<p>1 activer <strong>security=user</strong><br />
2 activer le support des mots de passe cryptés <strong>encrypt password = yes</strong><br />
3 avoir un partage netlogon<br />
4 le pdc doit être l&#8217;explorateur maître de son domaine <strong>domain master = yes</strong><br />
5 le pdc doit être serveur de connexion de son domaine <strong>domain logons = yes</strong></p>
<p>Voici le /etc/samba/smb.conf pour remplir les 5 conditions ci-dessus:</p>
<p><code>[global]<br />
netbios name = samba-server<br />
workgroup    = samba<br />
security     = user<br />
encrypt passwords = yes<br />
enable privileges = yes<br clear="none" /><br />
domain master = yes<br />
domain logons = yes<br clear="none" /><br />
add machine script = /usr/sbin/useradd -g machines -s /bin/false %u<br clear="none" /><br />
logon script = %U.bat<br clear="none" /><br />
[netlogon]<br />
path = /home/netlogon<br />
read only = yes<br />
write list = +ntadmin</code></p>
<p>Ajout de l&#8217;utilisateur root:</p>
<p><code>samba:~# smbpasswd -a root</code></p>
<p>Il faut ensuite associer les groupes unix aux groupes windows pour permettre la gestion du domaine (ajout d&#8217;une machine, création d&#8217;un partage,&#8230;).<br />
On commence par ajouter le groupe ntadmin qui sera associé au groupe Administrators</p>
<p><code>samba:~# addgroup ntadmin</code></p>
<p>Pour pouvoir associer le groupe ntadmin au Builtin group Administrators il faut récupérer le sid du domaine que l&#8217;on vient de créer:</p>
<p><code>samba:~# net getlocalsid samba</code></p>
<p>Association du groupe ntadmin au Builtin group Administrators, il faut toujours l&#8217;associer avec le RID 512:</p>
<p><code>samba:~# net groupmap add sid=S-1-5-21-1167086687-1543078166-3842405581-512 \ ntgroup="Administrators" unixgroup=ntadmin</code></p>
<p>Toutes les personnes qui se trouveront dans le groupe ntadmin seront considérées comme appartenant au groupe Administrators sur les clients Windows. Ces personnes auront les droits d&#8217;administration sur les machines Windows et bénéficieront de tous les droits disponibles sur le domaine.<br />
On peut lister ces droits via la commande suivante:</p>
<p><code>samba:~# net -S localhost -U% rpc rights list accounts 'Builtin\Administrators'</code></p>
<p>Si l&#8217;on affiche les membres du groupe Administrators sur une machine Windows qui se trouve dans le domaine, on peut voir que le groupe SAMBA/Administrators se retrouve automatiquement dans le groupe Administrators!</p>
<p>On peut également créer un autre groupe dans lequel on ajoutera les personnes qui peuvent joindre de nouvelles machines au domaine.</p>
<p><code>addgroup serveuradmin</code><br />
<code>net groupmap add ntgroup="Server Admins" unixgroup=serveuradmin</code></p>
<p>Ajout des droits pour le groupe Server Admins:</p>
<p><code>net rpc rights grant 'SAMBA\Server Admins' SeMachineAccountPrivilege -U root</code></p>
<p>Les personnes du groupe Server Admins auront donc le droit de joindre de nouvelles machines au domaine, par contre elles n&#8217;auront aucun droit d&#8217;administration sur ces machines.<br />
Pour leur donner ces droits, il faudra les rajouter manuellement dans le groupe Power Users localement sur chaque machine, il n&#8217;existe pas d&#8217;autres moyens.</p>
<p>Dernière étape avant de pouvoir ajouter une machine dans le domaine, il faut créer le groupe qui contiendra les machines du domaine(cfr: commande add machine dans smb.conf):</p>
<p><code>addgroup machines</code></p>
<blockquote><p><b>Ajout des répertoires personnels connectés automatiquement au login de l&#8217;utilisateur.</b></p></blockquote>
<p>Il faut ajouter les lignes suivantes dans /etc/samba/smb.conf:</p>
<p><code>[global]<br />
logon drive = H:</code></p>
<p><code>[homes]<br />
comment = Home directories<br />
read only = no<br />
create mask = 0700<br />
directory mask = 0700<br />
valid users = %S<br />
</code></p>
<blockquote><p><b>Ajout des profiles itinérants.</b></p></blockquote>
<p>Pour que les profils itinérants fonctionnent il faut effectuer la modification suivante sur les postes de travail Windows. </p>
<p>gpedit.msc -> Local Computer Policy -> Computer Configuration -> System -> User Profiles<br />
Activer l&#8217;option Do not check ownership of roaming profile forlders.</p>
<p>Si vous conservez le smb.conf actuel, le profil itinérant des utilisateurs sera sauvegardé dans leurs répertoires personnels.<br />
Il est préférable les mettre à un autre endroit pour éviter les mauvaises manipulations de la part des utilisateurs!</p>
<p><code>[global]<br />
logon path = \\samba\profiles$\%U\%a </code></p>
<p><code>[profiles$]<br />
comment = profile directory<br />
path = /home/profiles<br />
read only = no<br />
inherit permissions = yes</code></p>
<p>Le %U correpond au nom de l&#8217;utilisateur, %a correspond à la version version de l&#8217;os(Xp, Vista,&#8230;)</p>
<p>Il faut également créer le dossier /home/profiles et celui de chaque utilisateur:<br />
<code>samba:~# mkdir /home/profiles<br />
samba:~#mkdir /home/profiles/user1<br />
samba:~#chmod 700 /home/profiles/user1<br />
samba:~#chown user1. /home/profiles/user1</code></p>
<blockquote><p><strong>Ajout d&#8217;un lecteur réseau</strong></p></blockquote>
<p>smb.conf:</p>
<p><code>[test]<br />
comment = répertoire de test<br />
path = /home/test<br />
read only = no<br />
valid users = user1</code></p>
<p>/home/profile/user1.bat:</p>
<p><code>NET USE X: \\samba\test</code></p>
<p><code>samba:~# mkdir /home/test<br />
samba:~# chown user1. /home/test/</code></p>
<p>Le lecteur réseau X: sera connecté automatiquement lors de l&#8217;ouverture de session de user1.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.404blog.net/?feed=rss2&amp;p=39</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Serveur ssh avec authentification ldap</title>
		<link>http://www.404blog.net/?p=38</link>
		<comments>http://www.404blog.net/?p=38#comments</comments>
		<pubDate>Fri, 19 Jun 2009 09:18:10 +0000</pubDate>
		<dc:creator>seynhaeve</dc:creator>
				<category><![CDATA[Debian]]></category>

		<guid isPermaLink="false">http://www.404blog.net/?p=38</guid>
		<description><![CDATA[Il faut tout d&#8217;abord installer libnss-ldap qui va nous fournir tous les paquets nécessaires:
debian:~# apt-get install libnss-ldap
/etc/libnss-ldap.conf:
base dc=frite,dc=be
uri ldaps://ldap.frite.be
ldap_version 3
port 636
tls_cacertfile /etc/ssl/cacert.pem
Modifier le fichier /etc/nsswitch.conf pour que la recherche d&#8217;utilisateurs et de groupes se fasse également sur le ldap:
/etc/nsswitch.conf:
passwd:         compat ldap
group:       [...]]]></description>
			<content:encoded><![CDATA[<p>Il faut tout d&#8217;abord installer libnss-ldap qui va nous fournir tous les paquets nécessaires:</p>
<p><code>debian:~# apt-get install libnss-ldap</code></p>
<p><strong>/etc/libnss-ldap.conf:</strong></p>
<p><code>base dc=frite,dc=be<br />
uri ldaps://ldap.frite.be<br />
ldap_version 3<br />
port 636<br />
tls_cacertfile /etc/ssl/cacert.pem</code></p>
<p>Modifier le fichier /etc/nsswitch.conf pour que la recherche d&#8217;utilisateurs et de groupes se fasse également sur le ldap:</p>
<p><strong>/etc/nsswitch.conf:</strong></p>
<p><code>passwd:         compat ldap<br />
group:          compat ldap<br />
shadow:         compat ldap</code></p>
<p>Modifier le fichier /etc/ldap/ldap.conf en lui indiquant l&#8217;emplacement du certificat nécessaire pour le ldaps:</p>
<p><strong>/etc/ldap/ldap.conf</strong></p>
<p><code>BASE    dc=frite,dc=be<br />
URI     ldaps://ldap.frite.be<br />
TLS_CACERT  /etc/ssl/cacert.pem</code></p>
<p>Pour l&#8217;authentification il faut indiquer à pam de tenir compte des utilisateurs présents sur le ldap.</p>
<p><strong>/etc/pam.d/common-auth:</strong></p>
<p><code>auth    sufficient      /lib/security/pam_ldap.so<br />
auth    required        /lib/security/pam_unix_auth.so try_first_pass</code></p>
<p><strong>/etc/pam_ldap.conf:</strong></p>
<p><code>base dc=frite,dc=be<br />
uri ldaps://ldap.frite.be<br />
ldap_version 3<br />
port 636</code></p>
<p>Si on teste cette configuration l&#8217;utilisateur ldap qui va se connecter n&#8217;aura pas de répertoire personnel, il faut donc ajouter la ligne suivante au fichier /etc/pam.d/common_session pour que son répertoire personnel soit créé automatiquement lors de sa première connexion:</p>
<p><strong>/etc/pam.d/common_session</strong></p>
<p><code>session required        pam_mkhomedir.so skel=/etc/skel umask=0077<br />
session	required	pam_unix.so</code></p>
<p>En cas de problème désactiver nscd:</p>
<p><code>/etc/init.d/nscd stop</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.404blog.net/?feed=rss2&amp;p=38</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mail server: Postfix + Dovecot + openldap</title>
		<link>http://www.404blog.net/?p=36</link>
		<comments>http://www.404blog.net/?p=36#comments</comments>
		<pubDate>Wed, 29 Apr 2009 07:02:00 +0000</pubDate>
		<dc:creator>seynhaeve</dc:creator>
				<category><![CDATA[Debian]]></category>

		<guid isPermaLink="false">http://www.404blog.net/?p=36</guid>
		<description><![CDATA[On commence par installer les différents paquets nécessaires à la mise en place du server mail:
apt-get install postfix postfix-ldap dovecot-imapd mailx
Postfix demande le type de serveur de messagerie =&#62; Site Internet
Nom du courriel =&#62; nom de domaine
Pour la configuration de Postfix il y a 4 fichiers à éditer, ils se situent dans /etc/postfix:
Tout d’abord main.cf:
# [...]]]></description>
			<content:encoded><![CDATA[<p>On commence par installer les différents paquets nécessaires à la mise en place du server mail:</p>
<p><code>apt-get install postfix postfix-ldap dovecot-imapd mailx</code></p>
<p>Postfix demande le type de serveur de messagerie =&gt; Site Internet</p>
<p>Nom du courriel =&gt; nom de domaine</p>
<p>Pour la configuration de Postfix il y a 4 fichiers à éditer, ils se situent dans /etc/postfix:</p>
<p>Tout d’abord main.cf:<br />
<code># See /usr/share/postfix/main.cf.dist for a commented, more complete version<br clear="none" /><br />
# Debian specific:  Specifying a file name will cause the first<br />
# line of that file to be used as the name.  The Debian default<br />
# is /etc/mailname.<br />
#myorigin = /etc/mailname<br clear="none" /><br />
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)<br />
biff = no<br clear="none" /><br />
# appending .domain is the MUA’s job.<br />
append_dot_mydomain = no<br clear="none" /><br />
# Uncomment the next line to generate “delayed mail” warnings<br />
#delay_warning_time = 4h<br clear="none" /><br />
readme_directory = no<br clear="none" /><br />
# TLS parameters<br />
smtpd_tls_cert_file=/etc/ssl/certs/frites.pem<br />
smtpd_tls_key_file=/etc/ssl/private/frites.key<br />
smtpd_use_tls=yes<br />
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache<br />
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache<br clear="none" /><br />
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for<br />
# information on enabling SSL in the smtp client.<br clear="none" /><br />
myhostname = mail<br />
myorigin = /etc/mailname<br />
relayhost =<br />
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128,192.168.0.0/24<br />
mailbox_size_limit = 0<br />
recipient_delimiter = +<br />
inet_interfaces = all<br />
luser_relay =<br clear="none" /><br />
alias_maps = hash:/etc/aliases, ldap:/etc/postfix/ldap-aliases.cf<br clear="none" /><br />
home_mailbox=Maildir/<br clear="none" /><br />
virtual_mailbox_domains = frites.be<br clear="none" /><br />
# Le fichier de config qui indique comment trouver les comptes virtuels<br />
virtual_mailbox_maps = ldap:/etc/postfix/ldap-accounts.cf<br />
# Le fichier de config qui indique comment trouver les alias virtuels<br />
virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf<br clear="none" /><br />
virtual_mailbox_base = /var/mail<br clear="none" /><br />
dovecot_destination_recipient_limit = 1<br />
virtual_transport = dovecot<br clear="none" /><br />
virtual_uid_maps = static:vmail<br />
virtual_gid_maps = static:mail<br clear="none" /><br />
</code></p>
<p>Dans le fichier master.cf il suffit de rajouter la ligne suivante à la fin du fichier:</p>
<p><code># Dovecot LDA<br />
dovecot unix - n n - - pipe<br />
flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/deliver -d $recipient</code></p>
<p>On crée maintenant les 2 fichiers dans lesquels postfix va aller vérifier les noms d’utilisateurs et les différents alias présents sur le ldap.</p>
<p>ldap-accounts.cf:</p>
<p><code>server_host = ldap.frites.be<br />
port = 636<br />
version = 3<br />
search_base = ou=People,dc=frites,dc=be<br />
query_filter = (mailRoutingAddress=%s)<br />
result_attribute = sn</code></p>
<p>ldap-aliases.cf:</p>
<p><code>server_host = ldap.frites.be<br />
port = 636<br />
version = 3<br />
search_base = ou=People,dc=frites,dc=be<br />
query_filter = (mailRoutingAddress=%s)<br />
result_attribute = mailRoutingAddress</code></p>
<p>On peut vérifier que la communication avec le serveur se passe bien via la commande suivante:</p>
<p><code>postmap -q nom_utilisateur ldap:/etc/postfix/ldap-accounts.cf</code></p>
<p>Configuration de dovecot:</p>
<p>Il n’y a que 2 fichiers à éditer dans /etc/dovecot.</p>
<p>dovecot.conf:</p>
<p><code>protocols = imap imaps<br />
login_greeting = frites Dovecot ready!!<br />
mail_location = maildir:/var/mail/%n<br />
protocol imap {<br />
imap_client_workarounds = outlook-idle<br />
}<br />
protocol lda {<br />
postmaster_address = postmaster@frites.be<br />
auth_socket_path = /var/run/dovecot/auth-master<br />
}<br />
auth default {<br />
mechanisms = plain login<br />
passdb ldap {<br />
# Path for LDAP configuration file<br />
args = /etc/dovecot/dovecot-ldap.conf<br />
}<br />
userdb ldap {<br />
# Path for LDAP configuration file<br />
args = /etc/dovecot/dovecot-ldap.conf<br />
}<br />
socket listen {<br />
master {<br />
path = /var/run/dovecot/auth-master<br />
mode = 0600<br />
user = vmail # User running Dovecot LDA<br />
group = mail # Or alternatively mode 0660 + LDA user in this group<br />
}<br />
}<br />
}</code></p>
<p>dovecot-ldap.conf:</p>
<p><code>hosts = ldap.frites.be<br />
tls = yes<br />
auth_bind = yes<br />
ldap_version = 3<br />
base = ou=People,dc=frites, dc=be<br />
#On reprend l'uid de l'utilisateur vmail et le gid du group mail<br />
user_attrs = uidNumber=500,gidNumber=8<br />
user_filter = (&amp;(objectClass=posixAccount)(uid=%n))<br />
pass_filter = (&amp;(objectClass=posixAccount)(uid=%n))<br />
default_pass_scheme = SSHA<br />
user_global_uid = 500<br />
user_global_gid = 8</code></p>
<p>Il faut ensuite modifier le fichier /etc/ldap/ldap.conf pour pouvoir communiquer en ldaps avec notre serveur ldap:</p>
<p><code>BASE dc=frites,dc=be<br />
URI ldaps://ldap.frites.be:636<br clear="none" /><br />
TLS_CACERT /etc/ssl/certs/frites-ca.crt</code></p>
<p>Il ne reste plus qu’à ajouter l’utilisateur vmail, qui est l’utilisateur chargé de lancer deliver pour mettre les mails dans les boites mail de chaque utilisateur:</p>
<p><code>adduser --ingroup mail --uid 500 vmail</code></p>
<p>Premier mail de test:</p>
<p><code>echo test mail | mail vlamsdoem -s "Test mail"</code></p>
<p>Si l’utilisateur vlamsdoem existe sur ldap vous devriez retrouver le mail dans le répertoire /var/lib/mail/vlamsdoem/new</p>
]]></content:encoded>
			<wfw:commentRss>http://www.404blog.net/?feed=rss2&amp;p=36</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pureftp, pam_mkhomedir et Active Directory</title>
		<link>http://www.404blog.net/?p=34</link>
		<comments>http://www.404blog.net/?p=34#comments</comments>
		<pubDate>Mon, 29 Sep 2008 15:02:13 +0000</pubDate>
		<dc:creator>seynhaeve</dc:creator>
				<category><![CDATA[Debian]]></category>

		<guid isPermaLink="false">http://www.404blog.net/?p=34</guid>
		<description><![CDATA[Samba + krb + winbind
Installer les paquets suivants samba-common, krb5-clients, winbind:
apt-get install samba-common krb5-clients winbind
Modifier le fichier /etc/krb5.conf:
[libdefaults]
ticket_lifetime = 24000
default_realm = MOULES.FRITES.BE
dns_lookup_realm = false
dns_lookup_kdc = false
forwardable = yes
[realms]
MOULES.FRITES.BE = {
kdc = DC01.MOULES.FRITES.BE
admin_server = DC01.MOULES.FRITES.BE
default_domain = MOULES.FRITES.BE
}
[domain_realm]
.moules.frites.be = MOULES.FRITES.BE
moules.frites.be = MOULES.FRITES.BE

Modifier le fichier /etc/hosts:
127.0.0.1    localhost.moules.frites.be localhost pure-ftp
Modifier le fichier /etc/samba/smb.conf:
[global]
security = ADS
realm = [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Samba + krb + winbind</strong></p>
<p>Installer les paquets suivants samba-common, krb5-clients, winbind:</p>
<p><code>apt-get install samba-common krb5-clients winbind</code></p>
<p>Modifier le fichier /etc/krb5.conf:</p>
<p><code>[libdefaults]<br />
ticket_lifetime = 24000<br />
default_realm = MOULES.FRITES.BE<br />
dns_lookup_realm = false<br />
dns_lookup_kdc = false<br />
forwardable = yes<br clear="none" /><br />
[realms]<br />
MOULES.FRITES.BE = {<br />
kdc = DC01.MOULES.FRITES.BE<br />
admin_server = DC01.MOULES.FRITES.BE<br />
default_domain = MOULES.FRITES.BE<br />
}<br clear="none" /><br />
[domain_realm]<br />
.moules.frites.be = MOULES.FRITES.BE<br />
moules.frites.be = MOULES.FRITES.BE<br />
</code></p>
<p>Modifier le fichier /etc/hosts:</p>
<p><code>127.0.0.1    localhost.moules.frites.be localhost pure-ftp</code></p>
<p>Modifier le fichier /etc/samba/smb.conf:</p>
<p><code>[global]<br />
security = ADS<br />
realm = MOULES.FRITES.BE<br />
password server = 192.168.1.1<br />
workgroup = MOULES<br />
netbios name = pure-ftp<br />
winbind cache time<br />
idmap uid = 10000-20000<br />
idmap gid = 10000-20000<br />
winbind enum users = yes<br />
winbind enum groups = yes<br />
template shell = /bin/bash<br />
</code></p>
<p>Il suffit maintenant de (re)démarrer winbind et de modifier /etc/nsswitch.conf:</p>
<p><code>/etc/init.d/winbind restart</code></p>
<p><code>passwd:   compat winbind<br />
group:    compat winbind<br />
</code></p>
<p>On peut maintenant joindre la machine au domaine:</p>
<p><code>net join -U Administrateur -S dc01.moules.frites.be</code></p>
<p>Remarque: Il faut que les 2 machines aient un décalage inférieur à 5 minutes, dans le cas d&#8217;une machine<br />
virtuelle (domU) c&#8217;est le dom0 qui doit être synchro avec le contrôleur de domaine. Installer ntpdate et synchroniser le dom0 avec le contrôleur:</p>
<p><code>ntpdate 192.168.1.1</code></p>
<p><strong>Pure-ftp + pam_mkhomedir</strong></p>
<p>Installer pure-ftpd:</p>
<p><code>apt-get install pure-ftpd</code></p>
<p>Il faut modifier le fichier /etc/pam.d/pureftpd pour que les &#8220;home dirs&#8221; soient créés lorsque l&#8217;utilisateur se connecte pour le première fois:</p>
<p><code># allow anonymous users<br />
auth    sufficient      pam_ftp.so<br />
auth	sufficient	pam_winbind.so<br />
auth    required        pam_unix_auth.so shadow use_first_pass<br />
# /etc/ftpusers contain user list with DENIED access<br />
auth    required        pam_listfile.so item=user sense=deny<br />
file=/etc/ftpusers onerr=succeed<br clear="none" /><br />
# Uncomment next line to allow non-anonymous ftp access ONLY for<br />
users,<br />
# listed in /etc/ftpallow<br />
#auth    required        pam_listfile.so item=user sense=allow<br />
file=/etc/ftpallow onerr=fail<br clear="none" /><br />
# standard<br />
auth    required        pam_shells.so<br />
account sufficient      pam_winbind.so<br />
account required        pam_unix.so<br />
session required        pam_unix.so<br />
session required        pam_mkhomedir.so skel=/etc/skel/ umask=0077</code><br />
</code></p>
<p>Erreur rencontrée après une coupure de courant:</p>
<p><code><br />
Sep 23 13:24:44 pure-ftp winbindd[25663]: [2008/09/23 13:24:44, 0] tdb/tdbutil.c:tdb_log(783)<br />
Sep 23 13:24:44 pure-ftp winbindd[25663]:   tdb(/var/lib/samba/winbindd_idmap.tdb): rec_free_read bad magic 0x42424242 at offset=112268<br />
</code></p>
<p>Le fichier winbindd_idmap.tdb était corrompu, il suffit de le supprimer pour qu'il soit regénéré convenablement.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.404blog.net/?feed=rss2&amp;p=34</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Première application en Rails</title>
		<link>http://www.404blog.net/?p=31</link>
		<comments>http://www.404blog.net/?p=31#comments</comments>
		<pubDate>Sun, 14 Sep 2008 09:26:18 +0000</pubDate>
		<dc:creator>seynhaeve</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://www.404blog.net/?p=31</guid>
		<description><![CDATA[Créer la base de donnée:
mysql> create database first;
Créer la structure de l&#8217;application:
ruby:~# rails first
Se rendre dans le dossier créé et éditer le fichier de configuration de la base de données:
ruby:~/first# vi config/database.yml
Editer le fichier pour avoir ceci:
development:
  adapter: mysql
  database: first
  username: root
  password:
  host: localhost
Générer le modèle qui va [...]]]></description>
			<content:encoded><![CDATA[<p>Créer la base de donnée:</p>
<p><code>mysql> create database first;</code></p>
<p>Créer la structure de l&#8217;application:</p>
<p><code>ruby:~# rails first</code></p>
<p>Se rendre dans le dossier créé et éditer le fichier de configuration de la base de données:</p>
<p><code>ruby:~/first# vi config/database.yml</code></p>
<p>Editer le fichier pour avoir ceci:</p>
<p><code>development:<br />
  adapter: mysql<br />
  database: first<br />
  username: root<br />
  password:<br />
  host: localhost</code></p>
<p>Générer le modèle qui va nous permettre de créer le schema de notre base de données sans notions Sql:</p>
<p><code>ruby:~/first# ruby script/generate model first</code></p>
<p>Ajouter les différents champs dans notre schema:</p>
<p><code>ruby:~/first# vi db/migrate/001_create_firsts.rb</code></p>
<p>Je rajoute 3 champs dans notre db:</p>
<p><code>class CreateFirsts < ActiveRecord::Migration<br />
  def self.up<br />
    create_table :firsts do |t|<br />
       t.column :nom, :string<br />
       t.column :prenom, :string<br />
       t.column :age, :integer<br />
    end<br />
  end<br />
  def self.down<br />
    drop_table :firsts<br />
  end<br />
end<br />
</code></p>
<p>On crée les différents champs de notre db:</p>
<p><code>ruby:~/first# rake db:migrate</code></p>
<p>Il ne reste plus qu'à générer le scaffold et à démarrer le serveur:</p>
<p><code>ruby:~/first# ruby script/generate scaffold first</code></p>
<p><code>ruby:~/first# ruby script/server -p 80 -b 0.0.0.0</code></p>
<p>Rendez-vous sur le http://ip_server/firsts pour tester votre première application <img src='http://www.404blog.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.404blog.net/?feed=rss2&amp;p=31</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation Ruby on Rails</title>
		<link>http://www.404blog.net/?p=30</link>
		<comments>http://www.404blog.net/?p=30#comments</comments>
		<pubDate>Sun, 14 Sep 2008 09:02:53 +0000</pubDate>
		<dc:creator>seynhaeve</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://www.404blog.net/?p=30</guid>
		<description><![CDATA[Il suffit d&#8217;installer les 3 paquets suivants:
apt-get install rubygems rails mysql-server
gem install rails -y
]]></description>
			<content:encoded><![CDATA[<p>Il suffit d&#8217;installer les 3 paquets suivants:</p>
<p><code>apt-get install rubygems rails mysql-server</code></p>
<p><code>gem install rails -y</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.404blog.net/?feed=rss2&amp;p=30</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>postgreSQL 8.3 sous Debian etch</title>
		<link>http://www.404blog.net/?p=25</link>
		<comments>http://www.404blog.net/?p=25#comments</comments>
		<pubDate>Tue, 20 May 2008 14:37:30 +0000</pubDate>
		<dc:creator>guiguidoc</dc:creator>
				<category><![CDATA[Debian]]></category>

		<guid isPermaLink="false">http://www.404blog.net/?p=25</guid>
		<description><![CDATA[Il faut ajouter les backports dans le source.list
# nano /etc/apt/sources.list
Ajouter ceci dans le fichier :
deb http://www.backports.org/debian etch-backports main
Installer le paquet :
# apt-get install -t etch-backports postgresql postgresql-client 
# apt-get install postgresql-contrib -t etch-backports
# nano /etc/postgresql/8.3/main/pg_hba.conf

local   all         postgres         [...]]]></description>
			<content:encoded><![CDATA[<p>Il faut ajouter les backports dans le source.list</p>
<p><code># nano /etc/apt/sources.list</code></p>
<p>Ajouter ceci dans le fichier :</p>
<p><code>deb http://www.backports.org/debian etch-backports main</code></p>
<p>Installer le paquet :</p>
<p><code># apt-get install -t etch-backports postgresql postgresql-client </code></p>
<p><code># apt-get install postgresql-contrib -t etch-backports</code></p>
<p><code># nano /etc/postgresql/8.3/main/pg_hba.conf</code></p>
<p><code><br />
local   all         postgres                          ident sameuser<br />
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD<br />
# "local" is for Unix domain socket connections only<br />
local   all         all                               md5<br />
# IPv4 local connections:<br />
host    all         all         127.0.0.1/32          md5<br />
# IPv6 local connections:<br />
host    all         all         ::1/128               md5<br />
</code></p>
<p><code>postgres=# alter user postgres with password 'XXXX';</code></p>
<p><code>psql -d postgres &lt; /usr/share/postgresql/8.3/contrib/adminpack.sql (pgadmin function)</code></p>
<p><code>#nano /etc/postgresql/8.3/main/pg_hba.conf</code></p>
<p><code>#nano /etc/postgresql/8.3/main/postgresql.conf</code></p>
<p><code>listen_addresses = '*'</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.404blog.net/?feed=rss2&amp;p=25</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Créer un miroir local avec apt-mirror</title>
		<link>http://www.404blog.net/?p=28</link>
		<comments>http://www.404blog.net/?p=28#comments</comments>
		<pubDate>Tue, 18 Mar 2008 10:31:06 +0000</pubDate>
		<dc:creator>seynhaeve</dc:creator>
				<category><![CDATA[Debian]]></category>

		<guid isPermaLink="false">http://www.404blog.net/?p=28</guid>
		<description><![CDATA[Installer apt-mirror:
debian-mirror3:~# apt-get install apt-mirror
Créer le répertoire ainsi que les sous-répertoires qui contiendront le miroir:
debian-mirror3:~# mkdir -p /media/usb/miroir/{mirror,skel,var}
Créer le fichier de configuration de apt-mirror:
debian-mirror3:~# cat apt-config
set base_path /media/usb/miroir
set mirror_path  $base_path/mirror
set skel_path    $base_path/skel
set var_path     $base_path/var
set cleanscript $var_path/clean.sh
set defaultarch i386
set nthreads     4
set tilde 0
deb  [...]]]></description>
			<content:encoded><![CDATA[<p>Installer apt-mirror:</p>
<p><code>debian-mirror3:~# apt-get install apt-mirror</code></p>
<p>Créer le répertoire ainsi que les sous-répertoires qui contiendront le miroir:</p>
<p><code>debian-mirror3:~# mkdir -p /media/usb/miroir/{mirror,skel,var}</code></p>
<p>Créer le fichier de configuration de apt-mirror:</p>
<p><code>debian-mirror3:~# cat apt-config<br />
set base_path /media/usb/miroir<br />
set mirror_path  $base_path/mirror<br />
set skel_path    $base_path/skel<br />
set var_path     $base_path/var<br />
set cleanscript $var_path/clean.sh<br />
set defaultarch i386<br />
set nthreads     4<br />
set tilde 0<br clear="none" /><br />
deb     http://ftp.belnet.be/debian     etch main contrib non-free<br />
deb-src http://ftp.belnet.be/debian     etch main contrib non-free<br clear="none" /><br />
#<br />
#  Security updates<br />
#<br />
deb     http://security.debian.org/ stable/updates  main contrib non-free<br />
deb-src http://security.debian.org/ stable/updates  main contrib non-free<br clear="none" /><br />
clean http://fpt.belnet.be/debian</code></p>
<p>Lancer la commande apt-mirror pour récupérer tout le miroir avec le fichier de conf ci-dessus:</p>
<p><code>debian-mirror3:~# apt-mirror apt-config </code></p>
<p>Une fois que tout le miroir est téléchargé il suffit de modifier le fichier /etc/apt/sources.list pour installer les paquets à partir du miroir local:</p>
<p><code>debian-mirror3:~# cat /etc/apt/sources.list<br clear="none" /><br />
deb file:/media/usb/miroir/mirror/ftp.belnet.be/debian etch main contrib non-free<br clear="none" /><br />
deb file:/media/usb/miroir/mirror/security.debian.org stable/updates main contrib non-free</code></p>
<p>Pour mettre à jour le miroir il suffit de lancer la même commande que pour le téléchargement du miroir:</p>
<p><code>debian-mirror3:~# apt-mirror apt-config </code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.404blog.net/?feed=rss2&amp;p=28</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation d&#8217;OCS Inventory</title>
		<link>http://www.404blog.net/?p=27</link>
		<comments>http://www.404blog.net/?p=27#comments</comments>
		<pubDate>Thu, 06 Mar 2008 11:11:13 +0000</pubDate>
		<dc:creator>seynhaeve</dc:creator>
				<category><![CDATA[Debian]]></category>

		<guid isPermaLink="false">http://www.404blog.net/?p=27</guid>
		<description><![CDATA[Installez les paquets suivants sur le serveur:
apt-get install apache2
apt-get install mysql-server-5.0
apt-get install php5
apt-get install php5-mysql
apt-get install make
apt-get install libapache2-mod-perl2
apt-get install libapache-dbi-perl
apt-get install libcompress-zlib-perl
apt-get install libxml-simple-perl
apt-get install libnet-ip-perl
apt-get install libsoap-lite-perl

Décompressez l&#8217;archive récupérée sur le site d&#8217;OCS:
gestion:/var/www# tar -xvzf OCSNG_LINUX_SERVER_1.01.tar.gz
Lancez le setup.sh qui se trouve dans le dossier:
gestion3:/var/www# cd OCSNG_LINUX_SERVER_1.01; ./setup.sh
Il ne reste plus qu&#8217;à créer le [...]]]></description>
			<content:encoded><![CDATA[<p>Installez les paquets suivants sur le serveur:</p>
<p><code>apt-get install apache2<br />
apt-get install mysql-server-5.0<br />
apt-get install php5<br />
apt-get install php5-mysql<br />
apt-get install make<br />
apt-get install libapache2-mod-perl2<br />
apt-get install libapache-dbi-perl<br />
apt-get install libcompress-zlib-perl<br />
apt-get install libxml-simple-perl<br />
apt-get install libnet-ip-perl<br />
apt-get install libsoap-lite-perl<br />
</code></p>
<p>Décompressez l&#8217;archive récupérée sur le site d&#8217;OCS:</p>
<p><code>gestion:/var/www# tar -xvzf OCSNG_LINUX_SERVER_1.01.tar.gz</code></p>
<p>Lancez le setup.sh qui se trouve dans le dossier:</p>
<p><code>gestion3:/var/www# cd OCSNG_LINUX_SERVER_1.01; ./setup.sh</code></p>
<p>Il ne reste plus qu&#8217;à créer le fichier du site ocs:</p>
<p><code>gestion3:/var/www# cd /etc/apache2/sites-available/; cp default ocs</code></p>
<p>Modifiez les lignes suivantes dans le fichier ocs:</p>
<p><code>NameVirtualHost *:80<br />
&lt;VirtualHost *:80&gt;<br />
ServerAdmin webmaster@localhost<br />
ServerName ocs.test.be<br />
ServerAlias ocs<br />
DocumentRoot /var/www/ocsreports/<br />
</code></p>
<p>Commentez la ligne suivante:</p>
<p><code>#RedirectMatch ^/$ /apache2-default/</code></p>
<p>Il ne reste plus qu&#8217;à redémarrer apache2 et faire pointer votre browser vers http://ocs</p>
]]></content:encoded>
			<wfw:commentRss>http://www.404blog.net/?feed=rss2&amp;p=27</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
