# Introduction

L'histoire d'OpenBSD commence en 1995 avec la séparation de Théo De Raadt vis à vis du projet NetBSD. Le projet OpenBSD a pour but:
* de fournir la meilleure plateforme de développement possible
* d'intégrer du code correctement écrit venant de copyright acceptable tel que la licence BSD
* de fournir un système à jour et sécurisé
* de fournir une plus grande intégration des logiciels cryptographiques
* de suivre les normes ANSI et POSIX
* de rendre le code source indépendant de l'architecture
* d'un choix technique plutôt que politique
* d'une orientation développeur
* de fournir une plateforme de développement pour la compilation croisée
* de régler le maximum de problèmes importants
Vous pouvez retrouver tous ces principes sur le site officiel (http://www.openbsd.org/fr/goals.html).

## Un système qui fonctionne par défaut

OpenBSD a la particularité de "juste fonctionner" après une installation. C'est à dire que le système contient tout ce qui est nécessaire à l'utilisateur, une interface graphique (le serveur X ainsi que xdm et twm), des éditeurs de textes (vi et mg), des services réseaux (DHCP, HTTP, DNS...), des outils pour les développeurs (gcc, gdb...) ainsi que la documentation complète d'OpenBSD.

## Un système sécurisé

OpenBSD a une volonté de sécurité au niveau du système. Le projet OpenBSD a mis d'ailleurs en place de nombreuses solutions par défaut pour pallier aux problèmes de sécurité. Par exemple, les services utilisé couramment tel que le serveur web apache, sont directement livré avec OpenBSD et offrant des améliorations intéressantes tel que le chrooting par défaut pour apache et bind.

## Une documentation importante

Le principal avantage que l'on peut trouver sur les distributions libres est une documentation libre de droit, importante et surtout présente par défaut. OpenBSD ne déroge pas à la règle et offre à ses utilisateurs une vaste documentation via la commande man.

# Installation

Comme tout système d'exploitation, OpenBSD ne déroge pas à la règle et offre plusieurs méthodes pour son installation. Les installeurs sont disponibles sur les miroirs d'OpenBSD et ne nécessite que très peu de connaissances pour leur mises en places.

## Préparer l'installation
### Compatibilité matérielle

Comme toutes distributions libres et open-source, une liste de compatibilité est disponible sur le site officielle. La majorité du matériel est supporté, mais certains d'entre eux nécessite quelques modifications ou rajouts pour les faire fonctionner. Par exemple, les cartes wifi Intel nécessite l'ajout de firmware non libre.

### Définitions des besoins

Pourquoi? Le système d'exploitation s'adapte dans beaucoup de milieu. Que ce soit au niveau de matériel embarqué (firewall par exemple), comme serveur (serveur web) ou comme stations de travail (pour le développement ou le multimédia).

### Installer via un CD-ROM

Il suffit de graver l'image iso récupérable sur les miroirs d'OpenBSD (http://ftp.fr.openbsd.org/pub/OpenBSD/4.9/i386/install49.iso) et de la graver sur un CD-Rom. Pour cela, vous pouvez utiliser, si vous êtes sous Windows, InfraRecorder. Si vous êtes sous Linux/Unix, et que vous utilisez une interface graphique, vous pouvez utiliser K3B.
Si vous êtes dans un environnement non graphique Unix/Linux, vous pouvez utiliser les commandes suivantes:
* sous OpenBSD:
* sous FreeBSD:
* sous Debian:

### Installer via une clé USB

Il suffit d'installer OpenBSD sur une clé usb (via une machine virtuelle par exemple) et lors du démarrage avec la clé USB, au prompt, utiliser le kernel RAMDISK :
L'installeur se lance.

### Installer via un réseau

Pour l'installation via le réseau, il est nécessaire d'utiliser un serveur DHCP (avec la gestion de BOOTP/PXE) et tftp.

#### Sous Windows

Vous pouvez télécharger le logiciel tftp32, offrant le service DHCP ainsi que tftp.

#### Sous Unix/Linux

Si vous êtes sous une distribution Debian, vous avez besoin d'un serveur DHCP et tftp. Utilisez la commande apt-get ou aptitude pour installer ces 2 packages:
Puis, configurer le serveur tftp grâce au superserveur inetd.conf:
Enfin, configurez le serveur dhcpd, les fichiers de configurations de trouvent dans /etc/dhcp3/.
Si vous êtes sous un système OpenBSD ou FreeBSD

### Avant de commencer/En cas de problème

* Sauvegardez vos données!
* Si l'installation s'arrête, il est toujours possible:
** De la recommencer
** De booter sur un shell minimal pour voir les problèmes
N'oubliez pas qu'il y a une communauté autour du logiciel, et que vous pourrez avoir l'aide que vous voudrez sur le site officiel, ou sur les forums spécialisés.
Si votre installation a réussit, n'oubliez pas d'envoyer le message de démarrage à la mailing list dmesg@openbsd.org

## Après l'installation
### Installer des logiciels

Comme pour les autres système BSD, OpenBSD utilise un gestionnaire de package nommé pkg_install. Ce dernier permet d'installer des logiciels précompilé par l'équipe d'OpenBSD et assurant une sécurité optimum. Mais vous pouvez aussi utiliser le système des ports (/usr/ports/) et ainsi compilé les logiciels que vous avez besoins.
Par ailleurs, l'équipe d'OpenBSD recommande l'utilisation de la première méthode pour des raisons de sécurité.

### Ajouter des utilisateurs et des groupes
# Configuration
## Les commandes vitales
### man

La commande pour avoir accès au manuel:
Pour rechercher des documentations dans la base de données, il suffit d'utiliser l'argument -k et le terme désiré:
Les pages du manuel sont regroupé par section, par convention, et identique aux autres distributions de type Unix/Linux.
* Section 1: Les Commandes générales (tel que ls, cd, pwd...)
* Section 2: Les Appels système (tel que le retour d'erreur des sockets)
* Section 3: Les Sous routines (tel que les librairies du C )
* Section 4: Les fichiers spéciaux (tel que les fichiers contenu dans /dev)
* Section 5: Les formats de fichiers (tel que les fichiers de structures)
* Section 6: Les jeux (les jeux sous openbsd!)
* Section 7: Les macros et conventions ( ainsi que les autres documentations)
* Section 8: Les commandes de maintenance (tel que mount, fsck, dump...)
* Section 9: Les interface du Kernel (tel que les structures de données ou les variables)
Pour chercher dans une rubrique particulière, il suffit d'utiliser la commande de cette façon:

### locate
## Configurer le matériel
### Configuration de Xenocara (X11)
## Configurer le réseau
### Configurer une connexion PPP
## Configurer Packet Filter (Pare-feu)
### Configuration avancée
#### Configuration d'un NAT
#### Configuration avec un IDS
# Quelques utilitaires pratiques
## Introduction à mg

mg est un éditeur de texte développé par l'équipe d'OpenBSD basé sur Emacs. Il possède le même jeu de raccourcis qu'Emacs, en étant beaucoup plus léger.

## Introduction à Tmux

Tmux est un démultiplexeur de terminal, c'est à dire qu'il peut créer plusieurs terminaux dans une fenetre et ainsi en assurer la gestion avec des commandes. Il offre entre autre la possibilité de se "détacher" et de se "réattacher", ce qui a pour conséquence de sauvegarder une sessions...

## Introduction à DWM

DWM (Dynamic Windows Manager) est une interface graphique dynamique et minimal. Elle remplace facilement des interfaces graphiques plus lourdes tel que Gnome ou KDE.

# Bibliographie
## Liens

Le site officiel d'OpenBSD : (anglais) http://www.openbsd.org Le site officiel d'OpenBSD en français : (français) http://www.openbsd.org/fr/ Le site de la communauté OpenBSD France : (français) http://openbsd-france.org/

## Livres

Absolute OpenBSD de Michael Lucas The Book of PF - A No-Nonsense Guide to the OpenBSD Firewall de Peter N. M. Hansteen Secure Architectures with OpenBSD de Brandon Palmer, Jose Nazario.