FreeBSD5.4之apache-2.0.54+php+ZendOptimizer简单安装.设置

05-12

强烈推荐以ports安装,下面把安装和一些简单的设置贴一下,其他比较高级的功能请大家发贴讨论(请google先,很多问题别人早已问过的)。
1:安装apache
cd /usr/ports/www/apache2
make install clean;

2:安装php4
cd /usr/ports/www/mod_php4
make install clean;
注意不要选择debug选项,否则Zend不管用的
5.4release版带的是 4.4.0

3:安装php4-extensions
本步骤一定不能省略,否则打开php文件的时候会发现提示有Fatal error:call to undefined function:preg_match() in *** on line ***,安装上php4-extensions即可
cd /usr/ports/lang/php4-extensions/
make install clean;

cd /usr/local/etc
cp php.ini-recommended php.ini

4:httpd.conf的一些简单设置
ee /usr/local/etc/apache2/httpd.conf

##DocumentRoot "/usr/local/www/data"
DocumentRoot "/usr/www"
##这个是apache的主目录,可根据实际情况修改

##<Directory "/usr/local/www">;
<Directory "/usr/www">;
##要根据DocumentRoot作相应修改

Options Indexes FollowSymLinks
为了安全起见,请把上面的“Indexes”删掉。否则别人可以浏览到您网站里的所有文件。
Options FollowSymLinks

DirectoryIndex index.html index.html.var
添加index.php进去,为:
DirectoryIndex index.php index.html index.htm
##我的只想让它支持php、htm、html所以就只写了这么几个,可根据实际情况修改

在AddType application/x-gzip .gz .tgz后面加上下面2行:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
##这样才能支持php

在Apache2.0中新加入了ServerLimit指令,使得无须重编译Apache就可以加大MaxClients。我的就改成了:

<IfModule prefork.c>;
StartServers 10
MinSpareServers 10
MaxSpareServers 15
ServerLimit 2000
MaxClients 1500
MaxRequestsPerChild 10000
</IfModule>;

BTW: ServerLimit的最大值是20000,这对于大多数站点是足够了,但如果你一定要再加大的话,那么这个值位于源代码树下的server/mpm/prefork/prefork.c中。里面的

#define DEFAULT_SERVER_LIMIT 256
#define MAX_SERVER_LIMIT 20000

这两行就对应着MaxClients和ServerLimit的限制值。但我相信很少有人可以用到20000的并发连接数。

5:启动apache
ee /etc/rc.conf加入:

apache2_enable="YES"
这样开机apache就会启动。
/usr/local/etc/rc.d/apache2.sh start可以启动
/usr/local/etc/rc.d/apache2.sh stop可以启动

当然/usr/local/sbin/apachectl start也是可以的,不过推荐用系统已经生成的sh。

6:查看apache+php是否能正常使用

cd /usr/www
ee index.php
<?
phpinfo();
?>;

浏览器内输入http://******你的域名或ip

7:安装ZendOptimizer
首先要执行以下命令,否则会提示错误的
ln -s /lib/libm.so.3 /lib/libm.so.2
或者用以下方法:
ee /etc/libmap.conf
libm.so.2 libm.so.3

然后下载最新的Zend,上传至机器上,通过ftp、sftp等均可
tar zxvf ZendOptimizer-2.5.10a-freebsd5.1-i386.tar.gz
cd ZendOptimizer-2.5.10a-freebsd5.1-i386
./install
后面的几个选项可均用默认的,安装完毕以后重启apache后再用phpinfo()看,应该可以看见:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies with Zend Extension Manager v1.0.8, Copyright (c) 2003-2005, by Zend Technologies with Zend Optimizer v2.5.10, Copyright (c) 1998-2005, by Zend Technologies

另外安装ZendOptimizer也最好用ports安装,不过我是习惯了直接装了,呵呵,ports安装的话方法是:
下载ZendOptimizer-2.5.10a-freebsd5.1-i386.tar.gz后,置于/usr/ports/distfiles目录下,
cd /usr/ports/devel/ZendOptimizer
make install clean;

好了,简单的过程就这样就可以了,至于要设置比较高级的功能,可参考其他帖子,按照这个过程应该就可以建好一个web站点了