xampp安装好之后就只有一个默认站点及一个默认nobody的ftp账户,这显然不符合我们平时的需求了,那么下面就来讲一下如何设置并管理多个虚拟主机及ftp账户了,至于xampp的安装不在此讨论范围,读者可自行参阅官网的相关说明。& d% m5 R8 q% t) Z& W, `3 \
+ ?! h! ~! d* w6 |% o1、首先讲一下ftp账户的配置:; K/ Z* t _: W" C% _
xampp采用的是proftpd服务端,这个不像我们Win环境下常用的Serv-U,用户帐户不是在服务端工具里面进行配置,而是在linux系统帐户里面配置的。因此我们可以使用命令:, Y! ^& [* l- [. m5 {- l
groupadd ftpusers- A2 W5 C& a' r- |) C
先在系统中创建一个名称为ftpusers的用户组,这里的名称可以随便设置,主要是为了区分ftp帐户与系统其他类型的帐户所以我这里就命名为ftpusers,然后在这个组里面添加一个用户:
! L4 F* w1 x3 q3 w4 o9 luseradd -d /opt/lampp/www/site1 -g ftpusers -s /sbin/nologin site1ftp& Y1 q* Y" M* v% Q
第一个参数-d表示用户home目录,其中/opt/lampp/www/这个路径必须是存在的,而site1则是在该命令执行时自动创建的。第二 个参数-g表示此用户隶属于哪个用户组,第三个参数-s表示此用户的shell环境,为安全起见我们应该设置为一个无权限的路径。最后一个参数才是此帐户 的登录名称,我这里是site1ftp。) F; L t! f2 e; e# M
创建好之后我们就要为该帐户设置一个密码了:' ?5 @8 ~ \/ m6 T
passwd site1ftp* ~" W3 K! n7 U: x1 e2 M# I
执行该命令后按提示输入两次密码即可完成帐户site1ftp的密码设置了。
) N# I' z( V% H接下来我们设置一下帐户home目录的权限:
) i! F1 s" n9 q9 ?& k2 ?( X" rchmod -R 777 /opt/lampp/www/site1/ v, O6 @/ ], z2 b T1 B9 s8 v+ g
至此,ftp帐户的添加算是完成了,顺便提示一下,删除帐户的命令是userdel,修改帐户的命令是usermod,存储帐户的文件路径为/etc/passwd。' b, K% e; t0 j+ Z; z( K# h
另外,为安全起见,我们应该在proftpd的服务配置文件(一般路径是/opt/lampp/etc/proftpd.conf)中修改一下 DefaultRoot为ftpusers,将ftpusers组里面的用户访问范围限制在其home目录。也可以把DefaultRoot设为~(键盘 左上角的那个符号),这样表示所有的组里面的用户都有这个限制了。如果要单独设置两个组或更多的组你必须另起一行或多行,说明如下:! f; u2 |6 w- B* y7 ]
DefaultRoot ftpusers #限制ftpusers组里面的用户
2 Y" D% g* w4 R5 g kDefaultRoot ~ #限制所有组里面的用户
, T0 V/ i# J" D6 H8 JDefaultRoot ftpusers
, U% v1 F: c" H( x8 iDefaultRoot nobody #限制ftpusers组及nobody组里面的用户
7 t9 v1 \% Z. z6 i3 _DefaultRoot ftpusers,nobody #限制既隶属于ftpusers组同时也隶属于nobody组里面的用户$ J9 t1 D/ s9 Z- G9 F
对了,还差一个步骤,应该在proftpd配置文件中对ftp目录添加可重写的权限,如下:
; i0 U9 g0 ?8 S" h2 ^% ~# V2 t/ ^+ W2 t<Directory /opt/lampp/www/*>
) ~( x3 F, z, Q: K8 J AllowOverwrite on
: \. B7 F3 ^9 ] f/ y, Z</Directory>
* M) f5 S$ S* r1 \否则会出现ftp上传文件时无法覆盖同名文件的问题。
' J% D' m$ n4 a( {7 H5 ~/ Z( [& r Z$ B2 s4 d: f3 p
2、然后我们再讲一下虚拟主机的配置
; ^ S" ^& ~ _! A, s8 W先执行:
8 g t/ q2 R- @( I* F. ccat /opt/lampp/etc/httpd.conf
* T; h( C1 q0 ?- ~ ~& F4 Z! ~9 X查看一下xampp的apache配置文件,我们发现其中有一行:: c1 s& R9 S$ E+ h; T" g
#Include etc/extra/httpd-vhosts.conf
3 U4 ^( k( |! X7 r3 b, c看来,xampp为我们准备了一个专用于配置虚拟主机的文件了,去掉#号以删除其注释,然后编辑/opt/lampp/etc/extra /httpd-vhosts.conf文件,此文件中xampp为我们创建了两个虚拟主机的示例,我们把这两个示例注释掉,然后添加我们自己需要的虚拟主 机,例如:1 t4 b& w! s$ @ y& ]* h* v; s: v
<VirtualHost *:80>8 U1 X$ U6 O& ~$ h
DocumentRoot /opt/lampp/www/site1/ ?, X/ i3 |9 Q; w/ I. Y# g4 m% V& ]
ServerName blog.ewebe.net
( H9 Q. u2 \" F6 f& ^) Y</VirtualHost>
4 C# S1 L/ d/ i( {! D- V5 VDocumentRoot表示虚拟主机对应的路径,即网站目录,ServerName表示虚拟主机的访问地址,类似IIS中的主机头值。
6 G) h5 C* Z) y至此,虚拟主机的设置也算是完成了。! R3 m% q- `# p8 k
最后我们需要在apache配置文件/opt/lampp/etc/httpd.conf中添加一下网站目录的访问权限。, A* C( o) {* N% @( \" `0 D. s
<Directory "/opt/lampp/www/site1">
0 l3 Q+ h9 M2 E0 {1 W/ T& N Options Indexes FollowSymLinks
! u+ h2 P/ f9 ]2 {- u AllowOverride All9 o- \% d& i* o6 L& U
Order allow,deny
& Q. N5 D6 L# E L; U/ T Allow from all+ v4 a. z2 l: J' y. X/ ~
</Directory>8 \$ x2 q' j, n+ q1 S# e
这里可以将目录路径/opt/lampp/www/site1改为/opt/lampp/www,为以后建立更多的虚拟主机如site2、site3……等等做准备。
7 K7 H7 Z9 O+ B: e4 Q
8 Y. A5 k( \, R' c/ T
* y5 T K8 y: R1 _ |
|