SUSE LINUX Enterprise & openSUSE Community
สิงหาคม 25, 2019, 01:41:45 PM *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
ข่าว:
 
   หน้าแรก   ช่วยเหลือ ค้นหา เข้าสู่ระบบ สมัครสมาชิก  

[Why we need your support] SUSE and openSUSE are trademarks of Attachmate Group, Inc. - WE ARE NOT IN ANY WAY ASSOCIATED WITH SUSE AND ATTACHMATE GROUP. SUSEThailand.com is a SUSE Linux user and community found in Thailand but not limited to other country suse linux user to join in. Currently active contents (How to's, Scripts, Tips, Tricks, Tutorials, Linux Command Line, and Troubleshooting) this suse linux how to's and expert support are SUSE Linux.
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน
หัวข้อ: ช่วยด้วยครับ ติดตั้ง proftp+mysql ไม่ผ่าน  (อ่าน 4223 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
train
Advanced Beginner : เริ่มต้นที่เริ่มเก่งแล้ว
**

Karma: +0/-0
ออฟไลน์ ออฟไลน์

กระทู้: 103


« เมื่อ: มิถุนายน 04, 2011, 05:57:09 AM »


ทำตามเว็บนี้ครับ
http://www.howtoforge.com/virtual-hosting-with-proftpd-and-mysql-ubuntu-8.04
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า
ageLOC Technology
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« ตอบ #1 เมื่อ: มิถุนายน 04, 2011, 10:57:48 AM »


ไม่ทราบว่าติดปัญหาตรงส่วนไหนครับ?
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
train
Advanced Beginner : เริ่มต้นที่เริ่มเก่งแล้ว
**

Karma: +0/-0
ออฟไลน์ ออฟไลน์

กระทู้: 103


« ตอบ #2 เมื่อ: มิถุนายน 04, 2011, 12:04:20 PM »


 - Fatal: unknown configuration directive 'QuotaEngine' on line 38 of '/etc/proftpd/conf.d/sql.conf'
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า
ageLOC Technology
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« ตอบ #3 เมื่อ: มิถุนายน 04, 2011, 02:34:37 PM »


QuotaEngine on  ยังครับ

และ uncomment
LoadModule mod_sql_mysql.c

ทีมา - http://www.proftpd.org/docs/howto/ConfigurationTricks.html
« แก้ไขครั้งสุดท้าย: มิถุนายน 04, 2011, 02:50:24 PM โดย Sontaya » แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« ตอบ #4 เมื่อ: มิถุนายน 05, 2011, 08:58:57 PM »


รายงานด้วยคนอื่นๆ มาอ่านจะได้รู้วิธีแก้ไขปัญหา
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
train
Advanced Beginner : เริ่มต้นที่เริ่มเก่งแล้ว
**

Karma: +0/-0
ออฟไลน์ ออฟไลน์

กระทู้: 103


« ตอบ #5 เมื่อ: มิถุนายน 08, 2011, 06:23:28 AM »


แก้ไขปัญหาคือ  ต้องโหลดโมดูล sql quota ครับ
มาดูวิธีการติดตั้งครับ
ติดตั้งผ่าน internet  นะครับ เลือก proftp, proftp-mysql ฯลฯ
0. สร้าง  group และ user
อ้างถึง
groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser


1. ไฟล์ vi /etc/proftpd.conf
อ้างถึง
# Use pam to authenticate (default) and be authoritative
#AuthPAMConfig                  proftpd
#AuthOrder                      mod_auth_pam.c* mod_auth_unix.c


อ้างถึง
Include                 /etc/proftpd/conf.d/*.conf
2. vi  /etc/proftpd/conf.d/sql.conf เอาไปทั้งยวงเลยนะครับ
อ้างถึง
LoadModule mod_sql.c
LoadModule mod_sql_mysql.c
LoadModule mod_quotatab.c
LoadModule mod_quotatab_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
# databasename@host database_user user_password
SQLConnectInfo  ftp@localhost proftpd password


# 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     ftpuser userid passwd uid gid homedir 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    ftpgroup 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 on

# 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

# User quotas
# ===========
QuotaEngine on
QuotaDirectoryTally on
QuotaDisplayUnits Mb
QuotaShowQuotas on

SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM ftpquotalimits WHERE name = '%{0}' AND quota_type = '%{1}'"

SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM ftpquotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"

SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" ftpquotatallies

SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies

QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally

RootLogin off
RequireValidShell off


3. จัดการ mysql กันเลยครับ
อ้างถึง
mysql> use ftp;
mysql> CREATE TABLE ftpgroup (
    -> 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';

mysql> CREATE TABLE ftpquotalimits (
    -> name varchar(30) default NULL,
    -> quota_type enum('user','group','class','all') NOT NULL default 'user',
    -> per_session enum('false','true') NOT NULL default 'false',
    -> limit_type enum('soft','hard') NOT NULL default 'soft',
    -> bytes_in_avail int(10) unsigned NOT NULL default '0',
    -> bytes_out_avail int(10) unsigned NOT NULL default '0',
    -> bytes_xfer_avail int(10) unsigned NOT NULL default '0',
    -> files_in_avail int(10) unsigned NOT NULL default '0',
    -> files_out_avail int(10) unsigned NOT NULL default '0',
    -> files_xfer_avail int(10) unsigned NOT NULL default '0'
    -> ) TYPE=MyISAM;

mysql> CREATE TABLE ftpquotatallies (
    -> name varchar(30) NOT NULL default '',
    -> quota_type enum('user','group','class','all') NOT NULL default 'user',
    -> bytes_in_used int(10) unsigned NOT NULL default '0',
    -> bytes_out_used int(10) unsigned NOT NULL default '0',
    -> bytes_xfer_used int(10) unsigned NOT NULL default '0',
    -> files_in_used int(10) unsigned NOT NULL default '0',
    -> files_out_used int(10) unsigned NOT NULL default '0',
    -> files_xfer_used int(10) unsigned NOT NULL default '0'
    -> ) TYPE=MyISAM;

mysql> CREATE TABLE ftpuser (
    -> id int(10) unsigned NOT NULL auto_increment,
    -> userid varchar(32) NOT NULL default '',
    -> passwd varchar(32) NOT NULL default '',
    -> uid smallint(6) NOT NULL default '5500',
    -> gid smallint(6) NOT NULL default '5500',
    -> homedir varchar(255) NOT NULL default '',
    -> shell varchar(16) NOT NULL default '/sbin/nologin',
    -> count int(11) NOT NULL default '0',
    -> accessed datetime NOT NULL default '0000-00-00 00:00:00',
    -> modified datetime NOT NULL default '0000-00-00 00:00:00',
    -> PRIMARY KEY (id),
    -> UNIQUE KEY userid (userid)
    -> ) TYPE=MyISAM COMMENT='ProFTP user table'

4 . การเพิ่ม user นะครับ
สร้างกลุ่ม
อ้างถึง
INSERT INTO `ftpgroup` (`groupname`, `gid`, `members`) VALUES ('ftpgroup', 2001, 'ftpuser');

เพิ่ม user

อ้างถึง
INSERT INTO `ftpuser` (`id`, `userid`, `passwd`, `uid`, `gid`, `homedir`, `shell`, `count`, `accessed`, `modified`) VALUES (1, 'test1', 'test1', 2001, 2001, '/srv/www/htdocs/test1', '/sbin/nologin', 0, '', '');

ถ้าต้องการจำกัดพื้นที่ของ  user
อ้างถึง
INSERT INTO `ftpquotalimits` (`name`, `quota_type`, `per_session`, `limit_type`, `bytes_in_avail`, `bytes_out_avail`, `bytes_xfer_avail`, `files_in_avail`, `files_out_avail`, `files_xfer_avail`) VALUES ('test1', 'user', 'true', 'hard', 15728640, 0, 0, 0, 0, 0);

แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า
ageLOC Technology
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« ตอบ #6 เมื่อ: มิถุนายน 08, 2011, 11:17:18 AM »


ขอบคุณครับ ไว้ผมลอง test อีกที่จะเรียบเรียงให้นะครับ
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« ตอบ #7 เมื่อ: มิถุนายน 08, 2011, 01:52:38 PM »


แก้ไขปัญหาคือ  ต้องโหลดโมดูล sql quota ครับ
มาดูวิธีการติดตั้งครับ
ติดตั้งผ่าน internet  นะครับ เลือก proftp, proftp-mysql ฯลฯ
0. สร้าง  group และ user
อ้างถึง
groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser


1. ไฟล์ vi /etc/proftpd.conf
อ้างถึง
# Use pam to authenticate (default) and be authoritative
#AuthPAMConfig                  proftpd
#AuthOrder                      mod_auth_pam.c* mod_auth_unix.c


อ้างถึง
Include                 /etc/proftpd/conf.d/*.conf
2. vi  /etc/proftpd/conf.d/sql.conf เอาไปทั้งยวงเลยนะครับ
อ้างถึง
LoadModule mod_sql.c
LoadModule mod_sql_mysql.c
LoadModule mod_quotatab.c
LoadModule mod_quotatab_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
# databasename@host database_user user_password
SQLConnectInfo  ftp@localhost proftpd password


# 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     ftpuser userid passwd uid gid homedir 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    ftpgroup 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 on

# 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

# User quotas
# ===========
QuotaEngine on
QuotaDirectoryTally on
QuotaDisplayUnits Mb
QuotaShowQuotas on

SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM ftpquotalimits WHERE name = '%{0}' AND quota_type = '%{1}'"

SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM ftpquotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"

SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" ftpquotatallies

SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies

QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally

RootLogin off
RequireValidShell off


3. จัดการ mysql กันเลยครับ
อ้างถึง
mysql> use ftp;
mysql> CREATE TABLE ftpgroup (
    -> 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';

mysql> CREATE TABLE ftpquotalimits (
    -> name varchar(30) default NULL,
    -> quota_type enum('user','group','class','all') NOT NULL default 'user',
    -> per_session enum('false','true') NOT NULL default 'false',
    -> limit_type enum('soft','hard') NOT NULL default 'soft',
    -> bytes_in_avail int(10) unsigned NOT NULL default '0',
    -> bytes_out_avail int(10) unsigned NOT NULL default '0',
    -> bytes_xfer_avail int(10) unsigned NOT NULL default '0',
    -> files_in_avail int(10) unsigned NOT NULL default '0',
    -> files_out_avail int(10) unsigned NOT NULL default '0',
    -> files_xfer_avail int(10) unsigned NOT NULL default '0'
    -> ) TYPE=MyISAM;

mysql> CREATE TABLE ftpquotatallies (
    -> name varchar(30) NOT NULL default '',
    -> quota_type enum('user','group','class','all') NOT NULL default 'user',
    -> bytes_in_used int(10) unsigned NOT NULL default '0',
    -> bytes_out_used int(10) unsigned NOT NULL default '0',
    -> bytes_xfer_used int(10) unsigned NOT NULL default '0',
    -> files_in_used int(10) unsigned NOT NULL default '0',
    -> files_out_used int(10) unsigned NOT NULL default '0',
    -> files_xfer_used int(10) unsigned NOT NULL default '0'
    -> ) TYPE=MyISAM;

mysql> CREATE TABLE ftpuser (
    -> id int(10) unsigned NOT NULL auto_increment,
    -> userid varchar(32) NOT NULL default '',
    -> passwd varchar(32) NOT NULL default '',
    -> uid smallint(6) NOT NULL default '5500',
    -> gid smallint(6) NOT NULL default '5500',
    -> homedir varchar(255) NOT NULL default '',
    -> shell varchar(16) NOT NULL default '/sbin/nologin',
    -> count int(11) NOT NULL default '0',
    -> accessed datetime NOT NULL default '0000-00-00 00:00:00',
    -> modified datetime NOT NULL default '0000-00-00 00:00:00',
    -> PRIMARY KEY (id),
    -> UNIQUE KEY userid (userid)
    -> ) TYPE=MyISAM COMMENT='ProFTP user table'

4 . การเพิ่ม user นะครับ
สร้างกลุ่ม
อ้างถึง
INSERT INTO `ftpgroup` (`groupname`, `gid`, `members`) VALUES ('ftpgroup', 2001, 'ftpuser');

เพิ่ม user

อ้างถึง
INSERT INTO `ftpuser` (`id`, `userid`, `passwd`, `uid`, `gid`, `homedir`, `shell`, `count`, `accessed`, `modified`) VALUES (1, 'test1', 'test1', 2001, 2001, '/srv/www/htdocs/test1', '/sbin/nologin', 0, '', '');

ถ้าต้องการจำกัดพื้นที่ของ  user
อ้างถึง
INSERT INTO `ftpquotalimits` (`name`, `quota_type`, `per_session`, `limit_type`, `bytes_in_avail`, `bytes_out_avail`, `bytes_xfer_avail`, `files_in_avail`, `files_out_avail`, `files_xfer_avail`) VALUES ('test1', 'user', 'true', 'hard', 15728640, 0, 0, 0, 0, 0);



ผมลองทำตามดูยัง login ไม่ผ่าน

โค๊ด:
INSERT INTO `ftpuser` (`id`, `userid`, `passwd`, `uid`, `gid`, `homedir`, `shell`, `count`, `accessed`, `modified`) VALUES (1, 'test1', 'test1', 2001, 2001, '/srv/www/htdocs/test1', '/sbin/nologin', 0, '', '');

โค๊ด:
telnet 192.168.1.100 21

Trying 192.168.1.100...
Connected to 192.168.1.100.
Escape character is '^]'.
220 FTP server ready
USER test1
331 Password required for test1
PASS test1
530 Login incorrect.
421 Login timeout (60 seconds): closing control connection
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
train
Advanced Beginner : เริ่มต้นที่เริ่มเก่งแล้ว
**

Karma: +0/-0
ออฟไลน์ ออฟไลน์

กระทู้: 103


« ตอบ #8 เมื่อ: มิถุนายน 08, 2011, 03:14:05 PM »


ผมก็เข้าไม่ได้ครับ ถ้า ftp localhost
ป้อน user+password ก็จะได้ครับ
โฟลเดอร์ของ user  มันจะยังไม่เกิดขึ้นนะครับ ต้อง ftp มาก่อนมันจึงจะสร้างให้
ตอนนี้ผมให้อยู่ที่ /srv/www/htdocs/ ครับ จะได้เรียกได้
ถ้าเปิดเว็บของ user จะไม่ได้นะครับ ต้อง #chmod 755 โฟลเดอร์ที่สร้างครับ จึงจะได้ ตอนนี้กำลังหาวิธีแก้ครับ ยังไงช่วยยืนยันวิธีผมด้วยนะครับ
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า
ageLOC Technology
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« ตอบ #9 เมื่อ: มิถุนายน 08, 2011, 03:30:31 PM »


ยังไม่ผ่านครับ

/var/log/proftpd/proftpd.log
โค๊ด:
un 08 15:20:34 bcserit01 proftpd[17054] 192.168.1.100 (192.168.1.100[192.168.1.100]): FTP session opened.
Jun 08 15:20:45 bcserit01 proftpd[17054] 192.168.1.100 (192.168.1.100[192.168.1.100]): USER user4@user2: no such user found from 192.168.1.100 [192.168.1.100] to 192.168.1.100:21

ขอดูไฟล์ proftpd.conf หน่อยครับ จะเทียบกัน

ตรวจสอบแล้วไม่มี mod_sql.c   (ปัญหาอยู่ตรงนี้แหละ ว่าแต่คุณ train ติดตั้ง proftpd จาก rpm หรือจาก source)

โค๊ด:
proftpd -l

โค๊ด:
Compiled-in modules:
  mod_core.c
  mod_xfer.c
  mod_auth_unix.c
  mod_auth_file.c
  mod_auth.c
  mod_ls.c
  mod_log.c
  mod_site.c
  mod_delay.c
  mod_facts.c
  mod_dso.c
  mod_ident.c
  mod_auth_pam.c
  mod_cap.c
  mod_ctrls.c

« แก้ไขครั้งสุดท้าย: มิถุนายน 08, 2011, 06:42:23 PM โดย Sontaya » แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
train
Advanced Beginner : เริ่มต้นที่เริ่มเก่งแล้ว
**

Karma: +0/-0
ออฟไลน์ ออฟไลน์

กระทู้: 103


« ตอบ #10 เมื่อ: มิถุนายน 09, 2011, 09:16:34 PM »


ผมก็ติดตั้งโปรแกรม Proftp ด้วย yast2 ครับ ถ้าได้แล้วช่วยผมด้วยนะครับ กับการเปลี่ยน  Permission ของ user ตอนนี้ chmod 755 โฟลเดอร์ที่สร้างจากฐานข้อมูลก็ใช้งานได้โดยเรียกเปิดเว็บ http://localhost/xxx ได้เลยครับ
นี้คือไฟล์ Proftpd.conf
อ้างถึง
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use.  It establishes a single server
# and a single anonymous login.  It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName      "ProFTPD on watchara"
ServerType      standalone
DefaultServer      on

# Port 21 is the standard FTP port.
Port         21

# FireWall PortRange for PASV
PassivePorts      40000 40999

# Set DebugLevel to values between 0 and 9
# default is 0
DebugLevel      0

# SystemLog -- Redirect syslogging to a file
SystemLog      /var/log/proftpd/proftpd.log

# Don't use IPv6 support by default.
UseIPv6         off

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask         022

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd).
MaxInstances      30

# Set the user and group under which the server will run.
User         ftp
Group         ftp



# Some logging formats
LogFormat default   "%h %l %u %t \"%r\" %s %b"
LogFormat auth      "%v [%P] %h %t \"%r\" %s"
LogFormat write      "%h %l %u %t \"%r\" %s %b"

# ------------------------------
# Global Settings
# ------------------------------
<Global>

  # ------------------------------
  # Login
  # ------------------------------

   ServerIdent      on "FTP server ready"
   DeferWelcome      on
   #DisplayConnect      /etc/proftpd/msg

   IdentLookups      off
   UseFtpUsers      off
   RequireValidShell   off

   TimeoutLogin      60
   MaxLoginAttempts   3
   #MaxClientsPerHost   none
   #MaxClientsPerUser   1 "Only one connection at a time."

  # ------------------------------
  # Authentication
  # ------------------------------

   ### PAM Authentication
   # AuthPAM: default: on
   AuthPAM         off

   # changed AuthPAMConfig file
#   AuthPAMConfig      proftpd
   ### PAM Authentication

   AuthUserFile      /etc/proftpd/auth/passwd
   AuthGroupFile      /etc/group

   ### order of auth modules
   #AuthOrder      mod_auth_unix.c mod_auth_file.c
#   AuthOrder      mod_auth_file.c

  # ------------------------------
  # Post-Login
  # ------------------------------

   DisplayLogin      welcome.msg
   DisplayChdir      .message
   AllowOverride      off

   TimeoutIdle       600
   TimeoutNoTransfer    900
   TimeoutStalled       300
   TimeoutSession      3600

  # ------------------------------
  # Session
  # ------------------------------

   # To cause every FTP user to be "jailed" (chrooted) into their home
   # directory, uncomment this line.
   DefaultRoot      ~ web,!users
#   DefaultRoot      ~

   DenyFilter              \*.*/
   ListOptions             "-A +R" strict
   UseGlobbing             off

   ShowSymlinks            on
   TimesGMT                on

  # ------------------------------
  # Up- & Download
  # ------------------------------

   # having to delete before uploading is a pain ยิ้มเท่ห์
   AllowOverwrite      on
   AllowRetrieveRestart   on
   HiddenStores      on
   DeleteAbortedStores   on
   #AllowStoreRestart   off   # is contrary to "DeleteAbortedStores"

  # ------------------------------
  # Logging
  # ------------------------------

   WtmpLog         off
   TransferLog      /var/log/proftpd/xferlog

   # Record all logins
   ExtendedLog      /var/log/proftpd/auth.log AUTH auth

   # Logging file/dir access
   ExtendedLog      /var/log/proftpd/access.log WRITE,READ write

   # Paranoia logging level....
   ExtendedLog      /var/log/proftpd/paranoid.log ALL default

   # SQLLogFile
   #SQLLogFile      /var/log/proftpd/SQL.log
</Global>

# Bar use of SITE CHMOD by default
#<Limit SITE_CHMOD>
 # DenyAll
#</Limit>

#####
# Include other confs


Include         /etc/proftpd/conf.d/*.conf

#####

# ------------------------------
# Anonymous Settings
# ------------------------------
# A basic anonymous configuration, no upload directories.  If you do not
# want anonymous users, simply delete this entire <Anonymous> section.
<Anonymous ~ftp>
   # Limit LOGIN
   #<Limit LOGIN>
   #   Order Allow,Deny
   #   Allow from .examples.net,113.141.114.1
   #   Deny from All
   #</Limit>

   # Limit WRITE everywhere in the anonymous chroot
   <Limit WRITE>
      DenyAll
   </Limit>

   # LoginPasswordPrompt -- Configure to display the passwort prompt or not
   LoginPasswordPrompt off

   # DirFakeMode -- Hide real file/directory permissions
   DirFakeMode 0640

   # DirFakeUser -- Hide real file/directory owner
   DirFakeUser On

   # DirFakeGroup -- Hide real file/directory group
   DirFakeGroup On

     # We want clients to be able to login with "anonymous" as well as "ftp"
   UserAlias      anonymous ftp

   # Limit the maximum number of anonymous logins
   MaxClients      10
   #MaxRetrieveFileSize   512 Mb

   # Limit Up/Downloads to 255 K/sec
   #TransferRate APPE,RETR,STOR,STOU   255

   # We want 'welcome.msg' displayed at login, and '.message' displayed
   # in each newly chdired directory.
   DisplayLogin      welcome.msg
   DisplayChdir      .message

   #<Directory pub>
   #  <Limit ALL>
   #   Order Allow,Deny
   #   Allow from .examples.net,113.141.114.1
   #   Deny from All
   #  </Limit>
   #</Directory>

   # An upload directory that allows storing files but not retrieving
   # or creating directories.
   #<Directory uploads/*>
   #  <Limit READ>
      DenyAll
   #  </Limit>
   #  <Limit STOR>
      AllowAll
   #  </Limit>
   #</Directory>
</Anonymous>

แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า
ageLOC Technology
train
Advanced Beginner : เริ่มต้นที่เริ่มเก่งแล้ว
**

Karma: +0/-0
ออฟไลน์ ออฟไลน์

กระทู้: 103


« ตอบ #11 เมื่อ: มิถุนายน 10, 2011, 05:50:59 AM »


อย่าลืม gran mysql ด้วยนะครับ
อ้างถึง
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON ftp.* TO 'proftpd'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON ftp.* TO 'proftpd'@'localhost.localdomain' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า
ageLOC Technology
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« ตอบ #12 เมื่อ: มิถุนายน 10, 2011, 11:51:03 AM »


ผมก็ติดตั้งโปรแกรม Proftp ด้วย yast2 ครับ ถ้าได้แล้วช่วยผมด้วยนะครับ กับการเปลี่ยน  Permission ของ user ตอนนี้ chmod 755 โฟลเดอร์ที่สร้างจากฐานข้อมูลก็ใช้งานได้โดยเรียกเปิดเว็บ http://localhost/xxx ได้เลยครับ
นี้คือไฟล์ Proftpd.conf
อ้างถึง
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use.  It establishes a single server
# and a single anonymous login.  It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName      "ProFTPD on watchara"
ServerType      standalone
DefaultServer      on

# Port 21 is the standard FTP port.
Port         21

# FireWall PortRange for PASV
PassivePorts      40000 40999

# Set DebugLevel to values between 0 and 9
# default is 0
DebugLevel      0

# SystemLog -- Redirect syslogging to a file
SystemLog      /var/log/proftpd/proftpd.log

# Don't use IPv6 support by default.
UseIPv6         off

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask         022

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd).
MaxInstances      30

# Set the user and group under which the server will run.
User         ftp
Group         ftp



# Some logging formats
LogFormat default   "%h %l %u %t \"%r\" %s %b"
LogFormat auth      "%v [%P] %h %t \"%r\" %s"
LogFormat write      "%h %l %u %t \"%r\" %s %b"

# ------------------------------
# Global Settings
# ------------------------------
<Global>

  # ------------------------------
  # Login
  # ------------------------------

   ServerIdent      on "FTP server ready"
   DeferWelcome      on
   #DisplayConnect      /etc/proftpd/msg

   IdentLookups      off
   UseFtpUsers      off
   RequireValidShell   off

   TimeoutLogin      60
   MaxLoginAttempts   3
   #MaxClientsPerHost   none
   #MaxClientsPerUser   1 "Only one connection at a time."

  # ------------------------------
  # Authentication
  # ------------------------------

   ### PAM Authentication
   # AuthPAM: default: on
   AuthPAM         off

   # changed AuthPAMConfig file
#   AuthPAMConfig      proftpd
   ### PAM Authentication

   AuthUserFile      /etc/proftpd/auth/passwd
   AuthGroupFile      /etc/group

   ### order of auth modules
   #AuthOrder      mod_auth_unix.c mod_auth_file.c
#   AuthOrder      mod_auth_file.c

  # ------------------------------
  # Post-Login
  # ------------------------------

   DisplayLogin      welcome.msg
   DisplayChdir      .message
   AllowOverride      off

   TimeoutIdle       600
   TimeoutNoTransfer    900
   TimeoutStalled       300
   TimeoutSession      3600

  # ------------------------------
  # Session
  # ------------------------------

   # To cause every FTP user to be "jailed" (chrooted) into their home
   # directory, uncomment this line.
   DefaultRoot      ~ web,!users
#   DefaultRoot      ~

   DenyFilter              \*.*/
   ListOptions             "-A +R" strict
   UseGlobbing             off

   ShowSymlinks            on
   TimesGMT                on

  # ------------------------------
  # Up- & Download
  # ------------------------------

   # having to delete before uploading is a pain ยิ้มเท่ห์
   AllowOverwrite      on
   AllowRetrieveRestart   on
   HiddenStores      on
   DeleteAbortedStores   on
   #AllowStoreRestart   off   # is contrary to "DeleteAbortedStores"

  # ------------------------------
  # Logging
  # ------------------------------

   WtmpLog         off
   TransferLog      /var/log/proftpd/xferlog

   # Record all logins
   ExtendedLog      /var/log/proftpd/auth.log AUTH auth

   # Logging file/dir access
   ExtendedLog      /var/log/proftpd/access.log WRITE,READ write

   # Paranoia logging level....
   ExtendedLog      /var/log/proftpd/paranoid.log ALL default

   # SQLLogFile
   #SQLLogFile      /var/log/proftpd/SQL.log
</Global>

# Bar use of SITE CHMOD by default
#<Limit SITE_CHMOD>
 # DenyAll
#</Limit>

#####
# Include other confs


Include         /etc/proftpd/conf.d/*.conf

#####

# ------------------------------
# Anonymous Settings
# ------------------------------
# A basic anonymous configuration, no upload directories.  If you do not
# want anonymous users, simply delete this entire <Anonymous> section.
<Anonymous ~ftp>
   # Limit LOGIN
   #<Limit LOGIN>
   #   Order Allow,Deny
   #   Allow from .examples.net,113.141.114.1
   #   Deny from All
   #</Limit>

   # Limit WRITE everywhere in the anonymous chroot
   <Limit WRITE>
      DenyAll
   </Limit>

   # LoginPasswordPrompt -- Configure to display the passwort prompt or not
   LoginPasswordPrompt off

   # DirFakeMode -- Hide real file/directory permissions
   DirFakeMode 0640

   # DirFakeUser -- Hide real file/directory owner
   DirFakeUser On

   # DirFakeGroup -- Hide real file/directory group
   DirFakeGroup On

     # We want clients to be able to login with "anonymous" as well as "ftp"
   UserAlias      anonymous ftp

   # Limit the maximum number of anonymous logins
   MaxClients      10
   #MaxRetrieveFileSize   512 Mb

   # Limit Up/Downloads to 255 K/sec
   #TransferRate APPE,RETR,STOR,STOU   255

   # We want 'welcome.msg' displayed at login, and '.message' displayed
   # in each newly chdired directory.
   DisplayLogin      welcome.msg
   DisplayChdir      .message

   #<Directory pub>
   #  <Limit ALL>
   #   Order Allow,Deny
   #   Allow from .examples.net,113.141.114.1
   #   Deny from All
   #  </Limit>
   #</Directory>

   # An upload directory that allows storing files but not retrieving
   # or creating directories.
   #<Directory uploads/*>
   #  <Limit READ>
      DenyAll
   #  </Limit>
   #  <Limit STOR>
      AllowAll
   #  </Limit>
   #</Directory>
</Anonymous>



ที่แท็บ <Global> ตามตัวอย่างที่ 1 เพิ่ม

CreateHome on 700 dirmode 700
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
train
Advanced Beginner : เริ่มต้นที่เริ่มเก่งแล้ว
**

Karma: +0/-0
ออฟไลน์ ออฟไลน์

กระทู้: 103


« ตอบ #13 เมื่อ: มิถุนายน 12, 2011, 04:48:33 AM »


ทำตามแล้วไม่ได้ ยิ่งหนักกว่าเดิมอีกคือ login  ไม่ได้เลย พี่ช่วย tar /etc/proftp  ให้หน่อยได้ไหมครับ
watchara_sin@hotmail
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า
ageLOC Technology
train
Advanced Beginner : เริ่มต้นที่เริ่มเก่งแล้ว
**

Karma: +0/-0
ออฟไลน์ ออฟไลน์

กระทู้: 103


« ตอบ #14 เมื่อ: มิถุนายน 12, 2011, 05:25:02 AM »


อยากให้ permission เป็นเหมือน  test1 ครับ ช่วยหน่อยนะครับ

drwxr-xr-x  2 ftpuser ftpgroup 4096 Jun 12 04:25 test1
drwx------  2 ftpuser ftpgroup 4096 Jun 12 05:18 test2
drwx------  2 ftpuser ftpgroup 4096 Jun 12 05:19 test3
drwx------  2 ftpuser ftpgroup 4096 Jun 12 05:20 test4
drwx------  2 ftpuser ftpgroup 4096 Jun 12 05:27 test5
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า
ageLOC Technology
train
Advanced Beginner : เริ่มต้นที่เริ่มเก่งแล้ว
**

Karma: +0/-0
ออฟไลน์ ออฟไลน์

กระทู้: 103


« ตอบ #15 เมื่อ: มิถุนายน 12, 2011, 01:22:00 PM »


ได้แล้วครับ ผมไปเขียน ไว้อีกไฟล์ แก้ตาม ใช้งานได้ครับ ขอบคุณมากครับ
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า
ageLOC Technology
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป:  

(@)2007 SUSE Linux user community found in Thailand. This site is not an official openSUSE and SUSE website, and is not in any way affiliated with or endorsed by SUSE Linux GmbH or Novell. openSUSE and SUSE are trademarks of Novell, Inc. in the United States and other countries.
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
หน้านี้ถูกสร้างขึ้นภายในเวลา 0.072 วินาที กับ 22 คำสั่ง (Pretty URLs adds 0.019s, 2q)