Ceci est une ancienne révision du document !
EN COURS
Pré-requis
- Il vaut mieux avoir certaines bases de l'utilisation de Linux (ligne de commande)
- Connaitre les bases de l'administration d'un réseau
- 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.
Installation
- Téléchargez la version serveur de Ubuntu correspondant à votre architecture
- Gravez-la
- Démarrez l'installation
- 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
- 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.
Configuration
Après le redémarrage, ifconfig
montre que vous n'avez qu'une seul interface configurée.
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.
auto eth0 iface eth0 inet static name LAN address 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 network 192.168.0.0
sudo aptitude update
sudo aptitude upgrade
sudo aptitude install emacs w3m zsh vimhelp-fr vim
Activez la coloration syntaxique dans vim
en éditant le fichier /etc/vim/vimrc
. Enlevez le "
devant la ligne suivante :
syntax on
Serveur Dhcpd
aptitude install dhcpd
''/etc/default/dhcp''
Ne vous trompez pas dans l'interface !
INTERFACES="eth0"
''/etc/dhcp/dhcpd.conf''
option domain-name "VOTRE_NOM_DE_DOMAINE"; option domain-name-servers VOS_SERVEURS_DNS; option routers 192.168.0.1; subnet 192.168.0.0 netmask 255.255.255.0 { authoritative; range 192.168.0.20 192.168.0.255; option broadcast-address 192.168.0.255; } # Pour des adresses particulières pour certaines cartes réseau host { hardware ethernet ADRESSE_MAC_DE_LA_CARTE; fixed-address 192.168.0.2; }
Serveur Dns (bind)
aptitude install bind9
Fichier ''/etc/bind/named.conf''
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; }; };
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. ( 2007063103 ; 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
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.
Utiliser la commande named-checkconf
pour vérifier la validité du fichier de configuration /etc/bind/named.conf
.
Serveur ssh
aptitude install openssh-server
Fichier /etc/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 # Temps réduit pour se logger LoginGraceTime 30 # Le root n'est pas autorisé à se logger PermitRootLogin no X11Forwarding no # On autorise un seul utilisateur à se connecter à partir d'un ordinateur externe AllowUsers VOTRE_UTILISATEUR@* *@192.168.0.*
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 XXXX
Rajoutez ceci dans /etc/bashrc :
alias ssh_VOTRE_NOM_DHOTE='ssh 192.168.0.1 -p XXXX'
Proxy-router-firewall (tinyproxy, firehol)
sudo aptitude install firehol tinyproxy
Si jamais à ce stage vous avez besoin d'Internet :
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A POSTROUTING -t nat -o eth1 -j MASQUERADE
''/etc/default/firehol''
Remplacez NO
par YES
.
''/etc/firehol/firehol.conf''
# # $Id: client-all.conf,v 1.2 2002/12/31 15:44:34 ktsaou Exp $ # # This configuration file will allow all requests originating from the # local machine to be send through all network interfaces. # # No requests are allowed to come from the network. The host will be # completely stealthed! It will not respond to anything, and it will # not be pingable, although it will be able to originate anything # (even pings to other hosts). # version 5 public_ip="82.235.70.20" interface eth0 home policy reject server "smtp http https ftp ssh dns cups ping imap imaps rsync icmp ntp smtp smtps squid" accept client "icmp samba http" accept interface eth1 internet protection strong server "smtp http ftp ssh dns" accept client all accept router home2internet inface eth0 outface eth1 # route "ftp jabber telnet time cups ping pop3 pop3s dhcp dns http https msn rsync rtp icmp imap imaps nntp ntp smtp smtps ssh squid sip" accept route all accept masquerade
Serveur Web (Apache) - Mysql - Php - Mod_python
aptitude install apache2 libapache2-mod-php4 phpmyadmin libapache2-mod-python2.4 mysql-server-4.1 apache2-utils
Fichier /etc/apache2/
Enlever le #
à la ligne suivante :
x-http-php
Test
- Connectez-vous sur votre serveur.
- Créer un fichier index.php
avec pour seul contenu :
<?php phpinfo(); ?>
Serveur d'impression (Cups)
N'oubliez pas d'allumer votre imprimante et de la brancher au serveur…
apt-get install hpijs-ppds linuxprinting.org-ppds hpijs cupsys
Proxy (dansguardian, tinyproxy)
Crédits
Tutoriel réalisé par Charles-Axel Dein.