(一、系统安装)
`96PY!$u Pa-p9]gq
*[^[!'kT& hLf<-NM 前言
7P$>T xJ18M@"j i{
" g7 L]C|&KP 写本文的初衷主要是记录下我一段时间学习使用FreeBSD建设网站平台的一些经验和体会。因为本人是菜鸟,所以很多地方不够完善。本文权当给初学者提供一个具体可操作的实例。所有操作步骤都是我边做边写。避免出现遗漏或一些不必要的小错误,给初学者带来麻烦。
|wFfVDp m$X0O_*A 本网站平台建设全过程包括FreeBSD系统的安装,web、ftp、mail、proxy服务器、视频点播服务器等。所有过程都在FreeBSD4.7环境下测试通过。
ev_4!+ko /T_@rm 由于写本文时参考了网上太多前辈和大侠的资料,无法一一列举。还请作者原谅。
?onTW2cG; FnFJw;:,{ 本连载文章前后关联很紧密,建议初学者一步一步来做。
vdLBf+Zi o2C{V1nB 试验环境如下:
sAG#M\A6 )Kw
Gb&l& 硬件环境:普通pc机,双网卡。配制不需要高,主要是稳定,并能适应长时间开机。听前辈介绍AMD k6的cpu运行FreeBSD好像有点问题。不过我没有试验。建议用intel的。
LyB &u() ^t{2k[@ 软件环境:操作系统:FreeBSD4.7(4.8)
.0b$mSV[ KDODUohC web服务器:Apache 1.3.27+modssl +mod_php4+mod_gzip+mod_fastcgi +mod_perl +mysql3.23
d?uN6JH9 ogrh" ftp服务器:Proftpd1.2.7+proftpd-mod-quotatab-1.2.4+mysql
n%J{Tcn6 bm+
#OI mail服务器: iceblood前辈制作的qmail安装包(经过修改)+vqregister-2.5
U)n+j}vi O*8.kqlgt proxy服务器:使用FreeBSD内置的NAT和PPP拨号+squid
`Z3p( G np#RBy 视频点播服务器:Helix Universal Servevr (realserver9.01)
&2EimP TZ2-%k# 网络环境:我用的是adsl动态拨号方式,因为动态ip所存在的一些问题,我把所有的服务都装在一台机器上,且这台机器要直接与外网相连。静态ip更方便一些。(本文两种方式都会讨论)
;n)9
Pq@%MF]5 Av#_cL ca}, tov& 第一步:安装系统
Vk>m/" '8$*gIQ8 关于安装过程网上有很多文章,这里不作详述。仅提出几点建议供大家参考:
E~y@ue: W".: 1ov#B 1、 采用最小化安装。
[Pnk@jIk4 uFzvb0O`O
2、 安装时启用inetd,并在编辑inetd.conf文件时,把带有“ftp”的行前面的“#”号去掉。这样作是为了以后安装软件时可以用ftp上传文件。
?Thh7#7LM &u@<0 1= 3、 添加一个wheel组的用户,这样在系统工作正常后可以在windows系统上通过终端登录软件(如SecureCRT)进行所有操作。FreeBSD4.7在最小安装时支持SSH终端登录,所以我们需要使用支持SSH协议的终端软件,如SecureCRT。例如我添加的用户名是ylf,隶属wheel系统组。系统产生一个用户目录/home/ylf。我可以通过SecureCRT以ylf身份登录到系统,然后通过su命令切换到root用户。同时我也可以在IE浏览器内键入
ftp://192.168.0.1 ,并输入ylf用户名和密码登录ftp将需要的文件上传到自己的用户目录里。(192.168.0.1是我的服务器连接内网的网卡ip地址)。以下除系统安装部分,我都是采用终端方式操作。
B?cn5 drr n&y 4、 分区时将/home、/usr和/var划的大一些,因为/usr为程序目录,/var要存放日志,/home是用户主目录,我的用户文件如网页、ftp上传文件等都放在这里。还有最好保留一部分空间留作以后需要的时候用。我的机器上有2块硬盘,一快18.2G SCSI硬盘,一块40G IDE硬盘。我是这样划分的。
ah(lH5r CQ`$' oy?W 128M /
,a&&y0, tTzPT< 20G /home
,W!v0*uxp& d0Jaa1b~O 2G /ftp
SGuLL+|W#8 f""+jc1 256M /tmp
cM= ?{W7~ ?Z]5
[ 6G /usr
|@a.dgz, /i${ [1 5G /var
;E"TOC tocZO 其中/ftp是为匿名ftp用户访问专用。剩余空间留作备用。当然如果硬盘空间少的话,做我们的试验也是够用的。
?'@tx4#v\2 d1"%sI 关于安装方面的文章,大家也可以参考delphij写的《FreeBSD服务器的安装与优化》。
http://community.freebsdchina.org/catalog.php?forum=34 一文。
3j]P\T }5 2] 安装完系统后,要重新编译内核。目的是要系统支持Firrwall和提高运行效率。
a=m7pe^ 0\N n.x% 首先确认系统是否安装了FreeBSD的内核支持。如果是最小安装,则需要运行/stand/sysinstall命令安装内核支持。方法如下:
yMQZulCWE @w H+,]xE # /stand/sysinstall
Vh WF(* @.PVUP 选Configure—Distributions—src—sys,内核文件将被安装在/usr/src/sys目录中。
lBbUA)z6 jI-\~ 注意:这之后的过程在终端上操作要方便许多。SecureCRT支持在终端界面上直接拷贝和粘贴文本内容。
]Ywj@-*q SP,#KyWP0) 转到内核文件目录
P2q'P& `pHlGbrW # cd /usr/src/sys/i386/conf
nMniHB' km)5? 编辑内核文件
&rcC7v K9 4!%TY4bJ # vi kernel_wwwx # kernel_wwwx为我的内核文件名
HR/"Nwr -27uh 我的内核文件如下:
:KJG3j?
S-M|
6fv #
| m^qA](M 80p? qe # GENERIC -- Generic kernel configuration file for FreeBSD/i386
8b^v@|)N xS4B"/ #
A 11w{`EM &s +DK` # For more information on this file, please read the handbook section on
<rO0t9OH qB`-[A9HPe # Kernel Configuration Files:
KNkVI K &m>yY{be #
y?t2@f]!XK
*$t<H-U- #
http://www.FreeBSD.org/doc/en_US.IS...fig-config.html N^G:m~> $6(,/}==0 #
yEaim~ E!~Ok # The handbook is also available locally in /usr/share/doc/handbook
Slk__eC
KKfC^g # if you've installed the doc distribution, otherwise always see the
+x7b9sHJ -R~!N#y # FreeBSD World Wide Web server (
http://www.FreeBSD.org/) for the
U_ -9rkUa Yt 9{:+[RK # latest information.
O3?3XB> < hU:M]O0uw #
RjII(4Et j2UiZLuV # An exhaustive list of options and more detailed explanations of the
(-RZ|VdYg y5td o'Ex # device lines is also present in the ./LINT configuration file. If you are
sd@JQ%O 2WP73:'t # in doubt as to the purpose or necessity of a line, check first in LINT.
i.|zKjF' rQ^X3J*` #
y?ps+ce93 V/=NIeSE # $FreeBSD: src/sys/i386/conf/GENERIC,v 1.246.2.48 2002/08/31 20:28:26 obrien Exp $
{Z529Ns 0 > \m>mE/N KRY%B[k machine i386
h83;}> %Fh*$gzh*5 cpu I586_CPU
Y7|R vLWoP O#}'QZd' cpu I686_CPU
i; 8""A $R\D[`y| ident kernel_wwwx #内核文件名,这个要和你的内核文件名一致
ileqI/40f .,)C^hs@ maxusers 0
Dlc=[kf9 mSw$?
> l>KkK|!T^i Fq]ht* options INET #InterNETworking
}b//oe7 M![aty@ options FFS #Berkeley Fast Filesystem
(QO8_ =F(fum;zH options FFS_ROOT #FFS usable as root device [keep this!]
_I("k:E7
H %Cb options SOFTUPDATES #Enable FFS soft updates support
%R18 E3pnu.;U:_ options UFS_DIRHASH #Improve performance on big directories
mfYY?]A*+ )1PZ# options PROCFS #Process filesystem
X3C"A|HE9 XHX\+&6 options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
.{cka]9WJz u?OyvvpH options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI
H5L~[\
5t VtNY~ options SYSVSHM #SYSV-style shared memory
:YL`GSl kRCuc}:SB options SYSVMSG #SYSV-style message queues
*,/ADtL C*;g!~{ options SYSVSEM #SYSV-style semaphores
]h(}%fk_ `/zx2Tkk options P1003_1B #Posix P1003_1B real-time extensions
a(+.rf; ?2Q9z-$ options _KPOSIX_PRIORITY_SCHEDULING
W?a{3B j@JhxCe1+R options ICMP_BANDLIM #Rate limit bad replies
uR|?5DK t0[H_ options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
mA ^[S.! y7K&@Y # output. Adds ~128k to driver.
hAPWEh^ ^8,Y1r9`$ options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
K$S:V=y%r7 8Ol#-2>k$ # output. Adds ~215k to driver.
SF$]{
X Pj4WWK X -&PiD *z2G(Uac device tun 1
h0YIPB o"O=Epg options IPFIREWALL #防火墙
c:
/Wk `$IuN* options IPFIREWALL_FORWARD #允许透明代理
6g/ <FM 2>l
=oXq options IPFIREWALL_VERBOSE #允许防火墙日志
LX%K*nlj J 3oEN'8S options IPFIREWALL_VERBOSE_LIMIT=100 #限制日志
ubC(%Y_k <