#!/bin/sh # PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin ## Script d'installation du serveur ftp pure-ftpd par les sources ## # +---------------------------------------------------------------------------------------------+ # | Raphael Prencipe / raphaelp@live.be | # | Script d'installation automatique de Pure-FTPd | # | | # | Ce script est distribué sans garantie et à vos risques et périls. | # | Si ce script fait péter votre machine ça ne sera pas ma faute :-) | # | | # | Il a été testé sur Debian Sarge, Etch et Lenny avec succès. | # | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | # | Vous pouvez modifier ce script et/ou le redistribué en laissant la licence intacte | # | celle que vous êtes en train de lire en ce moment. | # | La licence devra toujours être affichée. | # | | # | Toutes suggestions sont les bienvenues... | # +---------------------------------------------------------------------------------------------+ ## Comment installer ce script ? # un fois le script télécharger dans votre root directory /root # renommez-le en pure-ftpd.sh # chmod +x pure-ftpd.sh # ./pure-ftpd.sh ## Paquets communs pour la compilation des sources #aptitude update && aptitude safe-upgrade #aptitude install build-essential python libpam0g-dev ftp openssl libssl-dev libxcrypt-dev ssh libmysqlclient15-dev libpq-dev libpqxx-dev libldap2-dev ntpdate zip unzip bzip2 ## Veuillez indiquer la version à installer sinon laissez tel quel ## exemple 1.0.21...1.0.27, la plus récente version stable à l'heure où j'écris ces lignes est la 1.0.29 version_pureftpd="1.0.29" ##Groupe et utilisateur anonyme (facultatif) groupadd ftp useradd -g ftp -d /home/ftp -s /bin/false ftp sleep 2 ## Utilisateur et groupe associé aux utilisateurs virtuels groupadd -g 2001 ftpgroup useradd -u 2001 -s /bin/false -d /dev/null -c "Utilisateur ftp virtuel" -g ftpgroup ftpuser ## Récupération des paquets et scripts cd /usr/local/src wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-$version_pureftpd.tar.gz wget http://download.tuxfamily.org/gbsd/pureftpd/pure-ftpd.conf wget http://download.tuxfamily.org/gbsd/pureftpd/pure-ftpd wget http://download.tuxfamily.org/gbsd/pureftpd/pureftpd-mysql.conf sleep 2 ## Décompression des paquetstar -zxf pure-ftpd-$version_pureftpd.tar.gz cd pure-ftpd-$version_pureftpd ## Configuration et installation du serveur ftp ./configure --without-inetd --without-capabilities --with-mysql --with-ldap --with-pgsql --with-paranoidmsg --with-altlog --with-pam --with-puredb --with-cookie --with-throttling --with-ratios --with-quotas --with-ftpwho --with-welcomemsg --with-extauth --with-uploadscript --with-virtualhosts --with-virtualchroot --with-diraliases --with-peruserlimits --with-language=french --with-tls --with-boring sleep 2 make && make install sleep 2 ## Création des dossiers et scripts mkdir /var/www mkdir /var/lock/subsys cp /usr/local/src/pure-ftpd-$version_pureftpd/configuration-file/pure-config.pl /usr/local/sbin/ cp /usr/local/src/pure-ftpd-$version_pureftpd/configuration-file/pure-config.py /usr/local/sbin/ cp /usr/local/src/pure-ftpd.conf /usr/local/etc/ cp /usr/local/src/pureftpd-mysql.conf /usr/local/etc/ cp /usr/local/src/pure-ftpd /etc/init.d/ cp /usr/local/src/pure-ftpd-$version_pureftpd/pam/ftpusers /etc/ cp /usr/local/src/pure-ftpd-$version_pureftpd/pam/pure-ftpd /etc/pam.d/ touch /var/www/ftpstatus.html chmod 755 /var/www/ftpstatus.html chmod +x /usr/local/sbin/pure-config.pl chmod +x /usr/local/sbin/pure-config.py chmod +x /etc/init.d/pure-ftpd sleep 2 ## Création du certificat tls/ssl mkdir -p /etc/ssl/private openssl req -x509 -days 5000 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem chmod 600 /etc/ssl/private/pure-ftpd.pem ## Création d'un utilisateur de test ftpmaster, avec un quota disque de 50 Mo et 1000 fichiers max pure-pw useradd ftpmaster -u ftpuser -g ftpgroup -d /var/www/ftpmaster -N 50 -n 1000 pure-pw mkdb ## Démarrage automatique du serveur ftp update-rc.d pure-ftpd defaults sleep 2 /etc/init.d/pure-ftpd start ftp localhost