Configuration Serveur · 5 min read · Jan 04, 2026

La configuration parfaite - SUSE 9.3 - 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.3 (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étermine la base et suit 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 ex. "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éinitialisez 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 renvoie 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, ## donner 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 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 # # DenyAll # |

et redémarrez Proftpd :

/etc/init.d/proftpd restart

Webalizer

Pour installer webalizer, il suffit d’exécuter

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 |

Ensuite, exécutez

chmod 600 /var/spool/cron/tabs/root
/etc/init.d/cron restart

Installer certains modules Perl nécessaires à SpamAssassin (fourni avec ISPConfig)

Installation à l’aide de l’interface Perl

Connectez-vous à votre ligne de commande en tant que root et exécutez la commande suivante pour démarrer l’interface Perl :

perl -MCPAN -e shell

Si vous exécutez l’interface 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 sur l’interface Perl afin que celle-ci puisse récupérer les modules nécessaires sans trop de retard. Vous pouvez le rallumer par la suite.

Le grand avantage de l’interface Perl par rapport aux deux autres méthodes décrites ici est qu’elle prend en compte les 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 lors de l’installation d’un autre module, l’interface Perl vous demande si elle 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 l’interface 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 comme répertoire personnel pour les sites Web créés par ISPConfig, car le suExec de SUSE 9.3 est compilé avec /srv/www comme Doc_Root. Exécutez /usr/sbin/suexec2 -V, et la sortie devrait ressembler à ceci :

Pour sélectionner /srv/www comme répertoire personnel 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 comme répertoire personnel pour les sites Web.

Liens

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.