Per prima cosa ho installato MySQL e PHPmyadmin con i seguenti comandi:
Code: Select all
urpmi.update -a
Code: Select all
urpmi MySQL MySQL-client phpmyadmin
Code: Select all
chkconfig mysqld on
chkconfig httpd on
Code: Select all
/etc/init.d/mysqld start
/etc/init.d/httpd restart
Code: Select all
mysqladmin -u root password vostrapassword
Code: Select all
urpmi pure-ftpd pure-ftpd-anon-upload pure-ftpd-anonymous
Code: Select all
groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "pureftpd user" -g
ftpgroup ftpuser
Code: Select all
mysql -u root -p
Code: Select all
CREATE DATABASE pureftpd;
Code: Select all
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO
'pureftpd'@'localhost' IDENTIFIED BY 'vostrapassword';
Code: Select all
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO
'pureftpd'@'localhost.localdomain' IDENTIFIED BY 'ftpdpass';
Code: Select all
FLUSH PRIVILEGES;
Code: Select all
USE pureftpd;
Code: Select all
CREATE TABLE ftpd (
User varchar(16) NOT NULL default '',
status enum('0','1') NOT NULL default '0',
Password varchar(64) NOT NULL default '',
Uid varchar(11) NOT NULL default '-1',
Gid varchar(11) NOT NULL default '-1',
Dir varchar(128) NOT NULL default '',
ULBandwidth smallint(5) NOT NULL default '0',
DLBandwidth smallint(5) NOT NULL default '0',
comment tinytext NOT NULL,
ipaccess varchar(15) NOT NULL default '*',
QuotaSize smallint(5) NOT NULL default '0',
QuotaFiles int(11) NOT NULL default 0,
PRIMARY KEY (User),
UNIQUE KEY User (User)
) TYPE=MyISAM;
Code: Select all
quit
Code: Select all
vi /etc/pure-ftpd/pure-ftpd.conf
Code: Select all
[...]
ChrootEveryone yes
[...]
MySQLConfigFile /etc/pure-ftpd/pureftpd-mysql.conf
[...]
CreateHomeDir yes
Code: Select all
cp /etc/pure-ftpd/pureftpd-mysql.conf
/etc/pure-ftpd/pureftpd-mysql.conf_orig
cat /dev/null > /etc/pure-ftpd/pureftpd-mysql.conf
vi /etc/pure-ftpd/pureftpd-mysql.conf
Code: Select all
MYSQLSocket /var/lib/mysql/mysql.sock
#MYSQLServer localhost
#MYSQLPort 3306
MYSQLUser pureftpd
MYSQLPassword ftpdpass
MYSQLDatabase pureftpd
#MYSQLCrypt md5, cleartext, crypt() or password() - md5 is VERY RECOMMENDABLE uppon cleartext
MYSQLCrypt md5
MYSQLGetPW SELECT Password FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetUID SELECT Uid FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetGID SELECT Gid FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetDir SELECT Dir FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetBandwidthUL SELECT ULBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetBandwidthDL SELECT DLBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetQTASZ SELECT QuotaSize FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetQTAFS SELECT QuotaFiles FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
Code: Select all
/etc/init.d/pure-ftpd start
Code: Select all
mv /var/ftp /home
Code: Select all
chown -R ftp:nogroup /home/ftp
cd /home/ftp
chmod 311 incoming/
chmod 555 pub/
cd ../
chmod 555 ftp/
Editare il file pure-ftpd:
Code: Select all
vi /etc/pure-ftpd/pure-ftpd.conf
Code: Select all
[...]
NoAnonymous no
[...]
AntiWarez no
[...]
AnonymousBandwidth 8
[...]
AnonymousCantUpload no
[...]
Code: Select all
/etc/init.d/pure-ftpd restart
Code: Select all
urpmi pureadmin
Code: Select all
vi /etc/pure-ftpd/pure-ftpd.conf
Code: Select all
# PureDB user database (see README.Virtual-Users)
#PureDB /etc/pure-ftpd/pureftpd.pdb
Code: Select all
# PureDB user database (see README.Virtual-Users)
PureDB /etc/pure-ftpd/pureftpd.pdb
Code: Select all
/etc/init.d/pure-ftpd restart
Mentre chi lo vuole modificare completamente basta andare in /usr/share/applications e modificare in questo modo:
Code: Select all
vi pureadmin.desktop
Code: Select all
Exec=kdesu pureadmin
Per vedere se l'ftp è stato configurato correttamente e gli utenti virtuali creati da console fare cosi:
Code: Select all
ftp 127.0.0.1
Code: Select all
Connected to 127.0.0.1.
220---------- Welcome to Pure-FTPd ----------
220-You are user number 1 of 50 allowed.
220-<<
220-Linux: Where Don't We Want To Go Today?
220- -- Submitted by Pancrazio De Mauro, paraphrasing some well-known sales talk
220->>
220-Local time is now 15:51. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
500 This security scheme is not implemented
Name (127.0.0.1:vostronomeutente):admin( io ho creato questo utente per prova )
331 User admin OK. Password required
Password:(inserire la password che avete dato e premere invio)
Code: Select all
230-User admin has group access to: 10002
230 OK. Current directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Funziona anche in rete locale con l'indirizzo ip della vostra macchina assegnata dal vostro router.
Buona configurazione.
P.S: ecco gli screen
Questo è lo screen per come accedere dal browser:
Questo invece da shell:
Questo da filezilla oppure per chi usa gftp o altro: