xampp安装好之后就只有一个默认站点及一个默认nobody的ftp账户,这显然不符合我们平时的需求了,那么下面就来讲一下如何设置并管理多个虚拟主机及ftp账户了,至于xampp的安装不在此讨论范围,读者可自行参阅官网的相关说明。1 m! `) K: u( f; |8 s. e' v
: }1 t" r3 s, o( P1、首先讲一下ftp账户的配置:1 c8 {; @* g# H8 k% e
xampp采用的是proftpd服务端,这个不像我们Win环境下常用的Serv-U,用户帐户不是在服务端工具里面进行配置,而是在linux系统帐户里面配置的。因此我们可以使用命令:; I+ x# m# Z9 X2 H6 r. ~; j
groupadd ftpusers
9 Y) P) ~ u- ^ g# ?0 f先在系统中创建一个名称为ftpusers的用户组,这里的名称可以随便设置,主要是为了区分ftp帐户与系统其他类型的帐户所以我这里就命名为ftpusers,然后在这个组里面添加一个用户:) S+ {" `8 N/ O2 u! E) F
useradd -d /opt/lampp/www/site1 -g ftpusers -s /sbin/nologin site1ftp/ k- t( ]$ j# ?9 w6 A+ J B
第一个参数-d表示用户home目录,其中/opt/lampp/www/这个路径必须是存在的,而site1则是在该命令执行时自动创建的。第二 个参数-g表示此用户隶属于哪个用户组,第三个参数-s表示此用户的shell环境,为安全起见我们应该设置为一个无权限的路径。最后一个参数才是此帐户 的登录名称,我这里是site1ftp。" k) ^; A( _) N
创建好之后我们就要为该帐户设置一个密码了:) c" \3 P1 ?4 T
passwd site1ftp8 f, C" A3 B- E
执行该命令后按提示输入两次密码即可完成帐户site1ftp的密码设置了。& ~8 O! @9 k* S! A0 c; D' v
接下来我们设置一下帐户home目录的权限:: }* X5 K6 t( @( u. |/ h5 V/ f
chmod -R 777 /opt/lampp/www/site1
( ^" t- N! @2 A! Y0 I2 ~至此,ftp帐户的添加算是完成了,顺便提示一下,删除帐户的命令是userdel,修改帐户的命令是usermod,存储帐户的文件路径为/etc/passwd。
; x" @4 k6 G$ x4 R9 M" J* ]另外,为安全起见,我们应该在proftpd的服务配置文件(一般路径是/opt/lampp/etc/proftpd.conf)中修改一下 DefaultRoot为ftpusers,将ftpusers组里面的用户访问范围限制在其home目录。也可以把DefaultRoot设为~(键盘 左上角的那个符号),这样表示所有的组里面的用户都有这个限制了。如果要单独设置两个组或更多的组你必须另起一行或多行,说明如下:
6 o9 P% O2 o; t, p$ p( `2 DDefaultRoot ftpusers #限制ftpusers组里面的用户
& q* G* j- p% p. d9 F: _DefaultRoot ~ #限制所有组里面的用户! t: s0 ^% y8 Y: H1 e T9 \8 K' r
DefaultRoot ftpusers) B2 e6 E3 S4 u9 E, [
DefaultRoot nobody #限制ftpusers组及nobody组里面的用户
3 X- F9 F5 a6 w# w6 `# oDefaultRoot ftpusers,nobody #限制既隶属于ftpusers组同时也隶属于nobody组里面的用户
2 h- U( E C$ f对了,还差一个步骤,应该在proftpd配置文件中对ftp目录添加可重写的权限,如下:5 ?' M- U! I- S% ]
<Directory /opt/lampp/www/*>
5 W4 n2 O& r; X! G8 s) D" S# l9 G AllowOverwrite on. e& o" f" u5 P/ T! e
</Directory>' W9 K- _, A7 @& d
否则会出现ftp上传文件时无法覆盖同名文件的问题。& Y- u3 {4 z( G$ C4 \
! i( Y% ^( l, Z2 f# d- q1 N1 x; N2、然后我们再讲一下虚拟主机的配置/ e+ g2 [* C6 X7 S# b$ d' ~
先执行:
' `/ z% c( _- {1 j+ {: @& S% b7 N1 @6 wcat /opt/lampp/etc/httpd.conf
. H5 `3 {* P* s0 s& r查看一下xampp的apache配置文件,我们发现其中有一行:
' E+ ]* |/ L; C3 ~/ w* j#Include etc/extra/httpd-vhosts.conf
5 o+ ]! d; ^7 n+ g" a1 u! @( x看来,xampp为我们准备了一个专用于配置虚拟主机的文件了,去掉#号以删除其注释,然后编辑/opt/lampp/etc/extra /httpd-vhosts.conf文件,此文件中xampp为我们创建了两个虚拟主机的示例,我们把这两个示例注释掉,然后添加我们自己需要的虚拟主 机,例如:9 w4 j6 S0 t6 r
<VirtualHost *:80>" k3 i0 s; P7 O7 f3 i
DocumentRoot /opt/lampp/www/site1( [8 L6 d. V- o1 Z7 u- K
ServerName blog.ewebe.net
4 U9 v3 i W7 s& e3 M) ] v</VirtualHost>
- U( R) G, G1 g5 S3 Q& Z' EDocumentRoot表示虚拟主机对应的路径,即网站目录,ServerName表示虚拟主机的访问地址,类似IIS中的主机头值。
# w) g* I" Y7 [/ K9 H1 `9 z至此,虚拟主机的设置也算是完成了。
0 y; b; M6 T" Q5 f4 H' M; p9 D最后我们需要在apache配置文件/opt/lampp/etc/httpd.conf中添加一下网站目录的访问权限。
# t3 U, n! g# s5 S/ t; K<Directory "/opt/lampp/www/site1">
`; T; t/ E5 \ Options Indexes FollowSymLinks
! j$ H! y# n, S S( U AllowOverride All
5 G1 ~8 c6 w* g- @( l# K Order allow,deny+ k: ^% ]/ X+ @+ {. {
Allow from all4 O! P; @! s; I9 t" z$ i4 U; f
</Directory>
; }9 V9 x8 d9 d6 A这里可以将目录路径/opt/lampp/www/site1改为/opt/lampp/www,为以后建立更多的虚拟主机如site2、site3……等等做准备。
- I. O- L7 p( |* R F- B* e. P8 M* s/ j# S
- z& {" r$ d ?. c! }& k
|
|