侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

CentOS 6.10源码编译及使用ansible编译安装httpd2.4.39

linux  /  管理员 发布于 7年前   213

一、编译安装

编译环境准备

主机 系统
A centos6.10

编译所需的httpd、apr、apr-util

apr-1.7.0.tar.gzapr-util-1.6.1.tar.gzhttpd-2.4.39.tar.gz

1.安装编译所需要的软件

yum install gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel zlib-devel vim lrzsz tree screen lsof tcpdump wget ntpdate net-tools iotop bc zip unzip nfs-utils expat-devel -y

2.解压所有压缩包

[root@CentOS6 ~]# tar -xf apr-util-1.6.1.tar.gz [root@CentOS6 ~]# tar -xf apr-1.7.0.tar.gz [root@CentOS6 ~]# tar -xf httpd-2.4.39.tar.gz

3.将apr及apr-util复制到httpd-2.4.39/srclib目录中

[root@CentOS6 ~]# cp -a apr-1.7.0 httpd-2.4.39/srclib/apr[root@CentOS6 ~]# cp -a apr-util-1.6.1 httpd-2.4.39/srclib/apr-util

4.编译httpd

[root@CentOS6 ~]# cd httpd-2.4.39[root@CentOS6 httpd-2.4.39]# ./configure --prefix=/app/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr=/root/httpd-2.4.39/srclib/ --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork

5.安装

[root@CentOS6 ~]# make && make install

6.为httpd创建系统用户

[root@CentOS6 ~]# useradd -r -s /sbin/nologin apache

7.修改配置文件,将httpd运行的用户和组改为apache

[root@CentOS6 ~]# vim /app/httpd24/conf/httpd.conf User apacheGroup apache

8.配置环境变量

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

9.设置为开机启动

[root@CentOS6 ~]# vim /etc/rc.d/rc.local /app/httpd24/bin/apachectl startansible-playbook编译安装httpd2.4

ansible 编译安装httpd

一、创建角色目录结构

[root@localhost data]# mkdir -pv roles/httpd2.4/{tasks,files,vars,templates,handlers}mkdir: created directory ‘roles'mkdir: created directory ‘roles/httpd2.4'mkdir: created directory ‘roles/httpd2.4/tasks'mkdir: created directory ‘roles/httpd2.4/files'mkdir: created directory ‘roles/httpd2.4/vars'mkdir: created directory ‘roles/httpd2.4/templates'mkdir: created directory ‘roles/httpd2.4/handlers'

二、创建task

进入tasks目录

[root@localhost ~]# cd /data/roles/httpd2.4/tasks/

1.为httpserver创建安装目录

[root@localhost tasks]# vim createdir.yaml - name: Create dir file: path=/app state=directory

2.解压httpd,apr,apr-util到远程主机

[root@localhost tasks]# vim ungzhttpd.yaml - name: ungz httpd24 unarchive: src=httpd.tar.gz dest=/app copy=yes- name: ungz apr to srclib unarchive: src=apr.tar.gz dest=/app/httpd-2.4.39/srclib copy=yes- name: ungz apr-util to srclib unarchive: src=apr-util.tar.gz dest=/app/httpd-2.4.39/srclib copy=yes

3.对解压后的apr.tar.gz及apr-util.tar.gz做软连接

[root@localhost tasks]# vim links.yaml- name: link apr-util file: src=/app/httpd-2.4.39/srclib/apr-util-1.6.1 dest=/app/httpd-2.4.39/srclib/apr-util state=link- name: link apr file: src=/app/httpd-2.4.39/srclib/apr-1.7.0 dest=/app/httpd-2.4.39/srclib/apr state=link

4.编译httpd

[root@localhost tasks]# vim configure.yaml - name: configer httpd shell: /app/httpd-2.4.39/configure --prefix=/app/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr=/root/httpd-2.4.39/srclib/ --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork

5.make

[root@localhost tasks]# vim make.yaml - name: make shell: make

6.make install

[root@localhost tasks]# vim install.yaml - name: install shell: make install

7.设置开机自启

[root@localhost tasks]# vim chkconf.yaml - name: chkconfig lineinfile: path=/etc/rc.d/rc.local insertafter="^touch.*" line="/app/httpd24/bin/apachectl start"

8.添加apache用户

[root@localhost tasks]# vim useradd.yaml - name: add user user: name=apache system=yes shell=/sbin/nologin create_home=no

9.调用模板文件生成环境变量及httpd配置文件

[root@localhost tasks]# vim template.yaml- name: httpd config template: src=httpd.conf.j2 dest=/app/httpd24/conf/httpd.conf- name: Path template: src=httpd.sh.j2 dest=/etc/profile.d/httpd.sh

10.读取环境变量

[root@localhost tasks]# vim source.yaml - name: source path shell: source /etc/profile.d/httpd.sh

11.启动服务

[root@localhost tasks]# vim service.yaml - name: start service shell: apachectl start

12.创建main.yaml

[root@localhost tasks]# vim main.yaml - include: createdir.yaml- include: ungzhttpd.yaml- include: links.yaml- include: configure.yaml- include: make.yaml- include: install.yaml- include: chkconf.yaml- include: useradd.yaml- include: template.yaml- include: source.yaml- include: service.yaml

三、创建playbook

[root@localhost data]# vim role_httpd.yaml [root@localhost tasks]# cd /data[root@localhost data]# vim role_httpd.yaml ---- hosts: all roles: - role: httpd2.4

四、目录结构

[root@localhost data]# tree /data/data├── role_httpd.yaml└── roles └── httpd2.4  ├── files       #此目录下存放所有需要解压的包,注意去掉版本号  │ ├── apr.tar.gz  │ ├── apr-util.tar.gz  │ └── httpd.tar.gz  ├── handlers  ├── tasks  │ ├── chkconf.yaml  │ ├── configure.yaml  │ ├── createdir.yaml  │ ├── install.yaml  │ ├── links.yaml  │ ├── main.yaml  │ ├── make.yaml  │ ├── service.yaml  │ ├── source.yaml  │ ├── template.yaml  │ ├── ungzhttpd.yaml  │ └── useradd.yaml  ├── templates      #此目录下存放配置文件和环境变量的模板文件  │ ├── httpd.conf.j2  │ └── httpd.sh.j2  └── vars

五、执行playbook

[root@localhost ansible]# ansible-playbook role_httpd.yaml

总结

以上所述是小编给大家介绍的CentOS 6.10源码编译及使用ansible编译安装httpd2.4.39,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!


  • 上一条:
    在CentOS中安装Rancher2并配置kubernetes集群的图文教程
    下一条:
    Linux上的文件分身
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在Linux系统中使用Iptables实现流量转发功能流程步骤(0个评论)
    • vim学习笔记-入门级需要了解的一些快捷键(0个评论)
    • 在centos7系统中实现分区并格式化挂载一块硬盘到/data目录流程步骤(0个评论)
    • 在Linux系统种查看某一个进程所占用的内存命令(0个评论)
    • Linux中grep命令中的10种高级用法浅析(0个评论)
    • 近期文章
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-11
    • 2017-07
    • 2017-10
    • 2017-11
    • 2018-01
    • 2018-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-03
    • 2022-04
    • 2022-08
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-06
    • 2023-07
    • 2023-10
    • 2023-12
    • 2024-01
    • 2024-04
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客