Serveur Web · 6 min read · Sep 21, 2025

Le Serveur Parfait - OpenSUSE 11.3 x86_64 [ISPConfig 2] - Page 5

11 Apache/PHP5/Ruby/Python/WebDAV

Maintenant, nous installons Apache avec PHP5 :

yast2 -i apache2 apache2-devel apache2-mod_perl apache2-mod_php5 apache2-prefork perl-HTML-Parser perl-HTML-Tagset perl-Tie-IxHash perl-URI perl-libwww-perl php5 php5-devel zlib zlib-devel

Ensuite, nous installons quelques modules PHP5 :

yast2 -i php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-mysql php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-fastcgi php5-pear php5-sysvmsg php5-sysvshm ImageMagick curl

Ensuite, nous modifions /etc/apache2/httpd.conf :

vi /etc/apache2/httpd.conf

et changeons DirectoryIndex en

| [...] DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php5 index.php4 index.php3 index.pl index.html.var index.aspx default.aspx [...] |

Activez le module de réécriture d’Apache :

a2enmod rewrite 

Modifiez /etc/sysconfig/apache2 et ajoutez SSL à la ligne APACHE_SERVER_FLAGS :

vi /etc/sysconfig/apache2

| [...] APACHE_SERVER_FLAGS="SSL" [...] |

Maintenant, configurez votre système pour démarrer Apache au démarrage :

chkconfig --add apache2

Ensuite, exécutez

SuSEconfig
/etc/init.d/apache2 start

11.1 Désactiver PHP et Perl Globalement

(Si vous ne prévoyez pas d’installer ISPConfig sur ce serveur, veuillez ignorer cette section !)

Dans ISPConfig, vous configurerez PHP et Perl sur une base par site web, c’est-à-dire que vous pouvez spécifier quel site web peut exécuter des scripts PHP et Perl et lequel ne le peut pas. Cela ne peut fonctionner que si PHP et Perl sont désactivés globalement, car sinon tous les sites web pourraient exécuter des scripts PHP/Perl, peu importe ce que vous spécifiez dans ISPConfig.

Pour désactiver PHP et Perl globalement, nous modifions /etc/mime.types et commentons les lignes application/x-perl et application/x-php :

vi /etc/mime.types

| [...] #application/x-perl pl pm al perl #application/x-php php php3 php4 [...] |

Ensuite, modifiez /etc/apache2/conf.d/php5.conf et commentez toutes les lignes AddHandler :

vi /etc/apache2/conf.d/php5.conf

| #AddHandler application/x-httpd-php .php4 #AddHandler application/x-httpd-php .php5 #AddHandler application/x-httpd-php .php #AddHandler application/x-httpd-php-source .php4s #AddHandler application/x-httpd-php-source .php5s #AddHandler application/x-httpd-php-source .phps DirectoryIndex index.php4 DirectoryIndex index.php5 DirectoryIndex index.php |

Ensuite, nous redémarrons Apache :

/etc/init.d/apache2 restart

11.2 mod_ruby

OpenSUSE 11.3 n’a pas de package mod_ruby, nous devons donc le compiler manuellement. D’abord, nous installons les prérequis :

yast2 -i apache2-devel ruby ruby-devel

Ensuite, nous construisons 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

Pour activer mod_ruby, exécutez…

a2enmod ruby 

… et redémarrez Apache :

/etc/init.d/apache2 restart

11.3 mod_python

Pour installer mod_python, il suffit d’exécuter :

yast2 -i apache2-mod_python

Pour activer mod_python, exécutez…

a2enmod python 

… et redémarrez Apache :

/etc/init.d/apache2 restart

11.4 WebDAV

Activez les modules WebDAV… a2enmod dav
a2enmod dav_fs
a2enmod dav_lock

… et redémarrez Apache :

/etc/init.d/apache2 restart

12 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) fonctionne mieux avec ProFTPd sur OpenSUSE 11.3. Comme il n’y a pas de packages OpenSUSE pour ProFTPd, je dois le compiler manuellement.

D’abord, nous installons quelques prérequis :

yast2 -i libcap libcap-devel

Ensuite, nous construisons ProFTPd comme suit :

cd /tmp/
wget –passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.3a.tar.gz
tar xvfz proftpd-1.3.3a.tar.gz
cd proftpd-1.3.3a/
./configure –sysconfdir=/etc
make
make install
cd ..
rm -fr proftpd-1.3.3a*

Maintenant, créez le fichier /etc/init.d/proftpd :

vi /etc/init.d/proftpd

| #! /bin/sh # Copyright (c) 2000-2001 SuSE GmbH Nuernberg, Germany. # 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é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 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 de /var/run/ existe # 2 - service mort, mais le fichier de verrouillage de /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 |

Ensuite, exécutez

chmod 755 /etc/init.d/proftpd
chkconfig –add proftpd

Démarrez ProFTPd :

/etc/init.d/proftpd start

Si vous obtenez l’erreur suivante…

Démarrage du serveur ProFTPD :  - Fatal: UseIPv6: L’utilisation de la directive UseIPv6 nécessite un support IPv6 (–enable-ipv6) à la ligne 14 de ‘/etc/proftpd.conf’
startproc:  statut de sortie du parent de /usr/local/sbin/proftpd: 1

… ouvrez /etc/proftpd.conf et commentez ou supprimez la ligne UseIPv6 :

vi /etc/proftpd.conf 

| [...] # Ne pas utiliser le support IPv6 par défaut. #UseIPv6 off [...] |

Pour des raisons de sécurité, vous pouvez ajouter les lignes suivantes à /etc/proftpd.conf :

vi /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
Share: X/Twitter LinkedIn

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

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