GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Panels

ISPConfig 3 ProFTPd für Debian

ISPConfig 3 ProFTPd für Debian

1 Einführung

Ich bin ein neuer Benutzer von ISPConfig und spiele jetzt seit einigen Jahren mit Linux. Mein Server ist derzeit ein VPS mit OpenVZ und erlaubt mir nicht, den standardmäßigen pureftpd auszuführen, der mit ISPConfig geliefert wird, also begann ich, mich mit ProFTPd zu beschäftigen, und stellte fest, dass es nicht sehr schwierig war, darauf umzusteigen.

2 Vorinstallation

Bitte beachten Sie:Dies beinhaltet keine Kontingentunterstützung, da mein VPS dies nicht unterstützt. Wenn Sie Vorschläge oder Ideen haben, wie Sie diese Integration verbessern können, ohne ftp_user_edit.php in ISPConfig3 ändern zu müssen, lassen Sie es mich bitte wissen. Diese Anweisungen wurden unter Debian 5.0 Lenny erstellt, sollten aber für 6.0 genauso funktionieren. Für andere Distributionen muss diese Anleitung ggf. leicht modifiziert werden.

Beachten Sie auch:Dieser Vorgang hat bei mir auf einem neuen Server und einer ISPConfig 3-Installation gut funktioniert. Wenn Sie dies auf einem vorhandenen Server verwenden, müssen Sie jeden erstellten FTP-Benutzer öffnen und bearbeiten/speichern, und es können andere Probleme auftreten. Ich kann ein einfaches PHP-Skript erstellen, um dies in Zukunft automatisch zu tun. Ich übernehme keine Verantwortung für eventuell auftretende Probleme, also verwenden Sie dies bitte AUF IHR EIGENES RISIKO.

3 Installation

Ausführen

apt-get entfernen pure-ftpd-common pure-ftpd-mysql
apt-get installieren proftpd proftpd-mod-mysql

Run as standalone

Gruppe und Benutzer erstellen

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

4 Datenbankkonfiguration

mysql -u root -p
Verwenden Sie dbispconfig

Abfrage ausführen:

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 ProFTPd-Konfiguration

Bearbeiten Sie /usr/local/ispconfig/interface/lib/config.inc.php:

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

Suchen Sie die Variable db_password.

Passwort für später notieren.

Bearbeiten Sie /etc/proftpd/proftpd.conf

nano /etc/proftpd/proftpd.conf

Suchen:

#Include /etc/proftpd/sql.conf

Ändern zu:

Include /etc/proftpd/sql.conf

Bearbeiten Sie /etc/proftpd/sql.conf

nano /etc/proftpd/sql.conf

Löschen Sie alle Inhalte und ersetzen Sie sie durch:

#
# 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>


Achten Sie darauf, _insertpasswordhere_ in das Passwort zu ändern, das Sie von ISPConfig erhalten haben.

Wenn sich Ihre MySQL-Datenbank auf einem anderen Server befindet, ändern Sie localhost, um Ihren MySQL-Server darzustellen.

Bearbeiten:/etc/proftpd/modules.conf

nano /etc/proftpd/modules.conf

Suchen:

#LoadModule mod_sql.c

Ändern zu:

LoadModule mod_sql.c

Suchen:

#LoadModule mod_sql_mysql.c

Ändern zu:

LoadModule mod_sql_mysql.c

Ausführen:

/etc/init.d/proftpd restart

6 ISPConfig 3 Änderungen

Jetzt müssen wir eine der ispconfig-Dateien ändern. Dies ist nicht ideal, denn wenn Sie auf eine neue Version aktualisieren, verlieren Sie die Änderungen, aber es ist die einzige Möglichkeit, proftpd zum Laufen zu bringen, die ich finden konnte.

Bearbeiten Sie /usr/local/ispconfig/interface/web/sites/ftp_user_edit.php

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

Suchen:

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

Ersetzen durch:

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

Hinweis:Wenn Sie derzeit im Webpanel von ISPConfig angemeldet sind, müssen Sie sich abmelden, bevor Änderungen auf Ihrem Computer registriert werden.


Panels
  1. Installieren Sie Horde 5 Webmail für ISPConfig auf Debian Jessie über PEAR

  2. Einrichten von ProFTPd + TLS auf Debian Squeeze

  3. So installieren Sie ProFTPD unter Debian 8

  4. Debian – Holen Sie sich das neueste Gcc für Debian?

  5. Installieren Sie Horde 4 Webmail für ISPConfig auf Debian Squeeze Through PEAR

Installieren Sie ISPConfig 3 - Roundcube-Plugins unter Debian 10

So installieren Sie ISPConfig unter Debian 11

Debian – Archivspiegel für altes Debian?

So richten Sie Mailman mit Debian und ISPConfig ein

ISPConfig Monitor-App für Android

Wie installiere ich ISPConfig unter Debian 10?