Linux下编译安装Apache及模块,Linux下解决64位下Apache编译模块时

Linux下给apache编写翻译libapreq2模块时候报错:/usr/lib/libexpat.so: could
not read symbols: File in wrong format

Linux下编写翻译安装Apache及模块

Apache是当下最风靡的Web服务器软件之意气风发,扶助多平台,可飞速搭建web服务,並且安静可信,并可经过轻松的API扩张,就足以集成PHP/Python等语言解释器。小说这里上课如何在Linux下编译Apache,以致怎样编写翻译Apache模块。

Linux下编译Apache
下载Apache源代码,编译进度如下:
$ wget
$ tar -zxf httpd-2.4.12.tar.gz
$ cd httpd-2.4.12

$ ./configure –prefix=/usr/local/apache/
$ make && make install

编写翻译进程中,只怕会冒出了以下错误:
$ ./configure –prefix=/usr/local/apache/checking for chosen layout…
Apachechecking for working mkdir -p… yeschecking for grep that handles
long lines and -e… /bin/grepchecking for egrep… /bin/grep -Echecking
build system type… x86_64-unknown-linux-gnuchecking host system
type… x86_64-unknown-linux-gnuchecking target system type…
x86_64-unknown-linux-gnuconfigure:configure: Configuring Apache
Portable Runtime library…configure:checking for APR… noconfigure:
error: APR not found. Please read the documentation.
那边是因为Apache编译信任 apr,没找到 apr
就不可能符合规律安装。其它,Apache还借助 apr-util 和 pcre

编译Apache依赖
AP智跑是Apache可移植运营库,封装了全体操作系统调用,用来促成Apache内部零件对操作系统能源的行使,进步Apache的可移植性。APLX570和Apache分离出来,制止Apache开辟进度中,还要针对差别的平台做不一致处理。apr-util
也正是APLacrosse工具集。PCRE是落到实处正则的perl库。

编写翻译和装置 APCR-V
$ wget
$ tar -zxf apr-1.5.2.tar.gz
$ cd apr-1.5.2
新葡萄京娱乐在线赌场,$ ./configure –prefix=/usr/local/apr
$ make && make install

编写翻译和安装 apr-util
$ wget
$ tar -zxf apr-util-1.5.3.tar.gz
$ cd apr-util-1.5.3
$ ./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr
$ make && make install

编译和设置 pcre
$ wget
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz
$ tar -zxf pcre-8.37.tar.gz
$ cd pcre-8.37
$ ./configure –prefix=/usr/local/pcre
$ make && make install

重复编写翻译Apache
设置Apache信赖后,编写翻译时加多几个参数,重新编写翻译Apache
$ ./configure –prefix=/usr/local/apache/ \
–with-apr=/usr/local/apr \
Linux下编译安装Apache及模块,Linux下解决64位下Apache编译模块时。–with-apr-util=/usr/local/apr-util \
–with-pcre=/usr/local/pcre
$ make && make install

编译Apache模块
这里以mod_concatx为例,表达怎样编写翻译Apache模块,步骤很简短。mod_concatx是apache模块,能够用来统一八个js/css,有效进步js/css加载速度
编译 mod_concatx 模块
$ wget

$ ln -s /usr/local/apache/bin/apxs /usr/local/bin/apxs
$ apxs -c mod_concatx.c

编写翻译并安装mod_concatx 模块
$ apxs -iac mod_concatx.c

这种编译形式会活动安装Apache模块,安装成功后,能够在Apache 模块目录找到
mod_concatx.so,並且 conf/httpd.conf 配置也会增多 mod_concatx 模块音信

启动Apache
$ /usr/local/apache/bin/httpd -k start

注:Apache运转后,未来台服务运转。假设想关闭Apache, 就采用以下命令:
$ /usr/local/apache/bin/httpd -k stop

查阅已加载的Apache模块
$ /usr/local/apache/bin/httpd -M
Loaded Modules:
 core_module (static)
 so_module (static)
 http_module (static)
 mpm_event_module (static)
 authn_file_module (shared)
 authn_core_module (shared)
 authz_host_module (shared)
 authz_groupfile_module (shared)
 authz_user_module (shared)
 authz_core_module (shared)
 access_compat_module (shared)
 auth_basic_module (shared)
 reqtimeout_module (shared)
 filter_module (shared)
 mime_module (shared)
 log_config_module (shared)
 env_module (shared)
 headers_module (shared)
 setenvif_module (shared)
 version_module (shared)
 unixd_module (shared)
 status_module (shared)
 autoindex_module (shared)
 dir_module (shared)
 alias_module (shared)
 concatx_module (shared)

说明mod_concatx已加载!

Apache不能够符合规律运营的化解办法

  1. 80端口被侵占
    $ netstat -anp | grep :80

找到占用端口的Pid,kill掉就可以。

  1. 防火墙暗中同意禁止使用80端口
    $ vi /etc/sysconfig/iptables

增多风姿洒脱行记录
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 80 -j
ACCEPT
保存后,重启防火墙。
$ service iptables restart

Ubuntu Server 14.04
安装Web服务器(Linux+Apache+MySQL+PHP) 

Linux下安装配置PHP情形(Apache2) 

Ubuntu下Apache的Rewrite怎么着启用 

Ubuntu 14.04中Apache 2.2进级到2.4后的多少个要点

Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及安装

CentOS 5.9下编写翻译安装LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12)

RedHat 5.4下Web服务器架设之源码营造LAMP境遇及应用PHPWind

LAMP源码情形搭建WEB服务器Linux+Apache+MySQL+PHP

Apache 的事必躬亲介绍:请点这里
Apache 的下载地址:请点这里

正文永远更新链接地址:

Apache是近年来最流行的Web服务器软件之后生可畏,支持多平台,可快捷搭建web服务,并且安静可信,并可经过简单的API扩…

in modules directory i have only httpd.exp and so files?

品味了两种艺术都非凡,大概步骤都以之类:
perl -MCPAN -e shell
>>> install Apache2::Request


… 一贯到make,然后报错

hello all,

用perl Makefile.PL –with-apache2-apxs=/path/apxs,make时候也报错。

im trying to install apache 2 on
Fedora core 3 after
untar apache.2.0.54 and use configure with option –enable-so or
–enable-modules=so ( i tried both )

格外沉闷,然后修正Makefile.PL、configure、force install等等,都以没戏。

make and make install, i expect to have the modules in /apache2/modules/
but the folder contain only 1 file httpd.exp. why? whats wrong?

主题素材都以陆拾伍位下的libexpat.so有一点点难题。换个六拾位编写翻译软件碰着了比相当多麻烦唉。

some help ?

末尾消除办法是:
>>> install Apache2::Request
… #到报错开上下班时间停下
>>> look Apache2::Request
#会跳到三个libapreq2-2.08-FPquPs相似的目录,能够看出目录下有Makefile.PL,configure等公事或目录。
删除configure文件
删除apreq2-config文件
双重运维:./buildconf,能够看出一大堆检查测量试验啥的次序在跑,跑完就OK了。
perl Makefile.PL –with-apache2-apxs=/path/apxs
make && make install

thank you

今昔得以看到在apache的modules下有mod_apreq2.so了。搞定!

在modules目录中唯有httpd.exp,那么些so文件呢?

相关文章