实战Linux下Apache2+GD+ZEND

原创 2004年10月20日 09:13:00
相关环境:Apache2.0.5 PHP4.3.8 Mysql4.0.20 GD2.0.12 ZendOptimizer-2[1].5.5


Apache2
# cd /usr/src
# tar zxvf /home/install/httpd-2.x.x.tar.gz
# cd /usr/src/httpd-2.x.x
# make clean
# ./configure –prefix=/usr/local/httpd –-enable-so –enable-rewrite
# make
# make indtall
设置apache开机自起

Freetype
# cd /usr/src
# tar zxvf /home/install/freetype-2.1.4.tar.gz
# cd /usr/src/freetype-2.1.4
# mkdir /usr/local/freetype
# make clean
# ./configure --prefix=/usr/local/freetype
# make
# make install

zlib
# cd /usr/src
# tar zxvf /home/install/zlib-1.1.4.tar.gz
# cd /usr/src/zlib-1.1.4
# mkdir /usr/local/zlib
# make clean
# ./configure --prefix=/usr/local/zlib
# make
# make install


开始按那文档安装,还比较顺利,但安装到gd-2时,我发现没有找到这

/usr/local/freetype/include/freetype2/freetype/freetype.h

文件,一查,发现/usr/local/freetype/整个目录下空空的.

我从新检查freetype的安装过程.

发现在运行 ./configure --prefix=/usr/local/freetype 时提示如下信息
FreeType build system -- automatic system detection

The following settings are used:

platform unix
compiler cc
configuration directory ./builds/unix
configuration rules ./builds/unix/unix.mk

If this does not correspond to your system or settings please remove the file
`config.mk' from this directory then read the INSTALL file for help.

Otherwise, simply type `make' again to build the library,
or `make refdoc' to build the API reference (the latter needs python).

make: Nothing to be done for `unix'.

于是,我多加一步命令 make refdoc,在make,最后在 make install
最后检查/usr/local/freetype/ 下面有许多文件了.(也不知道安装有没有问题)

在回到gd2的安装

更改/usr/local/freetype/include/freetype2/freetype/freetype.h的内容后,
再运行make还是发现出现以下的错误.

from gdft.c:59:/usr/local/freetype/include/freetype2/freetype/freetype.h:19:36: /usr/includee/ft2build.h: No such file or directory
In file included from /usr/local/freetype/include/freetype2/freetype/freetype.h:20,


make[2]: *** [gdft.lo] Error 1
make[2]: Leaving directory `/home/HFei/gd-2.0.28'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/HFei/gd-2.0.28'
make: *** [all] Error 2



这是怎么问题呢?


libpng

# cd /usr/src
# tar zxvf /home/install/libpng-1.2.5.tar.gz
# cd /usr/src/libpng-1.2.5
# mkdir /usr/local/libpng
# make clean
# cp scripts/makefile.linux makefile
修改/usr/src/libpng-1.2.5/makefile文件的以下三句
        prefix=/usr/local/libpng
        ZLIBLIB=/usr/local/zlib/lib
        ZLIBINC=/usr/local/zlib/include
# make
# make install


jpeg

# cd /usr/src
# tar zxvf /home/install/jpegsrc.v6b.tar.gz
# cd /usr/src/jpeg-6b
# mkdir /usr/local/jpeg
# make clean
# ./configure --prefix=/usr/local/jpeg
# make
# mkdir /usr/local/jpeg/bin
# mkdir /usr/local/jpeg/include
# mkdir /usr/local/jpeg/lib
# mkdir /usr/local/jpeg/man
# mkdir /usr/local/jpeg/man/man1
# make install
# make install-lib
# make install-headers


gd-2

# cd /usr/src
# tar zxvf /home/install/gd-2.0.15.tar.gz
# cd /usr/src/gd-2.0.15
# mkdir /usr/local/gd
# make clean
# ./configure --prefix=/usr/local/gd --with-png=/usr/local/libpng /
  --with-freetype=/usr/local/freetype --with-jpeg=/usr/local/jpeg
打开/usr/local/freetype/include/freetype2/freetype/freetype.h
删除 #ifndef FT_FREETYPE_H
#error "`ft2build.h' hasn't been included yet!"
#error "Please always use macros to include FreeType header files."
#error "Example:"
#error " #include <ft2build.h>"
#error " #include FT_FREETYPE_H"
#endif
加入:#include </usr/includee/ft2build.h>
      #include FT_FREETYPE_H
# make
# make install


PHP
# cd /usr/src
# tar zxvf /home/install/php-4.3.2.tar.gz
# cd /usr/src/php-4.3.2
# mkdir /usr/local/php
# make clean
#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-xmlrpc --with-mysql=/usr/local/mysql --with-gd=/usr/local/gd --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/libpng --with-zlib-dir=/usr/local/zlib --with-freetype-dir=/usr/local/freetype --disable-cgi --with-config-file-path=/usr/local/php --enable-track-vars --with-tsrm-pth

# make
# make install
Apache: /usr/local/apache2/conf/httpd.conf
        LoadModule php4_module modules/libphp4.so
        AddType application/x-httpd-php .php .phtml
        AcceptPathInfo On (para las librerias xcs de xml-rpc)
