apache怎么添加扩展模块

apache怎么添加扩展模块,第1张

Apache已经安装完毕并投入运行,但是后来却发现部分模块没有加载,当然有两个方法:

1. 一是完全重新编译Apache, 再安装

2. 编译模块为SO文件,使用LoadModule指令加载扩展模块。

apache安装后追加mod_rewrite

1.apache1.3

apache_1.3.34.tar.gz 解压后的目录为 /root/apache_1.3.34 文中简称为“源码目录”

apache安装目录 /usr/local/apache 文中简称为“目标目录”

步骤:

1、Apache安装rewrite模块的时候需要DBM支持,否则无法编译,所以首先要安装一个GDBM

下载地址:ftp://ftp.gnu.org/gnu/gdbm/

安装步骤:

进入安装目录,

./configure

make

make install

make install-compat (最后行也要执行。否则无法编译出ndbm.h头文件)

如果您不能确定服务器上是否已经装有DBM,那么可以安装一下。否则这步可以跳过。

2、现在到apache源码目录的标准模块目录中(/root/apache_src/src/modules/standard/)中,使用如下指令编译出so文件:

/usr/local/apache/bin/apxs -c mod_rewrite.c -lgdbm

即可得到mod_rewrite.so文件。

备注:"-lgdbm"是用为说明在编译mod_rewrite.c时要把gdbm链接进来。这样在第6步启动apache时就不会报出"dbm fetch"的错误了。

3、现在让apache的apxs来自动向http.conf配置文件中加入LoadModule语句并将mod_rewrite.so文件拷贝到apache/libexec目录

/usr/local/apache/bin/apxs -i -A -n rewrite /root/apache_1.3.34/src/modules/standard/mod_rewrite.so  备注:命令中的rewrite参数是告诉apxs命令mod_rewrite.so文件中的模块名。在命令执行后,apxs会在LoadModule中为rewrite加上"_module"以标名模块名称。

如果你在启动apache时发现总是给出“不能定位API”之类的错误,那就是说明LoadModule后面的模块名的语法要根据您的apache版本加以改变。

4、停止apache

apache/bin/apachectl stop

5、运行配置文件检查命令

apache/bin/apachectl configtest

如显示Syntax OK,则表示整个 *** 作成功。那么可以到第6步。否则根据提示信息进行调试。但只要按照此文所说进行 *** 作是不会出错的。

6、启动apache。

apache/bin/apachectl start

打开apache官方网站 http://archive.apache.org/dist/httpd/binaries/win32/ 或者镜像网站 http://apache.mirror.phpchina.com/httpd/binaries/win32/,下载里面的apache_2.2.17-win32-x86-no_ssl.msi安装文件。其中,同一版本有两种类型:no_ssl和openssl,openssl多了个ssl安全认证模式,它的协议是HTTPS而不是HTTP,这就是带有SSL的服务器与一般网页服务器的区别了。一般情况下,我们下载no_ssl版本的就ok了。下载好apache安装文件后,点击安装,在连续3次next后,将进入server information配置界面,要求输入network domain、server domain和网站管理员的邮箱地址,普通用户可以随便按照格式填一下就行了。再次按Next后,出现选择安装路径的界面,默认的路径比较长,pharmar把安装路径修改为:“D:\Program Files\Apache\”,继续安装,直到完成。安装完毕,apache就自动启动,可以测试apache是否成功启动。在浏览器地址栏里输入: http://localhost/或 http://127.0.0.1/,如果出现“It works.”,那么恭喜你,apache已经成功安装了;同时在电脑右下角的任务栏里有一个绿色的apache服务器运行图标。apache还有一个配置文件:httpd:conf 需要配置,以便php运行。位置为:D:\Program Files\Apache\conf目录里。打开httpd:conf:

1)、查找“DocumentRoot”,这里是指定主页放置的目录。默认是:“D:\Program Files\Apache\htdocs”,你可以使用默认的目录,也可以自己定义一个,如:“D:/PHP”。注意:目录末尾不要加“/”。

2)、查找“DirectoryIndex”,这里是默认首页文件名,可以在index.html 的后面加入index.php等。每种类型之间都要留一个空格。

3)、查找

<Directory />

Options FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

</Directory>

修改为:

<Directory />

Options FollowSymLinks

AllowOverride None

Order deny,allow

allow from all

</Directory>

