Page suivante Page précédente Table des matières

10. Installer les démons réseau

10.1 Configurer SMTP

Créer les groupes et utilisateurs

Créez les groupes dont Sendmail a besoin en tapant:

groupadd -g 1 bin  
groupadd -g 2 kmem 
groupadd -g 3 mail 
useradd -u 1 -g bin -d /bin -s /bin/sh bin 
 

Créer les répertoires

Le courrier électronique sortant est stocké dans le répertoire /var/spool/mqueue . Le courrier entrant est transmis à Procmail par Sendmail, puis stocké dans le répertoire /var/mail. Créez ces répertoires et fixez les permissions :

mkdir /var/spool/mqueue
mkdir /var/mail 
cd /var/spool; ln -s ../mail mail 
chmod 700 /var/spool/mqueue 
chmod 775 /var/mail 
chgrp mail /var/mail 
chmod 1777 /tmp 
 

Installer Sendmail

cd src  
./Build; ./Build install 
 
 

Configuring Sendmail

Configurer Sendmail est plus facile à dire qu'à faire. Il y a un tas de choses à prendre en compte lorsque l'on configure cette application et je ne peux pas toutes les évoquer. C'est pourquoi pour le moment vous allez créer une configuration basique et standard. Si vous souhaitez peaufiner cette configuration, libre à vous, mais ce n'est pas le bon document pour apprendre comment faire. Vous pouvez éventuellement utiliser le fichier /etc/sendmail.cf (ou /etc/mail/sendmail.cf) existant.

