L ES S ERVEUR S

Vous trouverez ici des informations concernant l'installation et la maintenance de serveurs.

Authentification • Configurer un serveur NIS puis un client : http://doc.ubuntu-fr.org/serveur/nis • Joindre une machine Ubuntu à un domaine Active Directory : http://doc.ubuntu-fr.org/tutoriel/comment_ajouter_machine_ubuntu_dans_domaine_active_directory • Configurer un service d'annuaire avec OPenLDAP : http://doc.ubuntu-fr.org/slapd

Bases de données • Installation de MySQL. : http://doc.ubuntu-fr.org/mysql • Installation de l'extension PHP OCI8 (connexion à Oracle) : http://doc.ubuntu-fr.org/oci8 • Installation de PostgreSQL : http://doc.ubuntu-fr.org/postgresql • Installation d’Oracle 10 : http://doc.ubuntu-fr.org/oracle_10 • Outils pour MySQL autre que Phpmyadmin. : http://doc.ubuntu-fr.org/mysql_outils

Connexions distantes • SSH ; client et serveur : http://doc.ubuntu-fr.org/ssh • Comment utiliser un seul clavier et une seule souris pour plusieurs machines d’un réseau ? (machines MacOs, Ubuntu, Windows,...) avec l’application Synergy : http://doc.ubuntu-fr.org/synergy • Support sur LTSP (Linux Terminal Server Project) : http://doc.ubuntu-fr.org/serveur/ltsp • Webmin (ou Webadmin), un panneau d'administration de son serveur en interface web : http://doc.ubuntu-fr.org/webmin

DHCP • Installer et configurer un serveur DHCP DHCP3-SERVER de l'ISC : http://doc.ubuntu-fr.org/dhcp3-server

DNS • Installer et configurer un serveur DNS BIND : http://doc.ubuntu-fr.org/bind9

FTP et SFTP • Installation d'un serveur FTP Pure-FTP : http://doc.ubuntu-fr.org/pure-ftp • Installer un serveur ftp (ProFTPd) : http://doc.ubuntu-fr.org/proftpd • Gérer les utilisateurs et les quotas via ProFTPd et MySQL : http://doc.ubuntu-fr.org/proftpd_et_mysql • Monter un serveur ftp sécurisé et simple d'emploi avec VSFTPd : http://doc.ubuntu-fr.org/vsftpd • Installer un serveur Secure File Transfert Protocol : http://doc.ubuntu-fr.org/serveur/mysecureshell_sftp-server • Gérer ses utilisateurs FTP via MySQL : http://doc.ubuntu-fr.org/serveur/vsftpd_et_pam_mysql

Haute disponibilité • Faire du RAID-1 à travers un réseau avec DRBD : http://doc.ubuntu-fr.org/drbd • Comment assurer la disponibilité d'un service dans un cluster : http://doc.ubuntu-fr.org/heartbeat • Configurer Samba et Heartbeat pour avoir un serveur de fichiers à haute disponibilité : http://doc.ubuntu- fr.org/tutoriel/comment_configurer_samba_et_heartbeat • Nagios, le moniteur de supervision : installation et configuration : http://doc.ubuntu-fr.org/nagios • Cacti, Supervision basé sur RRDtool permettant de surveiller l’activité de son architecture informatique à partir de graphiques : http://doc.ubuntu- fr.org/cacti • Ntop est un outil de supervision réseau simple : http://doc.ubuntu-fr.org/ntop • Supervision de périphériques réseaux avec SNMP : http://doc.ubuntu-fr.org/serveur/snmp • Un autre outil de supervision très léger et extrêmement puissant : http://doc.ubuntu-fr.org/munin • Gestion d'alertes et reprises en cas de panne : http://doc.ubuntu-fr.org/monit

Courrier électronique • Tout ce qu'il faut savoir avant d'installer un serveur mail : http://doc.ubuntu-fr.org/base_mail

• Comment installer et gérer les listes de diffusions avec Mailman : http://doc.ubuntu-fr.org/serveur/mailman

• Installer un serveur de courriers à la maison pour toute la famille : http://doc.ubuntu-fr.org/serveur/webmail

• Comment installer un serveur de mail simple complet : http://doc.ubuntu-fr.org/serveur/mail

• Installer et configurer un serveur POP, courrier-pop, dovecot : http://doc.ubuntu-fr.org/pop

© Vincent-Pierre Cointault Page 1 sur 34 Version 2007 • Installer et configurer un relais POP, IMAP avec perdition : http://doc.ubuntu-fr.org/perdition

• Installer et configurer un outil de filtrage, Procmail : http://doc.ubuntu-fr.org/tri_des_mails

• Installer et configurer un filtre anti-spam, Spamassassin : http://doc.ubuntu-fr.org/filtrage_du_spam

• Configurer Postfix en site satellite (smart host), pour un envoi simple des mails du système vers le SMTP de son FAI : http://doc.ubuntu- fr.org/serveur/postfix_satellite • Configurer Postfix avec le support de MySQL pour une utilisation multi-domaine/utilisateurs (Postfix + MySQL + TLS + SASL) : http://doc.ubuntu-fr.org/serveur/postfix_mysql_tls_sasl • C onfigurer fetchmail, procmail, postfix, mutt et thunderbird pour recevoir lire et envoyer des mails : http://doc.ubuntu- fr.org/installer_un_serveur_de_mail • Installer un serveur de mail (IMAP, Postfix, procmail, trashcan) : http://doc.ubuntu-fr.org/installer_un_serveur_mail_imap

Sauvegardes • Mettre en place un serveur de synchronisation avec rsync : http://doc.ubuntu-fr.org/rsync • Sauvegarder et restaurer les paquets installés sur une machine : http://doc.ubuntu-fr.org/tutoriel/comment_sauver_et_restaurer_la_liste_des_paquets • Effectuer des sauvegardes sur bandes magnétiques simplement : http://doc.ubuntu-fr.org/dump • Effectuer des sauvegardes incrémentales en local pouvant être exportés sur serveur distant (FTP,SSH,RSYNC,...) : http://doc.ubuntu-fr.org/backup- manager • Effectuer simplement des sauvegardes incrémentales : http://doc.ubuntu-fr.org/rdiff-backup • Disposer d'un serveur de secours en état de marche, caché derrière un poste de travail : http://doc.ubuntu-fr.org/serveur-miroir_local

Sécurité • Netfilter & Iptables : http://doc.ubuntu-fr.org/iptables • Installation du client OpenVPN (tunneling sécurisé sur IP) : http://doc.ubuntu-fr.org/openvpn • Que faire lorsqu'on soupçonne un serveur d'être compromis ? http://doc.ubuntu-fr.org/tutoriel/que_faire_en_cas_de_serveur_compromis • Syslog-ng pour centraliser les logs de son réseau : http://doc.ubuntu-fr.org/syslog-ng

Statistiques • Générer des statistiques de fréquentation, pour son serveur web, ftp, mail, etc. : http://doc.ubuntu-fr.org/awstats

TFTP • Installer et configurer un serveur TFTP TFTP-HPA : http://doc.ubuntu-fr.org/netboot • Installer et configurer simplement un serveur TFTPd : http://doc.ubuntu-fr.org/tftpd

VNC • Serveur VNC de ubuntu (gnome) et partager son bureau (graphiquement Krfb) : http://doc.ubuntu-fr.org/vnc

Internet/Intranet • Installer un serveur LAMP (Linux + Apache2 + MySQL5 + PHP5) : http://doc.ubuntu-fr.org/lamp • Installer un système XAMPP sous Ubuntu : http://doc.ubuntu-fr.org/xampp • Un serveur proxy léger : http://doc.ubuntu-fr.org/serveur/tinyproxy • Surfer anonymement sur le net : http://doc.ubuntu-fr.org/privoxy • Installer un système Zope / Plone : http://doc.ubuntu-fr.org/serveur/plone • Installer un serveur Zope : http://doc.ubuntu-fr.org/serveur/zope • Installer un serveur MapServer : http://doc.ubuntu-fr.org/mapserver • Installer Trac et Subversion : http://doc.ubuntu-fr.org/trac • Installer un serveur Tomcat : http://doc.ubuntu-fr.org/tomcat • Installer un Wiki sur un serveur LAMP : http://doc.ubuntu-fr.org/serveur/mediawiki • Rediriger le flux "live" d'une webcam vers un serveur Apache : http://doc.ubuntu-fr.org/w3cam

Divers • Démon pour la lecture de fichier audio en architecture client-serveur : http://doc.ubuntu-fr.org/mpd • Installer un serveur CVS : http://doc.ubuntu-fr.org/cvs_server • Installer et configurer un serveur sur une IP dynamique : http://doc.ubuntu-fr.org/serveur/dns_dynamique • VLC, le client mais aussi le serveur de streaming vidéo : http://doc.ubuntu-fr.org/vlc • La charge d'une machine sous Ubuntu (ou les secrets du load average) : http://doc.ubuntu-fr.org/loadaverage • Zebra, un logiciel de routage de paquets : http://doc.ubuntu-fr.org/serveur/zebra • Monter un serveur de téléchargement mldonkey : http://doc.ubuntu-fr.org/serveur/serveur_de_telechargement_mldonkey • Monter son propre dépôt Ubuntu : http://doc.ubuntu-fr.org/creer_un_depot_ubuntu

© Vincent-Pierre Cointault Page 2 sur 34 Version 2007 Serveurs Linux

Installation & Configuration Serveur Ubuntu

Le but de ce document est d'installer un serveur de façon rapide. La plupart des étapes ne sont pas développées. Si vous souhaitez plus d'informations, il est possible de se référer aux pages correspondantes dans la documentation du site : http://doc.ubuntu- fr.org/ .

