Prérequis
– Installer les prérequis si vous n’avez pas installé les outils de developement.
Ici pour uns distribution TRUSTIX,
swup --install gcc make patch glibc-devel gcc-c++-devel
– Télécharger FROX depuis le site du projet http://frox.sourceforge.net/download/
wget http://frox.sourceforge.net/download/frox-0.7.18.tar.gz
Installation de FROX
– Décompacter l’archive
tar xvfz frox-0.7.18.tar.gz
– Compiler l’exécutable et l’installer.
cd frox-0.7.18
./configure --enable-http-cache --enable-local-cache --enable-configfile=/etc/frox.conf
make && make install
Configuration de FROX
– Copier le fichier de conf dans son dossier.
cp /chemin_vers_le_dossier/frox-0.7.18/src/frox.conf /etc/
– On crée l’utilisateur qui sera utilisé par le démon FROX.
groupadd frox
useradd -s /bin/false -c "Proxy Transparent FROX" -d /var/spool/frox -g frox frox
Je vide le dossier de l’utilisateur frox car useradd crée le dossier personnle suivant un squelette préétabli.
rm -rf /var/spool/frox/.*
rm -rf /var/spool/frox/Maildir/
– Créer le dossier de log que l’on va utiliser dans la configuration :
mkdir /var/log/frox
– Editer /etc/frox.conf avec votre éditeur favoris
vi /etc/frox.conf
Voici le contenu de mon fichier de configuration dont j’ai purgé les commentaires.
# Inscrire ici l'adresse ip de votre machine bien entendu.
Listen XXX.XXX.XXX.XXX
Port 2121
BindToDevice eth0
ResolvLoadHack wontresolve.doesntexist.abc
User frox
Group frox
WorkingDir /var/spool/frox
LogLevel 15
LogFile /var/log/frox/frox-log
XferLogging no
PidFile /var/run/frox.pid
BounceDefend yes
AllowNonASCII yes
DoNTP yes
MaxForks 10
MaxForksPerHost 4
ACL Allow * - *
– Créer le script de démarrage de frox avec votre éditeur favoris. Ce fichier se nomme /etc/init.d/frox.
vi /etc/init.d/frox
Contenu du script frox
### /etc/init.d/frox ###
#!/bin/bash
#
# Init file for frox (transparent ftp proxy)
#
# chkconfig: 345 96 50
# description: frox
FROX_BIN=/usr/local/sbin/frox
FROX_CONF=/etc/frox.conf
FROX_LOG=/var/log/frox/frox-log
FROX_PID=/var/run/frox.pid
case "$1" in
'start')
echo "Starting Frox...";
$FROX_BIN -f $FROX_CONF
;;
'stop')
echo "Stopping Frox...";
if [ -f $FROX_PID ]; then
kill `cat $FROX_PID`
rm $FROX_PID
else
echo "Frox not running";
fi
;;
'help')
echo "Usage: $0 start | stop "
exit 1
;;
esac
exit 0
cd /etc/init.d/
chmod +x frox
– Activer FROX au démarrage du serveur.
chkconfig frox on
– Démarrer FROX manuellement.
frox
ou
/etc/init.d/frox start
– Arréter FROX manuellement.
kill `pidof frox`
ou
/etc/init.d/frox stop
– Consulter les logs en temps réel.
tail -f /var/log/frox/frox-log
En fonction de la valeur LogLevel dans le fichier frox.conf, on peut avoir plus ou moins de détails pour débugguer.
La valeur servant pour le debug est 25.