Installation serveur · 9 min read · Feb 11, 2026
Le Serveur Parfait - Fedora 15 x86_64 [ISPConfig 3] - Page 5
15 Installer Amavisd-new, SpamAssassin Et ClamAV
Pour installer amavisd-new, spamassassin et clamav, exécutez la commande suivante :
yum install amavisd-new spamassassin clamav clamav-data clamav-server clamav-update unzip bzip2 perl-DBD-mysqlLorsque nous avons installé ClamAV, un cron job a été installé qui essaie de mettre à jour la base de données de virus ClamAV toutes les trois heures. Mais cela ne fonctionne que si nous l’activons dans /etc/sysconfig/freshclam et /etc/freshclam.conf :
vi /etc/sysconfig/freshclamCommentez la ligne FRESHCLAM_DELAY à la fin :
| ## Lorsque vous changez la périodicité des exécutions de freshclam dans le crontab, ## cette valeur doit également être ajustée. Sa valeur est le temps entre ## deux exécutions successives de freshclam en minutes. Par exemple, pour le défaut ## ## | 0 */3 * * * ... ## ## la ligne crontab, la valeur est 180 (minutes). # FRESHCLAM_MOD= ## Une valeur prédéfinie pour le délai en secondes. Par défaut, la valeur est ## calculée par le programme 'hostid'. Cette valeur prédéfinie garantit ## des intervalles constants de 3 heures entre deux exécutions successives de freshclam. ## ## Cette option accepte deux valeurs spéciales : ## 'disabled-warn' ... désactive la mise à jour automatique de freshclam et ## donne un avertissement ## 'disabled' ... désactive la mise à jour automatique de freshclam silencieusement # FRESHCLAM_DELAY= ### !!!!! RETIREZ-MOI !!!!! ### RETIREZ-MOI : Par défaut, la mise à jour de freshclam est désactivée pour éviter ### RETIREZ-MOI : l'accès réseau sans activation préalable #FRESHCLAM_DELAY=disabled-warn # RETIREZ-MOI |
vi /etc/freshclam.confCommentez la ligne Exemple :
| [...] # Commentez ou supprimez la ligne ci-dessous. #Exemple [...] |
Ensuite, nous démarrons freshclam, amavisd et clamd…
sa-update
chkconfig –levels 235 amavisd on
chkconfig –levels 235 clamd.amavisd on
/usr/bin/freshclam
/etc/init.d/amavisd start
/etc/init.d/clamd.amavisd start
Ensuite, faites ceci :
rm -f /var/spool/amavisd/clamd.sock
mkdir /var/run/clamav.amavisd /var/run/clamd.amavisd /var/run/amavisd
chown amavis /var/run/clamav.amavisd
chown amavis /var/run/clamd.amavisd
chown amavis /var/run/amavisd
ln -sf /var/spool/amavisd/clamd.sock /var/run/clamav.amavisd/clamd.sock
ln -sf /var/spool/amavisd/clamd.sock /var/run/clamd.amavisd/clamd.sock
/etc/init.d/clamd.amavisd restart
Fedora 15 a un répertoire /run pour stocker les données d’exécution. /run est maintenant un tmpfs, et /var/run et /var/lock sont maintenant montés en liaison à /run et /run/lock depuis tmpfs, et donc vidés au redémarrage (voir https://docs.fedoraproject.org/en-US/Fedora/15/html/Release_Notes/sect-Release_Notes-Changes_for_SysAdmin.html pour plus de détails).
Cela signifie qu’après un redémarrage, les répertoires /var/run/clamav.amavisd, /var/run/clamd.amavisd et /var/run/amavisd que nous venons de créer n’existeront plus, et donc clamd et amavisd échoueront à démarrer. Par conséquent, nous créons le fichier /etc/tmpfiles.d/amavisd.conf maintenant qui créera ces répertoires au démarrage du système (voir http://0pointer.de/public/systemd-man/tmpfiles.d.html pour plus de détails) :
vi /etc/tmpfiles.d/amavisd.conf| D /var/run/clamav.amavisd 0755 amavis root - D /var/run/clamd.amavisd 0755 amavis root - D /var/run/amavisd 0755 amavis root - |
16 Installer mod_php, mod_fcgi/PHP5, Et suPHP
ISPConfig 3 vous permet d’utiliser mod_php, mod_fcgi/PHP5, cgi/PHP5 et suPHP sur une base par site web.
Nous pouvons installer Apache2 avec mod_php5, mod_fcgid et PHP5 comme suit :
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-develEnsuite, nous ouvrons /etc/php.ini…
vi /etc/php.ini… et changeons le rapport d’erreurs (pour que les avis ne soient plus affichés) et décommentons cgi.fix_pathinfo=1 :
| [...] ;error_reporting = E_ALL & ~E_DEPRECATED error_reporting = E_ALL & ~E_NOTICE [...] ; cgi.fix_pathinfo fournit un support *réel* pour PATH_INFO/PATH_TRANSLATED pour CGI. Le comportement précédent de PHP était de définir PATH_TRANSLATED sur SCRIPT_FILENAME, et de ne pas comprendre ce qu'est PATH_INFO. Pour plus d'informations sur PATH_INFO, voir les spécifications cgi. Le fait de définir cela à 1 amènera PHP CGI à corriger ses chemins pour se conformer à la spécification. Un réglage de zéro amène PHP à se comporter comme auparavant. La valeur par défaut est 1. Vous devriez corriger vos scripts pour utiliser SCRIPT_FILENAME plutôt que PATH_TRANSLATED. ; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo cgi.fix_pathinfo=1 [...] |
Ensuite, nous installons suPHP :
cd /tmp
wget http://www.suphp.org/download/suphp-0.7.1.tar.gz
tar xvfz suphp-0.7.1.tar.gz
cd suphp-0.7.1/
./configure –prefix=/usr –sysconfdir=/etc –with-apr=/usr/bin/apr-1-config –with-apxs=/usr/sbin/apxs –with-apache-user=apache –with-setid-mode=owner –with-php=/usr/bin/php-cgi –with-logfile=/var/log/httpd/suphp_log –enable-SUPHP_USE_USERGROUP=yes
make
make install
Ensuite, nous ajoutons le module suPHP à notre configuration Apache…
vi /etc/httpd/conf.d/suphp.conf| LoadModule suphp_module modules/mod_suphp.so |
… et créons le fichier /etc/suphp.conf comme suit :
vi /etc/suphp.conf| [global] ;Chemin vers le fichier journal logfile=/var/log/httpd/suphp.log ;Niveau de journalisation loglevel=info ;Utilisateur sous lequel Apache s'exécute webserver_user=apache ;Chemin où tous les scripts doivent être docroot=/ ;Chemin vers chroot() avant d'exécuter le script ;chroot=/mychroot ; Options de sécurité allow_file_group_writeable=true allow_file_others_writeable=false allow_directory_group_writeable=true allow_directory_others_writeable=false ;Vérifiez si le script est dans DOCUMENT_ROOT check_vhost_docroot=true ;Envoyer des messages d'erreur mineurs au navigateur errors_to_browser=false ;Variable d'environnement PATH env_path=/bin:/usr/bin ;Umask à définir, spécifiez en notation octale umask=0077 ; UID minimum min_uid=100 ; GID minimum min_gid=100 [handlers] ;Gestionnaire pour les scripts php x-httpd-suphp="php:/usr/bin/php-cgi" ;Gestionnaire pour les scripts CGI x-suphp-cgi="execute:!self" |
Enfin, nous redémarrons Apache :
/etc/init.d/httpd restart16.1 Ruby
À partir de la version 3.0.3, ISPConfig 3 a un support intégré pour Ruby. Au lieu d’utiliser CGI/FastCGI, ISPConfig dépend de mod_ruby étant disponible dans l’Apache du serveur.
Pour Fedora 15, il n’y a pas de paquet mod_ruby disponible, donc nous devons le compiler nous-mêmes. D’abord, nous installons quelques prérequis :
yum install ruby ruby-develEnsuite, nous téléchargeons et installons mod_ruby comme suit :
cd /tmp
wget http://modruby.net/archive/mod_ruby-1.3.0.tar.gz
tar zxvf mod_ruby-1.3.0.tar.gz
cd mod_ruby-1.3.0/
./configure.rb –with-apr-includes=/usr/include/apr-1
make
make install
Enfin, nous devons ajouter le module mod_ruby à la configuration Apache, donc nous créons le fichier /etc/httpd/conf.d/ruby.conf…
vi /etc/httpd/conf.d/ruby.conf| LoadModule ruby_module modules/mod_ruby.so RubyAddPath /1.8 |
… et redémarrons Apache :
/etc/init.d/httpd restart(Si vous omettez la directive RubyAddPath /1.8, vous verrez des erreurs comme celles-ci dans le journal des erreurs d’Apache lorsque vous appelez des fichiers Ruby :
[Thu May 26 02:05:05 2011] [error] mod_ruby: ruby:0:in `require’: aucun fichier à charger – apache/ruby-run (LoadError)
[Thu May 26 02:05:05 2011] [error] mod_ruby: échec de la demande de apache/ruby-run
[Thu May 26 02:05:05 2011] [error] mod_ruby: erreur dans ruby ) #### 16.2 WebDAV WebDAV devrait déjà être activé, mais pour vérifier cela, ouvrez /etc/httpd/conf/httpd.conf et assurez-vous que les trois modules suivants sont actifs : vi /etc/httpd/conf/httpd.conf | [...] LoadModule auth_digest_module modules/mod_auth_digest.so [...] LoadModule dav_module modules/mod_dav.so [...] LoadModule dav_fs_module modules/mod_dav_fs.so [...] | Si vous devez modifier /etc/httpd/conf/httpd.conf, n’oubliez pas de redémarrer Apache ensuite : /etc/init.d/httpd restart ### 17 Installer PureFTPd PureFTPd peut être installé avec la commande suivante : yum install pure-ftpd Ensuite, créez les liens de démarrage système et démarrez PureFTPd : chkconfig –levels 235 pure-ftpd on
/etc/init.d/pure-ftpd start Maintenant, nous configurons PureFTPd pour permettre les sessions FTP et TLS. FTP est un protocole très peu sécurisé car tous les mots de passe et toutes les données sont transférés en texte clair. En utilisant TLS, toute la communication peut être chiffrée, rendant ainsi FTP beaucoup plus sécurisé. OpenSSL est nécessaire pour TLS ; pour installer OpenSSL, nous exécutons simplement : yum install openssl Ouvrez /etc/pure-ftpd/pure-ftpd.conf… vi /etc/pure-ftpd/pure-ftpd.conf Si vous souhaitez autoriser les sessions FTP et TLS, définissez TLS à 1 : | [...] # Cette option peut accepter trois valeurs : # 0 : désactiver la couche de chiffrement SSL/TLS (par défaut). # 1 : accepter à la fois les sessions traditionnelles et chiffrées. # 2 : refuser les connexions qui n'utilisent pas les mécanismes de sécurité SSL/TLS, # y compris les sessions anonymes. # Ne décommentez pas cela à la légère. Assurez-vous que : # 1) Votre serveur a été compilé avec le support SSL/TLS (--with-tls), # 2) Un certificat valide est en place, # 3) Seuls des clients compatibles se connecteront. TLS 1 [...] | Pour utiliser TLS, nous devons créer un certificat SSL. Je le crée dans /etc/ssl/private/, donc je crée d’abord ce répertoire : mkdir -p /etc/ssl/private/ Ensuite, nous pouvons générer le certificat SSL comme suit : openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem Nom du pays (code à 2 lettres) [XX]: <– Entrez le nom de votre pays (par exemple, “FR”).
Nom de l’état ou de la province (nom complet) []: <– Entrez le nom de votre état ou province.
Nom de la localité (par exemple, ville) [Ville par défaut]: <– Entrez votre ville.
Nom de l’organisation (par exemple, entreprise) [Société par défaut]: <– Entrez le nom de votre organisation (par exemple, le nom de votre entreprise).
Nom de l’unité organisationnelle (par exemple, section) []: <– Entrez le nom de votre unité organisationnelle (par exemple, “Département IT”).
Nom commun (par exemple, votre nom ou le nom d’hôte de votre serveur) []: <– Entrez le nom de domaine complet du système (par exemple, “serveur1.example.com”).
Adresse e-mail []: <– Entrez votre adresse e-mail. Changez les permissions du certificat SSL : chmod 600 /etc/ssl/private/pure-ftpd.pem Enfin, redémarrez PureFTPd : /etc/init.d/pure-ftpd restart C’est tout. Vous pouvez maintenant essayer de vous connecter en utilisant votre client FTP ; cependant, vous devez configurer votre client FTP pour utiliser TLS. ### 18 Installer BIND Nous pouvons installer BIND comme suit : yum install bind bind-utils Ensuite, ouvrez /etc/sysconfig/named… vi /etc/sysconfig/named … et commentez la ligne ROOTDIR=/var/named/chroot : | # Options du processus BIND nommé # ~~~~~~~~~~~~~~~~~~~~~~~~~~ # Actuellement, vous pouvez utiliser les options suivantes : # # ROOTDIR="/var/named/chroot" -- exécutera nommé dans un environnement chroot. # vous devez configurer l'environnement chroot # (installer le paquet bind-chroot) avant # de faire cela. # REMARQUE : # Ces répertoires sont automatiquement montés en chroot s'ils sont # vides dans le répertoire ROOTDIR. Cela simplifiera la maintenance de votre # environnement chroot. # - /var/named # - /etc/pki/dnssec-keys # - /etc/named # - /usr/lib64/bind ou /usr/lib/bind (dépendant de l'architecture) # # Ces fichiers sont également montés si le fichier cible n'existe pas dans # chroot. # - /etc/named.conf # - /etc/rndc.conf # - /etc/rndc.key # - /etc/named.rfc1912.zones # - /etc/named.dnssec.keys # - /etc/named.iscdlv.key # # N'oubliez pas d'ajouter "$AddUnixListenSocket /var/named/chroot/dev/log" # ligne à votre fichier /etc/rsyslog.conf. Sinon, votre journalisation devient # cassée lorsque le démon rsyslogd est redémarré (en raison d'une mise à jour, par exemple). # # OPTIONS="whatever" -- Ces options supplémentaires seront passées à nommé # au démarrage. N'ajoutez pas -t ici, utilisez ROOTDIR à la place. # # KEYTAB_FILE="/dir/file" -- Spécifiez le fichier de clé de service nommé (pour GSS-TSIG) # # DISABLE_ZONE_CHECKING -- Par défaut, le script d'initialisation appelle l'utilitaire named-checkzone # pour chaque zone afin de s'assurer que toutes les zones sont # valides avant que nommé ne démarre. Si vous définissez cette option # sur 'oui', alors le script d'initialisation ne réalise pas ces # vérifications. #ROOTDIR=/var/named/chroot | Ensuite, nous créons les liens de démarrage : chkconfig --levels 235 named on Nous ne démarrons pas BIND maintenant car il doit d’abord être configuré - cela sera fait automatiquement par l’installateur ISPConfig 3 plus tard. ### 19 Installer Vlogger, Webalizer, Et AWStats Vlogger, webalizer et AWStats peuvent être installés comme suit : yum install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder cd /tmp
wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz
tar xvfz vlogger-1.3.tar.gz
mv vlogger-1.3/vlogger /usr/sbin/
rm -rf vlogger ### 20 Installer Jailkit Jailkit est nécessaire uniquement si vous souhaitez chroot les utilisateurs SSH. Il peut être installé comme suit (important : Jailkit doit être installé avant ISPConfig - il ne peut pas être installé après !) : cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.14.tar.gz
tar xvfz jailkit-2.14.tar.gz
cd jailkit-2.14
./configure
make
make install
cd ..
rm -rf jailkit-2.14 ### 21 Installer fail2ban Ceci est optionnel mais recommandé, car le moniteur ISPConfig essaie d’afficher le journal : yum install fail2ban chkconfig –levels 235 fail2ban on
/etc/init.d/fail2ban start ### 22 Installer rkhunter rkhunter peut être installé comme suit : yum install rkhunter
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.