apache+php用ports安装的问题

发表于:2007-06-09来源:作者:点击数: 标签:
cd/usr/ports/www/apache13 makePREFIX=/home/apacheinstallclean 通过 cd/usr/ports/www/mod_ php 4 makePREFIX=/home/apacheinstallclean DefineWITH_APACHE2tobuildmod_php4asanapache2module. ===Extractingformod_php4-4.2.3 DefineWITH_APACHE2tobuild

cd /usr/ports/www/apache13
make PREFIX=/home/apache install clean
通过
cd /usr/ports/www/mod_php4
make PREFIX=/home/apache install clean
Define WITH_APACHE2 to build mod_php4 as an apache2 module.

===>  Extracting for mod_php4-4.2.3
Define WITH_APACHE2 to build mod_php4 as an apache2 module.

>> Checksum OK for php-4.2.3.tar.bz2.
===>   mod_php4-4.2.3 depends on file: /usr/local/sbin/apxs - not found
===>    Verifying install for /usr/local/sbin/apxs in /usr/ports/www/apache13
===>  Installing for apache-1.3.27_1
===>  apache-1.3.27_1 is already installed - perhaps an older version?
      If so, you may wish to ``make deinstall'' and install
      this port again by ``make reinstall'' to upgrade it properly.
      If you really wish to overwrite the old port of apache-1.3.27_1
      without deleting it first, set the variable "FORCE_PKG_REGISTER"
      in your environment or the "make install" command line.
*** Error code 1

Stop in /usr/ports/www/apache13.
*** Error code 1

Stop in /usr/ports/www/mod_php4.
*** Error code 1

Stop in /usr/ports/www/mod_php4.

怎么把php4安装到/home/apache这里里面? 


 夜猫子 回复于:2002-12-27 13:08:00
我看你去修改mod_php4的安装脚本得了,自己去修改这些依赖

 南非蜘蛛 回复于:2002-12-27 14:14:37
不该Makefile,加参数难道不行吗?

 jsn 回复于:2002-12-27 17:40:32
cd /usr/ports/www/apache13
......
Define WITH_APACHE2 to build mod_php4 as an apache2 module
......

安装apache1.3还是apache2 ?

 夜猫子 回复于:2002-12-27 17:42:48
Define WITH_APACHE2 to build mod_php4 as an apache2 module
只是一个提示而已

 夜猫子 回复于:2002-12-27 17:54:47
最近没什么活动,我们来折腾折腾ports,就这个问题,大家详细瞧瞧ports的运行机制。

 夜猫子 回复于:2002-12-27 18:10:55
为大家提供弹药,FreeBSD Porter's Handbook中译本
http://www.yesnew.com/~yangyi/porter's_handbook_cn.zip

 南非蜘蛛 回复于:2002-12-28 15:01:29
在和夜猫子共同研究下终于搞定,下面分享给大家
其实很简单,就是ports里Makefile里的默认的基本路径需要改一下,应为默认的apxs在/usr/local/sbin/下,但是我得apache我已经编译到/home/apache下了,所以找不到apxs
vi Makefile
APXS?=         ${LOCALBASE}/sbin/apxs  ---> APXS?=      /home/apache/sbin/apxs
CONFIGURE_ARGS=        --with-apxs=${PREFIX}/sbin/apxs ---->  CONFIGURE_ARGS= --with-apxs=/home/apache/sbin/apxs
把下面两处改一下,就ok了,大家可以试试


 liupxe 回复于:2002-12-28 19:48:05
ok


 夜猫子 回复于:2002-12-28 23:11:29
就这么加精太少了点,我再补一段摘自cjacker翻译的《FreeBSD Porter's Handbook中译本》里的ports行为简介:

1.fetch行为将会被执行,首先检查DISTDIR存不存在需要的tar包,如果没有fetch就会到Makefile中定义的参数URL_MASTER_SITES去取回,包括我们的FTPftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/,在那里我们备份了所有获得认可的port.如果成功的连接并取回需要的tar包,就会把他放在DISTDIR,缺省为/usr/ports/distfiles.

2.extract行为会被执行,他会在DISTDIR中寻找你的tar包,并解开到WRKDIR,缺省为work目录.

3.接下来patch行为会被执行,首先Makefile中定义的PATCHFILES会被patch.然后如果在PATCHDIR(缺声为files目录)中存在patch-*文件,也会被按照文件名的先后应用.

4.configure行为会被执行,这里有几种情况:

a.如果存在scripts/configure,首先执行.

b.如果Makefile中定义了HAS_CONFIGURE或GNU_CONFIGURE,则WRKSRC/configure会被执行

c.如果Makefile中定义了USE_IMAKE,XMKMF(缺省为xmkmf -a)

4.build行为会被执行.进入WRKSRC目录编译.如果Makefile中定义了USE_GMAKE,GNU make会被使用.否则使用make命令.

以上行为是系统缺省的.你可以定义pre-*和post-*或者把以此命名的脚本放在scrpts目录,他会在缺省行为之前或之后执行.

举个例子,如果你在Makefile中定义了post-extract, 还建立了scripts目录, 放入一个脚本pre-build. pre-build.那么,在解开tar包后,post-extract会被调用,同样,pre-build会在编译之前调用.推荐你在Makefile中定义所有的行为(如果不是很复杂),这样使用者可能更容易知道您作了什么.

缺省的行为由bsd.port.mk定义.举个例子,extract行为由do-extract定义,如果你对缺省的定义不满意,可以自己在Makefile中定义do-something.


 南非蜘蛛 回复于:2002-12-30 11:51:39
不知道在make的时候加 --LOCALBASE=/home/apache可以吗?等我试试,一会给大家答案

 arleneclearcase/" target="_blank" >cc 回复于:2002-12-30 13:06:52
呵呵,php我基本上不考虑,我倾向于java安全有保证

 dcat1 回复于:2004-04-05 14:35:22
南非蜘蛛好!
我遇到了和你一样的问题!
我怎么样去解决!
我的QQ:1512306786

 Ecore 回复于:2005-01-24 21:59:44
[quote:99d940ad1e="夜猫子"]为大家提供弹药,FreeBSD Porter's Handbook中译本
http://www.yesnew.com/~yangyi/porter's_handbook_cn.zip[/quote:99d940ad1e]
下不成了?

 blackbox 回复于:2005-01-25 15:01:45
倒,二年前的帖子,下不了很正常了。

 剑心通明 回复于:2005-01-25 15:40:23
什么时候的东西了又翻出来了??

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