xampp安装好之后就只有一个默认站点及一个默认nobody的ftp账户,这显然不符合我们平时的需求了,那么下面就来讲一下如何设置并管理多个虚拟主机及ftp账户了,至于xampp的安装不在此讨论范围,读者可自行参阅官网的相关说明。
0 i* C& w/ M6 _0 F( n( N
/ V5 i$ i3 h. Y+ O6 T6 I1、首先讲一下ftp账户的配置:
) [! ]9 `# t& ]+ qxampp采用的是proftpd服务端,这个不像我们Win环境下常用的Serv-U,用户帐户不是在服务端工具里面进行配置,而是在linux系统帐户里面配置的。因此我们可以使用命令:
5 v5 I( x! y; R S- M1 [9 g9 ? bgroupadd ftpusers# R9 m/ l3 B4 w; x1 p. z
先在系统中创建一个名称为ftpusers的用户组,这里的名称可以随便设置,主要是为了区分ftp帐户与系统其他类型的帐户所以我这里就命名为ftpusers,然后在这个组里面添加一个用户:
' q- C" T4 S' xuseradd -d /opt/lampp/www/site1 -g ftpusers -s /sbin/nologin site1ftp- a) j: k- q+ W0 \" i4 v: I
第一个参数-d表示用户home目录,其中/opt/lampp/www/这个路径必须是存在的,而site1则是在该命令执行时自动创建的。第二 个参数-g表示此用户隶属于哪个用户组,第三个参数-s表示此用户的shell环境,为安全起见我们应该设置为一个无权限的路径。最后一个参数才是此帐户 的登录名称,我这里是site1ftp。2 F! X) r+ c1 e/ g& n9 J
创建好之后我们就要为该帐户设置一个密码了:% O8 _+ l, a% M
passwd site1ftp/ c- A Y4 C5 J+ u; \$ Z* ?& ]
执行该命令后按提示输入两次密码即可完成帐户site1ftp的密码设置了。3 C7 w* J9 Q0 B$ ]$ P
接下来我们设置一下帐户home目录的权限:1 R# X/ t4 T5 D; c4 m( }6 V+ u
chmod -R 777 /opt/lampp/www/site1
: ~9 p8 i- Z0 D0 K5 C2 n至此,ftp帐户的添加算是完成了,顺便提示一下,删除帐户的命令是userdel,修改帐户的命令是usermod,存储帐户的文件路径为/etc/passwd。
1 r/ p+ p; Y1 t) O另外,为安全起见,我们应该在proftpd的服务配置文件(一般路径是/opt/lampp/etc/proftpd.conf)中修改一下 DefaultRoot为ftpusers,将ftpusers组里面的用户访问范围限制在其home目录。也可以把DefaultRoot设为~(键盘 左上角的那个符号),这样表示所有的组里面的用户都有这个限制了。如果要单独设置两个组或更多的组你必须另起一行或多行,说明如下:1 L2 S h4 m) [" V
DefaultRoot ftpusers #限制ftpusers组里面的用户
+ V5 j9 z0 |: r9 [! j6 pDefaultRoot ~ #限制所有组里面的用户
- @ i% v' q. R( bDefaultRoot ftpusers* }% }& e; U3 i8 _9 u" t9 ~
DefaultRoot nobody #限制ftpusers组及nobody组里面的用户
; ?" ]9 k! x: j5 xDefaultRoot ftpusers,nobody #限制既隶属于ftpusers组同时也隶属于nobody组里面的用户" ]# o' K7 ?5 s4 ^3 I2 M0 u3 `' m
对了,还差一个步骤,应该在proftpd配置文件中对ftp目录添加可重写的权限,如下:- |8 G6 v5 u) \ X. h& f' i; ]8 B
<Directory /opt/lampp/www/*>
& g D0 ^: y/ @" a3 ?% }2 m4 ] AllowOverwrite on# s5 `% Y- D8 Q2 w
</Directory>. C# q% u. P4 S9 G, J0 O
否则会出现ftp上传文件时无法覆盖同名文件的问题。
. `9 k+ M7 T6 K$ y+ {3 ^7 k: @( y& w& p! g2 S
2、然后我们再讲一下虚拟主机的配置
3 V8 a3 |3 m( V7 T( Q' z先执行:
: ^2 |9 A6 m3 |cat /opt/lampp/etc/httpd.conf
0 H0 O: c- l. q; f查看一下xampp的apache配置文件,我们发现其中有一行:5 E; T: e, Y! ~' G
#Include etc/extra/httpd-vhosts.conf
( S" h% W' o4 o( O# `6 D. `看来,xampp为我们准备了一个专用于配置虚拟主机的文件了,去掉#号以删除其注释,然后编辑/opt/lampp/etc/extra /httpd-vhosts.conf文件,此文件中xampp为我们创建了两个虚拟主机的示例,我们把这两个示例注释掉,然后添加我们自己需要的虚拟主 机,例如:
9 w' x2 u2 N- v. i0 \: ?& G<VirtualHost *:80>
' |" G( }$ [0 M- ]) e* I( A DocumentRoot /opt/lampp/www/site1
0 g7 F, u1 S5 y2 d8 t G3 t5 P ServerName blog.ewebe.net' e9 x2 N) z/ E1 D
</VirtualHost>8 B9 X' k. s6 p. m( x; W6 l2 h
DocumentRoot表示虚拟主机对应的路径,即网站目录,ServerName表示虚拟主机的访问地址,类似IIS中的主机头值。# k( r1 |. ~$ L
至此,虚拟主机的设置也算是完成了。5 y+ o5 x6 U' l% r9 U4 u
最后我们需要在apache配置文件/opt/lampp/etc/httpd.conf中添加一下网站目录的访问权限。3 @( X- X# {1 P0 K3 p/ m1 I
<Directory "/opt/lampp/www/site1">
, B3 K& u" m4 j2 z& c$ I Options Indexes FollowSymLinks
% u2 M R/ S6 b AllowOverride All
: H) }, R7 b$ i8 P4 ] Order allow,deny! v0 k7 Y' I% t9 C" R, c' ]
Allow from all7 }8 z: T1 ~4 p9 @
</Directory>
# W I( e+ @0 F; M# y这里可以将目录路径/opt/lampp/www/site1改为/opt/lampp/www,为以后建立更多的虚拟主机如site2、site3……等等做准备。- u! ?; l( O* c0 ~
5 T# a; M6 A/ h3 l* y# o: r( n; p. R* w/ [$ s% P. Q
|
|