|
  
- UID
- 1
- 帖子
- 642
- 精华
- 41
- 威望
- 17
- 金币
- 73077
- 原创
- 0
- 宣传
- 82797
- 阅读权限
- 255
- 在线时间
- 534 小时
- 最后登录
- 2009-1-8
  
|
楼主
发表于 2008-10-3 12:01
| 只看该作者
Freebsd7.0下正确安装APACHP22服务器和PHP5完整解决安装手册
(1)最小化安装FREEBSD7.0-RELEASE % n7 P: P! F1 d! F& K
(2)安装APACHE22
8 }6 U8 b" d( A( G7 L(3)安装PHP5 # g4 d# X, c6 L* P9 V6 Q3 q
b2sun.com#pkg_add -r -f apache22
+ I6 Y: f- ^9 F安装会出现这样的情况:
4 Z7 a8 `+ e) B ]hare# pkg_add -r apache22 * r- l w4 ^7 M% C
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.0-release/Latest/apache22.tbz... Done.
1 n# j; m9 w8 d, m; O( w; G1 ocp: /usr/local/share/examples/apache22/www/apache22/data/index.html: No such file or directory + i. }# j6 o# s' L$ t
pkg_add: command '[ -f /usr/local/www/apache22/data/index.html ] || cp /usr/local/share/examples/apache22/www/apache22/data/index.html /usr/local/www/apache22/data/index.html' failed . q! R. i& _# D9 ~/ n
9 A8 u& @/ b0 BTo run apache www server from startup, add apache22_enable="YES" : s$ X9 B2 v0 e, E( b* h- G% W6 s
in your /etc/rc.conf. Extra options can be found in startup script. 1 ]1 u n/ B5 s' J9 c3 p
b2sun.com#mkdir /usr/local/www/apache22/data ' @4 C6 Z6 u4 \" Z$ C& a
b2sun.com#ee index.html
& q8 i, Z$ T0 i+ s' f录入: hello ,welcome to beyond technology ftp server! $ t# @2 k" Z" i2 H; l# N* j& Z6 \
保存退出 + f r- |/ {% i/ C# C, W# C1 Q. n
b2sun.com#ee /usr/etc/apache22/httpd.conf % l: O ]- n7 z/ j; Q4 Y/ i! j: {3 ]
#ServerName www.example.com:80
/ r' d3 F6 C, D7 l% _$ T5 y# U这行改成:
& L9 H# |9 h9 z& _; _9 H! fServerName www.xpdd.net:80
# s' f/ G. x: u6 ^- R1 L B: s这里的www.xpdd.net就是你的主机名。要确定它与/etc/rc.conf中的
/ X5 D8 z; J! ghostname="www.xpdd.net"是一样的才可以正常启动APACHE服务。
8 ^3 ?- z; f, F u! _
* h) c* ^, \) @. t( I2 G8 _b2sun.com#rehash . k& s- a* }6 d0 S
b2sun.com#kldload accf_data # Y, J& L/ h/ r
b2sun.com#kldload accf_http
( U$ a3 V3 O2 \8 t. mb2sun.com#apachectl start
7 _, m" m6 ~( G, m- [: m1 k这时打开WEB EXPLORER 应该可以访问本机网页并显示刚刚录入的内容。
7 t6 M: b7 r& R- P下面安装PHP5 ; W% g. A- h, K+ c
b2sun.com#cd/usr/ports/lang/php5 3 S! N7 T Y; m3 ]# Y q
b2sun.com#make config 选中APACHE build apache module模块然后点击OK退出, 0 z- Q! [5 I- j1 u% _- o
b2sun.com#make install clean (安装PHP5) 0 D5 j ^: m. G4 a* j" `
b2sun.com#make clean deinstall install clean(重新安装PHP5)
C7 ~* H0 E( A0 _" a* \7 |安装完PHP5后注意提示。
9 E! ?/ R; _8 z8 \*************************************************************** # A. X# X9 m3 j
+ _+ S4 \8 N/ ~
===> SECURITY REPORT: 9 M( O& W$ J6 V* [0 \% S7 \6 X
This port has installed the following files which may act as network
G. V F" s) b% iservers and may therefore pose a remote security risk to the system.
9 {& ^7 }6 A5 f8 O, i% W9 M/usr/local/libexec/apache22/libphp5.so
6 k7 @- n" b& X% s/usr/local/bin/php f' o- E- n0 Y3 M# q7 ^
/usr/local/bin/php-cgi
) V6 d+ c. U5 n. x, b* u
. I! O1 k! k( hIf there are vulnerabilities in these programs there may be a security
% A- M0 k& G) D; R9 }, Y0 urisk to the system. FreeBSD makes no guarantee about the security of
$ u/ [+ z8 U6 H. D' eports included in the Ports Collection. Please type 'make deinstall'
+ m {! } S- H! W1 }2 h, z1 hto deinstall the port if this is a concern. ; ^, _* `% w7 s. o+ U1 c# F
/ C% S" v8 n) C1 x4 o8 X( I3 WFor more information, and contact details about the security
$ d. M+ P/ f! \9 Y. T3 N0 }5 c8 dstatus of this software, see the following webpage: 7 |$ f7 Q" d( U( M+ p
http://www.php.net/ 0 z7 a5 U/ A$ V
; p/ o; C! ^ [# ]7 ~' B/ T现在请把这个配置增加到httpd.conf
- A7 Y* |# y p4 D1 _4 Jb2sun.com#ee /usr/local/etc/apache22/httpd.conf
0 Z6 ^5 Z. Y; O9 U在第106行之后加入 1 I: x/ B! G% ^* G& }. u- O
AddType application/x-httpd-php .php
) I. F8 W: Z$ P9 h8 wAddType application/x-httpd-php-source .phps
% g2 n# H; W1 q2 H$ @然后保存退出。 ) J8 M7 ~2 h: M7 _0 t
Options for php5 5.2.5 │ + e) [3 K) w* W6 w3 N. U
│ ┌────────────────────────────────────────────────────────────────┐ │ 4 k* T1 {2 B8 L y2 z/ o
│ │[X] CLI Build CLI version │ │
- H7 r0 x& K2 j# {' s0 J7 k│ │[X] CGI Build CGI version │ │ 1 c0 N+ w* \# Y. t0 o
│ │[X] APACHE Build Apache module │ │ * b* N$ S; F9 r' s9 L
│ │[X] DEBUG Enable debug │ │ , E9 B, M& d) V' D |6 ^
│ │[X] SUHOSIN Enable Suhosin protection system (not for jails) │ │ + p% t% V# [$ c* S2 s
│ │[X] MULTIBYTE Enable zend multibyte support │ │ ' W; h* ?$ H- O) {
│ │[X] IPV6 Enable ipv6 support │ │
( g# ]! I* Y: m5 U' K, Z│ │[X] MAILHEAD Enable mail header patch │ │ & S" f, {4 y0 \+ n+ o8 |3 K
│ │[X] REDIRECT Enable force-cgi-redirect support (CGI only) │ │ % M) I. u5 n- @$ ^% m
│ │[X] DISCARD Enable discard-path support (CGI only) │ │ & d9 q' t' v$ D8 h/ U
│ │[X] FASTCGI Enable fastcgi support (CGI only) │ │
$ s* ^. G+ F R' W0 ]2 g) a6 J│ │[X] PATHINFO Enable path-info-check support (CGI only)
5 ?9 Z2 X5 M* h+ [# J) k[ OK ] Cancel ) c# ~' R8 w( @1 {. B* Q
────────────────────────────────────────────────────────────────────┐ . Q/ b' D' g. ?% p' H
重新启动APACHE22
- M0 x& G8 o/ R$ V3 jhare# kldload accf_data
1 w3 o i6 i d8 K9 Nhare# kldload accf_http 7 X: X: \4 S8 c( `+ x( L3 ?, O
hare# apachectl start
9 J$ c, Q! y7 @$ }- \* ^/ u% N6 g3 t/ { ~' y- O& U
b2sun.com#apachectl restart
. A* {8 m3 | ^- `; E# v# }编写一个测试文档
% o5 ?; a, \4 k& s4 nb2sun.com#ee /usr/local/www/apache22/data/phpinfo.php 1 X$ t3 @0 m! `
<php>
& K) T' f6 g; K6 q0 y保存退出。
, n5 m+ D! f7 A; J; O, F. C9 c; _在WEB查看器上录入: 7 c$ g9 X* C, i
http://127.0.0.1/info.php 9 {% j' E8 t0 ?
如果出现PHP5的信息就证明您解析成功了。恭喜您
- M; L8 X! A: D8 b+ ^ [参考出现的提示信息如下:
8 q- a& }+ v6 b) R2 l: V
; m7 J s/ U. [5 [# I) {6 qPHP Version 5.2.5 6 _- M. k, p& _! m2 l
% c% B+ I; w, J0 LSystem FreeBSD hare 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC 2008 root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
* N" p7 W: I: S" q! j! E9 Y4 \Build Date Jun 28 2008 22:29:39
: B: V) |# |% H0 PConfigure Command './configure' '--with-layout=GNU' '--with-config-file-scan-dir=/usr/local/etc/php' '--disable-all' '--enable-libxml' '--with-libxml-dir=/usr/local' '--enable-reflection' '--program-prefix=' '--enable-fastcgi' '--with-apxs2=/usr/local/sbin/apxs' '--with-regex=php' '--with-zend-vm=CALL' '--enable-debug' '--enable-zend-multibyte' '--prefix=/usr/local' '--mandir=/usr/local/man' '--infodir=/usr/local/info/' , n. u0 j4 z# b) C5 S
Server API Apache 2.0 Handler / O C7 _. e Q1 S. v& Q: }
Virtual Directory Support disabled 3 L# o |; G0 R; U6 W. _! b" q
Configuration File (php.ini) Path /usr/local/etc
) S6 b( `# b+ cLoaded Configuration File (none)
! _9 F1 b. G2 |; ~& F6 a: Z1 m6 R6 W% B! e
快捷安装办法。参考最近的FTP网站下载相关软件。 : k( o. u, C) \
b2sun.com#cd /usr/ports/www
( h! U8 c& ]1 {5 S3 b/ }# C这个目录下会有apache22这个目录.安装它就OK了.
5 j _/ z# Z5 S; c4 Kb2sun.com#setenv PACKAGESITE ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/i386/packages-7.0-release/Latest/ 9 T/ f b1 T7 W+ R" Z
b2sun.con#pkg_add -f -r apache22
) H3 h9 z1 }* u这时系统会自动下载文件并安装
0 Q& Y' Q( b. s L, J! Sapache22_enable="YES" 这行加入/etc/rc.conf中.系统会自动启动这个服务.
4 W4 p) s7 X: k4 H安装完成后您需要在/usr/local/www/apache22下面建立一个data的目录及一个index.html文件.这样就可正常启动apache22 并在其它客户端中访问您建立的服务器. ; h1 N' g4 I1 }/ v, O! K. P1 F
(b2sun.com#apachectl start(stop restart))这个非常关键.
5 [) o4 _& I& F# }" u5 |最好 安装完后重新启动您的FreeBSD7操作系统. ; e; r2 D% s% k4 Z1 N& u
# M5 T& v E7 O NFAMP架构的建立20080501
' o" G/ R* S2 u8 R% {8 l& x3 g' F1 J
4 Q, J$ E; u7 Q [# WLAMP架构早就闻名遐迩了,所谓的LAMP架构就是指Linux+Apache+MySQL+PHP(或Python或Perl),是一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。
' x3 q8 ]3 I' Y3 k3 q' m
/ ]0 M7 s) t& K9 u, B显然LAMP名字来源于其中每个程序的第一个字母,而这每个程序都是开源软件:Linux是开源的操作系统,Apache是最通用的网络服务器,MySQL是带有基于网络管理附加工具的关系数据库,PHP是流行的对象脚本语言。 随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。
: k* ], R. |- |' o5 s5 M" q9 j* J1 ?% m8 Z% f
其实后三者都可以跨平台安装使用,如果将Linux系统换做Windows操作系统,那就叫WAMP架构,而如果把Linux换做FreeBSD系统,则叫做FAMP架构。可以说FAMP具有和LAMP同样的优势。
Q* E+ j; l7 [. G& c; p( o+ o4 ?; M( T8 b0 z5 ^. u( c n
FreeBSD的软件安装大致分为三种: , `- o7 ~5 w& }; |" G
1 pkg_add直接安装可执行程序。
1 b/ H5 L ^% K/ [1 [! f2 ports编译安装。 ( E; K+ D5 h5 c! }
3 源码安装。
/ H1 v! p- B, {& r1 _( Y以下的安装都是在FreeBSD 7.0版本上选择第二种安装方式即ports安装完成,其实选择package方式的话也大致相同。(发现7.0版本诸软件的安装与之前版本又有些不一样)。
+ R3 T' }7 R+ F% J
* g! o' w" z. z/ U3 H* ]# g一 Apache安装:
) B5 R5 p" ^( lApache 是 UNIX 系统中普遍使用的WWW服务器软件。根据Netcraft的统计 (http://news.netcraft.com/archives/web_server_survey.html),目前因特网中,有超过百分之六十的服务器是使用Apache来提供网页浏览的服务。Apache可以说是目前世界上使用人数最多的网页服务器软件,它不仅可以在 FreeBSD、UNIX、Linux 中运行,也可以安装在 Windows 操作系统中。
( Y2 E7 J1 E4 V. G# Q7 k7 X; i* t, |5 h7 [& ?6 M
Apache和FreeBSD一样,在软件版本上也有多个分支,FB7中存在着1.3、2.0和2.2版本。Apache1.3系列开发已久,已经十分稳定了,不会再有重大的修改。而Apache2及2.2系列是一个开发较活跃的版本,它和1.3最大的不同在于对多线程(multithreaded)的支持。我当然选择新潮的2.2系列,当前最新发布的版本是2.2.8。 ; s, \ `1 ?: o% I' l7 X+ A
- e4 _0 }; U$ A& t7 N在FreeBSD上安装Apache软件非常方便,以下使用ports方式安装: 4 z& `% y2 e# |- m3 ]
# cd /usr/ports/www/apache22 8 x9 C+ h) x/ l( d7 a6 ], v: T
# make install clean 4 P. M4 t+ V! P, u0 V: ]5 q: J
, a) ^ D% q" t# B+ z6 h' b) q7 ^" O以下是一些在实际使用中常常会遇到的问题:
5 G3 N" b0 P2 i k" I; i0 s/ c1) 配置文件的位置:
0 c7 E8 B. v* y! }! Y) o在FreeBSD中位于/usr/local/etc/apache22/httpd.conf,在其他版本可能位置和名称有所不同。
- o$ l9 ^3 z' \! r. E) P8 [7 T) h6 S) I! M) R
2) 缺省的主目录:
6 Y8 M, {9 m! [% d- w, V9 P: X/usr/local/www/apache22/data
/ B2 D- y7 K1 A2 l系统安装好后,我在该目录下写入了一个简单的index.html文件,只一句:
4 x# Q- {; F$ c6 C1 m3 G+ Y# nano index.html
e5 k* t+ y! W/ O0 hThis is a Debian server
1 x. r. r/ k3 T. G" V1 s然后在客户端检查是否输出正确。 ) @& _# B( H3 t R. N0 o* I
5 }, G: F$ A1 H! D$ D! }3) log文件的位置
( ^% d5 Q! e+ {: Alog文件的作用是很大的,Apache有二个log文件,一个是所有登陆本apache服务器的IP记录,/var/log/httpd-access.log,文件记录了登陆的ip,时间,浏览器类型等;另一个是联机错误记录文件, /var/log/httpd-error.log,这个文件对于调试apache参数是很有作用的。两个文件都是文本文件,可以由nano等文本编辑器来浏览、编辑,记录文件的位置及文件名是由 httpd.conf中的相应配置来改变。
V3 z* Q" w9 B* }* ]7 [' X+ q5 M8 O8 V6 D4 X! M$ \
4) 启动、停止和重新启动httpd服务器的运行: 1 V: u; W* a2 k2 z F5 {+ r
#apachectl start(stop restart graceful) 7 P, H- |3 {- \1 t' s; m+ y! ~
这个命令比较有用,尤其是在修改配置文件之后。 2 B2 a" j% F( C& G
' H0 w1 b' e. C& s/ T5) 开机自动启动apache22服务: " k2 G- O+ A U+ x3 t
需要编辑/etc/rc.conf文件,在其中加入以下语句:
. R2 B$ d) Q0 S) D! G) g$ S! japache22_enable="YES"
, l) T! D% v B3 ?( t7 Y3 v3 ]& F @0 g" k. g8 u
6) 自动支持中文的问题
* T6 s; F* U1 w. u2 o7 Y网页的缺省字符集有参数 AddDefaultCharset ISO-8859-1
4 M" Z/ [& m' p, I9 E- h( @这时候在浏览器浏览中文网页的时候,会乱码,需要手动设置编码方式为GBK或GB2312才能显示中文 5 E' F- \+ N$ r, ]$ ^; t/ |
去掉注释,修改为AddDefaultCharset GB2312就可以了。
7 Y6 l0 P [9 X9 o0 ^: R6 y! [( { h2 J4 F
7) Apache状态信息
% z1 b$ p U9 m! U u* K6 g在安装完 Apache 后,我们需要不断了解服务器的系统各方面的情况。Apache2内建了server-status及server-info二种查看服务器信息的方法。server-status是指服务器状态信息,我们可以了解Apache目前运行的情形,包括占用的系统资源、目前联机数量等。server-info主要是显示Apache的版本、加载的模块信息等。 0 B4 s& X% m8 D# P& ]
为使用这两项功能,我们必须先修改 httpd.conf。
( H( U! m/ N" i+ z( r首先要把ExtendedStatus On前面的注释去掉。 8 U6 D. v( j, [! B% l2 ~
然后分别找到<Location>和<Location>这两段,把两段内前面的注释都去掉,并设置好访问权限。不重视安全的话,可以设置allow from all.
( I5 L( w" O5 g9 C% y然后就可以在浏览器以http://hostname/server-info访问了。 ( j- L+ _( ` z1 ^1 Z- b& {7 t! h
5 G4 e, ?( e1 {+ d( y4 {' |个人用户目录的问题: ) n0 V( H$ r4 x2 k3 B5 T
修改主配置文件,注释掉#UserDir public_html这句,再在用户test的主目录/home/test下面创建一个index.html文件,就可以浏览:
/ o3 F8 M n3 f. k8 }$ ahttp://yourip/~test了。
2 @, q( `7 d T5 z/ J
/ C0 T- r7 t- q9) 其他一些我认为比较重要的配置参数:
9 k# x4 [( O& T3 P# T6 kServerRoot:指出服务器保存其配置、出错和日志文件等的根目录。 1 e6 D. U5 r0 a0 h% ^+ z) m
Listen:允许你绑定Apache服务到指定的IP地址和端口上,以取代默认值 2 Y& U6 o- s, K3 j; ^' Y
DocumentRoot:你的文档的根目录。默认情况下,所有的请求从这个目录进行应答。
; j; i" H$ V3 L+ ?( ~# ] Q; QHostnameLookups:指定记录用户端的名字还是IP地址
& c* K* @+ M h. ~
6 y' u1 `3 k. s+ E(在FreeBSD下使用ports安装apache22会出现类似的warming: $ i* t# U2 j. H5 b) z& s
No such file or directory: Failed to enable the 'httpready' Accept Filter
6 j# r+ n- [ R" T& M解决方法是: 1 F; a! u8 P5 k8 D4 ]2 i% b
#kldload accf_http ' _5 ?( P8 z; s% a' v
/ o5 j+ k: [6 `
并将以下语句写入到/boot/defaults/loader.conf中,以便下次启动自动装载模块 8 d, \# C$ h! k7 K" u( ^1 k
accf_data_load="YES" 1 i0 ]' t# K0 h( \
accf_http_load="YES"
# f/ ?* f _ t, a这是因为不能启动FreeBSD自带的一个基于http端口过滤的模块。这个模块的作用很不错——检查HTTP请求是否完整,符合规则accpt一个Http进程,否则就扔掉。) O$ {! X( @4 Y+ q
6 _7 F' Y8 B7 l. L! w) k值得说明的是,过去的开源WWW服务器几乎是Apache一统天下,近年来,则有两个小型的www服务器lighttp和nginx逐渐流行,也是值得考虑部署的好东西。
. O4 a6 a$ a$ U/ b0 \
+ n2 r) W$ M8 N* G! `二 PHP的安装: 5 n+ `. l- g# Z: d4 ^: Q4 U% t5 f
当前的FB7的ports中有两个php版本,即php4和php5,后者发布的时间已经很长了,我想现在应该很少应用系统非要选择安装php4吧,所以当然选择安装PHP5。
( M7 u6 O4 E( J4 `( [: W3 ?! X! V安装:
- c1 a+ ~, E1 n# cd /usr/ports/lang/php5 % S5 y, j Z% m7 B1 p) ^/ ^' B% r; U
# make install clean ' O6 L- b! F+ m% T6 A8 h4 f
需要注意的是,缺省的php5配置参数当中没有选择将php5编译为apache的模块,而这是apache+php配合的主要模式,一般情况下都应该把这个选项选上。
- Q( F4 X5 q0 O; n7 T. `, q4 a编译安装完成之后,按照HandBook还应该在apache的配置文件(文件位置见上)中加入以下语句:
; t3 _2 [4 V7 G; X9 [7 X0 JLoadModule php5_module libexec/apache/libphp5.so 0 g: s9 l0 T$ z D: `
AddModule mod_php5.c # T' C$ S; Z+ W, s8 b$ G9 l
<IfModule>
l6 n3 U# W+ ~ EDirectoryIndex index.php index.html
+ N y" {. M! ?3 ]: z! G2 [</IfModule> 8 q" v* H5 i$ K7 W, K" |
<IfModule>
0 h S( \) X; w8 v- [AddType application/x-httpd-php .php
* A% U/ v5 s+ xAddType application/x-httpd-php-source .phps 2 p2 |3 b ~; u# P& s1 J
</IfModule> * Q; U+ j* z( c1 H
但我在实践操作中,第一句实际上安装php5的时候就已经自动加上,而第二句在启动apache22的时候报错,不知道是不是apache13才那样,总之,实际修改apache配置文件的时候,前面两句不要。
% o9 l1 }! W$ N( h7 ~( ^# d; _5 M9 W9 p5 n0 w
现在在/usr/local/www/apache22/data下编写测试文件wen1.php文件如下: 4 q5 R% p# r/ v; u0 t7 ^+ Q
<php>
( Q8 W+ }5 r" C% g1 p6 ^再到客户端去打开该文件,如果出现以下界面,则意味着系统的php解析正确,还是目前最新的php5.2.5版本。
& }7 q _7 ?0 z8 ?) O) ?$ L2 @0 N+ f* h4 x# m- t. m
7 t& Q9 T$ L: j三 MySQL的安装: / W- u+ V5 u5 y/ P$ Q
FB7中的MySQL有三个版本,分别为4.0 5.0和5.1,下面我仍然安装最新潮的版本:
3 u8 Q6 B* @- m0 u4 ~6 P4 \& Q# cd /usr/ports/databases/mysql51-server $ q* p S4 \8 K" F. w" Q" C* r
# make install clean # o' o! n1 O& G! w" X5 g" J
安装完成之后,还需要: & |! i" s, V* G. ?3 l- n
# /usr/local/bin/mysql_install_db 0 G' N9 `6 d; v( P' M" z+ t
# chown -R mysql /var/db/mysql - `! [* l, Q: g" F. o9 R% x
这一步一定不能少,否则mysql将启动不起来。
- I5 Q- q+ G3 i7 }+ w# C
) g/ ?! y3 V, W! m' t启动mysql的方法是:
) J& W% s& w6 Q, g9 M# /usr/local/bin/mysqld_safe &
, K' I# S2 _1 d如果要设置开机就自动启动的话,需要编辑/etc/rc.conf文件,在其中加入:
" ~- V7 r, @; y& Pmysql_enable="YES" ; z8 B( B1 a0 s. @1 n' n# q* c$ A
* J5 R4 a7 Y) y- H' p3 m
因为缺省情况下MySQL的管理员帐户的密码为空,很不安全,所以修改管理员帐号密码这一步骤最好不要省略: 2 A, i2 r9 O/ m
# /usr/local/bin/mysqladmin -u root password '123456'
1 V/ u" B6 u' m' m$ W, x
; C2 x H' K4 `' a& E衡量你的MySQL服务器是否正常启动的方法之一是在命令行下面运行mysql的客户端命令(ports安装mysql-server的话,会一并连mysql-client也安装的):
+ [& L# K/ s& Q$ a" v D6 U8 J# mysql
4 n. T" X5 g) H6 T6 k* t如果没有出错的提示而显示出mysql客户端控制台(如下)则表明Mysql服务器正常运行了:
% }; Q( e; _ v, R3 T# mysql $ {$ c% K: |& H6 t
Welcome to the MySQL monitor. Commands end with ; or \g. 4 L) }5 i9 |$ w6 y: P2 X$ R' Y
Your MySQL connection id is 3
4 D) A4 N1 e7 `Server version: 5.1.24-rc FreeBSD port: mysql-server-5.1.24_1 / l) m% W' {9 G$ m% G
Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 9 Q. l) y# c9 M/ }) |
mysql>
- n: {- }8 f/ z. e8 E8 M. v T) e4 q0 }) v0 D2 G3 U
四 安装php5-mysql
U5 M6 K8 G2 U* J' H* G现在php和mysql都安装好了,但现在的php5还不能操作Mysql数据库,或者说现在的php还缺乏mysql的驱动,另一方面,现在的php功能还很弱,相当多重要的也是常用的扩展还没有安装,这两个问题可以一并解决,就是安装ports里面的php5-extensions:
* k7 U) k- [9 D' v# cd /usr/ports/lang/php5-extensions
0 O/ B. X; S- R7 x0 ?( o" y# make install clean : X; O, G9 b! Z) M' r# o0 N
# apachectl graceful
" L3 g6 a, f# g+ k当前的php5-extensions里的选择一共有65个,我就不一一列举,一般至少如mysql GD zlib iconv等肯定是要选择的。 + g2 ^4 [5 E" G1 b8 ^9 o5 s
当安装完毕之后,再次运行上面所述的测试文件,发现现在的内容就很多了。
* g& I* h+ ~1 i. ]
: U. K# V9 n( R1 P五 其他可选的软件: 2 T8 ~# C& K# n. V' z
1 PHP加速软件:
o5 F. C5 @( m; k. y% d一般小型的应用使不使用PHP加速软件都没有问题,但是稍微大一点的应用若没有使用PHP加速软件,性能上就会相差比较大。这类软件比较多,出名的有ZendOptimizer和eAccelator,在FB7的ports中都有,以下为安装前者:
0 }+ j8 h& p+ W+ ^6 H# cd /usr/ports/devel/zendoptimizer
}( j, L q- Q# make install clean 6 ~5 k; `* S9 Y8 G% o1 _. f) d
# apachectl graceful
# \+ m6 u/ _/ R% ?- p) m注意这里编译安装后,系统提示,需要修改/usr/local/etc/php.ini文件,加入以下内容: # E+ O/ a0 V2 ?' e
. V# |& F( ?, B/ f3 ^4 ~" G. \$ _6 ^
[Zend]
$ d* B- }5 E: _) dzend_optimizer.optimization_level=15 9 C+ _" f" Y! H$ x/ p
zend_extension_manager.optimizer="/usr/local/lib/php/20060613/Optimizer" . Y" W# ?6 N+ k( Y
zend_extension_manager.optimizer_ts="/usr/local/lib/php/20060613/Optimizer_TS"
, e- C5 h+ q$ |5 K ?zend_extension="/usr/local/lib/php/20060613/ZendExtensionManager.so"
! [5 r/ ^4 M- q" ` S6 T' Z, qzend_extension_ts="/usr/local/lib/php/20060613/ZendExtensionManager_TS.so"
8 ?, ]* s. @% h. r: Q+ i- i+ ~: n. ^8 B
但是存在两个问题,一是/usr/local/etc目录下面并没有php.ini文件,需要自己把文件php.ini-dist复制为php.ini;但紧接着出现第二个问题:zendoptimizer仍然启动不了,报错说找不到libm.so.4文件,我不知道在FB7的ports里面,这算zendoptimizer的bug,还是compat-6.x的错误,反正我自己在/lib目录下这样做了一个连接解决问题:
# r3 a, P* [* _1 ` ^2 v; {# ln -s /usr/local/lib/compat/libm.so.4 /lib/libm.so.4 " x7 R' G( H p- A1 U% V
$ J( h. c5 H& g! n' ~再次运行上面的测试文件(wen1.php),里面出现如下界面说明安装成功: ; Z7 x4 [4 K, z" D9 C0 j3 |. W4 [1 l
2 N, h- {3 `9 U" }8 u8 S$ Y4 x$ c
2 phpmyadmin
4 Z! s; R7 m4 V, Yphpmyadmin就是一个操作MySQL数据库的Web界面,适合于不熟悉SQL语法的懒人们:
3 g( j6 o1 ] E6 F: [) E# cd /usr/ports/databases/phpmyadmin
$ T) x' H% y! a+ W* B$ P+ W# make install clean
3 r1 }& M. } I+ y2 C
- G+ I8 @, s& ~2 H: z就写到这里。 & ?' m) e) i5 z+ t$ y2 ?
* K0 f9 w+ l; |) S(今后但愿能改进本文档,希望能将apache扩展到lighttp和nginx;将php扩展到python和perl---其实上述安装后perl已经安装了;将mysql扩展到postgresql;) |
做一个快乐的!,建一个漂亮的"。 |
|