apache启动时提示/usr/local/apache2/modules目录下没有libphp4.so文件,是否要
cp /usr/src/php-4.3.8/libs/libphp4.so  /usr/local/apache2/modules 
zend
下载ZendOptimizer-2[1].5.5-linux-glibc21-i386.tar
#tar zxvf  ZendOptimizer-2[1].5.5-linux-glibc21-i386.tar
进入解压后的目录。拷贝php源码中的php.ini-dist 到编译php时指定的目录(php.ini的路径在编译php时的./configure中指定为--with-config-file-path=/usr/local/php)
#cp php.ini-dist /usr/local/php
#./install
按提示操作,选择默认安装路径/etc/locate/Zend.要求输入php.ini路径(php.ini的路径在编译php时的./configure中指定为--with-config-file-path=/usr/local/php)
#service apachectl stop
#service apachectl start
#vi info.php
输入如下内容:
<?php
phpinfo();
?>
检查zend是否起来。
Apache模块
Apache是模块化的服务器,核心服务器种只包含了功能最常用的模块,而扩展功能由其他模块提供。设置过程中,你必须指定需要包含的模块。文档中有模块清单备查,其中状态为"Base"的模块会被默认地包含进核心服务器,如果你不需要包含某个模块(比如mod_userdir),则必须明确地禁用它;其他状态的模块(比如mod_expires),也必须明确启用以使之包含进核心服务器。
Apache有两种使用模块的方法,其一是永久性包含进核心;如果操作系统支持动态共享对象(DSO),而且能为autoconf所检测,则模块还可以被动态编译。DSO模块的存储是独立与核心的,可以被核心使用由mod_so模块提供的运行时刻配置指令包含或排除。如果编译中包含有任何动态模块,则mod_so模块会被自动包含进核心。如果希望核心能够装载DSO,而不实际编译任何动态模块,需要明确指定--enable-so。
--enable-MODULE[=shared]
编译并包含模块MODULE。MODULE是文档中去掉"_module"的模块名。要将一个模块编译成DSO,需要加=shared选项。
--disable-MODULE
排除可能被编译并包含的模块MODULE。
--enable-modules=MODULE-LIST
编译并包含用空格分隔的MODULE-LIST。
--enable-mods-shared=MODULE-LIST
编译并包含用空格分隔的MODULE-LIST成DSO。
--enable-modules和--enable-mods-shared中的MODULE-LIST选项通常是一个用空格分隔的模块列表,例如编译并包含enable mod_dav and mod_info,可以
./configure --enable-dav --enable-info
或者,等效地写成:
./configure --enable-modules="dav info"
另外,可以用关键字all或most一次性包含“所有的”或者“大多数”模块,然后再用--disable-MODULE来排除你不需要的模块。例如,包含所有的模块为DSO,而排除mod_info,可以
./configure --enable-mods-shared=all --disable-info
除了标准模块组,Apache 2.0还提供了一个选择,就是多道处理模块(Multi-Processing Modules)(MPMs)。编译过程中必须包含一个且只有一个MPM,MPM documentation page有对应各种平台的默认MPM,但是也可以在configure命令行中改变。
--with-mpm=NAME
选择叫NAME的MPM.

安装GD-2.0.9完美解决make error

安装gd-2.0.9   ./configure --prefix=/usr/local/gd2 --with-zlib --with-jpeg=/usr/local/jpeg7 --with-lib...
  • zhailiang2046
  • zhailiang2046
  • 2009年08月13日 13:32
  • 1441

Linux CentOS下的配置Apache2+PHP5+MySQL5+GD

先安装MYSQL 服务器解压MySQL,把所有文件复制到/usr/local/mysql[root@Bleach usr]# groupadd mysql[root@Bleach usr]# user...
  • phphot
  • phphot
  • 2008年04月21日 10:19
  • 1549

gd库 gd-2.1.0.tar.gz

  • 2013年12月23日 13:58
  • 2.22MB
  • 下载

实战Linux下Apache2+GD+ZEND

相关环境:Apache2.0.5 PHP4.3.8 Mysql4.0.20 GD2.0.12 ZendOptimizer-2[1].5.5Apache2# cd /usr/src# tar zxvf ...
  • bjbs_270
  • bjbs_270
  • 2004年10月20日 09:13
  • 2308

Compiling the Android source code for ARMv4T

 先收藏一篇 Compiling the Android source code for ARMv4TAfter a lot of stuffing around installing new har...
  • xuhs
  • xuhs
  • 2008年12月30日 21:48
  • 965

Kali Linux渗透测试实战 1.4 小试牛刀

1.4 小试牛刀 本节作为第一章的最后一节,给大家展示一个渗透测试的简单示例。该示例操作简单,环境真实,主要是为了给您一个整体上的感知,同时提升学习渗透测试的兴趣。渗透测试的每一步并没有记录完整的细节...
  • xuanhun
  • xuanhun
  • 2013年12月20日 18:25
  • 2494

Linux Bridge实现

FROM     https://www.cnblogs.com/zmkeil/archive/2013/04/21/3034733.html     Linux下的Bridge...
  • zgy666
  • zgy666
  • 2017年11月15日 14:54
  • 66

Android中插件开发篇之----类加载器

前言关于插件,已经在各大平台上出现过很多,eclipse插件、chrome插件、3dmax插件,所有这些插件大概都为了在一个主程序中实现比较通用的功能,把业务相关或者让可以让用户自定义扩展的功能不附加...
  • jiangwei0910410003
  • jiangwei0910410003
  • 2014年11月24日 12:15
  • 27874

The FreeType 2 Tutorial

原文链接:http://www.freetype.org/freetype2/docs/tutorial/step1.html翻译人员:gogoliu ...
  • wwsheng
  • wwsheng
  • 2008年01月25日 10:36
  • 5665

高性能Linux服务器构建实战 第一章 服务器安全运维

安全运维 1 账户和登录安全 11 用户和用户组管理 12 系统服务管理 13 登录密码安全管理 14 用户root权限管理 15 系统欢迎页面管理 16禁用Control-Alt-Delete键盘关...
  • qq624202120
  • qq624202120
  • 2017年03月05日 16:44
  • 628
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:实战Linux下Apache2+GD+ZEND
举报原因:
原因补充:

(最多只允许输入30个字)