Il est fascinant de découvrir la puissance de certains logiciels fournis par la distribution Ubuntu. L'installation d'un serveur n'a jamais été aussi simple, rapide et puissante, la configuration par défaut est la plupart du temps suffisante.

Ce document devrait vous permettre de découvrir la puissance de la distribution Ubuntu dans la configuration d'un serveur. Il est destiné à éveiller votre curiosité dans ce domaine. Si vous avez le moindre problème dans la configuration d'un logiciel, n'hésitez pas à vous référer à la page correspondante sur le site cité ci-dessus. Pré-requis

• Bases de l'utilisation de Linux (ligne de commande) • Connaître les bases de l'administration d'un réseau • Avoir déjà utilisé et configuré les logiciels installés • Avoir déjà configuré un serveur • Préparez matériellement votre serveur : je vous conseille de le mettre dans sa configuration normale (c'est-à-dire avec les deux cartes réseaux) car la détection automatique de l'installateur vous sera très utile. Préparation de l'installation

1. Téléchargez la version serveur d’Ubuntu correspondant à votre architecture 2. Gravez-la 3. Démarrez l'installation

Sauvegarde d'un ancien serveur

Voici les fichiers et répertoires de configuration à sauvegarder : 1. /etc/dhcpd.conf 2. /etc/bind/named.conf 3. /var/cache/bind/ 4. /etc//firehol.conf 5. /etc/apache2/sites-available/ N'oubliez pas de jeter un coup d'oeil dans votre /home.

© Vincent-Pierre Cointault Page 3 sur 34 Version 2007 Serveurs Linux

Installation

1. Suivez les instructions, les points importants sont détaillés ci-après.

Cartes réseaux

Connectez l'une de ces cartes à votre modem ADSL. Choisissez l'une des cartes (eth0 ou eth1 la plupart du temps), si la configuration automatique avec DHCP échoue, revenez en arrière et choisissez l'autre carte.

Partitionnement

Choisissez le partitionnement manuel. En effet il vaut mieux utiliser plusieurs partitions pour sécuriser votre système ; en effet la plus utilisée (/home) ne doit pas compromettre la plus importante (/boot).

Swap

• Taille : deux fois la taille de votre Ram si elle est strictement inférieure à 1 Go • Type : primaire • Emplacement : début • Utiliser comme : espace d'échange (swap)

''/boot''

• Taille : 100 MB • Type : primaire • Utiliser comme : ext2 (nous utilisons ce système de fichier car de cette façon nous sommes certains que cette partition sera lisible avec la plupart des noyaux) • Point de montage : /boot

''/'' (root)

• Type : primaire

• Point de montage : /

''/home''

• Type : primaire • Point de montage : /home

Mot de passe

 Choisissez un mot de passe très simple lors de l'installation (trois fois la même lettre par exemple), et changez-le dès le redémarrage. En effet, il se peut que vous vous soyez trompé dans le choix du clavier...

Fin de l'installation

N'installez aucun autre logiciel, nous le ferons ensuite. Redémarrez le serveur.

© Vincent-Pierre Cointault Page 4 sur 34 Version 2007 Serveurs Linux

Configuration

Après le redémarrage, ifconfig montre que vous n'avez qu'une seul interface configurée.  Si vous avez choisi lors de l'installation un mot de passe trop simple, changez-le maintenant.

Fichier ''/etc/apt/sources.list''

Rajoutez un # devant la ligne commençant par deb cdrom. Cela vous permettra d'installer directement à partir d'Internet.

Fichier ''/etc/network/interfaces''

Rajoutez ceci pour créer l'adresse sur le réseau. Il est possible que ce soit la carte eth1. Attention, ses valeurs peuvent changer suivant votre configuration réseau. auto eth1 iface eth1 inet static name LAN address 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 network 192.168.1.0 gateway 192.168.1.1 auto eth0 iface eth0 inet dhcp

Editeur de texte sudo aptitude update sudo aptitude upgrade sudo aptitude install w3m vimhelp-fr vim

Configuration de VI

Activez la coloration syntaxique dans vim en éditant le fichier /etc/vim/vimrc et jetez un coup d'oeil aux autres options qui peuvent vous intéresser.

Serveur Dhcpd sudo aptitude install dhcpd

''/etc/default/dhcp''

Ne vous trompez pas dans l'interface ! INTERFACES="eth1"

''/etc/dhcpd.conf'' option domain-name "OSR2K"; # Mettez ici l'adresse de votre serveur, où celles fournies par votre FAI # qui se trouvent dans le fichier /etc/resolv.conf option domain-name-servers VOS_SERVEURS_DNS; option routers 192.168.1.1; subnet 192.168.1.0 netmask 255.255.255.0 { authoritative; range 192.168.1.20 192.168.1.254; option broadcast-address 192.168.1.255; }

# Pour des adresses particulières de certaines cartes réseau. Ceci n'est pas obligatoire. host { hardware ethernet ADRESSE_MAC_DE_LA_CARTE; fixed-address 192.168.1.2; }

© Vincent-Pierre Cointault Page 5 sur 34 Version 2007 Serveurs Linux Serveur ssh

Le temps est venu d'installer le serveur ssh, en effet la taille des fichiers de configuration est plus importante à partir de maintenant, et une installation à partir d'un autre ordinateur est plus efficiente. Un petit redémarrage semble utile ici (de plus, cela permet de régler en amont certains problèmes qui peuvent apparaître). aptitude install openssh-server

Fichier /etc/ssh/sshd_config

Les lignes suivantes ne sont pas dans l'ordre. Modifiez les lignes correspondantes du fichier. # Nous n'utiliserons pas le port 22 # Port XXXXX -> Choisir un port particulier comme : 8888 Port 8888

# Temps réduit pour se logger LoginGraceTime 30

# Le root n'est pas autorisé à se logger PermitRootLogin no

X11Forwarding no

# La première partie de la ligne limite l'accès externe à un seul utilisateur # La seconde partie accorde l'accès à tous les autres utilisateurs en local AllowUsers VOTRE_UTILISATEUR@* *@192.168.1.*

Test de la configuration

/etc/init.d/ssh restart  N'oubliez pas que désormais le port n'est plus 22. ssh votre_adresse_ip -p 8888

Rajoutez ceci dans /etc/bashrc : alias ssh_VOTRE_NOM_DHOTE='ssh 192.168.1.1 -p 8888'

Serveur Dns (bind) aptitude install bind9

Fichier ''/etc/bind/named.conf.options''

Si vous souhaitez faire de votre serveur un forwarder DNS pour tout votre réseau (vous trouverez les adresses IP des serveurs DNS de votre FAI dans le fichier /etc/resolv.conf) :

orwarders { X.XXX.XXX.XXX; X.XXX.XXX.XXX; };

Fichier ''/etc/bind/named.conf.local''

