xampp安装好之后就只有一个默认站点及一个默认nobody的ftp账户,这显然不符合我们平时的需求了,那么下面就来讲一下如何设置并管理多个虚拟主机及ftp账户了,至于xampp的安装不在此讨论范围,读者可自行参阅官网的相关说明。9 _) [- M: ^' z
0 n/ I& ^0 @. K
1、首先讲一下ftp账户的配置:" X0 c' M* ^7 o, {- W
xampp采用的是proftpd服务端,这个不像我们Win环境下常用的Serv-U,用户帐户不是在服务端工具里面进行配置,而是在linux系统帐户里面配置的。因此我们可以使用命令:1 Z* e8 I- z. o) r
groupadd ftpusers/ g* w- h6 G6 ~
先在系统中创建一个名称为ftpusers的用户组,这里的名称可以随便设置,主要是为了区分ftp帐户与系统其他类型的帐户所以我这里就命名为ftpusers,然后在这个组里面添加一个用户:
: n3 D/ p" t6 y" ~useradd -d /opt/lampp/www/site1 -g ftpusers -s /sbin/nologin site1ftp- w$ C6 p) z9 D% w f8 j% o- L8 v
第一个参数-d表示用户home目录,其中/opt/lampp/www/这个路径必须是存在的,而site1则是在该命令执行时自动创建的。第二 个参数-g表示此用户隶属于哪个用户组,第三个参数-s表示此用户的shell环境,为安全起见我们应该设置为一个无权限的路径。最后一个参数才是此帐户 的登录名称,我这里是site1ftp。& V u$ c4 d# n4 q3 S% S0 ^
创建好之后我们就要为该帐户设置一个密码了:( E! Y6 r1 k. i5 D6 O. ^+ ?: x
passwd site1ftp/ N9 B3 c3 l/ ~0 y) b3 p0 H, {" ~
执行该命令后按提示输入两次密码即可完成帐户site1ftp的密码设置了。
9 ^& [' g' T* t: G+ ~7 N接下来我们设置一下帐户home目录的权限:
+ z1 @3 Z& W+ k- p+ m7 ?chmod -R 777 /opt/lampp/www/site19 }( |! j7 d; L- |+ i
至此,ftp帐户的添加算是完成了,顺便提示一下,删除帐户的命令是userdel,修改帐户的命令是usermod,存储帐户的文件路径为/etc/passwd。6 d G% I3 r9 e: @
另外,为安全起见,我们应该在proftpd的服务配置文件(一般路径是/opt/lampp/etc/proftpd.conf)中修改一下 DefaultRoot为ftpusers,将ftpusers组里面的用户访问范围限制在其home目录。也可以把DefaultRoot设为~(键盘 左上角的那个符号),这样表示所有的组里面的用户都有这个限制了。如果要单独设置两个组或更多的组你必须另起一行或多行,说明如下:' M4 Q8 T# A5 h! X( q7 F U1 E- X3 i
DefaultRoot ftpusers #限制ftpusers组里面的用户
" `' \4 j a8 o5 _DefaultRoot ~ #限制所有组里面的用户2 M. v% L; |& S
DefaultRoot ftpusers
+ ^! i' B% W3 _/ U! w% L3 HDefaultRoot nobody #限制ftpusers组及nobody组里面的用户+ e2 M5 V- }& e+ ~: s" u9 l
DefaultRoot ftpusers,nobody #限制既隶属于ftpusers组同时也隶属于nobody组里面的用户# S- c0 |% x( Y5 S3 O# ]/ B
对了,还差一个步骤,应该在proftpd配置文件中对ftp目录添加可重写的权限,如下:" v" a4 N' P, B L) B* R8 H5 i) k
<Directory /opt/lampp/www/*>
; ~: {8 a0 Y) H. x9 G- U# }- M AllowOverwrite on% A! m7 L6 p; f" L3 r) ?3 Z
</Directory>
* a( q& j: { y, s) W% Z否则会出现ftp上传文件时无法覆盖同名文件的问题。+ ^( r9 C6 G2 F# a) X$ n! [
% |9 v! i, P8 G% [
2、然后我们再讲一下虚拟主机的配置* ?$ N; M, n$ J! P F
先执行:* R0 X' `! s0 }+ ^
cat /opt/lampp/etc/httpd.conf0 h0 g4 n, t P7 |
查看一下xampp的apache配置文件,我们发现其中有一行:7 z( h2 C4 t% T4 g
#Include etc/extra/httpd-vhosts.conf; R0 m6 u$ K" x; d
看来,xampp为我们准备了一个专用于配置虚拟主机的文件了,去掉#号以删除其注释,然后编辑/opt/lampp/etc/extra /httpd-vhosts.conf文件,此文件中xampp为我们创建了两个虚拟主机的示例,我们把这两个示例注释掉,然后添加我们自己需要的虚拟主 机,例如:
0 \3 n9 v0 z' L0 s: }<VirtualHost *:80>
9 z+ k/ v: [. S DocumentRoot /opt/lampp/www/site1
9 c: ^: ?8 m% t6 y; c- R! @ ServerName blog.ewebe.net
' }2 R7 E6 j; q( c6 e( Z</VirtualHost>
6 V A4 \: V* M8 e2 `2 p9 ADocumentRoot表示虚拟主机对应的路径,即网站目录,ServerName表示虚拟主机的访问地址,类似IIS中的主机头值。
/ C& z+ y; s/ @% Q: s# _至此,虚拟主机的设置也算是完成了。 t5 e4 L* ^+ p
最后我们需要在apache配置文件/opt/lampp/etc/httpd.conf中添加一下网站目录的访问权限。. K( {4 S/ c' E$ f, C7 G& Y
<Directory "/opt/lampp/www/site1">
% `( v4 O# o N6 G$ p Options Indexes FollowSymLinks
; U+ {5 x' L1 |3 P( K+ b AllowOverride All
! o4 \8 b& g" M/ ^: @ Order allow,deny
4 i2 e8 ~, l0 d Allow from all( R) d) H+ S9 }# y, l
</Directory>( p7 O7 V! e& q( T1 F! @- `
这里可以将目录路径/opt/lampp/www/site1改为/opt/lampp/www,为以后建立更多的虚拟主机如site2、site3……等等做准备。
" G; k% n' W/ f5 O' b) c. z! Y v7 ^2 I( {: q
! }0 a' L- `( Q1 K$ L
|
|