xampp安装好之后就只有一个默认站点及一个默认nobody的ftp账户,这显然不符合我们平时的需求了,那么下面就来讲一下如何设置并管理多个虚拟主机及ftp账户了,至于xampp的安装不在此讨论范围,读者可自行参阅官网的相关说明。
. H, B$ l | C" C$ r# X5 w* P" i- d! z. p4 q9 R" o" h; D X0 F
1、首先讲一下ftp账户的配置:
* r4 ]* z7 w. e- w8 b1 {! Sxampp采用的是proftpd服务端,这个不像我们Win环境下常用的Serv-U,用户帐户不是在服务端工具里面进行配置,而是在linux系统帐户里面配置的。因此我们可以使用命令:5 R5 {9 b# G/ I. A. a; d+ J
groupadd ftpusers
, B! Z! o$ C. T6 _先在系统中创建一个名称为ftpusers的用户组,这里的名称可以随便设置,主要是为了区分ftp帐户与系统其他类型的帐户所以我这里就命名为ftpusers,然后在这个组里面添加一个用户:: q0 h5 V8 C3 Z5 W9 J/ G
useradd -d /opt/lampp/www/site1 -g ftpusers -s /sbin/nologin site1ftp" C' Z/ f' B& Q/ [5 w- H, ] N! @; S
第一个参数-d表示用户home目录,其中/opt/lampp/www/这个路径必须是存在的,而site1则是在该命令执行时自动创建的。第二 个参数-g表示此用户隶属于哪个用户组,第三个参数-s表示此用户的shell环境,为安全起见我们应该设置为一个无权限的路径。最后一个参数才是此帐户 的登录名称,我这里是site1ftp。$ ?4 h+ Q' @; A4 [6 Z& h
创建好之后我们就要为该帐户设置一个密码了:
9 }, X& D, r* cpasswd site1ftp
: k; [/ {. }+ T; ]* k执行该命令后按提示输入两次密码即可完成帐户site1ftp的密码设置了。5 Q, y8 U/ H+ D) |" c
接下来我们设置一下帐户home目录的权限:
h X( n: D8 u" R0 \" Gchmod -R 777 /opt/lampp/www/site1
$ M0 D" j5 }7 u/ ? x至此,ftp帐户的添加算是完成了,顺便提示一下,删除帐户的命令是userdel,修改帐户的命令是usermod,存储帐户的文件路径为/etc/passwd。
" h3 S# M: y2 Q* ~ j另外,为安全起见,我们应该在proftpd的服务配置文件(一般路径是/opt/lampp/etc/proftpd.conf)中修改一下 DefaultRoot为ftpusers,将ftpusers组里面的用户访问范围限制在其home目录。也可以把DefaultRoot设为~(键盘 左上角的那个符号),这样表示所有的组里面的用户都有这个限制了。如果要单独设置两个组或更多的组你必须另起一行或多行,说明如下:+ P* ?) }4 ]5 s% ]( Y
DefaultRoot ftpusers #限制ftpusers组里面的用户4 H( g: p/ z9 b. B2 q ]9 F5 h, v) ~/ I
DefaultRoot ~ #限制所有组里面的用户# d6 J# V; `$ R V% r
DefaultRoot ftpusers- h2 h6 N* v+ ?! \/ L
DefaultRoot nobody #限制ftpusers组及nobody组里面的用户 m) ]9 T$ r$ x, ~
DefaultRoot ftpusers,nobody #限制既隶属于ftpusers组同时也隶属于nobody组里面的用户0 v4 T e: N( g+ a R+ a0 k: X$ z
对了,还差一个步骤,应该在proftpd配置文件中对ftp目录添加可重写的权限,如下:
5 |* K$ y; j6 M1 v1 I( R<Directory /opt/lampp/www/*>' W& r( o, O: K& D# q3 t* C8 f
AllowOverwrite on4 ?4 V$ L* S, |" f) b
</Directory>
$ f |1 @' m9 S0 ?& ^. g; w5 `否则会出现ftp上传文件时无法覆盖同名文件的问题。/ O1 h1 J1 b$ Y/ l$ ], {
T+ |4 k3 k' Z* ?
2、然后我们再讲一下虚拟主机的配置9 l8 S4 {, ~' J# j! a9 f$ B9 b1 N
先执行:0 B3 A/ ^6 x, \
cat /opt/lampp/etc/httpd.conf" `. ]) I0 x' Z6 D4 L
查看一下xampp的apache配置文件,我们发现其中有一行:/ S( E7 P: B3 W* {0 P4 a3 l$ J
#Include etc/extra/httpd-vhosts.conf& t/ B! x4 h* I0 g9 J$ ^$ C; N
看来,xampp为我们准备了一个专用于配置虚拟主机的文件了,去掉#号以删除其注释,然后编辑/opt/lampp/etc/extra /httpd-vhosts.conf文件,此文件中xampp为我们创建了两个虚拟主机的示例,我们把这两个示例注释掉,然后添加我们自己需要的虚拟主 机,例如:5 U1 c- y \: Q; x; w u
<VirtualHost *:80>
; n- J, `$ ^ B9 l DocumentRoot /opt/lampp/www/site19 V( j! u8 N: N [
ServerName blog.ewebe.net
8 l. f' B l: O, u( o</VirtualHost>
6 y J$ | ]- h {. u: J9 B. Q0 w( [DocumentRoot表示虚拟主机对应的路径,即网站目录,ServerName表示虚拟主机的访问地址,类似IIS中的主机头值。
9 G: L3 f( Y) _: B8 u# `! _6 F至此,虚拟主机的设置也算是完成了。
& O) }, A3 i z最后我们需要在apache配置文件/opt/lampp/etc/httpd.conf中添加一下网站目录的访问权限。
' ~1 T% O( p! ]7 J8 n<Directory "/opt/lampp/www/site1">
3 b* P* ~0 v4 N, T( Z Options Indexes FollowSymLinks- h2 e: n$ G# @" @( x: m
AllowOverride All
2 s" s$ M C+ c9 w+ W Order allow,deny
, G }8 }7 @# q; c! U; A; p' X Allow from all5 `9 V* L, N0 E0 f1 J: y. L
</Directory>
1 E8 R' T* ~% Y0 Q这里可以将目录路径/opt/lampp/www/site1改为/opt/lampp/www,为以后建立更多的虚拟主机如site2、site3……等等做准备。
) [! H4 ?. N V* v! A$ Z
9 i) Y7 e) D2 D
) F9 V; a$ H/ z9 |1 B/ J5 \" G |
|