OSTYPE(LFS)  
FEATURE(nouucp) 
define(`LOCAL_MAILER_PATH', /usr/bin/procmail) 
MAILER(local) 
MAILER(smtp) 
 

Installer Procmail

make; make install; make install-suid  
 
 

Créer le script de démarrage /etc/init.d/sendmail

#!/bin/sh  
# Begin /etc/init.d/sendmail 
  
check_status() 
{ 
  if [ $? = 0 ] 
  then 
    echo "OK" 
  else 
    echo "FAILED" 
  fi 
} 
  
case "$1" in 
  start) 
    echo -n "Starting Sendmail..." 
    start-stop-daemon -S -q -o -x /usr/sbin/sendmail -- -bd 
    check_status 
    ;; 
  
  stop) 
    echo -n "Stopping Sendmail..." 
    start-stop-daemon -K -q -o -p /var/run/sendmail.pid 
    check_status 
    ;; 
  
  reload) 
    echo -n "Reloading Sendmail configuration file..." 
    start-stop-daemon -K -q -s 1 -p /var/run/sendmail.pid 
    check_status 
    ;; 
  
  restart) 
    echo -n "Stopping Sendmail..." 
    start-stop-daemon -K -q -o -p /var/run/sendmail.pid 
    check_status 
  
    sleep 1 
  
    echo -n "Starting Sendmail..." 
    start-stop-daemon -S -q -o -x /usr/sbin/sendmail -- -bd 
    check_status 
    ;; 
  
  *) 
    echo "Usage: $0 {start|stop|reload|restart}" 
    exit 1 
    ;; 
  
esac 
  
# End /etc/init.d/sendmail 
 

Paramétrer les permissions et liens symboliques

cd /etc/init.d/rc2.d; ln -s ../init.d/sendmail S20sendmail  
cd ../rc0.d; ln -s ../init.d/sendmail K20sendmail 
cd ../rc6.d; ln -s ../init.d/sendmail K20sendmail 
 

10.2 Configurer FTP

Créer les groupes et utilisateurs

groupadd -g 65534 nogroup  
groupadd -g 4 ftp 
 

useradd -u 65534 -g nogroup -d /home nobody  
useradd -u 4 -g ftp -s /bin/sh -m ftp 
 

Installer Proftpd

./configure  
make; make install 
 

Créer le script de démarrage /etc/init.d/proftpd

#!/bin/sh  
# Begin /etc/init.d/proftpd 
  
check_status() 
{ 
  if [ $? = 0 ] 
  then 
    echo "OK" 
  else 
    echo "FAILED" 
  fi 
} 
  
case "$1" in 
  start) 
    echo -n "Starting Pro FTP daemon..." 
    start-stop-daemon -S -q -o -x /usr/sbin/proftpd 
    check_status 
    ;; 
  
  stop) 
    echo -n "Stopping Pro FTP daemon..." 
    start-stop-daemon -K -q -o -x /usr/sbin/proftpd 
    check_status 
    ;; 
  
  restart) 
    echo -n "Stopping Pro FTP daemon..." 
    start-stop-daemon -K -q -o -x /usr/sbin/proftpd 
    check_status 
  
    sleep 1 
  
    echo -n "Starting Pro FTP daemon..." 
    start-stop-daemon -S -q -o -x /usr/sbin/proftpd 
    check_status 
    ;; 
  
  *) 
    echo "Usage: $0 {start|stop|restart}" 
    ;; 
  
esac 
  
# End /etc/init.d/proftpd 
 

Paramétrer les permissions et les liens symboliques

cd /etc/rc2.d; ln -s ../init.d/proftpd S40proftpd  
cd ../rc0.d; ln -s ../init.d/proftpd K40proftpd 
cd ../rc6.d; ln -s ../init.d/proftpd K40proftpd 
 

10.3 Configurer HTTP

Installer Apache

./configure  
make; make install 
 

Configurer Apache

Il n'y a pas grande configuration à faire. La seule chose nécessaire est d'ajouter le chemin d'accès /usr/apache/man au fichier /usr/share/misc/man.conf

Créer le script de démarrage /etc/init.d/apache

#!/bin/sh  
# Begin /etc/init.d/apache 
  
case "$1" in 
  start) 
    echo -n "Starting Apache HTTP daemon..." 
    /usr/apache/bin/apachectl start 
    ;; 
  
  stop) 
    echo -n "Stopping Apache HTTP daemon..." 
    /usr/apache/bin/apachectl stop 
    ;; 
  
  restart) 
    echo -n "Restarting Apache HTTP daemon..." 
    /usr/apache/bin/apachectl restart 
    ;; 
  
  force-restart) 
    echo -n "Stopping Apache HTTP daemon..." 
    /usr/apache/bin/apachectl stop 
  
    sleep 1 
  
    echo -n "Starting Apache HTTP daemon..." 
    /usr/apache/bin/apachectl start 
    ;; 
  
  *) 
    echo "Usage: $0 {start|stop|restart|force-restart}" 
    ;; 
  
esac 
  
# End /etc/init.d/apache 
 

Paramétrer les permissions et liens symboliques

cd /etc/rc2.d; ln -s ../init.d/apache S50apache  
cd ../rc0.d; ln -s ../init.d/apache K50apache 
cd ../rc6.d; ln -s ../init.d/apache K50apache 
 

10.4 Configurer Telnet

Installer le démon et le client telnet

./configure  
make; make install 
 

Créer le fichier de configuration /etc/inetd.conf

# Begin /etc/inetd.conf  
  
telnet stream tcp nowait root /usr/sbin/in.telnetd 
  
# End /etc/inetd.conf 
 

Créer le script de démarrage /etc/init.d/inetd

#!/bin/sh  
# Begin /etc/init.d/inetd 
  
check_status() 
{ 
  if [ $? = 0 ] 
  then 
    echo "OK" 
  else 
    echo "FAILED" 
  fi 
} 
  
case "$1" in 
  start) 
    echo -n "Starting Internet Server daemon..." 
    start-stop-daemon -S -q -o -x /usr/sbin/inetd 
    check_status 
    ;; 
  
  stop) 
    echo -n "Stopping Internet Server daemon..." 
    start-stop-daemon -K -q -o -p /var/run/inetd.pid 
    check_status 
    ;; 
  
  reload) 
    echo -n "Reloading Internet Server configuration file..." 
    start-stop-daemon -K -q -s 1 -p /var/run/inetd.pid 
    check_status 
    ;; 
  
  restart) 
    echo -n "Stopping Internet Server daemon..." 
    start-stop-daemon -K -q -o -p /var/run/inetd.pid 
    check_status 
  
    sleep 1 
  
    echo -n "Starting Internet Server daemon..." 
    start-stop-daemon -S -q -o -x /usr/sbin/inetd 
    check_status 
    ;; 
  
  *) 
    echo "Usage: $0 {start|stop|reload|restart}" 
    ;; 
  
esac 
  
# End /etc/init.d/inetd 
 

Paramétrer les permissions et liens symboliques

cd /etc/rc2.d; ln -s ../init.d/inetd S30inetd  
cd ../rc0.d; ln -s ../init.d/inetd K30inetd 
cd ../rc6.d; ln -s ../init.d/inetd K30 inetd 
 

10.5 Configurer PPP

Configurer le noyau

Avant de pouvoir vous connecter à Internet, vous devez configurer le support PPP dans le noyau. Pour ce faire, soit vous compilez le noyau avec support PPP intégré, soit vous compilez le support PPP en module qui sera chargé lorsque nécessaire. Quelle que soit la méthode que vous préférez, vous devez recompiler le noyau maintenant s'il ne supporte pas le protocole PPP.

Créer le groupe

Installer PPP

./configure  
make; make install 
 

Créer le fichier /etc/resolv.conf

# Begin /etc/resolv.conf  
  
nameserver <adresse IP du serveur DNS primaire de votre FAI> 
nameserver <adresse IP du serveur DNS secondaire de votre FAI> 
  
# End /etc/resolv.conf 
 

Créer le fichier /etc/ppp/peers/provider

# Begin /etc/ppp/peers/provider  
  
noauth 
connect "/usr/sbin/chat -v -f /etc/chatscripts/provider" 
/dev/ttyS1 
115200 
defaultroute 
noipdefault 
  
# End /etc/ppp/peers/provider 
 

Créer le fichier /etc/chatscripts/provider

# Begin /etc/chatscripts/provider  
  
ABORT BUSY 
ABORT "NO CARRIER" 
ABORT VOICE 
ABORT "NO DIALTONE" 
ABORT "NO ANSWER" 
"" ATZ 
OK ATDT <numéro de téléphone de votre FAI> 
TIMEOUT 35 
CONNECT '' 
TIMEOUT 10 
ogin:  \  q<nom d'utilisateur FAI> 
TIMEOUT 10 
assword:  \  q<mot de passe FAI> 
  
# End /etc/chatscripts/provider 
 

Remarque concernant l'authentification des mots de passe

Comme vous pouvez le voir dans les scripts ci-dessus (ce sont les scripts que j'utilise lorsque je ne travaille pas sous X), je me connecte chez mon FAI (Fournisseur d'Accès Internet) en utilisant ces scripts de communication plutôt qu'en utilisant l'authentification pap ou chap. Bien que mon FAI supporte pap, j'ai choisi de procéder de façon légèrement différente, avec les avantages et inconvénients que cette méthode comporte. Dans mon cas, les avantages sont plus nombreux que les inconvénients. En fait, en utilisant cette méthode, j'ai plus de contrôle sur la procédure de connexion et je peux voir ce qui se passe et quand ça se passe.

Par exemple, la plupart du temps, lorsque je me connecte, j'ouvre une fenêtre dans laquelle j'exécute

tail -f /var/log/syslog de manière à pouvoir voir quand (avec mon FAI ce serait plutôt 'si') les informations comme l'identifiant et le mot de passe sont envoyés.


Page suivante Page précédente Table des matières