Logiciels Libres? Distribution Spécificités Arborescence Joseph Maillardet Assistant Ingénieur de Recherche et Formation *** IUT de Nîmes Université de Montpellier II
Logiciels Libres? Distribution Spécificités Arborescence Définition d'un logiciel libre : Free Free : Gratuit Libre Les quatre libertés fondamentales Liberté d'utilisation (pas de restriction) Liberté d'étude (accès au code source) Liberté d'amélioration (droit de modification) Liberté d'échange (droit de redistribution) Une contrainte optionnelle après modification Héritage des mêmes droits sur un code modifié
Logiciels Libres? Distribution Spécificités Arborescence L'origine des logiciels libres : A l'origine les logiciels étaient tous libres Modèle de développement Collégial Une incohérence : L'affaire de l'imprimante De nouveau modèle de distribution Après la vente, on dispose toujours du produit La distribution est assuré par les clients : Internet Un besoin d'unité global pour avancer Les cas d'apple et de Microsoft, parmi d'autres... (MacOS X, Couche IP de Windows,...)
Logiciels Libres? Distribution Spécificités Arborescence Pourquoi des distributions? Des millions de logiciels sur la toile Gérer la compatibilité logiciel-a / librairie / logiciel-b Charge de travail considérablement réduite pour l'utilisateur Logiciels, Librairies, Graphismes, Traductions compatibilité de l'ensemble assuré Ubuntu 8.10 : 26300 paquets Autant de distribution que d'usage...
Logiciels Libres? Distribution Spécificités Arborescence La multiplicité n'est pas un ennemi, au contraire! Tous les programmes utilisent les mêmes librairies, seul la présentation change Toutes les distributions utilisent les mêmes programmes, seul l'usage change La diversité permet d'explorer l'ensemble des possibilités pour finalement trouver le bon chemin. Le cas de la scission LibC6 Le cas de Gnome et KDE La cathédrale et le bazars
Logiciels Libres? Distribution Spécificités Arborescence Quelques différences notable : Une copie ne peux pas être meilleur ko, Mo, Go, To kio, Mio, Gio, Tio Tout est fichier : pour imprimer on écrit dans le fichier de l'imprimante... Système distribué par opposition au système isolé (arborescence) Supprimer toute duplication Un besoins : une commande, une commande : une interface.
Logiciels Libres? Distribution Spécificités Arborescence l'arborescence Unix / / Racine du système bin Exécutable boot Démarrage dev Périphérique etc Configuration home Utilisateur lib Librairie media Disque (auto) mnt Disque (man.) opt Prog. Optionnel proc Processus root Super-User sbin Exec. Système sys Système tmp Temporaire usr Ressource var Variable
Logiciels Libres? Distribution Spécificités Arborescence Le sous-système «usr» /usr Ressource bin, sbin, lib Exécutable include Entête de librairie Game Jeu local Installation manuel share Donnée Partagé src Source X11R6 Système Graphique
Logiciels Libres? Distribution Spécificités Arborescence Les points clé de l'arborescence Unix / /etc Configuration du système /home Donnée & Config. Utilisateur /usr/share/doc Documentation système /usr/local Installation manuel /usr/src Source pour la compilation /opt Programme «à la Windows» /bin, /sbin, /usr/bin, /usr/sbin Exécutable /usr/share/applications Logiciels
Gnome KDE XFCE Fluxbox
Gnome KDE XFCE Fluxbox
Gnome KDE XFCE Fluxbox
Gnome KDE XFCE Fluxbox
Gnome KDE XFCE Fluxbox Lequel choisir? Les tester Prendre en compte le matériel Le choix reste très subjectif Dépendant de la philosophie de l'utilisateur Des habitudes De l'humeur? ;-) Prendre du temps pour fouiller Faire des essais, des brouillons, Habitude à globaliser sur l'ensemble des systèmes informatique pris en main
VirtualBox Firewall, DHCP, DNS Apache, MySQL Samba, NFS Postfix, courier La virtualisation Simplifier les essais Garantir l'intégrité du réseau Mobiliser le minimum de matériel
VirtualBox Firewall, DHCP, DNS Apache, MySQL Samba, NFS Postfix, courier Configurer une passerel etape 1 : les interfaces Installer la base aptitude install sudo ssh vim htop addgroup admin adduser votreidentifiant admin visudo : Ajouter à la fin la ligne : %admin ALL=(ALL) NOPASSWD:ALL 2 cartes réseaux (Nat & Réseau interne) /etc/network/interfaces : auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 10.10.0.254 netmask 255.255.255.0 network 10.10.0.0 broadcast 10.10.0.255
VirtualBox Firewall, DHCP, DNS Apache, MySQL Samba, NFS Postfix, courier Configurer une passerel etape 2 : le dhcp sudo aptitude install dhcp3-server /etc/dhcp3/dhcpd.conf ddns-update-style none; option domain-name "sputnet.taz"; option domain-name-servers 192.168.2.4, 192.168.7.254; default-lease-time 600; max-lease-time 7200; authoritative; log-facility local7; subnet 10.10.0.0 netmask 255.255.255.0 { range 10.10.0.1 10.10.0.253; option routers 10.10.0.254; option broadcast-address 10.10.0.255; }
VirtualBox Firewall, DHCP, DNS Apache, MySQL Samba, NFS Postfix, courier Configurer un firewall etape 3 : le firewall Créer les scripts d'activation / arrêt /usr/local/sbin/netshare-start : #! /bin/sh iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo "1" > /proc/sys/net/ipv4/ip_forward /usr/local/sbin/netshare-stop : #! /bin/sh iptables iptables iptables iptables echo "0" -X -F -t nat -X -t nat -F > /proc/sys/net/ipv4/ip_forward
VirtualBox Firewall, DHCP, DNS Apache, MySQL Samba, NFS Postfix, courier Configurer un firewall etape 3 : le firewall, suite et fin /etc/init.d/netshare : #! /bin/sh # /etc/init.d/netshare ### BEGIN INIT INFO # Provides: # Required-Start: # Required-Stop: # Should-Start: # Should-Stop: # Default-Start: # Default-Stop: # Short-Description: # Description: ### END INIT INFO netshare $remote_fs $syslog $network $remote_fs $syslog $network S net sharing internet network sharing management launch() { echo -n "Starting network sharing" /usr/local/sbin/netshare-start echo " [ok]" } destroy() { echo -n "Stopping network sharing" /usr/local/sbin/netshare-stop echo " [ok]" } case "$1" in start) launch ;; stop) destroy ;; restart reload force-reload) destroy launch ;; *) echo "Usage: $0 {start stop restart}" exit 1 ;; esac exit 0 update-rc.d netshare start 90 S.
VirtualBox Firewall, DHCP, DNS Apache, MySQL Samba, NFS Postfix, courier Installer un serveur Apache avec Base de donnée MySQL Installer les paquets nécessaires sudo aptitude install apache2 mysql-server php5 phpmyadmin apache2 : Serveur Web mysql-server : Serveur de base de données php5 : Langage de script pour le Web phpmyadmin : Outils d'administration de MySQL Tester les Serveur Web & BDD Accéder à : http://adresse.ip.du.serveur Exemple : http://192.168.10.143
VirtualBox Firewall, DHCP, DNS Apache, MySQL Samba, NFS Postfix, courier Configurer un serveur Apache avec Base de donnée MySQL Configuration d'apache apache2.conf mods-enabled/ conf.d/ sites-available/ mods-available/ sites-enabled/ Configuration de PHP (au sein d'apache) /etc/apache2/ /etc/php5/apache2/php.ini Configuration de MySQL Accéder à : http://adresse.ip.du.serveur/phpmyadmin Exemple : http://192.168.10.143/phpmyadmin
VirtualBox Firewall, DHCP, DNS Apache, MySQL Samba, NFS Postfix, courier Installation d'un serveur Samba Installation de Samba sudo aptitude install samba swat samba : Serveur SMB/CIFS swat : Outils de configuration de Samba Configuration /etc/samba/smb.conf ou http://adresse.ip.du.serveur:901/ Attention à la sécurité!
VirtualBox Firewall, DHCP, DNS Apache, MySQL Samba, NFS Postfix, courier Installation d'un serveur NFS Installation du serveur NFS sudo aptitude install nfs-kernel-server configuration /etc/exports dossierpartagé hôte(options) [hôte2(options)] Exemples /home/raoul/partage 192.168.0.0/24(ro,async) /var/www/monsite 192.168.10.143 (rw) Attention à la sécurité!
VirtualBox Firewall, DHCP, DNS Apache, MySQL Samba, NFS Postfix, courier Mettre en place un serveur de courriel Installation du serveur sudo aptitude install --purge postfix courier-imap courier-webadmin Configuration SMTP /etc/postfix/main.cf Configuration Imap /etc/courier/imapd ou http://adresse.ip.du.serveur/webadmin?
1) Lire la doc 2) Lire la doc 3) Lire la doc et surtout : 4) Lire la doc!... Restez informé! http://www.linuxfr.org http://www.gnomefiles.org http://planet.ubuntu-fr.org RTFM Trouvé la bonne documentation. http://formation-debian.via.ecp.fr/ http://www.howtoforge.com http://doc.ubuntu-fr.org http://www.apache.org, http://www.postfix.org, http://www.samba.org,...