GNU/Linux >> Belajar Linux >  >> Panels >> Panels

ISPConfig 3 ProFTPd Untuk Debian

ISPConfig 3 ProFTPd Untuk Debian

1 Pendahuluan

Saya pengguna baru ISPConfig dan saya telah bermain dengan Linux selama beberapa tahun sekarang. Server saya saat ini adalah VPS dengan OpenVZ dan tidak mengizinkan saya menjalankan pureftpd default yang disertakan dengan ISPConfig, jadi saya mulai mencari ke ProFTPd, dan menemukan bahwa tidak terlalu sulit untuk beralih ke menggunakannya.

2 Pra-Instalasi

Harap Dicatat:Ini tidak termasuk dukungan kuota karena VPS saya tidak mendukungnya. Jika Anda memiliki saran atau ide tentang cara meningkatkan integrasi ini tanpa harus mengubah ftp_user_edit.php di ISPConfig3, beri tahu saya. Instruksi ini dibuat dengan menjalankan Debian 5.0 Lenny tetapi harus bekerja sama untuk 6.0. Untuk Distribusi lain, petunjuk ini mungkin harus sedikit diubah.

Perhatikan juga:Proses ini bekerja dengan baik untuk saya di server baru dan pemasangan ISPConfig 3. Menggunakan ini pada server yang ada akan memerlukan masuk dan mengedit/menyimpan setiap pengguna ftp yang telah dibuat, dan dapat menyebabkan masalah lain. Saya dapat membuat skrip php sederhana untuk melakukan ini secara otomatis di masa mendatang. Saya tidak bertanggung jawab atas masalah yang mungkin timbul, jadi silakan gunakan RISIKO ANDA SENDIRI.

3 Instalasi

Jalankan

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

Run as standalone

Buat Grup &Pengguna

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

4 Konfigurasi Basis Data

mysql -u root -p
Gunakan dbispconfig

Jalankan kueri:

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

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

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

Temukan variabel db_password.

Catat kata sandi untuk nanti.

Edit /etc/proftpd/proftpd.conf

nano /etc/proftpd/proftpd.conf

Temukan:

#Include /etc/proftpd/sql.conf

Ubah ke:

Include /etc/proftpd/sql.conf

Edit /etc/proftpd/sql.conf

nano /etc/proftpd/sql.conf

Hapus semua konten dan ganti dengan:

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


Pastikan untuk mengubah _insertpasswordhere_ menjadi kata sandi yang Anda ambil dari ISPConfig.

Jika database MySQL Anda berada di server lain, ubah localhost untuk mewakili server MySQL Anda.

Sunting:/etc/proftpd/modules.conf

nano /etc/proftpd/modules.conf

Temukan:

#LoadModule mod_sql.c

Ubah ke:

LoadModule mod_sql.c

Temukan:

#LoadModule mod_sql_mysql.c

Ubah ke:

LoadModule mod_sql_mysql.c

Jalankan:

/etc/init.d/proftpd restart

6 Perubahan ISPConfig 3

Sekarang kita harus mengubah salah satu file ispconfig. Ini tidak ideal, seolah-olah Anda meningkatkan ke versi baru Anda akan kehilangan perubahan, tetapi ini adalah satu-satunya cara untuk membuat proftpd bekerja yang dapat saya temukan.

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

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

Temukan:

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

Ganti dengan:

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

Catatan:jika saat ini Anda masuk ke panel web ISPConfig, Anda harus keluar sebelum perubahan didaftarkan pada mesin Anda.


Panels
  1. Instal Horde 5 Webmail untuk ISPConfig di Debian Jessie melalui PEAR

  2. Debian – Dapatkan Gcc Terbaru Untuk Debian?

  3. cara menginstal gui untuk debian

  1. Menyiapkan ProFTPd + TLS Di Debian Squeeze

  2. Cara Menginstal ProFTPD di Debian 8

  3. Iklan Paksa Di ISPConfig Dengan Debian Etch

  1. Cara menginstal PHP 7 (PHP-FPM &FastCGI) untuk ISPConfig 3 di Debian 8 (Jessie)

  2. Instal Horde 4 Webmail Untuk ISPConfig Pada Debian Squeeze Melalui PEAR

  3. Pengerasan Postfix Untuk ISPConfig 3