≡ 典典 - 单机游戏攻略 ≡'s Archiver

admin 发表于 2006-10-27 10:08

FreeBSD5.4+APACHE2.0.55+PHP4.4.2+MYSQL4.0.26 安装笔记![参考,部分不适合6.X]

[color=red]一、基本要求 [/color]
h)d%`OO? 1. unix基础。基本的unix指令要知道,比如 ls、pwd、cp、man、rm、mkdir、rmdir 等。尤其要知道 man 命令的作用。还要知道当屏幕显示过多内容的时候,需要用到scroll lock和more指令。下面简单举例说明几个指令的用法。
9vSWVuBw6b/r h ls (列目录,类似于msdos的dir) ^+lV KF
ls | more (列目录,使用管道和more命令分屏显示过多的内容)
D:_+J&itJ cp abc abc_bak (文件的拷贝,类似于msdos的copy) F;\2{,p:p@;Q
cp -R abc abc_bak(目录的拷贝)
-Y;Uq k'~ V rm -R abc/* (子目录abc下的所有文件及子目录删除,类似于msdos的del,但允许加-R选项针对子目录操作) ]$DIx |
man ls (查ls命令的详细说明)
bg:?ZJ&CZH,f$H'BJ mv abc ../abc_bak (移动并改名abc为父目录下的abc_bak,abc可以为文件也可以为子目录) )tdi#e-v[ Q|9E
2. 有一本freebsd handbook,纸版的当然好,电子版的也不错: [url=http://www.freebsd.org.cn/snap/doc/zh_CN.GB2312/books/handbook/]http://www.freebsd.org.cn/snap/doc/zh_CN.GB2312/books/handbook/[/url]
M,};]6}@u [color=red]二、安装系统前的一些声明:[/color] 5|*t5I+w!P
首先声明,我是用的最新的FREEBSD5.4-RELEASE iso格式光盘安装的(第一个ISO就行了,其他的上网下载)。其次,FREEBSD的完整安装升级需要一个良好的网络环境,即便你有光盘,最终很多工作还需要到互联网上进行,所以你必须有一个较快的互联网连接。
f}{6?*t,AA `e [color=red]三、安装过程及安装中的注意事项 [/color]
c| ? dI 1. 操作系统的安装 d%[*tl"Wijw
虽然前面说了很多有关FREEBSD的艰难,但其实如果你有较好的英文能力,你会发现装FREEBSD的内核系统还是很简单的,总共花不了30分钟。而且FREEBSD5.4足够先进了,我的服务器(HP DC7100)很多新硬件没有遇到任何问题全部正确识别了。
EHP4|)}-Y0K!N FREEBSD5.4的光盘共4张,其中一张命名为BOOT,其对应下载时的ISO名为DISK1(注意不是BOOTONLY那张),BOOT光盘放进光驱,bios设置光驱启动,重启机器后,机器会从光驱启动并进入FREEBSD5.4的内核并自动启动光盘里的sysinstall程序。该程序是文本图形界面,也很友好。
!A0J%e6RYl6~9z$Q 首先,选择Standard安装,这也是推荐的安装模式。还有一种mini安装,安装出来的系统是最小的,运行效率最高,但是可能你会面临更多的调整。
L*\.l|7o3|&C A. 硬盘分区及unix分区配额分配
A ~ oS ?E3j_9C5vM7S 我作为初学者,选择了standard模式安装,随后进入了FREEBSD的fdisk程序界面,和msdos的fdisk很像,但屏幕下方的提示更多更友好。如果你有两块或更多的硬盘,那么fdisk会先问你需要在那个硬盘上做分区。由于我是做服务器,不存在双系统等问题,所以用上下箭头选择已有的分区并按d键全部删除这些已有的分区使其成为空盘,再按a自动分配为一个大分区,最后按q退出fdisk,就这么简单地分好了一个硬盘的区。 /|(U6YF$KO;pt E
然后sysinstall会提示你的服务器是否需要使用BootMgr,如果你不需要多重引导,那么可以选Standard,我在这个地方选择的是BootMgr——允许多重引导。
MZ;[)H] 随后使用Disklabel创建unix分区并分配分区空间。该画面和fdisk有些类似,你可以用上下方向键选择需要的分区,然后屏幕下方的提示按键并按照自己的要求划分分区。我在这里采用了默认的方法:选a自动划分,选q退出。 me(u+jD-j*D o`q
[color=blue]特别提示:mysql安装默认会安装到/var分区,如果你不想改变mysql的默认安装,那么你在这里应该把自动划分出来的/var分区调整一下,调整的更大些。/var分区默认只有256M,稍微大的数据库就不够用了。我在下面的mysql安装中没有使用默认的安装分区/var,而是改到了/usr分区,所以我在这里不需要改动任何分区的大小[/color]。
.lZ|XZ2M^ Y y pZ 下面是我的分区(256M内存,40G硬盘):
({U_)B`h\ue? /512M`]8ub wj
swap 2048MN FW4`deLe K
/var 1024M (mysql 的默认在这里)`4n;z Nh(F4a|
/tmp 2048M
Te_ Tw+^ /usr  10240Mq)\"H5~8O@ e-R
/home 其他全部(WEB数据就在这里,含FTP用户数据),Q @ Jzn8vU v
B. 安装过程的提示选择
?%oZ[Wz 分区及配额完成后,随后就会出现软件包选择画面,你可以选择Developer或者是其他什么模式。作为web服务器,我觉得选Developer好些,不过我当时不太明白,什么也没选,直接选了EXIT。其实没选也不要紧,后面还有机会。 ;n.Xx Q N
随后的画面是提示你从什么介质安装,我们这里当然是自己烧好的ISO光盘了——选CD/DVD,机器都没起来,别的介质其实也选不成。
L-g]&pU w7h [color=red]当你确定后,之前的分区设置即将生效,硬盘中的原有东西将会被删除,并且开始安装初始的内核系统。[/color]
|@Mh7gru 初始内核的安装是很快的(10分钟),而且具有多数流行硬件,我用的FB5.4很顺利认出了所有硬件。
S+W e6A:}S G2y0d-y 随后开始安装后的设置,首先会提问你是否采取PPP/SLIP的模式连通网络,如果不是可以选NO,我是ADSL的DHCP模式上网,所以选NO。如果你是拨号模式,根据提示操作吧。 Dn ~9E,[4[AS
随后是要求你输入你上网的网卡的TCP/IP设置。如果是DHCP,把网线接好,机器会自动获取设置。如果是静态IP,你可以根据自己的机器情况设置IP、掩码、网关、DNS等。
W6l9\3s#xn 随后机器会提问以下问题: 3Td {!Eb!H a-t
是否设置机器为网关GATEWAY——NO(我们是web server,不是网关)
h4_"E2w#W| 是否设置机器为inetd超级服务器——NO(我们有ssh和pureftpd,不需要inetd)
w9h$]`1N S'd 是否设置为NFS SERVER/CLIENT——NO(我们不是这个用途)
([z E4Q9x@&h*c 是否设置为anonymous FTP——NO(我们不需要这种用途) ]~ u!CmxX
是否需要设置sshd——YES(我们将通过这种较为安全模式远程控制服务器)
9} f ]z4dv;}+R 选择时区——按照提示选择即可,会提示你北京时间缩写是"CST"
_%Jd{@ 是否需要LINUX兼容性——YES(或许我会为服务器安装一些LINUX软件,例如CS SERVER )
7Hb*S5y;w1`fB#Q\ 是否需要设置system console——默认的挺好,刚开始的学的就不必改了。 3~Ht+_(TE&d\ ?0a6i L
是否需要配置鼠标——NO(我看不出来作为一个托管在电信的webserver有什么必要配置鼠标)
kM:uy]{G9^ 是否需要添加用户——添加一个吧,根据提示添加即可,用户组写成wheel,以便你可以用这个用户远程登录服务器后su到root进行管理。添加完这个用户之后,会问你要root的密码,输入即可。如果不添加用户,会直接让你设置root的密码。
!l$z(X3S(N;V0mMq5i 其实,这些安装后设置,只要英文良好,按照提示做,不会有什么问题的。 q I!@G/[{4C
安装后,可以进入/stand/sysinstall的configure进行最终的Packages和Distributions选择。 &{,nLCB
Packages是已经编译好的二进制包,可以直接运行。默认标准安装完之后,作为Web Server,我看了一下也就需要 net下的cvsup(在线升级用)和 archivers 下的unzip(某些zip包可能会用到)这两个包。选中后执行安装,就会把它们装到系统里。
:Ec k%O;sP+VwhW 随后进入Distributions 里安装代码。强烈建议各位一定要把 src 代码全部选中(不过至少要选择:src 全部和ports)。好处。另一个就是ports,不用说,也是要全装的。我在这里,就是选择了src和ports。选中后执行安装,就会把它们安装到系统里了。 zqi;{&~8lq{n;W
至此,一个初始的FREEBSD5.4就装完了。虽然看着多,实际上也就30分钟时间。如果你是第一次装FD,这个时候还是不要着急进行后面的操作,可以先看看手册,熟悉熟悉FREEBSD。M%Ori;Srz
设置ADSL:7R!Yw7C#xB$l
1. 在ee /etc/rc.conf 中加入:
/@T6j.gJb network_interfaces="bge0 lo0" (bge0 是我的1000M卡)
:i jK/A9YF.b gateway_enable="YES"
?o6R;kEe ppp_enable="YES"
s(fV;y8R,l RYpkB0P2W ppp_mode="ddial":J&lqm-}"O
ppp_nat="YES"
{P!Q6v rR.h ppp_profile="adsl"8i;Do4H)N
2. 在 ee /etc/resolv.conf 中加入:
-Z OAym }(hB domain  xpdd.net (我的米)
\9lmCpYW\ nameserver      202.102.192.68
$Y]6}b4h nameserver      202.102.199.68 (DNS,全国通用)QP8NWr q(u3C'i0K$^
3.在 ee /etc/ppp/ppp.conf 中的内容替换为: B:Ej c\
default:
X K FH@0r set log phase tun command (前面有空格)
*w$Pcw+d Du8Ls enable dns(前面有空格)'^ ]xe8M`3R*@P{!Z
adsl:q%G5Z)iUW%d
set device PPPoE:bge0(网卡)(前面有空格)PZ {hOj.Oe
set speed sync                   (前面有空格)(e!R9i&_)]5wT
set mru 1492                    (前面有空格)-Y(?-t#a:RT:g
set mtu 1492                   (前面有空格)3x4Pg%n7S4`5ZR|
set dial                            (前面有空格)gg5^uG2vd}
set login                          (前面有空格) x)E$c1G%} hP8a
add default HISADDR        (前面有空格)7w)AX/b4NH&K
set authname 帐号        (前面有空格)
?N @'i#] y,u ~d set authkey    密码       (前面有空格)}:`.K7`-^'f,t
然后启动ADSL : m[)Q,}h
ppp -background adsl  提示为:
p:^2[f#[u Y,R Working in background mode G-CL"p3eQ
Using interface: tun0
G9G G9E | PPP enabledm/w3O NEG+j `0A
表示OK。8g3u/A n+~N n
[color=blue]用ifconfig 看公网地址:inet 220.179.XX.XX--> 220.179.XXX.XX netmask[/color]5W8H%X F7ZQ
可以上网了,下面用CVSUP 升级ports 和 pkg3nFs3|TB9l;p.k
如果忘了安装CVSUP,可以这么做:Pcs,Tk
#cd /usr/ports/cuvsup-without-gui (速度慢,更新多,不推荐).\ YCK)Ic
#make install clean c3Pd T:q
2. 系统安装完后的第一步,是进行CVSUP,立刻同步你的src源代码和ports代码。关于cvsup的详细内容,请看FREEBSD手册的cvsup部分,此处我只介绍在本例中的过程。由于cvsup需要互联网环境,所以需要接好你的网线了。进入下列目录: MZ.F8x.]r)[
#cd /usr/src/share/examples/cvsup
1p9^ To*y Y@ 里面是几个cvsup的supfile例子。我们可以直接修改这些例子为我们所用。首先编辑standard-supfile,这个文件是升级内核源代码的例子文件。我个人喜欢用ee编辑文件(因为有使用提示,且使用习惯接近windows下的),输入下面的指令:
Gc M$zf z #ee stable-supfile (安全稳定版)推荐
z | a[ \&vSc? 能看见里面东西很多,但都不用改,它默认指定是升级所有的系统源代码——这是有好处的。我们只需要修改一个地方,下翻页找到下面这行: e(F6C W.JyoV
*default host=CHANGE_THIS.FreeBSD.org
N_*g0CW)@S 改成指定的freebsd官方cvsup服务器即可:
F}C%i?Z6S$R *default host=cvsup.FreeBSD.org C w&J4pQH[w u
或更快的国内freebsd cvsup服务器: 5xj H6gy^
*default host=cvsup.cn.FreeBSD.org (推荐,速度快);yhn F~^ S
*default host=cvsup.FreeBSDChina.org
iZ H6M&O5_9p 退出并保存,运行下面的指令开始cvsup在线升级代码: C!Fpo8c`!`Dk%@T(F
#cvsup stable-supfile(安全稳定版)推荐
AL;tO3S S4P 然后o$K5Dh$mz N
#cvsup -g -L 2 stable-supfiledM5N,Blt.H.]9[
系统源代码升级,我的ADSL大概用30分钟左右即可完成。av8V G^%R9\/p
然后我们升级ports代码l~s1eXP
#cvsup ports-supfile
s`:n0Lr zv 然后
Z_\m:B6LF #cvsup -g -L 2 stable-supfile YY6MV!K,p,JG
这个升级过程大约也要30分钟左右。至此,所有的代码升级完毕。
KXI;S)f1GI 3. MAKE WORLD和定制内核。
h'u2q:[t 关于MAKE WORLD的详细内容,也应该详细翻阅手册相关部分,下面继续介绍本例中的情况。[color=blue]上面的升级完成后,首先需要重新编译系统[/color](MAKE WORLD)。由于我们的系统是刚装的,干净的,所以没有那么多难题。进入: G2P|.n&_0Q
#cd /usr/src
F3r'U"e']K#M} #make buildworld  编译
N0[+cbwE&b 会开始一个30分钟左右的编译过程,如果编译没有什么问题,继续:
!D bGA'n T{ #make installworld  安装sdhz-h'p
即可更新系统为最新版,随后就可以重启机器了。 9~SD G!GZ$oQ~$x
具体操作,进入下面的目录: No H.Audj5D(A0z7pG1v
#cd /usr/src/sys/i386/conf 9kn @1\G9_0E C.j^
能看到一个名为GENERIC的文件。把这个文件拷贝一个副本,例如名为ICBCDD,这个副本将是你将来内核的配置文件。,h7pY+Q y^i
您也可以考虑把内核配置文件放到别的地方, 然后再到 i386 目录中创建一个指向它的符号链接。*E)O[8{g*l%y Q-Q
例如:
0][A7\3]tw7n [quote]# cd /usr/src/sys/i386/conf&S7lS9L/y4S-i
# mkdir /root/kernels
Uaj:D/ln*s # cp GENERIC /root/kernels/ICBCDD   jPd2e#Wh)T
# ln -s /root/kernels/ICBCDD[/quote]4Xh/_*Sil:[2}
#cp GENERIC ICBCDD w%R ~.sA/h
#ee ICBCDD
1GmN)~$hQt(JM 用ee编辑ICBCDD这个文件,按照上面提到的那个帖子编辑,根据你自己的硬件情况、软件需求编辑,保存后开始编译内核。由于我们CVSUP过了,所以用手册上提到的“新”方法编译。 "s(\-Jh)?
#cd /usr/src
"XMc7D%`.n1f make buildkernel KERNCONF=ICBCDD :S9? n]x~e;V0t
这个编译过程大概要20分钟,编译完先不要着急install,先备份一下旧内核,以免有意外。 ~1K5Kaj(c'l
#cd /boot rZ}^U[j
#cp -R kernel kernel.old b-OxvpQ4I
随后安装内核: @5D g0B)L!|5](O-E
#make installkernel KERNCONF=ICBCDD
~Z4lOF 安装好之后,可以重启了。
S5[1?+x{inE G 下面进行:B0WYt2G^T s
pure-ftpd软件的安装。选PAM 就是了
V7qv3P`F:X cd /usr/ports/ftp/pure-ftpd
8^+P1o ua,i!_#@ F make config (rmconfig)
#_*D*Lm3L make WITH_LANG=simplified-chinese install {YD/@N7c%Ve
make cleanQRa)v#V6GuA4Ks
cd /usr/src/etc 然后编辑:ee /inetd.conf 关了
5u,z8qa-K[F4la pureftpd_enable="YES" (加入:rc.conf 自动启动)
+C vh!y!kl 修改pure-ftpd.conf文件,修改为:pureftpd.pdb认证:
h:VAH R]*ST cd /usr/local/etc,l:d'C hS2{
cp pure-ftpd.conf.sample pure-ftpd.conf
f |ECB/^6t|2k ee /usr/local/etc/pure-ftpd.conf
K7JX~)I 找到# PureDB       /etc/pureftpd.pdb  我的是/usr/local/etc/pureftpd.pdbW/D"m?4_KMc+li
再指定禁止匿名登录:  e]` P#ip![,{T*f9x
NoAnonymous yes
L9QJ.^OV 再指定允许上传人修改文件名:
:_0j:o:B7L Jfc? NoRename no
2aW5V6q4K 允许登录用户使用chmod指令
)`_m~-Z U2MWH n a1h NoChmod no  (324行)dqA)W7r7^ Z0s
使用者可刪除文件 *u4@uko&r
KeepAllFiles no  (330行)t!a2~:nF&@b.f
自动建立帐户的home dir
S W1ZGa1Yi B CreateHomeDir yes  (336行) 一定要改,否则无法自动创建目录。
A8_&k3}m)? [color=blue],x\_VR^V0at
# Cage in every user in his home directory !f)oq,L0\UT+yDG
# 限制每个用户到自己的根目录 E\m F+VQ.l3~
ChrootEveryone yes 'T7`!N0[{6c
# Disallow anonymous connections. Only allow authenticated users. oMp C E(J
# 取消anonymous用户 )Y"dU%T8u;t
NoAnonymous yes [/color]
sd6|6y(^ 好了。就这么简单。就和系统帐号完全分离了。.z_c!Z4f'p+b#D
如果你想即系统帐号又和puredb 帐号同时使用  在pure-ftpd.conf 打开UnixAuthentication            yes o8amBv0F_
I)l(R^i9hW_2]2f+}
下面简单建一个pure-ftpd的用户,这里直接用pure-db,mysql认证自己找找资料
{ f3Pgm} #pure-pw useradd 用户名 -u 用户身份 -g 用户组 -D 登陆目录 -m1p8yh)|pc.apJ
例如dd用户:用ID:5000在组:ftpusers组中的身份登陆,登录之后的home是/home/ftp/rendian,那就#r*x^S+Z+HUP0v
/usr/local/bin/pure-pw useradd xpdd -u 8000 -g 8000 -D /home/ftp/xpdd -m
/V'Akfmi 密码: (2次)
-{1?;KQ w,hc 启动服务器:/usr/local/etc/rc.d/pure-ftpd.sh start|G6Y n7v.|Cx
要清空数据库,请重创建pureftpd.pdb数据库:DQBVLH5V
/usr/local/bin/pure-pw mkdb /usr/local/etc/pureftpd.pdb3KE5E-F#[&r
一般自动创建,否则请手动:
0iXU;FU"za0s chown -R 800:800 /home/ftp/xpdd  设置属性:-u 800 -g 800 可以写数据(v(^$uKZ*EB n*s
今后,每次加用户就这样吧:
$e @zj!Gu"L /usr/local/bin/pure-pw useradd xpdd -u 8000 -g 8000 -D /home/ftp/xpdd -m_8W lcm9eC
xpdd 代表用户名称.
sw"u0}Y1a*Q ***********************************************************************************************
uG,A]3w$p+R:X q pure-pw 参数如下:
,g*}R Rh Y,S7] Usage :j6b#{v*R,T _{
pure-pw useradd <login> [-f <passwd file>] -u <uid> [-g <gid>]
RmsJ-d7IR&N S,@                 -D/-d <home directory> [-c <gecos>]9I*y#p#VZ#J
                [-t <download bandwidth>] [-T <upload bandwidth>]Wv4|]5s:ayY
                [-n <max number of files>] [-N <max Mbytes>]9vE M LD7GC
                [-q <upload ratio>] [-Q <download ratio>],\,`DDK
                [-r <allow client ip>/<mask>] [-R <deny client ip>/<mask>]*^!I L_'CD+_
                [-i <allow local ip>/<mask>] [-I <deny local ip>/<mask>]
Fij4v|                 [-y <max number of concurrent sessions>]?4i-o;DpG5pk#t
                [-z <hhmm>-<hhmm>] [-m]
#YPB|F*w pure-pw usermod <login> -f <passwd file> -u <uid> [-g <gid>]TGtc R }XIv9z
                -D/-d <home directory> -[c <gecos>]
#Q }7} {\A j                 [-t <download bandwidth>] [-T <upload bandwidth>]
wOi^D1RULM                 [-n <max number of files>] [-N <max Mbytes>]
f"a%Lz`                 [-q <upload ratio>] [-Q <download ratio>]cQY4Y3h fg8v ]
                [-r <allow client ip>/<mask>] [-R <deny client ip>/<mask>]
