GNU/Linux >> Linux の 問題 >  >> Panels >> Panels

Debian用ISPConfig3ProFTPd

ISPConfig 3 ProFTPd For Debian

1はじめに

私はISPConfigの新しいユーザーであり、Linuxで数年間遊んでいます。私のサーバーは現在OpenVZを備えたVPSであり、ISPConfigに付属するデフォルトのpureftpdを実行することはできません。そこで、ProFTPdを調べ始めましたが、それを使用するように切り替えるのはそれほど難しくありませんでした。

2プレインストール

注意:私のVPSはクォータのサポートをサポートしていないため、これにはクォータのサポートは含まれていません。 ISPConfig3のftp_user_edit.phpを変更せずにこの統合を改善する方法についての提案やアイデアがあれば、私に知らせてください。これらの手順はDebian5.0Lennyを実行して作成されましたが、6.0でも同じように機能するはずです。他のディストリビューションの場合、これらの手順を少し変更する必要がある場合があります。

注:このプロセスは、新しいサーバーとISPConfig3のインストールで正常に機能しました。既存のサーバーでこれを使用すると、作成されたすべてのftpユーザーにアクセスして編集/保存する必要があり、他の問題が発生する可能性があります。将来、これを自動的に行うための簡単なphpスクリプトを作成する可能性があります。発生する可能性のある問題については責任を負いませんので、自己責任で使用してください。

3インストール

実行

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

Run as standalone

グループとユーザーの作成

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

4データベース構成

mysql -u root -p
dbispconfigを使用

クエリの実行:

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');

5ProFTPd構成

/usr/local/ispconfig/interface/lib/config.inc.phpを編集します:

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

変数db_passwordを見つけます。

後で使用するためにパスワードをメモします。

/etc/proftpd/proftpd.confを編集

nano /etc/proftpd/proftpd.conf

検索:

#Include /etc/proftpd/sql.conf

変更先:

Include /etc/proftpd/sql.conf

/etc/proftpd/sql.confを編集

nano /etc/proftpd/sql.conf

すべてのコンテンツを消去して、次のように置き換えます:

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


必ず_insertpasswordhere_をISPConfigから取得したパスワードに変更してください。

MySQLデータベースが別のサーバー上にある場合は、ローカルホストを変更してMySQLサーバーを表します。

編集:/etc/proftpd/modules.conf

nano /etc/proftpd/modules.conf

検索:

#LoadModule mod_sql.c

変更先:

LoadModule mod_sql.c

検索:

#LoadModule mod_sql_mysql.c

変更先:

LoadModule mod_sql_mysql.c

実行:

/etc/init.d/proftpd restart

6ISPConfig3の変更

次に、ispconfigファイルの1つを変更する必要があります。これは、新しいバージョンにアップグレードすると変更が失われるかのように、潮流ではありませんが、proftpdを機能させる唯一の方法です。

/usr/local/ispconfig/interface/web/sites/ftp_user_edit.phpを編集

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

検索:

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

置換:

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

注:現在ISPConfigのWebパネルにログインしている場合は、変更をマシンに登録する前にログアウトする必要があります。


Panels
  1. PEARを介してDebianJessieにISPConfig用のHorde5Webメールをインストールします

  2. Debian8にProFTPDをインストールする方法

  3. PEARを介してDebianSqueezeにISPConfig用のHorde4Webメールをインストールする

  1. DebianSqueezeでのProFTPd+TLSの設定

  2. Debian – Debian用の最新のGccを入手しますか?

  3. DebianEtchを使用したISPConfigでの強制広告

  1. Debian 8(Jessie)にISPConfig3用のPHP7(PHP-FPM&FastCGI)をインストールする方法

  2. ISPConfig3の接尾辞の強化

  3. debian の gui をインストールする方法