Configuration Serveur · 5 min read · Feb 12, 2026
La configuration parfaite - SUSE 9.2 - Page 6
Proftpd
Je veux utiliser Proftpd au lieu de vsftpd, qui est le serveur FTP par défaut de SUSE, car le logiciel de panneau de contrôle que je vais installer sur ce serveur (ISPConfig) nécessite Proftpd sur SUSE 9.2 (sur d’autres distributions, c’est différent). Comme il n’y a pas de paquets SUSE pour Proftpd, je dois le compiler manuellement :
cd /tmp/
wget –passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.10.tar.gz
tar xvfz proftpd-1.2.10.tar.gz
cd proftpd-1.2.10/
./configure –sysconfdir=/etc
make
make install
cd ../
rm -fr proftpd-1.2.10*
Maintenant, créez le fichier /etc/init.d/proftpd :
| #! /bin/sh # Copyright (c) 2000-2001 SuSE GmbH Nuernberg, Allemagne. # Tous droits réservés. # # Auteur original : Marius Tomaschewski <[email protected]> # # Légèrement modifié en 2003 pour une utilisation avec SuSE Linux 8.1, # par http://www.learnlinux.co.uk/ # # Légèrement modifié en 2005 pour une utilisation avec SuSE Linux 9.2, # par Falko Timme # # /etc/init.d/proftpd # ### BEGIN INIT INFO # Provides: proftpd # Required-Start: $network $remote_fs $syslog $named # Required-Stop: # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Description: Démarre le serveur ProFTPD ### END INIT INFO # Déterminez la base et suivez un nom de lien de niveau d'exécution. base=${0##*/} link=${base#*[SK][0-9][0-9]} # Force l'exécution si non appelé par un répertoire de niveau d'exécution. test $link = $base && START_PROFTPD=yes # Modifié par learnlinux.co.uk test "$START_PROFTPD" = yes || exit 0 # Modifié par learnlinux.co.uk # Valeurs de retour selon LSB pour toutes les commandes sauf # statut (voir ci-dessous) : # # 0 - succès # 1 - erreur générique ou non spécifiée # 2 - argument(s) invalide(s) ou excessif(s) # 3 - fonctionnalité non implémentée (par exemple, "reload") # 4 - privilège insuffisant # 5 - programme non installé # 6 - programme non configuré # 7 - programme non en cours d'exécution proftpd_cfg="/etc/proftpd.conf" proftpd_bin="/usr/local/sbin/proftpd" proftpd_pid="/usr/local/var/proftpd.pid" [ -r $proftpd_cfg ] || exit 6 [ -x $proftpd_bin ] || exit 5 # Source des fonctions de statut . /etc/rc.status # D'abord réinitialiser le statut de ce service rc_reset case "$1" in start) echo -n "Démarrage du serveur ProFTPD : " test -f /etc/shutmsg && rm -f /etc/shutmsg /sbin/startproc $proftpd_bin rc_status -v ;; stop) echo -n "Arrêt du serveur ProFTPD : " test -x /usr/local/sbin/ftpshut && /usr/local/sbin/ftpshut now && sleep 1 /sbin/killproc -TERM $proftpd_bin test -f /etc/shutmsg && rm -f /etc/shutmsg rc_status -v ;; restart) ## Si le premier retourne OK, appelez le second, si le premier ou ## la seconde commande échoue, définissez la valeur de retour d'écho. $0 stop $0 start rc_status ;; try-restart) ## Arrêtez le service et si cela réussit (c'est-à-dire que le ## service était en cours d'exécution auparavant), redémarrez-le. ## Remarque : pas (encore) partie de LSB (à partir de 0.7.5) $0 status >/dev/null && $0 restart rc_status ;; reload|force-reload) ## Possibilité exclusive : Certains services doivent être arrêtés ## et démarrés pour forcer un nouveau chargement de la configuration. echo -n "Recharger le serveur ProFTPD : " /sbin/killproc -HUP $proftpd_bin rc_status -v ;; status) # Le statut a une légère différence pour la commande de statut : # 0 - service en cours d'exécution # 1 - service mort, mais le fichier pid /var/run/ existe # 2 - service mort, mais le fichier de verrouillage /var/lock/ existe # 3 - service non en cours d'exécution echo -n "Vérification du serveur ProFTPD : " checkproc $proftpd_bin rc_status -v ;; probe) ## Optionnel : Probe pour la nécessité d'un rechargement, ## donnez l'argument requis pour un rechargement. [ $proftpd_cfg -nt $proftpd_pid ] && echo reload ;; *) echo "Usage: $0 {start|stop|status|restart|reload|try-restart|probe}" exit 1 ;; esac # Définir un statut de sortie. rc_exit |
chmod 755 /etc/init.d/proftpd
chkconfig –add proftpd
/etc/init.d/proftpd start
Pour des raisons de sécurité, vous pouvez également ajouter les lignes suivantes à /etc/proftpd.conf :
| DefaultRoot ~ IdentLookups off ServerIdent on "Serveur FTP prêt." |
Assurez-vous de commenter les lignes suivantes afin de permettre aux utilisateurs ftp de CHMOD :
| # Interdire l'utilisation de SITE CHMOD par défaut # |
et redémarrez Proftpd :
/etc/init.d/proftpd restart
Webalizer
Pour installer webalizer, exécutez simplement
apt-get install webalizer
Synchroniser l’horloge système
Si vous souhaitez synchroniser l’horloge système avec un serveur NTP, faites ce qui suit :
apt-get install netdate
netdate tcp time.nist.gov
Créez /var/spool/cron/tabs/root :
| # mettre à jour l'heure avec le serveur ntp 0 3,9,15,21 * * * /usr/sbin/netdate time.nist.gov |
Puis exécutez
chmod 600 /var/spool/cron/tabs/root
/etc/init.d/cron restart
Installer quelques modules Perl nécessaires à SpamAssassin (fourni avec ISPConfig)
Installation en utilisant le shell Perl
Connectez-vous à votre ligne de commande en tant que root et exécutez la commande suivante pour démarrer le shell Perl :
perl -MCPAN -e shell
Si vous exécutez le shell Perl pour la première fois, on vous posera quelques questions. Dans la plupart des cas, les réponses par défaut sont correctes.
Veuillez noter : Si vous exécutez un pare-feu sur votre système, vous devrez peut-être l’éteindre pendant que vous travaillez dans le shell Perl afin que le shell Perl puisse récupérer les modules nécessaires sans un grand délai. Vous pouvez le rallumer ensuite.
Le grand avantage du shell Perl par rapport aux deux autres méthodes décrites ici est qu’il se soucie des dépendances lors de l’installation de nouveaux modules. C’est-à-dire que, s’il s’avère qu’un module Perl préalable est manquant lorsque vous installez un autre module, le shell Perl vous demande s’il doit installer le module préalable pour vous. Vous devriez répondre à cette question par “Oui”.
Exécutez les commandes suivantes pour installer les modules nécessaires à SpamAssassin :
install HTML::Parser
install Net::DNS (lorsqu’on vous demande d’activer les tests, choisissez non)
install Digest::SHA1
install DB_File
q (pour quitter le shell Perl)
Si un module est déjà installé sur votre système, vous recevrez un message similaire à celui-ci :
HTML::Parser est à jour.
L’installation réussie d’un module ressemble à ceci :
/usr/bin/make install – OK
La fin
La configuration du serveur est maintenant terminée, et si vous le souhaitez, vous pouvez maintenant installer ISPConfig dessus.
Une note sur SuExec
Si vous souhaitez exécuter des scripts CGI sous suExec, vous devez spécifier /srv/www/htdocs comme répertoire de base pour les sites Web créés par ISPConfig, car le suExec de SUSE est compilé avec /srv/www/htdocs comme Doc_Root. Exécutez /usr/sbin/suexec2 -V, et la sortie devrait ressembler à ceci :
Pour sélectionner /srv/www/htdocs comme répertoire de base pour les sites Web lors de l’installation d’ISPConfig, faites ce qui suit : Lorsque vous êtes invité à choisir le mode d’installation, sélectionnez le mode expert.
Plus tard, pendant l’installation, on vous demande si le répertoire par défaut /home/www doit être le répertoire où ISPConfig créera des sites Web. Répondez n et entrez /srv/www/htdocs comme répertoire de base pour les sites Web.
Liens
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.