DANH MỤC TÀI LIỆU
Hướng dẫn tạo Virtual Hosting với PureFTPd và MySQL
H ng d n t o Virtual Hosting v i PureFTPd và MySQLướ ẫ ạ
Bài vi t sau s gi i thi u v i các b n cách cài đ t PureFTPd server sế ẽ ớ
d ng các tài kho n ng i dùng o t c s d li u c a MySQL, t t ườ ơ ở
c đ u bên trong h th ng th c. Quá trình này th c s r t có ích vì ự ấ
giúp h th ng ki m soát đ c hàng trăm t i hàng ngàn t i kho n ftp trên ệ ố ượ
t ng máy tr m. M t khía c nh khác đ c đ c p đ n là cách s d ng ượ ề ậ ế
quota và l ng băng thông upload/download gi i h n, m t kh u truy c p ượ ớ ạ
s đ c l u tr và mã hóa thành chu i MD5 trong c s d li u. Đ qu n ượ ư ơ ở
tr c s d li u MySQL, ng i dùng có th s d ng các công c d a trên ơ ở ữ ườ ử ụ ụ ự
n n t ng web nh phpMyAdmin. Toàn b bài th nghi m sau đ c th c ề ả ư ượ
hi n trên n n t ng OpenSUSE 11.3 ề ả
L u ý s bư ơ ộ
T i đây chúng ta s d ng hostname server1.example.com v i đ a ch IP ử ụ
192.168.0.100, và ng i s d ng c n thay th nh ng thông s này t ng ườ ử ụ ế ư ươ
ng v i h th ng c a h .
Cài đ t MySQL, Apache2 và phpMyAdmin
T t c các module c n thi t c a MySQL, Apache và PHP dành cho ấ ả ế ủ
phpMyAdmin có th đ c cài đ t nh sau:ể ượ ư
yast2 -i mysql mysql-client mysql-community-server apache2 apache2-
mod_php5 php5-mysql php5-mcrypt php5-mbstring php5-gd
Sau đó t o đ ng d n startup cho MySQL MySQL t đ ng kích ho t ườ ự ộ
khi h th ng kh i đ ng) và s d ng MySQL server: ử ụ
chkconfig --add mysql
/etc/init.d/mysql start
Đ tăng thêm đ b o m t cho quá trình cài đ t MySQL, các b n s d ng ộ ả ử ụ
câu l nh sau:
mysql_secure_installation
sau đó, h th ng s h i b n m t s thông tin nh sau: ẽ ỏ ư
server1:~ # mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR
ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP
CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): <-- nh n ENTER
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y/n] <-- ch n Y
New password: <-- đi n m t kh u MySQL rootề ậ ẩ
Re-enter new password: <-- xác nh n l i m t kh uậ ạ
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] <-- ch n Y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] <-- ch n ti p Yọ ế
... Success!
By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] <-- ch n Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] <-- ch n Y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
Server1:~ #
Sau đó ti p t c t o đ ng d n kh i đ ng cho Apache và kích ho t:ế ụ ạ ườ
chkconfig --add apache2
/etc/init.d/apache2 start
Và cài đ t phpMyAdmin nh sau:ặ ư
zypper install
http://download.opensuse.org/repositories/server:/php:/applications/openSU
SE_11.3/noarch/phpMyAdmin-3.3.4-1.1.noarch.rpm
Ki m tra l i quá trình cài đ t phpMyAdmin có thành công hay không b ng ể ạ
cách gõ đ a
ch http://server1.example.com/phpMyAdmin/ ho c http://192.168.0.100/php
MyAdmin/ vào trình duy t.
Cài đ t PureFTPd v i MySQL h tr ỗ ợ
Các gói PureFTPd c a OpenSUSE h tr nhi u chu n backend đa d ng, ví ỗ ợ
d nh MySQL, PostgreSQL, LDAP …:ụ ư
yast2 -i pure-ftpd
Sau đó chúng ta t o nhóm ftp (ftpgroup) và ng i dùng (ftpuser) dùng đ ườ ể
tr t t c các tài kho n ng i dùng o t i đó. Thay th nhóm và tài kho n ỏ ấ ườ ế
2001 v i thông s b t kỳ khác trên h th ng c a b n: ố ấ
groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpgroup
ftpuser
T o c s d li u MySQL cho PureFTPd ơ ở
T i đây, chúng ta s t o 1 c s d li u v i tên là pureftpd và tài kho n ẽ ạ ơ
MySQL pureftpd, PureFTPd daemon s s d ng đ k t n i t i c s d ẽ ử ế ơ ở
li u pureftpd:
mysql -u root -p
CREATE DATABASE pureftpd;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON
pureftpd.* TO 'pureftpd'@'localhost' IDENTIFIED BY 'ftpdpass';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON
pureftpd.* TO 'pureftpd'@'localhost.localdomain' IDENTIFIED BY
'ftpdpass';
FLUSH PRIVILEGES;
Các b n nh thay th chu i ftpdpass v i m t kh u MySQL cho tài kho n ế ớ ậ
pureftpd. Và chúng ta ti p t c t o thêm b ng c s d li u c n thi t:ế ơ ở ế
USE pureftpd;
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;
quit;
V i l nh quit trên, chúng ta đã thoát kh i MySQL và quay l i b ng đi u ớ ệ
khi n chính c a Linux.ể ủ
Truy c p phpMyAdmin qua đ a ch ị ỉ
http://server1.example.com/phpMyAdmin/ (ho c s d ng đ a ch IP thay vì ử ụ
server1.example.com) b ng trình duy t và đăng nh p b ng tên pureftpd. ậ ằ
Thi t l p PureFTPdế ậ
Ch nh s a l i file c u hình /etc/pure-ftpd/pure-ftpd.conf và chú ý đ n dòng ử ạ ế
ChrootEveryone, AnonymousOnly, MySQLConfigFile và CreateHomeDir
đ c kích ho t nh bên d i:ượ ạ ư ướ
vi /etc/pure-ftpd/pure-ftpd.conf
[...]
ChrootEveryone yes
[...]
AnonymousOnly no
[...]
thông tin tài liệu
Bài viết sau sẽ giới thiệu với các bạn cách cài đặt PureFTPd server sử dụng các tài khoản người dùng ảo từ cơ sở dữ liệu của MySQL, tất cả đều ở bên trong hệ thống thực
Mở rộng để xem thêm
xem nhiều trong tuần
yêu cầu tài liệu
Giúp bạn tìm tài liệu chưa có

LÝ THUYẾT TOÁN


×