Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
wiki:syntax [Le 28/05/2007, 15:24] charlax |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | 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 === | ||
- | |||
- | {{installation:warning.png }} | ||
- | >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. | ||
- | |||
- | <code> | ||
- | 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 | ||
- | </code> | ||
- | |||
- | ''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 : | ||
- | <code> | ||
- | syntax on | ||
- | </code> | ||
- | |||
- | ==== Serveur Dhcpd ==== | ||
- | |||
- | ''aptitude install dhcpd'' | ||
- | |||
- | === ''/etc/default/dhcp'' === | ||
- | |||
- | Ne vous trompez pas dans l'interface ! | ||
- | |||
- | <code> | ||
- | INTERFACES="eth0" | ||
- | </code> | ||
- | |||
- | === ''/etc/dhcp/dhcpd.conf'' === | ||
- | |||
- | <code> | ||
- | 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; | ||
- | } | ||
- | </code> | ||
- | |||
- | ==== Serveur Dns (bind) ==== | ||
- | |||
- | ''aptitude install bind9'' | ||
- | |||
- | === Fichier ''/etc/bind/named.conf'' === | ||
- | |||
- | Rajoutez les options correspondant à votre zone : | ||
- | |||
- | <code> | ||
- | zone "d3in.org" { | ||
- | type master; | ||
- | file "d3in.org.zone"; | ||
- | allow-transfer { | ||
- | // twisted4life | ||
- | 202.157.182.142; | ||
- | // gandi | ||
- | 217.70.177.40; | ||
- | }; | ||
- | }; | ||
- | </code> | ||
- | |||
- | === Fichier ''/var/cache/bind/d3in.org.zone'' === | ||
- | |||
- | <code> | ||
- | ; 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 | ||
- | </code> | ||
- | |||
- | === 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. | ||
- | <code> | ||
- | # 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.* | ||
- | </code> | ||
- | |||
- | === Test de la configuration === | ||
- | |||
- | '' /etc/init.d/ssh restart'' | ||
- | |||
- | {{installation:warning.png }} | ||
- | >N'oubliez pas que désormais le port n'est plus 22 ! | ||
- | |||
- | ''ssh votre_adresse_ip -p XXXX'' | ||
- | |||
- | Rajoutez ceci dans /etc/bashrc : | ||
- | |||
- | <code> | ||
- | alias ssh_VOTRE_NOM_DHOTE='ssh 192.168.0.1 -p XXXX' | ||
- | </code> | ||
- | |||
- | ==== 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'' === | ||
- | |||
- | <code> | ||
- | # | ||
- | # $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 | ||
- | </code> | ||
- | |||
- | ==== 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 : | ||
- | <code> | ||
- | x-http-php | ||
- | </code> | ||
- | |||
- | === Test === | ||
- | |||
- | - Connectez-vous sur votre serveur. | ||
- | - Créer un fichier ''index.php'' avec pour seul contenu : | ||
- | <code php> | ||
- | <?php | ||
- | phpinfo(); | ||
- | ?> | ||
- | </code> | ||
- | |||
- | |||
- | ==== Serveur d'impression (Cups) ==== | ||
- | |||
- | {{installation:warning.png }} | ||
- | >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. | ||