Page suivantePage précédenteTable 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 suivantePage précédenteTable des matières