FreeBSD扫盲之apache+php+ZendOptimizer简单安装、设置

发表于:2007-06-09来源:作者:点击数: 标签:
本文以5.4-RELEASE-p6+apache-2.0.54为例 强烈推荐以ports安装,下面把安装和一些简单的设置贴一下,其他比较高级的功能请大家发贴讨论(请google先,很多问题别人早已问过的)。 [color=red:eccb0fc756]1:安装apache[/color:eccb0fc756] cd/usr/ports/www

本文以5.4-RELEASE-p6+apache-2.0.54为例

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

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

[color=red:eccb0fc756]3:安装php4-extensions[/color:eccb0fc756]
本步骤一定不能省略,否则打开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


[color=red:eccb0fc756]4:httpd.conf的一些简单设置[/color:eccb0fc756]
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的并发连接数。 

[color=red:eccb0fc756]5:启动apache[/color:eccb0fc756]
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。


[color=red:eccb0fc756]6:查看apache+php是否能正常使用[/color:eccb0fc756]

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

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

[color=red:eccb0fc756]7:安装ZendOptimizer[/color:eccb0fc756]
首先要执行以下命令,否则会提示错误的
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站点了,当然还需要考虑后续的安全等等问题,这不是本贴的讨论范围了。

 congli 回复于:2005-08-09 19:14:26
呵~~顶一下

 Unicorn_angel 回复于:2005-08-09 19:24:33
好贴,嘻
---------------------------
郁闷,前些天做QMAIL服务器,安安装php4-extensions一直不成功,
开始以为选了GD CURL模快问题,后来去掉以后还是老样子,
后来没办法,自已手工编译,哎

 mafa 回复于:2005-08-09 20:37:11
文盲ing...

 summon 回复于:2005-08-09 23:27:54
不错,收藏中。

 剑心通明 回复于:2005-08-10 08:05:34
亲自做过一次就知道了,这个只是一些最基本的应用,复杂的需要参考其他帖子

 authen 回复于:2005-08-10 08:57:16
好东西!

 OneZ 回复于:2005-08-10 09:04:54
整个过程看下来,觉得有些地方可以改进。

[quote:4c600ec832]3:安装php4-extensions
本步骤一定不能省略,否则php不能用的[/quote:4c600ec832]
不是不能用,是只有基本功能,没什么用。

[quote:4c600ec832]5:查看apache+php是否能正常使用
6:启动apache[/quote:4c600ec832]
次序颠倒,没启动Apache,如何检查PHP是否正常?

[quote:4c600ec832]7:安装ZendOptimizer[/quote:4c600ec832]
下载ZendOptimizer-2.5.10a-freebsd5.1-i386.tar.gz后,置于/usr/ports/distfiles目录下,通过devel/ZendOptimizer,ports安装为好。
安装完以后,不必重启机器,重启Apache就可以了。

 剑心通明 回复于:2005-08-10 09:21:46
[quote:8ae2e636ab="OneZ"]
下载ZendOptimizer-2.5.10a-freebsd5.1-i386.tar.gz后,置于/usr/ports/distfiles目录下,通过devel/ZendOptimizer,ports安装为好。
安装完以后,不必重启机器,重启Apache就可以了。[/quote:8ae2e636ab]
多谢指出,昨天因为急着走,复制粘贴的时候不太对,有些东西没写的很清楚。

3:安装php4-extensions 
本步骤一定不能省略,否则打开php文件的时候会发现提示有Fatal error:call to undefined function:preg_match() in *** on line ***,安装上php4-extensions即可 
这个步骤如果省略了,跟没装php估计也差不多,装php就是为了用一些bbs、blog等等程序的,不装它的话应该是用不了的。

 剑心通明 回复于:2005-08-10 09:23:56
[quote:e667ce6a54="OneZ"]
下载ZendOptimizer-2.5.10a-freebsd5.1-i386.tar.gz后,置于/usr/ports/distfiles目录下,通过devel/ZendOptimizer,ports安装为好。
安装完以后,不必重启机器,重启Apache就可以了。[/quote:e667ce6a54]
这个是我习惯那样了,不过要推荐用ports安装,所以我又编辑了一下。

安装完以后我也是重启apache的,不过习惯性的在把一个东西装好之后完全重新启动一下,所以就那样写了,已经改过来了,多谢!

 mafa 回复于:2005-08-10 10:31:20
最近可真忙坏了斑竹,先谢了!

 剑心通明 回复于:2005-08-10 10:37:31
为了BSD,值得,不过以后几天可能来不了,要出差了

 北京野狼 回复于:2005-08-10 10:44:36
[quote:ecdfec2272="剑心通明"]
3:安装php4-extensions 
本步骤一定不能省略,否则打开php文件的时候会发现提示有Fatal error:call to undefined function:preg_match() in *** on line ***,安装上php4-extensions即可 
这个步骤如果省略了,跟没装php估计也差不多,装php就是为了用一些bbs、blog等等程序的,不装它的话应该是用不了的。..........[/quote:ecdfec2272]


这个理解是不对的。

你怎么不搞个数据库

 剑心通明 回复于:2005-08-10 10:53:39
[quote:b1309c5191="北京野狼"]


这个理解是不对的。