如果不改这里的话,可能会出现 You don't have permission to access / on this server. 这样的错误提示,尤其在改变了默认主页的路径后。注意:每次修改httpd:conf文件后,都要重启apache服务器。另外,如果你的win32系统上同时也运行iis服务器,那么就要先停止iis服务器的运行,然后再启动apache,否则apache服务器无法启动。

Php的安装与配置方法首先从php的官方网站 http://www.php.net/downloads.php 下载windows版本的,有两种版本:PHP 5.3.4 zip package和PHP 5.3.4 installer,目前最新版本就是5.3.4,pharmar使用的是5.3.4版本。PHP 5.3.4installer为自动安装方式,虽然比较自动化,但在很多方面受到限制,因此pharmar不推荐使用这种方式,下面介绍PHP 5.3.4zip package压缩包方式下的手动安装。1)、将PHP的压缩包zip解压到一个目录下,推荐:“C:/PHP”,pharmar的是D:\Program Files\Php。

2)、将PHP目录(D:\Program Files\Php)下的 php.ini-dist 文件重命名为 php.ini,PHP的配置文件就是它,修改以下几个地方,修改好后把 php.ini 文件复制到 C:\WINDOWS\ 目录里:

extension_dir="D:\Program Files\Php\ext" ,指向php文件夹下放置“php_*.dll”文件的路径。PHP4和PHP5的路径在这里有所区别。

doc_root="D:\PHP" ,指向前面apache设置的首页位置;

default_charset="gb2312" ,修改默认字符集,这里,如果前面有分号“”,去掉这个分号;

register_globals=Off 改为 register_globals=On ,使传递全局变量有效;

extension=php_dba.dll 如果前面有分号,取消分号,以下同;

extension=php_dbase.dll

extension=php_gd2.dll GD库做图,一般用于图形验证码;

extension=php_mysql.dll 用于连接MYSQL数据库;

3)、将PHP目录下的 php5ts.dll 文件拷贝到 C:\WINDOWS\system32 目录。

4)、最后修改 Apache 的 httpd.conf 文件。在该文件的末尾添加如下2行,表示以模块方式安装PHP进入Apache:

LoadModule php5_module D:/Program Files/Php/php5apache2_2.dll

AddType application/x-httpd-php .php注意:第一行的目录路径要更新为当前版本的apache动态链接库,比如这里我使用的是apache2.2.17版本和php5.3.4,那这个文件必须是php5apache2_2.dll,而不能是php5apache.dll、php5apache2.dll等。第二行为php脚步的后缀。

php4版中,需要添加一行 AddType mod_php4.c,而在php5中,就不需要这样的一行 AddType mod_php5.c了,php5已经集成,否则 apache 启动不了。以上就完成了apache和php的配置过程了,重启apache。在服务器的默认目录“D:\Program Files\Apache\htdocs”里新建文件index.php,写上如下代码:

<?php

phpinfo()

?>

在浏览器地址栏里输入 http://127.0.0.1/ 或 http://localhost/ ,你就会看到php版本信息了。到此为止,php和apache就已经成功的安装了。这里有个细节:apache的配置文件 httpd.conf 中的目录分割符号是“/”,而 PHP 的配置文件 php.ini 里的目录则要求是反斜线 “ \”,不要搞混了哦。MYSQL的安装就简单了。到官方网站 http://dev.mysql.com/downloads/mysql/5.0.html,下载windows平台下的 mysql ,选择 Windows ZIP/Setup.EXE (x86) 最新版本是 5.1.51 ,下载即可。直接安装,安装完成后,可以进入配置向导,设置mysql数据库密码。一切OK。

关于mysql的安装与配置见:phpMyAdmin安装配置方法和问题解决

pharmar安装过程中遇到的错误:

在 Windows 下安装 PHP 后 Apache 出现 LoadModule takes two arguments 的错误,这个主要原因就是httpd.conf中的这句:

LoadModule php5_module D:\Program Files\PHP\php5apache2_2.dll

解释程序把Program Files中的空格当成了两个参数的分隔符号,因此语句中不能出现空格。在网上找了半天也没找到解决方法,最后用一级目录符号才解决问题,改成如下:

LoadModule php5_module ../php/php5apache2_2.dll

因为apache安装在D:\Program Files\Apache\目录下,PHP安装在D:\Program Files\php\,因此../就表示D:\Program Files\目录,这个终于搞定了,希望大家在安装与配置过程中多动动脑筋总会有办法的。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11769788.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存