GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

ISPConfig 3 ProFTPd pour Debian

ISPConfig 3 ProFTPd pour Debian

1 Présentation

Je suis un nouvel utilisateur d'ISPConfig et je joue avec Linux depuis quelques années maintenant. Mon serveur est actuellement un VPS avec OpenVZ et il ne me permet pas d'exécuter le pureftpd par défaut fourni avec ISPConfig, alors j'ai commencé à regarder dans ProFTPd et j'ai trouvé qu'il n'était pas très difficile de passer à l'utiliser.

2 Pré-installation

Veuillez noter :cela n'inclut pas la prise en charge des quotas car mon VPS ne la prend pas en charge. Si vous avez des suggestions ou des idées sur la façon d'améliorer cette intégration sans avoir à modifier ftp_user_edit.php dans ISPConfig3, faites-le moi savoir. Ces instructions ont été faites sous Debian 5.0 Lenny mais devraient fonctionner de la même manière pour 6.0. Pour les autres distributions, ces instructions peuvent devoir être légèrement modifiées.

Remarque également :ce processus a bien fonctionné pour moi sur un nouveau serveur et une installation ISPConfig 3. L'utiliser sur un serveur existant nécessitera d'entrer et de modifier/sauvegarder chaque utilisateur ftp qui a été créé, et peut causer d'autres problèmes. Je peux créer un simple script php pour le faire automatiquement à l'avenir. Je ne suis pas responsable des problèmes qui pourraient survenir, veuillez donc utiliser ceci À VOS PROPRES RISQUES.

3 Installation

Exécuter

apt-get remove pure-ftpd-common pure-ftpd-mysql
apt-get install proftpd proftpd-mod-mysql

Run as standalone

Créer un groupe et un utilisateur

groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "utilisateur proftpd" -gftpgroup ftpuser

4 Configuration de la base de données

mysql -u root -p
Utilisez dbispconfig

Exécuter la requête :

ALTER TABLE `ftp_user` ADD `shell` VARCHAR( 18 ) NOT NULL DEFAULT
'/sbin/nologin',
ADD `count` INT( 11 ) NOT NULL DEFAULT '0',
ADD `accessed` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
ADD `modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00';
CREATE TABLE ftp_group (
groupname varchar(16) NOT NULL default '',
gid smallint(6) NOT NULL default '5500',
members varchar(16) NOT NULL default '',
KEY groupname (groupname)
) TYPE=MyISAM COMMENT='ProFTP group table';
INSERT INTO `ftp_group` (`groupname`, `gid`, `members`) VALUES
('ftpgroup', 2001, 'ftpuser');

5 Configuration ProFTPd

Modifiez /usr/local/ispconfig/interface/lib/config.inc.php :

nano /usr/local/ispconfig/interface/lib/config.inc.php

Trouvez la variable db_password.

Notez le mot de passe pour plus tard.

Modifier /etc/proftpd/proftpd.conf

nano /etc/proftpd/proftpd.conf

Rechercher :

#Include /etc/proftpd/sql.conf

Remplacer par :

Include /etc/proftpd/sql.conf

Modifier /etc/proftpd/sql.conf

nano /etc/proftpd/sql.conf

Effacez tout le contenu et remplacez-le par :

#
# Proftpd sample configuration for SQL-based authentication.
#
# (This is not to be used if you prefer a PAM-based SQL authentication)
#

<IfModule mod_sql.c>
DefaultRoot ~

SQLBackend mysql

# The passwords in MySQL are encrypted using CRYPT

SQLAuthTypes  Plaintext Crypt

SQLAuthenticate         users groups

# used to connect to the database
# [email protected] database_user user_password
SQLConnectInfo  [email protected] ispconfig _insertpasswordhere_

# Here we tell ProFTPd the names of the database columns in the "usertable"
# we want it to interact with. Match the names with those in the db
SQLUserInfo     ftp_user username password uid gid dir shell

# Here we tell ProFTPd the names of the database columns in the "grouptable"

# we want it to interact with. Again the names match with those in the db
SQLGroupInfo    ftp_group groupname gid members

# set min UID and GID - otherwise these are 999 each
SQLMinID        500

# create a user's home directory on demand if it doesn't exist
CreateHome off

# Update count every time user logs in
SQLLog PASS updatecount
SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u'" ftpuser

# Update modified everytime user uploads or deletes a file
SQLLog  STOR,DELE modified
SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser

RootLogin off

RequireValidShell off

</IfModule>


Assurez-vous de remplacer _insertpasswordhere_ par le mot de passe que vous avez récupéré depuis ISPConfig.

Si votre base de données MySQL se trouve sur un autre serveur, changez localhost pour représenter votre serveur MySQL.

Modifier :/etc/proftpd/modules.conf

nano /etc/proftpd/modules.conf

Rechercher :

#LoadModule mod_sql.c

Remplacer par :

LoadModule mod_sql.c

Rechercher :

#LoadModule mod_sql_mysql.c

Remplacer par :

LoadModule mod_sql_mysql.c

Exécuter :

/etc/init.d/proftpd restart

6 modifications d'ISPConfig 3

Nous devons maintenant modifier l'un des fichiers ispconfig. Ce n'est pas idéal, car si vous mettez à niveau vers une nouvelle version, vous perdrez les modifications, mais c'est la seule façon de faire fonctionner proftpd que j'ai pu trouver.

Modifier /usr/local/ispconfig/interface/web/sites/ftp_user_edit.php

nano/usr/local/ispconfig/interface/web/sites/ftp_user_edit.php

Rechercher :

$uid = $web["system_user"];
$gid = $web["system_group"];

Remplacer par :

$userinfo = posix_getpwnam($web["system_user"]);
$uid = $userinfo['uid'];
$gid = $userinfo['gid'];

Remarque :si vous êtes actuellement connecté au panneau Web d'ISPConfig, vous devez vous déconnecter avant que les modifications ne soient enregistrées sur votre machine.


Panels
  1. Installez Horde 5 Webmail pour ISPConfig sur Debian Jessie via PEAR

  2. Annonces forcées sur ISPConfig avec Debian Etch

  3. Installez Horde 4 Webmail pour ISPConfig sur Debian Squeeze via PEAR

  4. Postfix de renforcement pour ISPConfig 3

  5. comment installer l'interface graphique pour debian

Installer les plugins ISPConfig 3 - Roundcube sur Debian 10

Comment installer ISPConfig sur Debian 11

Debian – Des miroirs d'archivage pour l'ancienne Debian ?

Comment configurer Mailman avec Debian et ISPConfig

Application de surveillance ISPConfig pour Android

Comment installer ISPConfig sur Debian 10 ?