cjfHk9j#P}9`                 [-i <allow local ip>/<mask>] [-I <deny local ip>/<mask>]0vhy)\)t'Xv
                [-y <max number of concurrent sessions>]Y-wzf`5j
                [-z <hhmm>-<hhmm>] [-m]7F&lF3V%ks
pure-pw userdel <login> [-f <passwd file>] [-m]
rqEK2G kUte pure-pw passwd  <login> [-f <passwd file>] [-m]3J~Z8}"A-n,?2T-t8R
pure-pw show    <login> [-f <passwd file>]Od mnm
pure-pw mkdb    [<puredb database file> [-f <passwd file>]]E#|3qit)x\^(N
pure-pw list    [-f <passwd file>]\f@B)R1b
-d <home directory> : chroot user (recommended)Dr.tJx
-D <home directory> : don't chroot user
e*e7? D1@D%[` -<option> '' : set this option to unlimited
evNH7AT |Gzs -m : also update the /usr/local/etc/pureftpd.pdb database
&e8\ EZ,g[|Zg For a 1:10 ratio, use -q 1 -Q 10+@*P'`8{S v3r
To allow access only between 9 am and 6 pm, use -z 0900-1800:oc jX6Z{-dGNN
************************************************************************************************
,CJ0H?.f;x [color=red][size=4]下面进行:MYSQL4.0.26、APACHE2.0.55、PHP4.4.2(如果需要CGI,一定要先加入FastCGI支持,然后在装php4 及其php4-extensions )[/size][/color]"}:odT T3[,X8d&[4v
建议按照我下面的顺序来装。安装软件前,建议先 X]+g%o8A j+m
#ee /etc/make.conf
~6o)_u5U@Q)A%V EQ 在文件里添加下面这行:
'J3o'r2Im b-N&er MASTER_SITE_OVERRIDE=ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}
EY7k5yi+yN#sD l4S 指定ports软件首先从国内下载。否则所有软件从国外下载,有时候速度实在是不行。
t V7Mn#y#{ Ne0G/` A. MYSQL 4.4.2的安装 )E&xkMJcN+R-k$g
我选择了MYSQL4.4.2下面根据本例中的情况,进行具体说明。前面说了,mysql默认数据库放在/var分区里,如果你的数据库很大,那么你需要在前面分区的时候把/var分区分到足够大。ldconfig老大建议要4G。如果你和我一样想把数据库放到/usr分区,那么:
&CJ[Vfs$V\ #mkdir /usr/db PF.[s4`
先在/usr建立一个数据库目录,然后
E&m5n bv,ax0mi:H #cd /usr/ports/databases/mysql40-server
hsq.Kr3I2isgJ%C$T #make install clean
+z uC[$St*Q5aJ6cC 开始下载并开始安装数据库。编译安装完之后,重启机器可以启动mysqld守护进程,可以
4Hg4H'Y)Z/iPa!]'~ #mysql ;GK3]2npp'T)`k
如果能够见到 (J u6N-@je pM
mysql>;
3g9I0R7q(^OIx 然后退出来把ROOT的密码改为“123” 或自己需要的密码。
q dHNI'Jq*~ 安装完后产生启动脚本在 /usr/local/etc/rc.d/mysql-server.sh $Bp3WCo1~c8?kr
你可以运行以下命令,看Mysql服务是否已经启动。 6w2LM]!C\Q
# ls | grep mysql
/U"y;|5e'jc 如果有返回信息,就表示Mysql已经启动了,如果没有启动,运行以下命令。 ]F8cU|.z!Q
/usr/local/etc/rc.d/mysql-server.sh start 'mc z"v {
如果你要停止Mysql服务。 r uB \sl(]J D#F
/usr/local/etc/rc.d/mysql-server.sh stop
6AYhi%|fG F 确认服务启动后,我们来测试数据库运行是否正常:
1RDx&||{7v (注:默认情况下Mysql的用户是root,密码为空,所以请立即登录Mysql修改root用户的密码) k#S`5sO}E ww
mysql
o{? AK`Aer HF 出现下面内容表示运行正常。
oC$xu2fP p/^5d Welcome to the MySQL monitor. Commands end with ; or \g. yB['w^u'ZV,f
Your MySQL connection id is 16 to server version: 4.0.18
D7K;g]C t Type 'help;' or '\h' for help. Type '\c' to clear the buffer. ee!SMU@:v%z"xbp
mysql>
0bki/E es$hrmM 输入exit退出Mysql。 O1iotq RL
为Mysql的root用户设置一个口令123456
/}-E(f-B/E mysqladmin -u root password "123456"
/rKa8S*{"w&E&X /usr/local/bin/mysqladmin -u root password "123456"r b `k*_Z
mysql -uroot -pX}:O.gx0a ^E1} u
/usr/local/share/mysql下有好几个配置示例文件,选择一个适合的拷贝到 /etc/my.cnf
}lf+M\Jkk >> my-small.cnf # <= 64M &{R*^|9]\*r,|I
>> my-medium.cnf # 32M - 64M
GYML4Z@ >> my-large.cnf # memory = 512M
Y_F9M*mj zkZ } >> my-huge.cnf # 1G-2G J8zp#H-C7V/V
>> my-innodb-heavy-4G.cnf # 4GB `5TWB5C@~:C9Ox
按照这个规则选择一个合适的文件,比如: t D6~$H k
cp my-huge.cnf /etc/my.cnf B qZWxd ^ [@
ee /etc/my.cnf
fcA4U~`0i,| 在[mysqld]下面加入
,t'm|gC-[.Z wO bind-address = 127.0.0.1 //安全起见,只允许本机连接数据库
\` e7A_7?6pU0G8[.v max_connections = 65535 //最大连接数 uQ6jSL'^9i"X Ej
max_user_connections = 65535 //最大用户连接数,这个设定可以省略 Je-P(T(q9~6jt@
/usr/local/etc/rc.d/mysql-server.sh start //使用脚本启动mysql服务 ]Ku C)Ww
/usr/local/bin/mysqld_safe & //也可以直接使用这个指令启动mysql服务
Eu+J B lO%A pl9| 另外,如果你需要使用mysqlhotcopy快速备份工具,还需要安装/usr/ports/databases/mysql40-scripts
u9N7@+a$f#U+M mysql备份脚本
sm l\]-IYT #!/bin/sh hGc%N+L E
#This is a ShellScript For Auto MYSQL DB Backup
H/a._w*VT7x #Powered by surain
N)rF6y}FA+]!t #2005-01-23
zw1I0Z2z #Setting start tL#E j*O
DBName=bbs N EI,Jm9F u
DBUser=root $t2s,x s%U:X!l:r,@
DBPasswd=yourpassword W-e.yx ]2x/Tl
BackupPath=/bak/bakup/db/ .n"Q:X[(E"`ANbb+g
TmpPath=/bak/tmp/
K,zM:|}6I H*{ LogFile=/bak/surain/admintools/bakupdb.log
fT)},K/v?T;y #Setting End
0FL XYCs:g B. APACHE2.0.55的安装
yv0n)CT)Rhg 同样的,由ports装apache,也不会有什么困难: E2f$ewI
#cd /usr/ports/www/apache20 ,RoV V-I*i:]
#make ssggb
#make install `x)a,JM7b9d
完毕。就这么简单。编译中间可能会提问相关软件gettext的安装选项,全选上吧。编译时可能会提示安装新版textproc/expat2错误,原因是机器里已经有旧版的expat2。只需删除旧版重新安装新版expat2即可:
5J7Gj@A'g[ #cd /usr/ports/textproc/expat2 U p,q i;T3}T;e$k
#make deinstall 9a9[5O7D7|
#make install
a^IT[r5Ge|{ P'k #cd /usr/ports/www/apache2 `dt _!y+c W uF'j1O
/usr/local/bin/apachectl startO)o!UOC!~1G'b.B
编辑httpd.conf 的内容:fs})[`
ee /usr/local/etc/apache2/httpd.conf
)o;btMrE%I Qvx #make install [如果使用:mod-php4的话clean暂时不要加上]S3r"kL1JU)w ?
来是来安装php4.4.2。进入下面目录
!jx9X.A2pbTbx cd /usr/ports/lang/php4 *ks_*Fq9b
make install clean
5jn8T+s8H3w&J)f9Dj 然后进入下面目录:9] x` k)J(|
cd /usr/ports/lang/php4-extensions
q3?H\.~Q#nM"SG make install clean;sGJ'emL2M*qQX
中间会提示你选择编译配置选项。mysql已经默认选上了,下来把GD和openssl也选上吧。其他的选项我也不知道有什么用,就没选了。这样php4.4.2就安装完成了, 然后设置apache2.0.55的php访问能力。
5r+Kt"xR c2g'FlK 编辑: )H"D&iD/Jz:lf4eU!^
ee /usr/local/etc/apache2/httpd.conf 文件,然后在274行(LoadModule php4_module        libexec/apache2/libphp4.so)下面加入:
.BX z w(D9b'k+Ar #php supportaj4l:m7nU%]asX4V)b
AddType application/x-httpd-php .php
`7conQ!ch/\ AddType application/x-httpd-php-source .phps
,u Gb rK 随后设置网站默认启动页允许为index.php。同样在httpd.conf里编辑,不必退出。找到 (^ZY7BM-V\
DirectoryIndex index.html index.html.var ICLYUz3z$\ e
添加index.php进去,为: G-tIA,~,bz
DirectoryIndex index.htm index.html index.php5V7wg1Zp)CaO
另外,一个访问量较大的网站,apache默认的150连接肯定是不行的。2U2Xm*Gi_
具体操作如下。寻找: ?:i%cNa&w#@l+x
<IfModule prefork.c>; K.V ]V Z-mQ
找到这段之后,按照上述帖子的推荐值修改为: Z"Rz/?\p7^
<IfModule prefork.c>; b7{+l[!W
StartServers 10 %A,D#M9V \ z ^V
MinSpareServers 10
.g5w)W T/K%GQR MaxSpareServers 15
Rx6|(E7u)h ServerLimit 2000
{'qbB _&P MaxClients 1500 (这个要大于256,ServerLimit 2000这个参数必须同时有)
woN oqhV#H2pH"]:R MaxRequestsPerChild 10000 "GL(z"`lv,} g(nC
</IfModule>;
z*V!n B&x JO 至此,httpd.conf的设置完成。可以保存退出了。
l|k1X.xj PY 工作还没有完,给php设置ini。如果没什么特殊要求,可以直接使用默认推荐的php.ini。 IinZvi$f5]"p#Y
#cd /usr/local/etc 5tB:k~!I
#cp php.ini-recommeded php.ini *B*G$_,?!jU
此时,重启机器,http方式访问这台服务器,例如[url=http://192.168.0.1]http://192.168.0.1[/url],就能看到apache2的页面了。 vFK'Q HM
此时,可以用ee在服务器默认的web目录里写一个简单的php测试页面,例如 ;sd+IB2F"uV1\#y
#ee /usr/local/www/data/index.php D2O Fql4K
文件里面只有这么一行代码:
)e*eou'a <? phpinfo(); ?>;
-Wh0bzE7nt.l 此时再访问[url=http://192.168.0.1]http://192.168.0.1[/url],就可以看到本机的php页面信息了。
7c;L^]U6Lr
9K/_iHRe 然后装ZEND ,通过FTP 传到服务器中,根据提示安装即可!./install.sh
[$K6A+TS&p;NxO 最后装eaccelerator加速器:
(S8[2R(O}6x8i!Y ?&]J cd /usr/ports/www/eacceleratorSYF9g\)}t,v1Fh
make isntall cleanG.qr X1[#F8n
然后编辑:ee /usr/local/etc/php.iniR"i[S:X q @/|I)K
下面[zend]下面加:zend_extension="/usr/local/lib/php/20020429/eaccelerator.so"
*lSZ~ncmL5[ 然后:s,A}G3o2@*V:~e
mkdir /tmp/eaccelerator Z/Atq"f
chown www /tmp/eacceleratorE&s5D9f8h
chmod 0700 /tmp/eaccelerator;}Lo5P'K(v
即可!#ct&d-dDs\J p w
C!W$j%hb[0H1a
后记——关于apache日志轮询。 sR_3m)} TL3l
服务器至今运行了一个半月了,硬盘并不大,日志问题成了困扰我的一个大问题。可惜开始我还是不太会用cron及cronolog,这几天看了chedong的blog,终于搞好了,和大家分享一下吧。我是这么做的:z8z)K7nH*_lf
[url=http://www.cronolog.org/]http://www.cronolog.org/[/url] 首先下载cronolog包,通过ssh传到server上,解包安装,默认就会很好的安装了。
1Xu6bMU T c #tar -zxvf cronolog-1.6.2.tar.gz
.JM4u_A[ #cd cronolog-1.6.2
{*Z?3L iK FC*k y)O #./configure Cse X |OT3x
#make install
)?&S Q i:@])k*jj 然后打开httpd.conf
0a5t:^OgSt]7|1S2R7x #ee /usr/local/etc/apache2/httpd.conf bhyUoE
到虚拟主机的设置部分,把log日志记录改成如下的写法: _/[b_{Vu9Z-Q
CustomLog "|/usr/local/sbin/cronolog /var/xpdd_log/access%w.log" common N!V\%]h'[ A/F0s
ErrorLog "|/usr/local/sbin/cronolog /var/xpdd_log/error%w.log"
-uE FQmnO 再运行 crontab -e指令,给cron加入如下两个任务: ;wh\lHnKb,B
0 5 * * * /bin/rm /var/xpdd_log/access`date -v-6d +\%w`.log
4d4W!II6ck 20 5 * * * /bin/rm /var/xpdd_log/error`date -v-6d +\%w`.log
bE&Y%I$R4b_\(^0f1w 重启apache,以后的日志将每天做一个备份,并且只保留1周的了。嘿嘿。3V~'xw3p TxY Q
附:crontab中五个*的含义。。。。
G'@G~(Q7G2G7E 分  (0-59)   o#c#ye~A
小時 (0-23)  
1T)T3{u8[{!Zn 日期 (1-31)  Z%U2c[-R@@
月份 (1-12)  +ctT4a!fU$a!r/b
週  (0-6)

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.