Rajoutez les options correspondant à votre zone : zone "d3in.org" { type master; file "d3in.org.zone"; allow-transfer { // twisted4life 202.157.182.142; // gandi 217.70.177.40; }; };

© Vincent-Pierre Cointault Page 6 sur 34 Version 2007 Serveurs Linux

Fichier ''/var/cache/bind/d3in.org.zone''

; Fichier de zone "type" pour le domaine "d3in.org" ; Formation Debian GNU/Linux par Alexis de Lattre ; http://www.via.ecp.fr/~alexis/formation-linux/

; Utiliser la commande ; "named-checkzone d3in.org /var/cache/bind/d3in.org.zone" ; pour vérifier la validité du fichier de zone.

; Utiliser la commande "named-checkconf" pour vérifier la validité du fichier ; de configuration /etc/bind/named.conf

; ATTENTION : ne pas oublier de mettre à jour le "serial" à chaque ; modification des enregistrements de ce fichier.

; ATTENTION : dans les fichiers de zone, les noms DNS complets doivent se ; terminer par des points (par exemple "master.d3in.org.")

$TTL 3D

@ IN SOA www.d3in.org. root.ns.d3in.org. ( 2007060101 ; serial (aaaammddrr) 8H 2H 4W 1D ) d3in.org. IN TXT "v=spf1 a mx include:free.fr ~all" www.d3in.org. IN TXT "v=spf1 a -all" d3in.org. IN NS www.d3in.org. d3in.org. IN NS ns6.gandi.net. d3in.org. IN MX 1 www.d3in.org. d3in.org. IN MX 10 mail.rollernet.us. d3in.org. IN MX 10 mail2.rollernet.us.

@ IN A 82.235.70.120 www IN A 82.235.70.120 imap CNAME d3in.org. smtp CNAME d3in.org. ca CNAME d3in.org.

 N'oubliez pas de changer le serial après chaque modification (c'est un numéro qui permet aux autres serveurs de savoir si vous avez changé les définitions de noms - 2007060101 dans notre exemple. Reportez-vous à la documentation de Bind pour de plus amples informations.).  Les noms de domaines doivent terminer par un point.

Test

/etc/init.d/bind9 restart

Utilisez la commande named-checkzone d3in.org /var/cache/bind/d3in.org.zone pour vérifier la validité du fichier de zone. Utilisez la commande named-checkconf pour vérifier la validité du fichier de configuration /etc/bind/named.conf.

Firewall (firehol) sudo aptitude install firehol

Si jamais à ce stade vous avez besoin d'Internet : echo 1 > /proc/sys/net/ipv4/ip_forward && iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE

''/etc/default/firehol''

Remplacez NO par YES.

© Vincent-Pierre Cointault Page 7 sur 34 Version 2007 Serveurs Linux

''/etc/firehol/firehol.conf'' version 5

# Mettez ici le port utilisé pour SSHD server_ssh1_ports="tcp/8888" client_ssh1_ports="default" interface eth1 home policy accept interface eth0 internet protection strong # Serveurs auxquels on peut acceder depuis Internet server "imap imaps smtp http ftp ssh1 dns" accept # Sorties autorisees a partir du serveur client " http https ftp smtp smtps ssh dns ping rsync ntp" accept router home2internet inface eth0 outface eth1 route "ftp jabber telnet rtsp time cups ping pop3 pop3s dhcp dns http https rsync rtp icmp imap imaps nntp ntp smtp smtps ssh squid sip" accept masquerade

Test

/etc/init.d/firehol restart

Trouvez un zonecheck sur Internet et vérifiez que votre serveur Dns est accessible de l'extérieur. Téléchargez vos mails, envoyez un mail, naviguez sur Internet pour vérifier que tout fonctionne.

Allez sur l'un de ces sites pour vérifier que votre réseau est bien sécurisé : http://www.auditmypc.com/firewall-test.asp

Proxy (tinyproxy) sudo aptitude install tinyproxy

''/etc/tinyproxy/tinyproxy.conf ''

Au début du fichier :

# # Port to listen on. # Port 3128

# # If you have multiple interfaces this allows you to bind to only one. If # this is commented out, tinyproxy will bind to all interfaces present. # #Listen 192.168.1.1

Test du proxy http

/etc/init.d/tinyproxy restart

Modifier les options de votre navigateur pour utiliser comme proxy 192.168.0.1, avec comme port : 3128.

© Vincent-Pierre Cointault Page 8 sur 34 Version 2007 Serveurs Linux

Filtrage (dansguardian) sudo aptitude install dansguardian

''/etc/dansguardian/dansguardian.conf''

Supprimez la ligne commençant par UNCONFIGURED.

Changez les lignes suivantes : language = 'french' filterip = proxyport = 3128 virusscan = off

''/etc/dansguardian/dansguardianf1.conf''

# Mettre le nombre quye vous voulez, pourquoi pas 300 ? naughtynesslimit = 300

Autres fichiers

• /etc/dansguardian/bannedextensionlist • /etc/dansguardian/exceptionsitelist

Installation des blacklists cd /etc/dansguardian/ wget ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz tar xzf blacklists.tar.gz cd blacklists

Nous supprimons tous les liens : find ./ -type l -exec rm -i "{}" ';'

''bannedsitelist''

.Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include

© Vincent-Pierre Cointault Page 9 sur 34 Version 2007 Serveurs Linux

.Include .Include .Include .Include .Include

''bannedurllist''

.Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include .Include

Test

/etc/init.d/dansguardian restart

Soyez patient, allez par exemple boire un café.

Proxy transparent

Pour l'instant, dansguardian n'est pas utilisé parce que les connections sont directes (sauf si vous précisez le contraire dans la configuration de votre navigateur en utilisant 192.168.0.1 comme proxy, avec comme port 8080). D'autre part, il est possible de passer directement par Squid, de cette manière on outrepasse la protection (en modifiant la configuration du navigateur pour utiliser le port 3128, utilisé par Squid).

Rajoutez les lignes suivantes dans votre /etc/firehol/firehol.conf : iptables -t filter -I OUTPUT -d 127.0.0.1 -p tcp --dport 3128 -m owner ! --uid-owner dansguardian -j DROP transparent_squid 8080 "nobody root"

© Vincent-Pierre Cointault Page 10 sur 34 Version 2007 Serveurs Linux

Serveur Web (Apache) - Mysql - Php - Mod_python sudo apt-get install apache2 libapache2-mod-php5 phpmyadmin libapache2-mod-python mysql-server-5.0 apache2- utils

''/etc/apache2/sites-available/default''

Modifiez la première ligne :

NameVirtualHost *:80

Et les lignes suivantes : ServerName d3in.org ServerAdmin [email protected]

Test

N'oubliez pas de créer votre mot de passe pour le root mysql (différent du root système) : sudo mysqladmin -u root password "votre_mot_de_passe_root_mysql" ; # Par exemple rootmysql /etc/init.d/apache2 restart

Rendez-vous sur votre serveur. Vous devriez voir une liste de fichier. Cliquez sur phpmyadmin. Si PHP a été correctement installé, vous ne verrez aucune erreur.

Installation de Django

Django est un framework python : http://www.djangoproject.com/ sudo apt-get install python-pysqlite2 python-mysqldb subversion cd mkdir src && cd src svn co http://code.djangoproject.com/svn/django/trunk/ cd trunk sudo python setup.py install

''/etc/apache2/sites-available/VOTRE_NOM_DE_DOMAINE''

Consultez la documentation de Django pour plus d'information.

ServerName NOM_DE_DOMAINE ServerAlias AUTRE_NOM

SetHandler mod_python PythonInterpreter VOTRE_INTERPRETER PythonHandler django.core.handlers.modpython PythonPath "['/var/django'] + sys.path" SetEnv DJANGO_SETTINGS_MODULE ca.settings PythonDebug Off

Alias /media /var/django/ca/media SetHandler None

ErrorLog /var/log/apache2/error.log LogLevel warn CustomLog /var/log/apache2/access.log combined

 N'oubliez pas de tester votre installation.

© Vincent-Pierre Cointault Page 11 sur 34 Version 2007 Serveurs Linux

Serveur d'impression (Cups)

 N'oubliez pas d'allumer votre imprimante et de la brancher au serveur… sudo apt-get install hpijs-ppds linuxprinting.org-ppds hpijs cupsys

'' /etc/cups/cupsd.conf''

Modifiez les lignes suivantes :

# Only listen for connections from the local machine. # Listen localhost:631 Port 631

# Show shared printers on the local network. Browsing On

# Restrict access to the admin pages... Order allow,deny Allow localhost Allow @LOCAL

Test

/etc/init.d/cupsys restart

Puis rendez vous à l'adresse suivante : http://192.168.0.1:631/

Serveur Mail

La partie la plus compliquée… sudo apt-get install postfix courier-imap-ssl courier-imap spamassassin procmail mailutils

Lorsque que la question vous sera posée, choisissez l'option "NE RIEN CONFIGURER".

Serveur Smtp (postfix)

Créez un fichier /etc/mailname contenant le nom du réseau (exemple : d3in.org).

''/etc/postfix/main.cf''

# See /usr/share/postfix/main.cf.dist for a commented, mor complete version

# Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. myorigin = /etc/mailname smtpd_banner = $myhostname ESMTP $mail_name biff = no

# appending .domain is the MUA's job. append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h mydestination = www.d3in.org, d3in.org, localhost relayhost = mynetworks = www.d3in.org, d3in.org, 127.0.0.0/8 myhostname = www.d3in.org mydomain = d3in.org masquerade_domains = d3in.org

© Vincent-Pierre Cointault Page 12 sur 34 Version 2007 Serveurs Linux

# Tres important #home_mailbox = Maildir/ #maibox_command = maildrop mailbox_command = procmail -a "$EXTENSION" unkown_local_recipient_reject_code = 550 alias_maps = hash:/etc/aliases mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = ipv4 smtpd_sasl_local_domain = smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination smtpd_tls_auth_only = no smtp_use_tls = yes smtpd_use_tls = yes smtp_tls_note_starttls_offer = yes smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom

MDA (Procmail)

Créez le fichier /etc/skel/.procmailrc avec ce contenu :

MAILDIR=$HOME/Maildir DEFAULT=$MAILDIR/

:0: $DEFAULT

Il faut ensuite créer l'architecture du dossier Maildir : cd /etc/skel maildirmake.courier Maildir && maildirmake.courier Maildir/.Sent && maildirmake.courier Maildir/.Trash && maildirmake.courier Maildir/.Drafts && maildirmake.courier Maildir/.Lists chmod a+xr -R Maildir

Le dossier /etc/skel est un dossier qui sera la base des /home des utilisateurs que vous créerez. Par conséquent, si vous créez d'autres comptes, le contenu de ce dossier sera copié dans le home. Cependant, étant donné que votre existe déjà, il est nécessaire de le copier dans votre home. cp /etc/skel/.procmailrc ~/ cp -R /etc/skel/Maildir ~/

''/etc/aliases''

Rajoutez si vous le souhaitez des alias. N'oubliez pas de faire la commande suivante : postalias /etc/aliases

Test de la configuration Mail

/etc/init.d/postfix restart

Envoyez-vous un mail : ca@www:/etc/skel$ mail ca Cc: Subject: Test Ceci est un test a partir de la console.

© Vincent-Pierre Cointault Page 13 sur 34 Version 2007 Serveurs Linux

. Connectez-vous au serveur Imap en utilisant votre lecteur de mail préféré. Normalement cela devrait fonctionner.

Envoyez un mail vers cette adresse à partir d’une adresse externe ou d'un autre webmail pour vérifier que tout fonctionne.

Sauvegarde (backup-manager) sudo apt-get install backup-manager

Ce programme est très utile, puissant et intuitif. Répondez "ok" et laissez les valeurs par défaut, nous nous attaquerons directement au fichier de configuration.

"/etc/backup-manager.conf"

Voici les lignes à modifier :

# Si vous souhaitez sauvegarder votre base mysql : export BM_ARCHIVE_METHOD="tarball mysql"

# Il vaut mieux enregistrer sur un autre disque dur. export BM_REPOSITORY_ROOT="/var/archives"

# Pour que cela prenne moins de place export BM_TARBALL_FILETYPE="tar.bz2"

# Liste des fichiers à sauvegarder export BM_TARBALL_DIRECTORIES="/etc /home /var/cache/bind/ "

# Fichiers à exclure # On exclut les listes noires de danguardian parce qu'elles prennent # beaucoup de place et qu'elle ne sont pas très utiles export BM_TARBALL_BLACKLIST="/var/archives /etc/dansguardian/blacklists"

# Mot de passe du root mysql export BM_MYSQL_ADMINPASS=""

# Ensuite allez à la section "BM_UPLOAD_SSH" si vous # souhaitez utiliser la méthode d'upload par ssh

# Renseignez notamment l'endroit où se trouve votre clé : export BM_UPLOAD_SSH_KEY="/home/ca/.ssh/id_dsa"

Finalisation de l'installation

Installer des clés SSH

Il peut être utile, notamment si vous utilisez Backup-Manager via SSH, ou si vous souhaitez vous connecter sans taper de mot de passe, d'utiliser les clés. Pour ce faire, générez une clé : ssh-keygen -t dsa

Vous pouvez entrer un mot de passe pour protéger la clé. Celui-ci vous sera demandé à chaque utilisation du fichier.

Puis faîtes : ssh-copy-id -i ~/.ssh/id_dsa.pub login@nom_DNS_du_serveur

Ensuite il suffira de taper cette commande dans tout nouveau shell : ca $ ssh-agent screen ca $ # Appuyer sur "espace" ca $ ssh-add ca $ # entrez si nécessaire le(s) mot(s) de passe de votre (vos) clés

Vous pouvez vous connecter sans taper de mot de passe, tout en utilisant une connexion sécurisée.

Recevoir des rapports

© Vincent-Pierre Cointault Page 14 sur 34 Version 2007 Serveurs Linux sudo apt-get install fwanalog logwatch

Vous n'avez rien d'autre à faire, vous recevrez automatiquement des rapports concernant vos logs.

Vérifier la sécurité de votre système sudo apt-get install chkrootkit

Attention aux « faux positifs ». sudo apt-get install tiger

 N'oubliez pas de redémarrer pour vérifier que tout fonctionne. sudo apt-get install unzip build-essential

© Vincent-Pierre Cointault Page 15 sur 34 Version 2007 Serveurs Linux Création d'un réseau d'entreprise

Si vous désirez monter un réseau d'entreprise de taille raisonnable (disons une 20ène de postes, voire plus via quelques aménagements), que vous désirez y incorporer du Windows pour quelques postes clients et que en plus, vous désirez expérimenter cela dans des machines virtuelles, ce support complet, complexe, pas uniquement réservé pour les gourous mais quand même… est pour vous. Description du projet

Ce projet à pour but premier de servir d'aide mémoire et de partager mon expérience avec des gens de tout horizons. Ce support pourrait devenir une base d'échanges d'idées ou de critiques positives sur la gestion d'un réseau en général.

Bien, commençons déjà par un schéma (car un dessin vaut mieux qu'un long discours).

Comme vous pouvez vous en rendre compte, le réseau est somme toute fort classique. 2 Serveurs (PRIMARY et SECONDARY) ainsi que 2 WKS (CLIENT-1 "Windows" et CLIENT-2 "Ubuntu DESKTOP") et pour finir 2 switches (VSWITCH1 et VSWITCH2). Vous remarquerez également que tout ce joli petit monde est "émulé" ou "virtualisé". Nous verrons dans un instant comment réaliser tout cela. Bien entendu libre à vous d'utiliser des machines physiques pour réaliser l'installation.

La virtualisation

Pour exécuter ce projet, vous pouvez utiliser un virtualiseur comme VMWARE ou VIRTUALBOX. Ceci dit, de grosses différences séparent c'est deux virtualiseurs et donc vous obligeront à plus ou moins de manipulation afin d'obtenir le même résultat. Ceux-ci seront expliqués au fur et à mesure de l'évolution.

Primary Server

Sous cette appellation se trouve campée la clé de voute du système informatique. La plupart des services peuvent être secondés par un Secondary Server ou Backup Server. C'est d'ailleurs préférable, mais celui-ci ne vous permettra que de gagner du temps avant une chute inévitable. C'est pourquoi il est important d'apporter un maximum de soins aux scripts d'activations des services mais également à la structure même du réseau, clients compris.

Voici les fonctionnalités assumées par le Primary Server : • DHCP Serveur • DNS Serveur • Time Serveur • … (plus de détailles plus tard)

© Vincent-Pierre Cointault Page 16 sur 34 Version 2007 Serveurs Linux

Secondary Serveur

Le Secondary server sera utilisé pour soulager certaines fonctions du Primary Serveur en jouant le rôle de Backup mais également en proposant des fonctions inédites dans votre réseau d'entreprise.

Voici les fonctionnalités assumées par le Secondary Serveur : • Backup DNS Serveur • ... (plus de détailles plus tard)

Les Clients

L'aspect client sera ici traité indépendamment mais allant dans la même direction. Je m'explique, le but ici n'est pas d'offrir des fonctions différentes pour chaque famille d'OS, mais de démontrer l'hétérogénéité de Linux en tant que serveur offrant des fonctionnalités à des clients de tous horizons (sous certaines conditions). L'installation du virtualiseur et sa configuration

VMWARE

VMWARE jouit d'une assez bonne réputation dans le monde professionnel. Longtemps avant les autres, cette entreprise à su occuper une niche dans le monde informatique en offrant la possibilité de réduire les coûts des infrastructures en entreprise dédiées aux tests et à la phase de Quality Acceptance.

Installation de VMWARE

Pour installer VMWARE Server vous pouvez modifier votre fichier /etc/apt/sources.list via l'environnement graphique Système → Administration → Sources logicielles… et sélectionner logiciels de tierces parties dépôt "partner" puis installez le paquet vmware-server http://www.taltan.fr/post/2007/11/01/VMware-Server-104-sur-Ubuntu-710-Gutsy-Gibbon.

Pour plus d'information sur la création d'une machine virtuelle avec vmware, vous pouvez consulter ce lien. http://www.vmware.com/support/pubs/server_pubs.html.

Sachez juste qu'à l'heure de l'écriture de ce document une version bêta 2.0 est déjà téléchargeable et installable. Je n'en parlerai pas volontairement ici. Je me contenterai d'utiliser la version 1.4 dites stable.

Configuration des cartes virtuelles

Voilà une chose intéressante. VMWARE permet la configuration du subnet utilisé par chacune de ces cartes via une application en ligne de commande. Sous Windows cette opération est réalisée via un onglet dans le paramétrage de l'application. Pour quoi VMWARE n'a pas réédité la même logique ?

$sudo vmware-config-network.pl

Toutes les questions qui vous seront posées peuvent soit être validée par défaut "la valeur entre []" avec la touche ENTER, soit par une nouvelle valeur. Si vous devez répondre spécifiquement à une de ces questions, ce sera indiqué.

Making sure services for VMware Server are stopped.

Stopping VMware services: Virtual machine monitor done Bridged networking on /dev/vmnet0 done DHCP server on /dev/vmnet1 done Host-only networking on /dev/vmnet1 done DHCP server on /dev/vmnet8 done NAT service on /dev/vmnet8 done Host-only networking on /dev/vmnet8 done Virtual ethernet done

You have already setup networking.

Would you like to skip networking setup and keep your old settings as they are?(yes/no) [yes] no

© Vincent-Pierre Cointault Page 17 sur 34 Version 2007 Serveurs Linux

Do you want networking for your virtual machines? (yes/no/help) [yes]

Would you prefer to modify your existing networking configuration using the wizard or the editor? (wizard/editor/help) [wizard]

The following bridged networks have been defined:

. vmnet0 is bridged to eth0

Do you wish to configure another bridged network? (yes/no) [no] no

Do you want to be able to use NAT networking in your virtual machines? (yes/no)[yes] yes

Configuring a NAT network for vmnet8.

The NAT network is currently configured to use the private subnet 172.16.179.0/255.255.255.0. Do you want to keep these settings? [yes] no

Do you want this program to probe for an unused private subnet? (yes/no/help) [yes] no

What will be the IP address of your host on the private network? 192.168.254.0

What will be the netmask of your private network? 255.255.255.0

The following NAT networks have been defined:

. vmnet8 is a NAT network on private subnet 192.168.254.0.

Do you wish to configure another NAT network? (yes/no) [no] no

Do you want to be able to use host-only networking in your virtual machines? [yes] yes

Configuring a host-only network for vmnet1.

The host-only network is currently configured to use the private subnet 172.16.30.0/255.255.255.0. Do you want to keep these settings? [yes] no

Do you want this program to probe for an unused private subnet? (yes/no/help) [yes] no

What will be the IP address of your host on the private network? 192.168.2.0

What will be the netmask of your private network? 255.255.255.0

The following host-only networks have been defined:

. vmnet1 is a host-only network on private subnet 192.168.2.0.

Do you wish to configure another host-only network? (yes/no) [no] yes

Configuring a host-only network for vmnet2.

Do you want this program to probe for an unused private subnet? (yes/no/help) [yes] no

What will be the IP address of your host on the private network? 192.168.3.0

What will be the netmask of your private network? 255.255.255.0

The following host-only networks have been defined:

. vmnet1 is a host-only network on private subnet 192.168.2.0. . vmnet2 is a host-only network on private subnet 192.168.3.0.

Do you wish to configure another host-only network? (yes/no) [no] no

Generating SSL Server Certificate

Starting VMware services: Virtual machine monitor done Virtual ethernet done Bridged networking on /dev/vmnet0 done Host-only networking on /dev/vmnet1 (background) done Host-only networking on /dev/vmnet2 (background) done Host-only networking on /dev/vmnet8 (background) done NAT service on /dev/vmnet8 done Starting VMware virtual machines... done

Bien, vous voici en possession de deux nouvelles interfaces réseau virtuelles qui correspondent sur notre schéma d'implantation à VSWITCH-1 et VSWITCH-2. A ce stade vous pouvez créer votre machine virtuelle et ne connecter pour le moment qu'une seule

© Vincent-Pierre Cointault Page 18 sur 34 Version 2007 Serveurs Linux carte réseau "eth0" qui sera connectée via un bridge "VMNET8" entre VMWARE et votre réseau local. Cela permettra de voir votre machine directement au travers de votre réseau comme s'il s'agissait d'une machine physique connectée à votre subnet.

VirtualBox

Nous allons voir l’installation de virtualbox, la configuration du bridge, l’installation d'Ubuntu server 7.10 et des outils additionnels de virtualbox

Installation de virtualbox

 Installez les paquets de virtualbox OSE (Open source édition) ainsi que les modules pour le kernel apt-get install virtualbox-ose  Ajoutez votre utilisateur vbox ou tout autre utilisateurs devant accéder à virtualbox dans le group vboxuser adduser -a [your vbox user] vboxusers

Plusieurs différences majeurs sont à signalées entre les virtualiseurs VirtualBox et VMWare.

Virtualbox enVersion OSE et non OSE :  La version non OSE: contient des drivers pour l'USB2 et surtout un mode headless qui est utilisée pour les serveurs. Cette version est également payante pour une utilisation en entreprise.  La version OSE est open source, gratuite et supportée par Ubuntu dans les dépôts officiels VMWare Serveur :  La version 1.04: est disponible gratuitement, elle intègre une interface web (téléchargeable) l'USB, l'utilisation des cartes physique SCSI si çà vous intéresse (vieux scanner ...) est gratuite et fonctionne en mode headless.  La version 2.0 bêta 1: ne dispose plus d'une interface GTK mais uniquement d'une interface web (très lente), vous oblige à travailler en root et est normalement plus rapide ...

Configuration d'un bridge networking

 Installez les paquets bridge-utils et uml-utilities (dans les dépots « Universe »). apt-get install bridge-utils uml-utilities

 Ajoutez votre utilisateur vbox ou tout autre utilisateurs devant accéder au bridge pour virtualbox dans le group uml-net. adduser -a [your vbox user] uml-net

 Editez le fichier /etc/network/interfaces et modifiez le comme telle. Il est possible que vous deviez l'adapter à votre configuration. Attention si vous avez une carte réseau wiffi car beaucoup d'entre elle ne permettent pas l'utilisation d'un bridge. Dans ma configuration j'ai une carte réseau sur la machine host directement connectée au routeur. auto lo iface lo inet loopback auto tap1 iface tap1 inet manual tunctl_user [your vbox user] auto bridge0 iface bridge0 inet static

© Vincent-Pierre Cointault Page 19 sur 34 Version 2007 Serveurs Linux

post-up chmod ugo+rw /dev/net/tun address xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx broadcast xxx.xxx.xxx.xxx gateway xxx.xxx.xxx.xxx bridge-ports eth0 tap1 bridge-ageing 7200 bridge-fd 0

 Pour vérifier que tout va bien, relancer votre réseau sudo /etc/init.d/networking restart

 Vérifiez les atribution d'adresse IP ifconfig bridge0 Lien encap:Ethernet HWaddr 00:1B:FC:89:53:1D inet adr:xxx.xxx.xxx.xxx Bcast:xxx.xxx.xxx.xxx Masque:xxx.xxx.xxx.xxx adr inet6: fe80::21b:fcff:fe89:531d/64 Scope:Lien UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Packets reçus:70 erreurs:0 :0 overruns:0 frame:0 TX packets:91 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 Octets reçus:6820 (6.6 KB) Octets transmis:10493 (10.2 KB) eth0 Lien encap:Ethernet HWaddr 00:1B:FC:89:53:1D adr inet6: fe80::21b:fcff:fe89:531d/64 Scope:Lien UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Packets reçus:249 erreurs:0 :0 overruns:0 frame:0 TX packets:317 errors:0 dropped:0 overruns:0 carrier:2 collisions:0 lg file transmission:1000 Octets reçus:101582 (99.2 KB) Octets transmis:53749 (52.4 KB) lo Lien encap:Boucle locale inet adr:127.0.0.1 Masque:255.0.0.0 adr inet6: ::1/128 Scope:Hôte UP LOOPBACK RUNNING MTU:16436 Metric:1 Packets reçus:32 erreurs:0 :0 overruns:0 frame:0 TX packets:32 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 Octets reçus:1468 (1.4 KB) Octets transmis:1468 (1.4 KB) tap1 Lien encap:Ethernet HWaddr 00:FF:8B:EE:E0:88 adr inet6: fe80::2ff:8bff:feee:e088/64 Scope:Lien UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Packets reçus:0 erreurs:0 :0 overruns:0 frame:0 TX packets:0 errors:0 dropped:96 overruns:0 carrier:0 collisions:0 lg file transmission:500 Octets reçus:0 (0.0 b) Octets transmis:0 (0.0 b)

- faites un ping sur l'adresse de votre nouveau bridge. ping xxx.xxx.xxx.xxx

- redémarrez la machine

Installation d'Ubuntu server 7.10 (voir chapitre suivant)

 Créez une nouvelle machine virtuelle avec l'image disque pour serveur.  Accrochez le device "Adaptateur réseau hôte" dans le panneau de configuration de la machine virtuel et tapez "tap1" dans la case Nom de l'interface.  Modifiez les paramètres pour les CD/DVD et sélectionnez l'image iso de l'installation serveur.  Démarrez la machine virtuel et installer le serveur "primary" comme décrit sur cette page.

Rescue a broken system

 Une fois l'installation effectuée, redémarrez votre virtual machine primary avec le cd d'installation et sélectionnez l'entrée "rescue a broken system". Car si vous démarré directement votre Ubuntu serveur, vous aurez la surprise de vois qu'il ne démarrera pas car il manque un petit quelque chose dans la manière où virtualbox émule la machine et cela entre en conflit avec la manière dont le kernel serveur à été compilé. Pour remédier à cela, nous allons installer un autre kernel que celui livré avec le serveur de base.  Répondez aux questions courantes, clavier, langue, nom de la machine,… o Sélectionnez la partition qui contient le système [/dev/sda1] o Sélectionnez Exécuter un shell dans "/dev/sda1" o Validez par continuez - dans le bas de l'écran, vous avez une invite de commande qui apparait.

© Vincent-Pierre Cointault Page 20 sur 34 Version 2007 Serveurs Linux apt-get install linux-generic apt-get remove linux-server exit  Sélectionnez dans le menu l'entrée redémarrer - Au boot sélectionnez l'entrée proposant le kernel generic.

Installation des outils additionnels

 Modifiez le fichier sources.list en effacent son contenu et en le remplacent par celui-ci. deb http://archive.ubuntu.com/ubuntu/ gutsy main restricted deb http://security.ubuntu.com/ubuntu/ gutsy-security main restricted deb http://archive.ubuntu.com/ubuntu/ gutsy-updates main restricted deb http://archive.ubuntu.com/ubuntu/ gutsy universe multiverse deb http://security.ubuntu.com/ubuntu gutsy-security universe multiverse deb http://archive.ubuntu.com/ubuntu/ gutsy-updates universe multiverse  upgardez votre système apt-get update apt-get dist-upgrade reboot  Activez l'installation des outils additionnels par l'utilisation du menu "Périphériques → Installer les additions client ...", validez la demande de téléchargement de l'iso sur internet.  Installez quelques outils nécessaires à l'installation apt-get install sysvconfig mc build-essential linux-headers-$(uname -r)  Montez l'iso que nous venons de télécharger sudo mount /media/cdrom cd /media/cdrom ./VBoxLinuxAdditions.run

Tout devrait s'installer automatiquement avec un avertissement sur la non installation des drivers vidéo car X n'est pas installé. Nous réalisons un headless server, donc pas besoins d'X

Installation d'Ubuntu Server 7.10

Démarrez votre machine virtuelle en ayant prit soins de modifier la configuration du cd-rom afin qu'il utilise soit un disque gravé contenant l'image de Ubuntu Server 7.10, soit de pointer directement sur l'image iso de l'Ubuntu Server 7.10.

F2 -> Français F3 -> Belgium ou Français en fonction du votre F4 -> 1024 * 768

Vous pouvez à tous moment de l'installation voir la progression détaillée en utilisant la combinaison de touche ALT+F4 et pour revenir à l'écran normal d'installation la combinaison ALT+F1.

Nom de la machine -> primary Méthode de partitionnement -> Assistée - Utiliser le disque entier Configurer l'horloge -> UTC Nom complet du nouvel utilisateur -> [votre choix] Identifiant de votre compte utilisateur -> [votre choix] Mot de passe pour le nouvel utilisateur -> [votre choix] Confirmation du mot de passe -> [votre choix] N'installer aucun des serveurs proposés par l'installateur, nous le ferons plus tard.

© Vincent-Pierre Cointault Page 21 sur 34 Version 2007 Serveurs Linux

Configuration post installation

 Activation du compte root sudo passwd root

 Editez le fichier "/etc/network/interfaces" section [eth0] (laisser la section loopback) auto eth0 iface eth0 inet static address 192.168.254.10 netmask 255.255.255.0 network 192.168.254.0 broadcast 192.168.254.255 gateway 192.168.254.2

 Redémarrez la machine sudo reboot

 Après le redémarrage, utiliser toujours le compte root pour exécuter les différentes marches à suivre, sauf si cela est contre indiqué.

 Vérifier la connexion réseau ifconfig ping 192.168.254.10 ping www.google.be

 Copie du fichier .bash_logout cp /home/[default user]/.bash_logout /root/

 Modification du fichier sources.list (gardez juste la référence au cr-rom d'installation et placé la en commentaire, le reste, vous pouvez le supprimer) deb http://archive.ubuntu.com/ubuntu/ gutsy main restricted deb http://security.ubuntu.com/ubuntu/ gutsy-security main restricted deb http://archive.ubuntu.com/ubuntu/ gutsy-updates main restricted deb http://archive.ubuntu.com/ubuntu/ gutsy universe multiverse deb http://security.ubuntu.com/ubuntu gutsy-security universe multiverse deb http://archive.ubuntu.com/ubuntu/ gutsy-updates universe multiverse

 Upgrade de la distribution apt-get update apt-get dist-upgrade

 Installation de quelques applications supplémentaires pour l'administration apt-get install sysvconfig mc build-essential linux-headers-$(uname -r)

 Activation de la couleur dans le terminal cd /root/ Editer le fichier /root/.bashrc, chercher la ligne "PS1=....." et dé commenter là. Relancer le script ". .bashrc"

 Configuration de GRUB Editez le fichier /boot/grub/menu.lst Cherchez la ligne "kernel" du premier module de démarrage et supprimez l'option "quiet" Commenter la ligne hiddenmenu Redémarrez la machine

Pour des raisons de stabilités, les drivers framebuffer ont été black listé. Donc, n'ajoutez pas de ligne vga=xxx dans votre menu.lst car vous auriez un superbe écran noir au démarrage de votre serveur. Voir le fichier /etc/modprobe.d/blacklist-framebuffer

© Vincent-Pierre Cointault Page 22 sur 34 Version 2007 Serveurs Linux

Installation des VMWARE tools

Activez l'installation des vmware-tools dans le menu VM → Install VMWARE tools du menu de VMWARE Server - Monter le cd-rom : mount /media/cdrom0

 Créez un répertoire d'installation mkdir /root/vmware-tools

 Copiez le fichier tar.gz cp /media/cdrom/VMwareTools*.tar.gz /root/vmware-tools

 Installation des VMware tools cd /root/vmware-tools tar xvzf VMwareTools*.tar.gz cd vmware-tools-distrib ./vmware-install.pl Répondez aux questions par la valeur par défaut entre [] reboot Installation du VSWITCH-1

 Arrêtez le serveur et éditez sa configuration.  Ajoutez une nouvelle carte réseau et connectez là sur VMNET2.  Démarrez le serveur.

Éditez le fichier "/etc/network/interfaces" section [eth1] auto eth1 iface eth1 inet static address 192.168.2.1 netmask 255.255.255.0 network 192.168.2.0 broadcast 192.168.2.255

Editez le fichier /etc/resolv.conf et ajustez son contenu si nécessaire search localdomain nameserver 192.168.254.2

Relancez le service "networking" service networking restart

Vérifier la connexion réseau ifconfig ping 192.168.254.10 ping 192.168.2.1 ping www.google.be Transformez le primary server en routeur

Editez le fichier /etc/rc.local et ajoutez ces lignes : iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo 1 >/proc/sys/net/ipv4/ip_forward

Redémrrez le server et vérifiez la route : iptables -t nat -L Chain PREROUTING (policy ACCEPT) target prot opt source destination

Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE 0 -- anywhere anywhere

Chain OUTPUT (policy ACCEPT) target prot opt source destination

© Vincent-Pierre Cointault Page 23 sur 34 Version 2007 Serveurs Linux Création d'un serveur DNS

 Installation de bind9 apt-get install bind9

 Éditez le fichier /etc/bind/named.conf zone "." { type hint; file "/etc/bind/db.root"; }; zone "localhost" IN { type master; file "/etc/bind/db.local"; allow-update { none; }; }; zone "127.in-addr.arpa" IN { type master; file "/etc/bind/db.127"; allow-update { none; }; }; zone "0.in-addr.arpa" IN { type master; file "/etc/bind/db.0"; allow-update { none; }; }; zone "255.in-addr.arpa" IN { type master; file "/etc/bind/db.255"; allow-update { none; }; }; include "/etc/bind/named.conf.local";

 Éditez le fichier /etc/bind/named.conf.local zone "yourdomain.local" IN { type master; file "db.yourdomain.local"; allow-update { none; }; }; zone "2.168.192.in-addr.arpa" IN { type master; file "rev.yourdomain.local"; allow-update { none; }; };

 Créez le fichier /var/cache/bind/db.yourdomain.local $TTL 86400 @ IN SOA primary.yourdomain.local. root.yourdomain.local. ( 2008012701 1w 1d 4w 1w ) @ IN NS primary.yourdomain.local. primary IN A 192.168.2.1

 Créez le fichier /var/cache/bind/rev.yourdomain.local $TTL 86400 @ IN SOA primary.yourdomain.local. root.yourdomain.local. ( 2008012701 1w 1d 4w 1w ) @ IN NS primary.yourdomain.local. 1 IN PTR primary.yourdomain.local.

 Changez le group d'appartenance pour les fichiers chgrp bind /var/cache/bind/*

 Éditez le fichier /etc/hosts

© Vincent-Pierre Cointault Page 24 sur 34 Version 2007 Serveurs Linux ne laissez que les références à localhost et IP6

 Modifiez le fichier /etc/resolv.conf search yourdomain.local nameserver 192.168.2.1

 Éditez le fichier /etc/bind/named.conf.options options { directory "/var/cache/bind"; forward only; forwarders { 192.168.254.2; }; auth-nxdomain no; allow-recursion { localnets; }; };

 Éditez le fichier /etc/default/bind9 RESOLVCONF=no

 Reboot

Vérification de la configuration

 Vérifiez les fichiers de configuration named-checkconf (si ok rien n'est retourné) cd /var/cache/bind/ named-checkzone -d yourdomain.local db.yourdomain.local named-checkzone -d yourdomain.local rev.yourdomain.local sur le fichier rev.yourdomain.local j'ai toujours une erreur de type: ['primary.yourdomain.local' has no address records (A or AAAA)], mais cela fonctionne quand même. Si vous avez une solution, merci de faire suivre

 Démarrez une seconde console ALT+F2 et tapez tail -f /var/log/syslog

 Revenez sur la première console et redémarrez le service bind9 service bind9 restart

 Passez sur la seconde console et analysez les messages d'erreur s'il y en a.

 Si tout est OK passez sur la première console ping primary.yourdomain.local Cela devrait vous retourner l'adresse 192.168.2.1

 Si il y à une erreur, revérifiez les logs du système, les scripts,… Création d'un serveur DHCP

 Installation de dhcp3-server apt-get install dhcp3-server Cela installera le paquet et le configurera, mais génèrera également une erreur à l'activation. C'est normal nous allons corriger cela.

 Éditez le fichier /etc/dhcp3/dhcpd.conf ddns-update-style none; option domain-name "yourdomain.local" option domain-name-servers 192.168.2.1; default-lease-time 600; max-lease-time 7200; log-facility local7; subnet 192.168.2.0 netmask 255.255.255.0 { option routers 192.168.2.1; option subnet-mask 255.255.255.0; range 192.168.2.150 192.168.2.200; }

 Éditez le fichier /etc/syslog.conf ajoutez local7.* -/var/log/dhcp.log

 Relancez le service "sysklogd"

© Vincent-Pierre Cointault Page 25 sur 34 Version 2007 Serveurs Linux service sysklogd restart Cela affichera une erreur d'accès au fichier dhcpd.log. C'est normal

Vérification de la configuration

Vous pouvez connectez une machine virtuelle, un Windows 2000 par exemple (plus rapide que XP et moins gourmand). La carte réseau de cette machine virtuel doit être connectée sur VMNET2. Configurez cette machine virtuelle pour accepter le DHCP et dans une console tapez "ipconfig" normalement vous devriez recevoir une adresse IP entre 192.168.2.150 et 192.168.2.200.

Vérifiez le DNS par la même occasion en faisant un ping primary.yourdomain.local.

Vérifiez pour finir le routage pour l'extérieur avec un ping www.google.be Inscription DHCP et DNS dynamique

 Editez le fichier /etc/bind/named.conf.local et remplacez les lignes: allow-update { none; }; -> allow-update { 127.0.0.1; };

 Éditez le fichier /etc/dhcp3/dhcpd.conf et ajoutez ou modifiez ces quelques lignes au début du fichier. ddns-update-style interim; ddns-updates on; ignore client-updates; update-static-leases on; allow-unknow-clients;

 Ajoutez ces lignes à la fin du même fichier zone yourdomain.local. { primary 127.0.0.1; } zone 2.168.192.in-addr.arpa. { primary 127.0.0.1; }

Vérification de la configuration

 Redémarrez les services DHCP et DNS service bind9 restart sercie dhcp3-server restart

 Sur le client Windows 2000 ipconfig /release ipconfig /renew ping www.google.be

 Sur primary serveur vérifiez la présence des fichiers: /var/cache/bind/db.yourdomain.local.jnl /var/cache/bind/rev.yourdomain.local.jnl

Un client Linux

Editez le fichier du client linux /etc/dhcp3/dhclient.conf et ajoutez cette ligne. send host-name "[client name]";

Il est bon de ne pas sénervé si une résolution de nom avec ping sur primary ou www.google.be ne fonctionne pas. LA première chose à faire est de connecter une console sur primary et d'utiliser la commande "tail -f /var/loging/dhcpd.log" afin de voir les messages d'erreurs et les messages d'inscriptions. Il faut parfois attendre 5 minutes et un reboot pour que tout entre dans l'ordre.

Le nom du client doit être unique dans votre réseau, si non vous aurez des conflits DNS.

A se stade, vous devriez pouvoir accédez au monde extérieur au départ de n'importe quelle machine de votre réseau. Vous devriez pouvoir utilisez la dénomination unique de chacune de vos machine pour résoudre une adresse servie par DNS "ping primary, ping [client name], ..." Si tel n'est pas le cas, il y à probablement une explication dans les logs serveur ou client. Bon débugging.

© Vincent-Pierre Cointault Page 26 sur 34 Version 2007 Serveurs Linux

Création d'un time serveur NTP

Pour vérifiez l'heure UTC actuelle en France, vous pouvez vous rendre à cette adresse : http://www.horlogeparlante.com/

Redémarrez votre serveur et modifiez si nécessaire l'heure incluse dans le bios de votre vmware.

Éditez le fichier /etc/default/rcS UTC=yes

Installez les applications suivantes apt-get install ntp-server ntp-doc

Configuration du serveur NTP

 Éditez le fichier /etc/ntp.conf logfile /var/log/ntpd driftfile /var/lib/ntp/drift statsdir /var/log/ntpstats/ statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegen clockstats file clockstats type day enable

#Pour la France # Adresse IP : 145.238.203.14 avec le port UDP 123 server ntp-p1.obspm.fr # Adresse IP : 1145.238.203.10 avec le port UDP 123 server ntp.obspm.fr server 127.127.1.0 fudge 127.127.1.0 stratum 10 restrict default kod notrap nomodify nopeer noquery restrict 127.0.0.1 nomodify restrict 192.168.2.0 mask 255.255.255.0 nomodify notrap

Vous trouverez plus d'information sur ntp-p1.obspm.fr à cette adresse : http://lne-syrte.obspm.fr/gen/ntp_infos.html

 Stoppez le service service ntp stop

 Éditez le fichier /etc/default/ntpdate et modifiez le NTPSERVERS ="ntp1.oma.be"

 Pour vérifiez une bonne synchronisation, vous pouvez exécuter cette commande. ntpdate -dv ntp-p1.obspm.fr La sortie est relativement longue

 Relancez le serveur NTP service ntp start

Client linux

Éditez le fichier /etc/default/ntpdate NTPSERVERS="192.168.2.1"

Client Windows

 Pour WinXP la gestion de l'heure possède un onglet Temps Internet ou vous pouvez renseigner l'adresse 192.168.2.1

 Pour Win2K, il à le service Windows Time. Changez le mode de démarrage du service sur auto

Dans une console: net time /setsntp:192.168.2.1

© Vincent-Pierre Cointault Page 27 sur 34 Version 2007 Serveurs Linux net stop w32time net start w32time Création du serveur LDAP

 Installation du serveur LDAP et de quelques outils aptitude install slapd db4.2-util ldap-utils

 Répondez aux questions ncursus avec le password de root - Reconfigurez slapd avec dpkg-reconfigure dpkg-reconfigure slapd Le nom du domaine : yourdomain.local Nom de votre organisation: yourdomain Mot de passe de l'administrateur : [root password] Module de base de données à utiliser : BDB Faut-il supprimer la base de données à la purge du paquet ? NON Faut-il déplacer l'ancienne base de données ? NON Faut-il autoriser le protocole LDAPv2 ? NON

 Installez les schémas LDAP inclus dans un paquet samba aptitude install samba-doc

 Décompression et copie dans le bon répertoire gunzip -c /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema

 Dans une seconde console, cryptez le mot de passe de l'administrateur avec la commande slappasswd slappasswd New password: Re-enter new password: {SSHA} ......

 Éditez le fichier /etc/ldap/slapd.conf ajoutez cette ligne en dessous des autres include: include /etc/ldap/schema/samba.schema cherchez la ligne rootdn et supprimez le # ajoutez juste en dessous de rootdn la ligne suivante rootpw {SSHA} ......

 Redémarrez le serveur LDAP. Normalement cela doit aller très rapidement. Si vous trouvez une érreur vous pouvez investiguer les causes en utilisant la commande suivante. slapd -d 16383 Création du serveur SAMBA

 Installation du serveur SAMBA aptitude install samba smbclient smbfs

 Éditez le fichier /etc/samba/smb.conf et supprimez l'intégralitée du contenu du fichier [global] workgroup = yourdomain ### A changer, le nom de votre domaine netbios name = primary ### A changer, le nom de votre machine server string = Samba-LDAP PDC Server domain master = Yes local master = Yes domain logons = Yes os level = 40 #passwd program = /usr/sbin/smbldap-passwd ?u %u ldap passwd sync = Yes passdb backend = ldapsam:ldap://127.0.0.1/ ldap admin dn = cn=admin,dc=yourdomain,dc=local ### A changer, yourdomain ldap suffix = dc=yourdomain,dc=local ### A changer, yourdomain ldap group suffix = ou=Groups ldap user suffix = ou=Users ldap machine suffix = ou=Machines add user script = /usr/sbin/smbldap-useradd -m "%u" ldap delete dn = Yes delete user script = /usr/sbin/smbldap-userdel "%u" add machine script = /usr/sbin/smbldap-useradd -w "%u" add group script = /usr/sbin/smbldap-groupadd -p "%g"

© Vincent-Pierre Cointault Page 28 sur 34 Version 2007 Serveurs Linux

#delete group script = /usr/sbin/smbldap-groupdel "%g" add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g" delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g" set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u" logon path = \\%L\profile\%U logon drive = P: logon home = \\%L\%U socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 case sensitive = No default case = lower preserve case = yes short preserve case = Yes #character set = iso8859-1 #domain admin group = @admin dns proxy = No wins support = Yes hosts allow = 192.168.2. 127. ### A changer 192.168.2 winbind use default domain = Yes nt acl support = Yes msdfs root = Yes hide files = /desktop.ini/ntuser.ini/NTUSER.*/ ### FIN DE LA PARTIE GLOBALE ##### #### LES PARTAGES ##### [netlogon] path = /home/netlogon writable = No browseable = No write list = Administrateur # [profile] path = /home/export/profile browseable = No writeable = Yes profile acls = yes create mask = 0700 directory mask = 0700 # [homes] comment = Repertoire Personnel browseable = No writeable = Yes # [partage] comment = Repertoire commun browseable = Yes writeable = Yes public = No path = /home/partage

Création des partages SAMBA

Le fichier smb.conf définit quelques shares SAMBA /home/netlogon Contient les éventuels scripts qui sont exécutés à chaque connexion d'un utilisateur (.bat) /home/export/profile Contient les profils windows de chaque utilisateur, ils sont créés automatiquement pour les nouveaux /home/partage Partage commun à tous les utilisateurs du domaine /home/lenomdelutilisateur Les répertoires personnels linux sont aussi partagés

 Créez les répertoires mkdir -p /home/netlogon mkdir -p /home/export/profile mkdir -p /home/partage

 Installez les sécuritées chmod a+w /home/export chmod a+w /home/export/profile chmod a+w /home/partage

© Vincent-Pierre Cointault Page 29 sur 34 Version 2007 Serveurs Linux

Liaison SAMBA et LDAP

 Installez les smbldap-tools apt-get install smbldap-tools

 Créez le fichier /etc/smbldap-tools/smbldap_bind.conf et copiez / modifiez ces lignes : slaveDN="cn=admin,dc=yourdomain,dc=local" slavePw=[votre mot de passe en clair] masterDN="cn=admin,dc=yourdomain,dc=local" masterPw=[votre mot de passe en clair]

 Votre mot de passe étant en claire dans le fichier, il faut modifier la sécurité : chmod 600 /etc/smbldap-tools/smbldap_bind.conf

 Créez le fichier /etc/smbldap-tools/smbldap.conf et copiez / modifiez ces lignes : slaveLDAP="127.0.0.1" slavePort="389" masterLDAP="127.0.0.1" masterPort="389" ldapTLS="0" verify="require" suffix="dc=youdomaine,dc=local" ### A changer : yourdomain usersdn="ou=Users,${suffix}" computersdn="ou=Machines,${suffix}" groupsdn="ou=Groups,${suffix}" idmapdn="ou=Idmap,${suffix}" sambaUnixIdPooldn="cn=NextFreeUnixId,${suffix}" scope="sub" hash_encrypt="SSHA" crypt_salt_format="%s" userLoginShell="/bin/bash" userHome="/home/%U" userHomeDirectoryMode="700" #Nom d'affichage - utiliser smbldap-useradd -c userGecos="User" defaultUserGid="513" defaultComputerGid="515" skeletonDir="/etc/skel" #Les mots de passe expirent dans 10ans defaultMaxPasswordAge="3650" with_smbpasswd="0" smbpasswd="/usr/bin/smbpasswd" with_slappasswd="0" slappasswd="/usr/sbin/slappasswd"

 Stoppez le serveur SAMBA service samba stop

 Ajoutez dans SAMBA le mot de passe de l'administrateur [root] : smbpasswd -w votremotdepasseroot

Setting stored password for "cn=admin,dc=olituks,dc=local" in secrets.tdb

 Redémarrez le serveur SAMBA service samba start

Vérifiez l'installation

Avec la commade net getlocalsid vous allez obtenir le SID du PDC SAMBA SID for domain PRIMARY is: S-1-5-21-......

Populez le directory LDAP smbldap-populate smbldap-populate Populating LDAP directory for domain olituks (S-1-5-21-1103990800-3677365298-610989769)

© Vincent-Pierre Cointault Page 30 sur 34 Version 2007 Serveurs Linux

(using builtin directory structure) entry dc=olituks,dc=local already exist. adding new entry: ou=Users,dc=yourdomain,dc=local adding new entry: ou=Groups,dc=yourdomain,dc=local adding new entry: ou=Machines,dc=yourdomain,dc=local adding new entry: ou=Idmap,dc=yourdomain,dc=local adding new entry: uid=root,ou=Users,dc=yourdomain,dc=local adding new entry: uid=nobody,ou=Users,dc=yourdomain,dc=local adding new entry: cn=Domain Admins,ou=Groups,dc=yourdomain,dc=local adding new entry: cn=Domain Users,ou=Groups,dc=yourdomain,dc=local adding new entry: cn=Domain Guests,ou=Groups,dc=yourdomain,dc=local adding new entry: cn=Domain Computers,ou=Groups,dc=yourdomain,dc=local adding new entry: cn=Administrators,ou=Groups,dc=yourdomain,dc=local adding new entry: cn=Account Operators,ou=Groups,dc=yourdomain,dc=local adding new entry: cn=Print Operators,ou=Groups,dc=yourdomain,dc=local adding new entry: cn=Backup Operators,ou=Groups,dc=yourdomain,dc=local adding new entry: cn=Replicators,ou=Groups,dc=yourdomain,dc=local adding new entry: cn=NextFreeUnixId,dc=yourdomain,dc=local

Please provide a password for the domain root: Changing and samba passwords for root New password: Retype new password:

Cette commande créée : o Les différentes OU (Organisation Unit) qui contiendront vos Machines, o Users et Groups o Deux UID : root et nobody qui seront dans OU = Users Plusieurs CN (Common Name) o Les groupes qui seront dans OU = Groups

Test de LDAP

 Création du premier utilisateur test de LDAP smbldap-useradd -a -c "Test Test" -m -P test Changing UNIX and samba passwords for test New password: Retype new password: • -a : désigne un utilisateur • -c : Information Gecos : Le nom entier • -m : Créé le répertoire personnel • -P : création du mot de passe Pour plus d'aide smbldap-useradd -?

 Vérifiez que l'utilisateur root est bien dans LDAP smbldap-usershow root dn: uid=root,ou=Users,dc=olituks,dc=local cn: root sn: root objectClass: top,person,organizationalPerson,inetOrgPerson,sambaSamAccount,posixAccount,shadowAccount gidNumber: 0 uid: root uidNumber: 0 homeDirectory: /home/root sambaLogonTime: 0 sambaLogoffTime: 2147483647 sambaKickoffTime: 2147483647 sambaPwdCanChange: 0 sambaPrimaryGroupSID: S-1-5-21-1103990800-3677365298-610989769-512 sambaSID: S-1-5-21-1103990800-3677365298-610989769-500 loginShell: /bin/false gecos: Netbios Domain Administrator sambaLMPassword: 69C840086777BE8372D82CC5E4DD778E sambaAcctFlags: [U] sambaNTPassword: 98748519A0FAAEC727B0A34CA66C3358 sambaPwdLastSet: 1202326380 sambaPwdMustChange: 1517686380 userPassword: {SSHA}......

Modification du système d'authentification sur primary

Ici je suis partagé entre vouloir permettre l'accès en login à tous les utilisateurs LDAP ou locaux et ne pas le permettre.

© Vincent-Pierre Cointault Page 31 sur 34 Version 2007 Serveurs Linux

En ne faisant rien ici, vous n'altérez pas l'expérience. Elle reste valable et à mon sens ajoute même une certaine sécurité.

Si vous désirez quant même permettre à vos utilisateur de se connecter sur le serveur avec leur compte LDAP, suivez les mêmes étapes que pour l'authentification client linux ici plus bas.

Ajout du client Windows

 Démarrez votre client Windows 2000 Ouvrez une session en local admin Clickez droit sur My Computer -> Properties Cochez la case DOMAIN NAME et insérer YOURDOMAIN Introduisez le password pour root. Attendez d'avoir le message de bien venue. Redémarez. Il est possible que juste après le premier démarrage de votre Windows 2000 il ne vous permette pas de vous connecter au DOMAIN. Il faut dans ce cas attendre une ou deux minutes le temps que le client retrouve c'est jeunes avec le domain controleur SAMBA. Le message qui vous est indiquez, est qu'il ne trouve pas l'utilisateur ROOT.

 Connectez-vous au logon avec le compte test que vous aviez créé lors de la configuration validation de LDAP. Cet utilisateur n'est pas connu de linux. Il se trouve configuré uniquement dans l'annulaire LDAP. Si la connexion fonctionne, c'est la preuve par 9 que tout et fonctionnel.

 Vérifiez les mapping automatique dans votre client Windows. Vous devriez avoir un drive P:\

 Faite un logoff du client windows et passez sur le serveur primary

 Ouvrez la directory /home/export/profile/test vous devriez avoir des fichiers windows dans ce folder qui sont en réalité les fichiers du profil utilisateur test.

 Vous trouverez également une directory test dans la root de home qui est en réalité le mapping sur la directory P:\ du windows client. Mais également la directory home d'un logon sur linux. De cette manière, vous pouvez partager vos fichiers privés (réservé à l'utilisateur test par exemple).

Configuration du client linux

Le client linux à ce stade doit être capable de se connecter à la session et d'avoir une configuration réseau fournie par le DHCP / DNS. Il doit être à jours et avoir un accès au monde extérieur. Si ce n'est pas le cas, allez vois plus haut ce qu'il faut faire pour que cela fonctionne.

 Installation des paquets nécessaires apt-get install auth-client-config libpam-ldap libnss-ldap

 Répondez aux questions qui vous sont posées comme suit. Should debconf manage LDAP configuration?: Yes LDAP server Uniform Resource Identifier: ldapi://192.168.2.1/ Distinguished name of the search base: dc=yourdomain,dc=local LDAP version to use: 3 Make local root Database admin: Yes Does the LDAP database require login? No LDAP account for root: cn=admin,dc=yourdomain,dc=local LDAP root account password: [root password] Étant donné qu'il n'y à pas de mots de passe dans ce fichier nous prouvons nous permettre de ne pas limiter l'accès uniquement à root et permettre ainsi à tous le monde de pouvoir vois l'annuaire

 Editez le fichier /etc/ldap.conf et modifiez-le base dc=yourdomain,dc=local uri ldap://192.168.2.1/ rootbinddn cn=admin,dc=yourdomain,dc=local bind_policy soft pam_password md5

 Copiez ensuite le fichier /etc/ldap.conf dans /etc/ldap/ldap.conf cp /etc/ldap.conf /etc/ldap/ldap.conf

 Éditez le fichier /etc/nssiwtch.conf et modifiez-le comme suit.

© Vincent-Pierre Cointault Page 32 sur 34 Version 2007 Serveurs Linux passwd: compat ldap group: compat ldap shadow: compat ldap Il est préférable de garder une console en réserve avec un compte root activez car si ici il y à un problème, vous ne pourrez plus vous authentifier !!!!

 Créez un nouveau fichier /etc/auth-client-config/profile.d/open_ldap et copié / collé la suite [open_ldap] nss_passwd=passwd: compat ldap nss_group=group: compat ldap nss_shadow=shadow: compat ldap pam_auth=auth required pam_env.so auth sufficient pam_unix.so likeauth nullok auth sufficient pam_ldap.so use_first_pass auth required pam_deny.so pam_account=account sufficient pam_unix.so account sufficient pam_ldap.so account required pam_deny.so pam_password=password sufficient pam_unix.so nullok md5 shadow use_authtok password sufficient pam_ldap.so use_first_pass password required pam_deny.so pam_session=session required pam_limits.so session required pam_mkhomedir.so skel=/etc/skel/ umask=0077 session required pam_unix.so session optional pam_ldap.so Il est important pour ce fichier de garder la même ventilation que celle introduite. Si t'elle n'est pas le cas, vous pourriez avoir des problèmes avec la commande qui activera l'authentification LDAP pour le client.

 Créez un backup du fichier nsswitch.conf cp /etc/nsswitch.conf /etc/nsswitch.conf.bak

 Créez un backup des fichier de configuration de pam cd /etc/pam.d/ mkdir pam.d.bak cp * pam.d.bak/

 Activez l'authentification LDAP pour votre client auth-client-config -a -p open_ldap Si tout ce passe bien avec cet commande, vous devriez pouvoir au prochain reboot vous connecter avec un login LDAP et ou local.

Les tests avant le grand saut

Utilisez la commande suivante pour lister le contenu de l'annuaire LDAP getent passwd

Si vous voyez l'utilisateur test créez précédemment et connu uniquement de LDAP c'est gagné. Vous devriez être en mesure de vous authentifier. Si non, il y à un problème. Le mieux comme toujours est de regarder les logs et de vérifier les fichiers de customisation.

Redémarrez la machine et connectez-vous avec l'utilisateur test de l'annuaire LDAP.

Cela devrait vous montrer dans GDM un petit panneau indiquant la création du directory homme pour votre nouvel utilisateur et vous donnez accès après quelques échanges réseau avec le serveur au bureau linux entant que simple utilisateur. Problèmes rencontrés pendant la configuration du serveu et des clients

Lors de mes tests en VMWARE Serveur j'ai constaté deux phénomènes bizares : • Le premier étant sur le serveur primary, un blocage régulier au démarrage de bind oblige de redémarrer le serveur une ou deux fois avant de pouvoir l'utiliser. • Le second c'est avec le client linux. (l'étape ou vous devriez être arrivé maintenant). UDEV ma créez une mauvaise règle dans /etc/udev/rules.d/70-persistent-net.rules. La règle n'était pas bonne car l'adresse MAC de la carte réseau virtuel avait changé suite à l'installation "peut-être" des vmware tools. Donc, au démarrage de la machine client linux, le nom de l'interface était passé à eth2 plus tôt qu’à eth0. J'ai modifié le fichier 70-persistent-net.rules en indiquant à eth0 que l'adresse mac avait changée et tout est rentré dans l'ordre. Ce problème-ci était important, car il m'empêchait de me connecter à LDAP serveur, de joindre les adresses extérieurs tout en me permettant de me connecter dans mon subnet et donc de voir le client windows et primary via uniquement leur adresse IP ! de quoi y perdre son latin quoi ...

© Vincent-Pierre Cointault Page 33 sur 34 Version 2007 Serveurs Linux Automount des directory partagées sur le client linux Installation de Webmin sur primary

 Éditez le fichier /etc/apt/sources.list deb http://download.webmin.com/download/repository sarge contrib

 Lancez la commande de mise à jour des paquets apt-get update

 Lancez de Webmin apt-get install webmin l'installation

© Vincent-Pierre Cointault Page 34 sur 34 Version 2007