Httpd 2.4.39源码编译操作手册

APR简介:

APR(Apache portable Run-time libraries,Apache可移植运行库) 主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。在早期的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。

  随着Apache的进一步开发,Apache组织决定将这些通用的函数独立出来并发展成为一个新的项目。这样,APR的开发就从Apache中独立出来,Apache仅仅是使用 APR而已。目前APR主要还是由Apache使用,由于APR的较好的移植性,因此一些需要进行移植的C程序也开始使用APR,开源项目比如用于服务器压力测试的Flood loader tester,该项目不仅仅适用于Apache

下载源码文件地址:

在官网下载apr和apr-util包以及httpd-2.4包:

httpd下载网址:http://httpd.apache.org/

apr相关网址:http://apr.apache.org/download.cgi

下载两个APRAPR 1.7.0 APR-util 1.6.1

 

 

 

 

 

开始源码编译httpd-2.4.39

1.1 rz源码包到Linux系统中

1.2 /data/下创建src文件夹,存放三个源码文件

 

1.3下载相关开发环境包组以及相关依赖包

yum groupinstall "development tools"   安装开发包组

yum install pcre-devel openssl-devel expat-devel  相关依赖的包

 

1.4将解压下来的包复制到httpd-2.4.39/srclib/目录下并且命名为apr apr-util

 

 

 

 

 

 

 1 1.5 进入httpd-2.4.39目录下执行
 2 
 3 ./configure \
 4 
 5 --prefix=/app/httpd24 \
 6 
 7 --enable-so \
 8 
 9 --enable-ssl \
10 
11 --enable-cgi \
12 
13 --enable-rewrite \
14 
15 --with-zlib \
16 
17 --with-pcre \
18 
19 --with-included-apr \
20 
21 --enable-modules=most \
22 
23 --enable-mpms-shared=all \
24 
25 --with-mpm=prefork

 

 

 执行过程截图

 

 

 1.6执行make && make install 编译安装

 

[root@Centos7 httpd-2.4.39]# make && make install

可以看到安装在根目录下的app 文件下了

 

1.7定义环境变量并生效

[root@Centos7 httpd24]# echo 'PATH=/app/httpd24/bin:$PATH' > /etc/profile.d/httpd24.sh
[root@Centos7 httpd24]# . /etc/profile.d/httpd24.sh

 

 1.8 启动和关闭服务

 

[root@Centos7 httpd24]# apachectl start
[root@Centos7 httpd24]# apachectl stop

 

 

 

实验:

创建多虚拟主机并实现访问

A主机:192.168.6.129     B主机:192.168.6.130

创建文件的虚拟主机目录站点

[root@Centos7 data]# echo www.a.com > /data/aweb/index.html
[root@Centos7 data]# echo www.b.com > /data/bweb/index.html

 

 修改配置文件

 

vim /data/app/httpd24/conf/httpd.conf

 

启用虚拟机功能

 

 

修改配置文件 /app/httpd24/conf/extra/ httpd-vhosts.conf
[root@Centos7 extra]# vim httpd-vhosts.conf

 

 

<VirtualHost *:80>
    #ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/data/aweb/"
    ServerName "www.a.com"
    #ServerAlias www.dummy-host.example.com
    ErrorLog "/data/httpd24log/alog/a-error_log"
    CustomLog "/data/httpd24log/alog/a-access_log" common

<directory /data/aweb/>
   require all granted  
</directory>
        
</VirtualHost>

<VirtualHost *:80>
    #ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/data/bweb/"
    ServerName "www.b.com"
    ErrorLog "/data/httpd24log/blog/b-error_log"
    CustomLog "/data/httpd24log/blog/b-access_log" common

<directory /data/bweb/>
   require all granted
</directory>
</VirtualHost>

192.168.6.130主机上验证192.168.6.129的虚拟主机

[root@Centos7 ~]# vim /etc/hosts

 

 验证成功

 

 

 

 

 

 192.168.6.129主机上捕捉到192.168.6.130主机的访问

设置开机自启动

vim /etc/rc.local
/app/httpd24/bin/apachectl

 

 添加执行权限

[root@Centos7 etc]# chmod +x rc.local 

 

 开机自动启动

 

 

 

 

posted @ 2020-10-27 16:48  呱牛。  阅读(315)  评论(0)    收藏  举报