编译安装httpd 2.4

编译安装LAMP之:编译安装httpd 2.4

环境介绍:

系统环境:CentOS6.5

所需软件包:apr-1.5.2.tar.gz、apr-util-1.5.2.tar.gz、httpd-2.4.6.tar.gz

  注意:httpd2.4需要依赖apr和arp-util 1.4以上版本

  CentOS编译安装Apache准备:确保开发包组已安装(Development tools、Server Platform Development)

yum groupinstall "Development Tools" "Server Platform Development" -y

安装依赖:

1、下载官方源码包并解压:

httpd-2.4需要较新版本的apr(1.4以上)和apr-util,因此需要事先对其进行升级。升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包。这里选择使用编译源代码的方式进行。

wget http://archive.apache.org/dist/httpd/httpd-2.4.6.tar.bz2

wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz

wget http://archive.apache.org/dist/apr/apr-util-1.5.2.tar.gz

1.1 安装apr:

[[email protected] src]# tar xf apr-1.5.2.tar.gz

[[email protected] src]# cd apr-1.5.2.tar.gz

[[email protected] apr-1.5.2]# ./configure --prefix=/usr/local/apr

[[email protected] apr-1.5.2]# make

[[email protected] apr-1.5.2]# make install

说明:编译时报错提示 rm: cannot remove `libtoolT‘: No such file or directory

解决:直接打开 configure,把 $RM “$cfgfile” 那行删除掉,重新再运行 ./configure 就可以了。

1.2 安装apr-util

[[email protected] src]# tar xf apr-util-1.5.2.tar.gz

[[email protected] src]# cd apr-util-1.5.2

[[email protected] apr-util-1.5.2]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

[[email protected] apr-util-1.5.2]# make

[[email protected] apr-util-1.5.2]# make install

编译说明:

--prefix指定安装路径;

--with-apr指定apr的安装路径,apr-util依赖于apr

2、编译安装httpd

2.1 安装依赖:

[[email protected] src]# yum -y install pcre-devel openssl-devel

2.2 编译安装

[[email protected] src]# tar xf httpd-2.4.6.tar.bz2

[[email protected] src]# cd httpd-2.4.6

[[email protected] httpd-2.4.6]# ./configure \

--prefix=/usr/local/apache \

--sysconfdir=/etc/httpd \

--enable-so \

--enable-rewrite \

--enable-ssl \

--enable-cgi \

--enable-cgid \

--with-zlib \

--with-pcre \

--enable-modules=most \

--enable-modules-shared=most \

--enable-mpms-shared=all \

--with-mpm=event \

--with-apr=/usr/local/apr \

--with-apr-util=/usr/local/apr-util

[[email protected] httpd-2.4.6]# make

[[email protected] httpd-2.4.6]# make install

编译说明:

--prefix=/usr/local/apache :指定安装目标路径

--sysconfdir=/etc/httpd :指定配置文件安装位置

--enable-so :支持动态共享模块,如果没有这个模块PHP将无法与apache结合工作;DSO兼容,DSO=Dynamic Shared Object,动态共享对象,可实现模块动态生效

--enable-rewirte :支持URL重写

--enable-ssl :启用支持ssl 支持SSL/TLS,可实现https访问 需已安装openssl-devel

--enable-cgi :启用支持cgi (默认情况下启用非线程MPM)

--enable-cgid : 启用支持cgid (默认情况下启用线程MPM )

--with-zlib : 支持zlib压缩,传输层的压缩(不指定具体的路径,默认在系统中搜索)

--with-pcre : 支持正则化(不指定具体的路径,默认在系统中搜索)

--enable-modules=most :支持动态启用的模块,可选参数:all,most,few,reallyall

--enable-mods-shared=most :安装大多数共享模块,可选参数:all,most,few,reallyall (可选)

--enable-mpms-shared=all :支持全部多道处理方式

--with-mpm :#设置默认启用的MPM模式,{prefork|worker|event}

--with-apr=/usr/local/apr :指定apr路径

--with-apr-util=/usr/local/apr-util :指定apr-util路径

3、配置httpd 2.4(基于域名的虚拟主机)

[[email protected] ~]# vim /etc/httpd/httpd.conf

# DocumentRoot "/usr/local/apache/htdocs"    # 注释掉DocumentRoot关闭主服务配置段

Include /etc/httpd/extra/httpd-vhosts.conf    # 启用虚拟主机功能

4、配置虚拟主机配置文件

[[email protected] ~]# vim /etc/httpd/extra/httpd-vhosts.conf

<VirtualHost 192.168.100.11:80>

ServerAdmin [email protected]

DocumentRoot "/usr/local/apache/htdocs/test1/"

ServerName test1.parparxy.com

ErrorLog "logs/test1-error_log"

CustomLog "logs/test1-access_log" common

</VirtualHost>

<VirtualHost 192.168.100.11:80>

ServerAdmin [email protected]

DocumentRoot "/usr/local/apache/htdocs/test2/"

ServerName test2.parparxy.com

ErrorLog "logs/test2-error_log"

CustomLog "logs/test2-access_log" common

</VirtualHost>

5、生成测试网页

[[email protected] ~]# cd /usr/local/apache/htdocs/

[[email protected] htdocs]# mkdir test1 && echo "<h1> test1 </h1>" > test1/index.html

[[email protected] htdocs]# mkdir test2 && echo "<h1> test2 </h1>" > test2/index.html

6、测试脚本文件语法是否正确

[[email protected] ~]# ln -sv /usr/local/apache/bin/httpd /usr/bin/

`/usr/bin/httpd‘ -> `/usr/local/apache/bin/httpd‘

[[email protected] ~]# httpd -t

Syntax OK

7、为httpd执行文件创建PATH:

# vi /etc/profile.d/httpd.sh #添加如下一行

export PATH=$PATH:/usr/local/apache/bin

8、启动apache服务

[[email protected] httpd-2.4.6]# apachectl start

[[email protected] httpd-2.4.6]# netstat -tunlp | grep 80

tcp        0      0 :::80                       :::*                        LISTEN      23850/httpd

[[email protected] httpd-2.4.6]#

9、头文件输出给系统:

# ln -sv /usr/local/apache/include /usr/local/include/httpd

10、为httpd执行文件创建PATH:

# vi /etc/profile.d/httpd.sh #添加如下一行

export PATH=$PATH:/usr/local/apache/bin让系统重新生成库文件路径缓存:

# ldconfig -v |grep "^[^[:space:]]"

11、为httpd执行文件创建PATH:

# vi /etc/profile.d/httpd.sh #添加如下一行

export PATH=$PATH:/usr/local/apache/bin为日志文件创建软连接:

# ln -fs /usr/local/apache/logs /var/log/httpd ##设置软链接以适应init脚本

# apachectl start 默认的启动apache方式

至此,就可以使用service httpd start 命令启动httpd了。

12、配置启动脚本:

[[email protected] httpd-2.4.6]# cp build/rpm/httpd.init /etc/init.d/httpd //使用init脚本管理httpd

[[email protected] httpd-2.4.6]# chmod 755 /etc/init.d/httpd //增加执行权限

[[email protected] httpd-2.4.6]# chkconfig --add httpd //添加httpd到服务开机启动

[[email protected] httpd-2.4.6]# ln -sf /usr/local/apache/bin/httpd /usr/sbin/httpd

问题:

Apache启动出现:

[[email protected] httpd-2.4.6] service httpd restart

AH00557: httpd: apr_sockaddr_info_get() failed for linux.64.114

AH00558: httpd: Could not reliably determine the server‘s fully qualified domain

name, using 127.0.0.1. Set the ‘ServerName‘ directive globally to suppress this

message

解决:

[[email protected] httpd-2.4.6] vi /server/apache/conf/httpd.conf

修改ServerName www.example.com:80 为 ServerName localhost:80

首次启动服务,80端口未被监听:

# cat /usr/local/apache/logs/error_log

报错提示:Resource Temporarily unavailable

解决:

# ulimit -u unlimited   #修改 用户最大进程数

# echo ulimit -u unlimited >>/etc/profile   #保存修改到自启动文件

时间: 2025-01-04 03:00:15

编译安装httpd 2.4的相关文章

CentOS 6.5下编译安装httpd+mysql+php+phpMyAdmin

CentOS 6.5下编译安装httpd+mysql+php+phpMyAdmin+cacti+nagios 一.安装环境 Linux系统:CentOS 6.5 Apache版本:http-2.4.12 MySQL版本:MySQL 5.6.24 PHP版本:PHP-5.6.8 基本的安装顺序为:先安装httpd,然后安装mysql,最后安装PHP. 软件包: [[email protected] httpdbao]# ll total 334908 -rwxrw-rw-. 1 root root

编译安装httpd

CentOS 6默认提供的是httpd 2.2,现尝试在CentOS 6上编译安装httpd 2.4 1.编译安装apr和apr-util httpd程序依赖于apr和apr-util.apr(Apache portable Run-time libraries,Apache可移植运行库)旨在为上层的httpd应用程序提供一个可以跨越多种操作系统平台使用的底层支持接口库,给httpd程序提供了一个虚拟机环境,由此实现了httpd的跨平台性 httpd 2.4依赖apr 1.4以上的版本,因此若a

编译安装httpd 2.4 ---格式待整理

httpd 2.4 版本需要依赖于apr 1.4版本httpd 依赖于 apr,apr-util    其安装又先后顺序之分:        1.apr        2.apr-util        3.httpd [[email protected] httpd]# rpm -q httpdhttpd-2.2.15-39.el6.centos.x86_64[[email protected] httpd]# service httpd stopStopping httpd:        

编译安装HTTPD 2.4.9版本

编译安装HTTPD 2.4.9版本 ? ?服务脚本:/etc/rc.d/init.d/httpd ? ?脚本配置文件路径:/etc/sysconfig/httpd ? ?运行目录:/etc/httpd ? ?配置文件: ? ? ? ?主配置:/etc/httpd/conf/httpd.conf ? ? ? ?扩展配置:/etc/httpd/conf.d/*.conf ? ?监听的Socket: tcp的80, 443是https/tcp的监听端口 ? ?在内核中使用小于1023的端口的只有管理员

编译安装httpd服务

首先,编译安装http,需要有它的源码包,这里提供官方下载:http://httpd.apache.org 我使用的是httpd-2.4.4.tar.bz2软件包 在进行源码编译安装之前,我们需要设定一下安装环境 1.安装开发包组: # yum groupinstall "Development tools" "Server Platform Development" "Desktop Platform Development" "Co

linux命令:编译安装httpd、mysql、php等LAMP环境

Httpd 2.4新特性: 1.MPM可于运行时装载: --enable-mpms-shared=all --with-mpm=event  编译安装是指定MPM运行模块为event 2.Event MPM 支持event新的多路处理模块 3.异步读写 4.在每模块及每目录上指定日志级别 5.每请求配置: <If>,<ElseIf>,<Else>; 6.增强的表达式分析器: 7.毫秒级的Keepalive Timeout; 8.基于域名的虚拟主机不再需要NameVirt

CentOS 6.4源码编译安装httpd并启动测试

今天来总结一下在Linux中软件安装,通常我们应该知道,安装软件有两种方法:一种是软件包的安装,也就是rpm包的安装,就是指这些软件包都是 已经编译好的二进制rpm包,我们通过rpm安装工具和yum安装工具就可以直接安装了.另一种则是源代码安装,这种软件安装就是指它只有源代码,没有经 过编译的二进制,需要通过手动去编译安装的. rpm包是别人所编译好的软件包,比如说编译好的rpm包没有某个功能,也我们又想用,那我们就得自去手动下载源代码来自行安装了,自定义去安装程序包,这个是我们要撑握的. 下面

apache编译安装 httpd 2.2 httpd 2.4

#apache编译安装#httpd 2.2 , httpd 2.4 #!/bin/sh #apache编译安装 #httpd 2.2 , httpd 2.4 #centos #rpm -e httpd* Ve=2.2 [ $1 = 2.4 ] && Ve=2.4 || Ve=2.2 #设置安装版本2.2或2.4 #目录 Ddir=/it/tools #定义下载目录 Sdir=/www/server #定义安装目录 Adir=$Sdir/apache$Ve [ ! -d $Ddir ] &a

搭建Yum服务器及编译安装Httpd

搭建yum服务器 编译安装Httpd 原文地址:http://blog.51cto.com/10461810/2106438