xampp安装好之后就只有一个默认站点及一个默认nobody的ftp账户,这显然不符合我们平时的需求了,那么下面就来讲一下如何设置并管理多个虚拟主机及ftp账户了,至于xampp的安装不在此讨论范围,读者可自行参阅官网的相关说明。
% G4 A/ |3 p3 J, P1 t
7 |/ Z: t' t0 K$ A1、首先讲一下ftp账户的配置:0 d9 Q) y' h) O! L) _, Y& I' `
xampp采用的是proftpd服务端,这个不像我们Win环境下常用的Serv-U,用户帐户不是在服务端工具里面进行配置,而是在linux系统帐户里面配置的。因此我们可以使用命令:- g+ K' n& o$ ?( a+ Y/ ^
groupadd ftpusers
0 V4 m* O1 e" B3 f% J3 [先在系统中创建一个名称为ftpusers的用户组,这里的名称可以随便设置,主要是为了区分ftp帐户与系统其他类型的帐户所以我这里就命名为ftpusers,然后在这个组里面添加一个用户:) p# v. R+ G* M2 @# k$ U
useradd -d /opt/lampp/www/site1 -g ftpusers -s /sbin/nologin site1ftp
3 J; r& I# s" w: S) f: x- D+ A第一个参数-d表示用户home目录,其中/opt/lampp/www/这个路径必须是存在的,而site1则是在该命令执行时自动创建的。第二 个参数-g表示此用户隶属于哪个用户组,第三个参数-s表示此用户的shell环境,为安全起见我们应该设置为一个无权限的路径。最后一个参数才是此帐户 的登录名称,我这里是site1ftp。
, D) s. h5 X- ?% ]创建好之后我们就要为该帐户设置一个密码了:
) k9 H" _- {& B J8 B7 k% w: rpasswd site1ftp
* ]: i2 T/ Y }! x6 T执行该命令后按提示输入两次密码即可完成帐户site1ftp的密码设置了。* [8 O2 Q5 W# C6 a
接下来我们设置一下帐户home目录的权限:
, Q; S! O0 _0 p( M" x" b bchmod -R 777 /opt/lampp/www/site1
1 a( f& W! m8 j7 Y+ }$ [& w至此,ftp帐户的添加算是完成了,顺便提示一下,删除帐户的命令是userdel,修改帐户的命令是usermod,存储帐户的文件路径为/etc/passwd。; H% T5 ]+ C* L6 p& A
另外,为安全起见,我们应该在proftpd的服务配置文件(一般路径是/opt/lampp/etc/proftpd.conf)中修改一下 DefaultRoot为ftpusers,将ftpusers组里面的用户访问范围限制在其home目录。也可以把DefaultRoot设为~(键盘 左上角的那个符号),这样表示所有的组里面的用户都有这个限制了。如果要单独设置两个组或更多的组你必须另起一行或多行,说明如下:, H! t# f+ k) F1 Q+ C7 n; r* \
DefaultRoot ftpusers #限制ftpusers组里面的用户
[) P6 ?) U1 j( wDefaultRoot ~ #限制所有组里面的用户
) H, I0 u, t4 Y4 M2 M" ODefaultRoot ftpusers
( }4 b; G& V. qDefaultRoot nobody #限制ftpusers组及nobody组里面的用户
0 F* X, U# C3 W% L* U. TDefaultRoot ftpusers,nobody #限制既隶属于ftpusers组同时也隶属于nobody组里面的用户7 |, z' r: j% n
对了,还差一个步骤,应该在proftpd配置文件中对ftp目录添加可重写的权限,如下:; \& Y6 [/ Q1 g$ u+ C
<Directory /opt/lampp/www/*>" A, Z$ _0 ^/ i5 ?7 a
AllowOverwrite on H/ Z/ U; X, x# O) R' ^
</Directory>% y4 `" G: o$ U0 j6 P. C1 M0 F2 y
否则会出现ftp上传文件时无法覆盖同名文件的问题。
$ c% q3 b% E6 f/ e6 e
; n$ y' p# O! z+ A3 a7 v2、然后我们再讲一下虚拟主机的配置& A) V' L# R1 [7 i7 L* K0 Y
先执行:
' W$ f) T( q* q- P% scat /opt/lampp/etc/httpd.conf
/ a+ U, a. l! H) g查看一下xampp的apache配置文件,我们发现其中有一行: ] p/ V/ h( ~9 H) W3 t, |7 d; [
#Include etc/extra/httpd-vhosts.conf
9 u; F9 D5 M$ ~3 @( \7 w! z' ?; _看来,xampp为我们准备了一个专用于配置虚拟主机的文件了,去掉#号以删除其注释,然后编辑/opt/lampp/etc/extra /httpd-vhosts.conf文件,此文件中xampp为我们创建了两个虚拟主机的示例,我们把这两个示例注释掉,然后添加我们自己需要的虚拟主 机,例如:
6 N/ C& _5 c7 p6 W8 D5 |<VirtualHost *:80>
/ J" Y: S- s( p2 ], ? DocumentRoot /opt/lampp/www/site1
/ e, Y G6 f, G0 K' l0 b ServerName blog.ewebe.net
# w+ s5 `' m: U% \& }9 `( |</VirtualHost>
6 H; \2 S# F4 a1 mDocumentRoot表示虚拟主机对应的路径,即网站目录,ServerName表示虚拟主机的访问地址,类似IIS中的主机头值。% p/ N9 K& A5 N2 u* z7 e
至此,虚拟主机的设置也算是完成了。
5 Y6 \& u/ s2 U' E* J6 o4 X最后我们需要在apache配置文件/opt/lampp/etc/httpd.conf中添加一下网站目录的访问权限。! e5 J9 @% O4 `. ?! \; m
<Directory "/opt/lampp/www/site1">+ P5 e' ]/ d& W( p6 Y
Options Indexes FollowSymLinks
' h( i5 J2 Q, ` AllowOverride All# |: y- ?/ P8 {, v
Order allow,deny6 w$ a" _" r$ ]: y" O* |# Q. z9 o
Allow from all8 p; E' |2 E( [' \8 ?) b
</Directory>8 v+ T B" t& ]; @/ E
这里可以将目录路径/opt/lampp/www/site1改为/opt/lampp/www,为以后建立更多的虚拟主机如site2、site3……等等做准备。7 I0 v/ P4 L: z! c" w( l \ C
4 x0 u7 W' m% R z9 [% { z7 M, n; M( N3 A4 \' v3 e8 D: v
|
|