你怎么不搞个数据库呢[/quote:b1309c5191]
如果没装它的话,很度php程序就是不能用的,那应该怎么写?换成什么说法,请指点

 北京野狼 回复于:2005-08-10 11:02:56
针对bsd还是装扩展的好。不同平台php有差异

 剑心通明 回复于:2005-08-10 11:07:02
[quote:941c15918d="北京野狼"]针对bsd还是装扩展的好。不同平台php有差异[/quote:941c15918d]
其他平台上不要扩展也可以用的很好?

 mafa 回复于:2005-08-10 11:11:52
去哪里出差?我也出差10多天培训,估计也不能来了,我去杭州,希望别在来个什么“莎”了。

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

这个方法我遇到问题

 剑心通明 回复于:2005-08-10 11:28:39
[quote:d4a25e5da9="hughr"]7:安装ZendOptimizer 
首先要执行以下命令,否则会提示错误的 
ln -s /lib/libm.so.3 /lib/libm.so.2 
或者用以下方法: 
ee /etc/libmap.conf 
libm.so.2 libm.so.3 

这个方法我遇到问题[/quote:d4a25e5da9]什么问题?这样做了以后应该安装就可以了啊

 hughr 回复于:2005-08-10 12:43:51
这样的问题是无法重启apache

 剑心通明 回复于:2005-08-10 15:58:55
[quote:99ec56e3d2="hughr"]这样的问题是无法重启apache[/quote:99ec56e3d2]
不会吧?我在4.x和5.x上都这样干的,可以啊,你重启的时候提示什么错误?

 hughr 回复于:2005-08-11 08:24:30
什么错误也没有
但apache没起来
我在VMWARE下也没问题
但在一台HP的机器是确实是如此
后来我ln -s了其它的三个.so
结果情况是:不修改httpd.conf, php.ini的情况下没问题
只要这两个文件内容改变
则无法以/usr/local/sbin/apachectl restart重启
无报错
日志无内容

 剑心通明 回复于:2005-08-11 08:30:25
[quote:667fc4e924="hughr"]什么错误也没有
但apache没起来
我在VMWARE下也没问题
但在一台HP的机器是确实是如此
后来我ln -s了其它的三个.so
结果情况是:不修改httpd.conf, php.ini的情况下没问题
只要这两个文件内容改变
则无法以/us..........[/quote:667fc4e924]
只需要ln那一个.so,你可以看你在安装的时候提示那个.so没有,哪个没有就ln哪个。
另外无法重启,能不能先stop了再start,还是ln了以后,apache就根本无法使用了?

 lwxkbob 回复于:2005-08-11 08:36:19
他可真是一个好人

 hughr 回复于:2005-08-11 09:23:46
没用.
ln -s 后安装zend
提示无法启动apache
必须手工做

apache1.3.x

 mafa 回复于:2005-08-11 09:27:09
跟HP的服务器还有关系?我们单位的都是HP的可怎么办啊!

 hughr 回复于:2005-08-11 09:29:20
我上次在freebsdchina的帖你没看嘛?
现在也没什么
基本上还是能用
不知道用ports安装的情况是如何
而且zend op应该会有新版的
到时候用就是了

 剑心通明 回复于:2005-08-11 10:01:09
最新的应该是ZendOptimizer-2.5.10a

 hughr 回复于:2005-08-11 11:23:05
文件名里带freebsd5.1

 cppunit 回复于:2005-08-13 12:13:41
我按照楼主的次序安装,没有安装ZendOptimizer 

运行 index.php时,显示
<?
phpinfo();
?>

这样应该怎么办呀?是php没有被执行?
我把index.php 改为 chmod 755 index.php也不行。

谢谢

 OneZ 回复于:2005-08-13 16:35:06
/usr/local/etc/apache2/httpd.conf里,缺少
[code:1:7f1d7c268c]AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps[/code:1:7f1d7c268c]
沒有上述設置,Apache不能解析PHP程序,會把它當作普通的文本文件,顯示出來。

你也可以將上述設置,保存為/usr/local/etc/apache2/Includes/php.conf。但要在/usr/local/etc/apache2/httpd.conf中包含:
[code:1:7f1d7c268c]Include etc/apache2/Includes/*.conf[/code:1:7f1d7c268c]

 剑心通明 回复于:2005-08-13 16:40:55
就是楼上说的,httpd.conf里面需要设置一下,我前面写了啊

 cppunit 回复于:2005-08-15 14:58:13
加上了楼主说的两行配置。
现在的错误信息是:
You don't have permission to access /index.html on this server.

连index.html都不能访问了。
是不是一定要安装zend?

 cppunit 回复于:2005-08-15 15:43:33
<Directory />
    Allow from all    
</Directory>

偶这边需要加上这个

 剑心通明 回复于:2005-08-15 15:44:21
默认的配置文件几乎不需要做什么改动,只要按照我收的改那几个就可以正常使用的啊

 cppunit 回复于:2005-08-15 16:13:42
用虚拟主机要改。

 剑心通明 回复于:2005-08-15 16:20:08
http://w.yi.org/ftp/FAPM/apache/Apache2/zh/index.html
参考apache的手册吧,后续的一些设置看这个

原文转自:http://www.ltesting.net