Configuration d'un serveur Slackware Linux
Note: Ce guide sous-entend plusieurs
choses:
- que Slackware est
installé sur votre ordinateur
- que l'interface du
réseau local eth0 est configuré avec une adresse IP
statique (probablement 192.168.0.1)
- que vous avez un minimum de
connaissance en informatique et en réseautique
- que vous savez utiliser un
éditeur de texte sous linux (tel vi, pico, joe, emacs, mcedit,
etc...)
- Configurer les disques dans le fichier
fstab
- Configurer les services
- Configurer le pare-feu (firewall) avec
gShield
- Configurer la connection internet
- Connection haute-vitesse (ADSL/LNPA)
- Configurer la synchronisation du temps
avec ntp
- Configurer le serveur DNS (bind ou
dnsmasq)
- dnsmasq (pour Slackware 10)
- Configurer le serveur dhcp (dhcpd ou dnsmasq)
- dnsmasq (pour Slackware 10)
- Configurer Squid
- Configurer Apache
- Configurer ProFTPd
- Configurer Samba
1. Configurer les
disques dans le fichier fstab
Dans le fichier /etc/fstab,
je rajoute les lignes suivantes pour le lecteur CD et le lecteur de
disquette. Si elles sont déjà là, je vais les
modifier ou rajouter un "#" devant pour qu'elles soient ignorées
par le système.
/dev/cdrom
/mnt/cdrom
iso9660 noauto,users,ro 0 0
/dev/fd0
/mnt/floppy
auto
noauto,users 0 0
2. Configurer les
services
- Dans le fichier /etc/inetd.conf,
je rajoute ou enlève les "#" pour sélectionner les
services
que je veux de disponibles sur le serveur. Habituellement, je laisse ftp et swat (swat sert à configurer
samba).
- Dans le dossier /etc/rc.d,
faites "chmod
755 rc.xxx" pour
les services activés et "chmod
644 rc.xxx"
pour ceux désactivés.
3. Configurer la
connection internet
- Connection haute vitesse (ADSL/LNPA)
- Installer rp-pppoe-3.5-1-i386.tgz
(qui se trouve dans le répertoire slackware/n du cd ou du serveur ftp de Slackware)
avec la commande "installpkg
rp-pppoe-3.5-1-i386.tgz"
- Éxécuter adsl-setup
- Sélectionner eth1
comme
interface internet
- Ne pas sélectionner de firewall, gShield sera
utilisé pour ça à la prochaine étape
- Ajouter la commande adsl-connect
au fichier /etc/rc.d/rc.local
/usr/sbin/adsl-connect
&
- Éditer le fichier /etc/rc.d/rc.inet1.conf
pour utiliser dhcp sur eth1
- Connection 56k: allez à cette page, c'est plus complexe
à configurer que les autres
4. Configurer le
pare-feu (firewall) avec gShield
- Télécharger la dernière version de gShield
à http://muse.linuxmafia.org/gshield/
- Décompresser l'archive dans /etc avec la
commande "tar
-zxvf gShield-2.8.tgz"
- Habituellement je renomme le dossier à /etc/firewall
- Éditer les fichiers /etc/firewall/gShield.rc
et /etc/firewall/conf/NATS
(et d'autres fichiers si nécessaire).
- eth0
comme interface locale
- ppp0
comme interface internet pour 56k et haute-vitesse
- eth1
comme interface internet pour câble
- Configurer gShield pour démarrer lors de l'activation
d'une connection
- Pour 56k et haute-vitesse:
- Si vous avez utilisé pppsetup
pour configurer une connection 56k, renommer l'ancien /etc/ppp/ip-up
comme /etc/ppp/ip-up.bak
- Créez un nouveau fichier /etc/ppp/ip-up
avec les lignes suivantes:
#!/bin/sh
/etc/firewall/gShield.rc
--start
- Assurez-vous que le fichier est éxécutable avec
"chmod 755
/etc/ppp/ip-up"
- Si vous avez utilisé pppsetup
pour configurer une connection 56k, renommer l'ancien /etc/ppp/ip-down
comme /etc/ppp/ip-down.bak
- Créez un nouveau fichier /etc/ppp/ip-down
avec les lignes suivantes:
#!/bin/sh
/etc/firewall/gShield.rc
--stop
- Assurez-vous que le fichier est éxécutable avec
"chmod 755
/etc/ppp/ip-down"
- Éditez (ou créez) le fichier /etc/dhcpc/dhcpc-eth1.exe
pour qu'il contiennent les lignes suivantes:
#!/bin/sh
echo "(dhcpcd) IP address
changed to $1" | logger
/etc/firewall/gShield.rc
--start
- Assurez-vous que le fichier est éxécutable avec
"chmod 750
/etc/dhcpc/dhcpc-eth1.exe"
5. Configurer la
synchronisation du temps avec ntp
- Pour haute-vitesse ou câble
- Créer (ou modifier) le fichier /etc/ntp.conf
pour qu'il contiennent les lignes suivantes:
server
ca.pool.ntp.org
driftfile
/etc/ntp/drift
restrict
default noquery notrust nomodify
restrict
127.0.0.1
- Ajouter la ligne suivante au fichier /etc/rc.d/rc.local
pour faire démarrer ntpd
au démarrage de l'ordinateur:
/usr/sbin/ntpd
- Éditer le fichier /etc/ppp/ip-up
pour rajouter la ligne suivante:
ntpdate
ca.pool.ntp.org
6. Configurer le
serveur DNS (bind ou dnsmasq)
- Éditer le fichier /etc/named.conf
- S'assurez que le fichier /etc/rc.d/rc.bind
est éxécutable avec "chmod
755
/etc/rc.d/rc.bind"
- Autres détails à venir
- Éditer le fichier /etc/dnsmasq.conf
pour qu'il contiennent au moins les lignes suivantes (elle devraient y
être par défaut):
domain-needed
bogus-priv
filterwin2k
interface=eth0
dhcp-range=192.168.0.50,192.168.0.150,12h
- Éditer le fichier /etc/rc.d/rc.local
pour que dnsmasq démarrent automatiquement au démarrage
de l'ordinateur avec la ligne suivante:
/etc/rc.d/rc.dnsmasq
start
- Assurez vous que /etc/rc.d/rc.dnsmasq
est éxécutable avec "chmod
755
/etc/rc.d/rc.dnsmasq"
7. Configurer le
serveur dhcp (dhcpd ou
dnsmasq)
- Éditer (ou créer) le fichier /etc/dhcpd.conf pour
qu'il contiennent les lignes suivantes:
subnet
192.168.0.0
netmask 255.255.255.0 {
range
192.168.0.100 192.168.0.200;
default-lease-time 600;
max-lease-time 7200;
option
routers 192.168.0.1;
option
domain-name-servers 192.168.0.1;
option
broadcast-address 192.168.0.255;
}
ddns-update-style
ad-hoc;
Vous pouvez changer la ligne option routers pour rajouter les serveurs
DNS
de votre fournisseur internet (séparé par des espaces) si
vous ne voulez pas de serveur DNS sur votre routeur.
- Ajouter la ligne suivante au fichier /etc/rc.d/rc.local
pour faire démarrer dhcpd au démarrage de l'ordinateur:
/usr/sbin/dhcpd
- dnsmasq (Slackware 10): la configuration à l'étape
précédente est suffisante pour dnsmasq à cette
étape-ci.
8. Configurer Squid
- Squid est un serveur de cache web surtout utiles pour les
connections lentes. Donc si vous avez une connection 56k, il peut
être utile, mais si vous avez une connection rapide avec
haute-vitesse ou par câble, il n'est pas très utile.
9. Configurer Apache
- Ouvrir le fichier /etc/apache/httpd.conf
(la configuration de base est assez bonne pour commencer)
- Changer les paramètre suivants au besoin:
- ServerAdmin
- ServerName
- DocumentRoot
- Habituellement je rajoute quelques petites choses pour faciliter
certaines tâches
<Directory
/home/*/public_html>
Options +Includes
AllowOverride Options FileInfo
</Directory>
XBitHack On
- Les seconde et cinquième lignes sont pour les Server Side
Includes
- La troisième est pour le logiciel Gallery
<IfModule
mod_dir.c>
DirectoryIndex index.html index.htm index.php
</IfModule>
- Je rajoute index.htm et index.php pour plus de
flexibilité
Include
/etc/apache/mod_php.conf
- À la fin pour activer le support pour php
- Redémarrez Apache avec la commande "apachectl restart"
10. Configurer ProFTPd
- ProFTPd vient préconfiguré avec Slackware
- Pour que le service ftp
soit
disponible, assurez-vous qu'il n'est pas commenté (avec un "#"
devant)
dans le fichier /etc/inetd.conf
- Si vous voulez que des usagers anonymes puissent se connecter
à votre serveur ftp, éditer le fichier /etc/ftpusers
pour enlever le "#" devant ftp
- Vous pouvez aussi éditer le fichier /etc/proftpd.conf
si vous voulez changer d'autres choses
11. Configurer Samba
- Assurez vous que le service swat
n'est
pas commenté (avec un "#" devant)
dans le fichier /etc/inetd.conf
- Allez à l'adresse http://192.168.0.1:901/ avec votre
navigateur internet
- Allez à l'onglet GLOBALS
- Configurez les valeurs de base telle que workgroup, netbios name
et server
string
- Configurez security
à share
(ce qui fait le serveur agir comme un ordinateur Windows, ce qui est
beaucoup plus simple) et encrypt
passwords
à YES
- Configurez les types de caractères utilisés par le
serveur, ce qui permet de copier des fichiers avec des accents dans le
nom (vous aurez peut-être à changer le mode de vue pour Advanced View)
- 2.x (Slackware 9.1 et moins)
- 3.x (Slackware 10)
- dos
charset : CP850
- unix
charset : ISO8859-1
- Pour la section SHARES,
vous
faites ce que vous voulez.