容器编译安装httpd

容器编译安装httpd

[root@localhost ~]# docker pull centos //拉取centos镜像到本地仓库
Using default tag: latest
latest: Pulling from library/centos
a1d0c7532777: Pull complete 
Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest
[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
httpd        latest    dabbfbe0c57b   7 months ago    144MB
centos       latest    5d0da3dc9764   10 months ago   231MB
[root@localhost ~]# docker run -d -it --name httpd -p 80:80 -v /data:/data 5d0da3dc9764 /bin/bash //启动centos -it分配伪终端打开标准输入,-p把容器80端口映射到宿主机的80端口 -v把容器的目录挂载到宿主机的目录上,编译安装所需的包放到宿主机的目录里可以同步到容器里
8792d0bb22f78bec1e6013159fe31cab72afe942a40f25b73bd760a4cf29c059
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE          COMMAND       CREATED         STATUS         PORTS                               NAMES
8792d0bb22f7   5d0da3dc9764   "/bin/bash"   5 seconds ago   Up 5 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   httpd
//下载编译安装httpd需要的源码包
[root@localhost ~]# cd /data
[root@localhost data]# wget https://mirrors.aliyun.com/apache/apr/apr-1.6.5.tar.gz
--2022-08-09 08:41:45--  https://mirrors.aliyun.com/apache/apr/apr-1.6.5.tar.gz
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 45.253.17.211, 45.253.17.215, 45.253.17.213, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|45.253.17.211|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1073556 (1.0M) [application/octet-stream]
Saving to: ‘apr-1.6.5.tar.gz’

apr-1.6.5.tar.gz        100%[=============================>]   1.02M   149KB/s    in 7.3s    

2022-08-09 08:41:53 (145 KB/s) - ‘apr-1.6.5.tar.gz’ saved [1073556/1073556]

[root@localhost data]# wget https://mirrors.aliyun.com/apache/apr/apr-util-1.6.1.tar.gz
--2022-08-09 08:42:11--  https://mirrors.aliyun.com/apache/apr/apr-util-1.6.1.tar.gz
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 43.224.184.227, 45.253.17.211, 45.253.17.216, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|43.224.184.227|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 554301 (541K) [application/octet-stream]
Saving to: ‘apr-util-1.6.1.tar.gz’

apr-util-1.6.1.tar.gz   100%[=============================>] 541.31K   142KB/s    in 3.8s    

2022-08-09 08:42:15 (142 KB/s) - ‘apr-util-1.6.1.tar.gz’ saved [554301/554301]

[root@localhost data]# wget https://mirrors.aliyun.com/apache/httpd/httpd-2.4.54.tar.bz2
--2022-08-09 08:42:27--  https://mirrors.aliyun.com/apache/httpd/httpd-2.4.54.tar.bz2
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 45.253.17.217, 45.253.17.213, 43.224.184.230, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|45.253.17.217|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7434530 (7.1M) [application/octet-stream]
Saving to: ‘httpd-2.4.54.tar.bz2’

httpd-2.4.54.tar.bz2    100%[=============================>]   7.09M   146KB/s    in 51s     

2022-08-09 08:43:17 (144 KB/s) - ‘httpd-2.4.54.tar.bz2’ saved [7434530/7434530]

[root@localhost data]# ls
apr-1.6.5.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.54.tar.bz2
//进入httpd容器
[root@localhost data]# docker exec -it httpd /bin/bash
[root@8792d0bb22f7 /]# cd data/
[root@8792d0bb22f7 data]# ls
apr-1.6.5.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.54.tar.bz2 //所有源码包
//官方源替换成阿里云源
[root@8792d0bb22f7 data]# cd /etc/yum.repos.d/
[root@8792d0bb22f7 yum.repos.d]# ls
CentOS-Linux-AppStream.repo	     CentOS-Linux-FastTrack.repo
CentOS-Linux-BaseOS.repo	     CentOS-Linux-HighAvailability.repo
CentOS-Linux-ContinuousRelease.repo  CentOS-Linux-Media.repo
CentOS-Linux-Debuginfo.repo	     CentOS-Linux-Plus.repo
CentOS-Linux-Devel.repo		     CentOS-Linux-PowerTools.repo
CentOS-Linux-Extras.repo	     CentOS-Linux-Sources.repo
[root@8792d0bb22f7 yum.repos.d]# rm -rf *
[root@8792d0bb22f7 yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2495  100  2495    0     0   9072      0 --:--:-- --:--:-- --:--:--  9105
[root@8792d0bb22f7 yum.repos.d]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
//安装开发工具包和httpd依赖包 创建apache用户与组
[root@8792d0bb22f7 ~]# dnf -y groups mark install "Development Tools"
Failed to set locale, defaulting to C.UTF-8
CentOS-8.5.2111 - Base - mirrors.aliyun.com                   285 kB/s | 4.6 MB     00:16    
CentOS-8.5.2111 - Extras - mirrors.aliyun.com                  35 kB/s |  10 kB     00:00    
CentOS-8.5.2111 - AppStream - mirrors.aliyun.com              192 kB/s | 8.4 MB     00:45    
Dependencies resolved.
==============================================================================================
 Package               Architecture         Version               Repository             Size
==============================================================================================
Installing Groups:
 Development Tools                                                                           

Transaction Summary
==============================================================================================

Complete!
[root@8792d0bb22f7 ~]# dnf -y install openssl-devel pcre-devel expat-devel libtool libxml2-devel
Failed to set locale, defaulting to C.UTF-8
Last metadata expiration check: 0:01:08 ago on Tue Aug  9 00:49:07 2022.
Dependencies resolved.
==============================================================================================
 Package                  Arch     Version                                  Repository   Size
==============================================================================================
Installing:
 expat-devel              x86_64   2.2.5-4.el8                              base         55 k
 libtool                  x86_64   2.4.6-25.el8                             AppStream   709 k
 libxml2-devel            x86_64   2.9.7-9.el8_4.2                          AppStream   1.0 M
 openssl-devel            x86_64   1:1.1.1k-5.el8_5                         base        2.3 M
 pcre-devel               x86_64   8.42-6.el8                               base        551 k
Upgrading:
 glibc                    x86_64   2.28-164.el8                             base        3.6 M
 glibc-common             x86_64   2.28-164.el8                             base        1.3 M
 glibc-minimal-langpack   x86_64   2.28-164.el8                             base         58 k
 keyutils-libs            x86_64   1.5.10-9.el8                             base         34 k
 krb5-libs                x86_64   1.18.2-14.el8                            base        840 k
 libcom_err               x86_64   1.45.6-2.el8                             base         49 k
 libgcc                   x86_64   8.5.0-4.el8_5                            base         79 k
 libsepol                 x86_64   2.9-3.el8                                base        340 k
 libxcrypt                x86_64   4.1.1-6.el8                              base         73 k
 libxml2                  x86_64   2.9.7-9.el8_4.2                          base        696 k
 ncurses-base             noarch   6.1-9.20180224.el8                       base         81 k
 ncurses-libs             x86_64   6.1-9.20180224.el8                       base        334 k
 openssl-libs             x86_64   1:1.1.1k-5.el8_5                         base        1.5 M
 pcre                     x86_64   8.42-6.el8                               base        211 k
Installing dependencies:
 autoconf                 noarch   2.69-29.el8                              AppStream   710 k
 automake                 noarch   1.16.1-7.el8                             AppStream   713 k
 cmake-filesystem         x86_64   3.20.2-4.el8                             AppStream    44 k
 cpp                      x86_64   8.5.0-4.el8_5                            AppStream    10 M
......
[root@8792d0bb22f7 ~]# useradd -Mrs /bin/nologin apache
[root@8792d0bb22f7 ~]# id apache
uid=998(apache) gid=996(apache) groups=996(apache)
//把httpd、apr、apr-util包解压到、usr/local/src/下
[root@8792d0bb22f7 ~]# tar -xf /data/apr-1.6.5.tar.gz -C /usr/local/src/
[root@8792d0bb22f7 ~]# tar -xf /data/apr-util-1.6.1.tar.gz -C /usr/local/src/
[root@8792d0bb22f7 ~]# tar -xf /data/httpd-2.4.54.tar.bz2 -C /usr/local/src/
//编译安装apr
[root@8792d0bb22f7 apr-1.6.5]# vi configure
#   $RM "$cfgfile" //注释掉这行
[root@8792d0bb22f7 apr-1.6.5]# ./configure --prefix=/usr/local/apr
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
Configuring APR library
Platform: x86_64-pc-linux-gnu
checking for working mkdir -p... yes
APR Version: 1.6.5
checking for chosen layout... apr
......
[root@8792d0bb22f7 apr-1.6.5]# make && make install
......
//编译安装apr-util
[root@8792d0bb22f7 apr-1.6.5]# cd /usr/local/src/apr-util-1.6.1/
[root@8792d0bb22f7 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
......
[root@8792d0bb22f7 apr-util-1.6.1]# make && make install
......
//编译安装httpd
[root@8792d0bb22f7 httpd-2.4.54]# ./configure --prefix=/usr/local/apache --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr -with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
......
[root@8792d0bb22f7 httpd-2.4.54]# make && make install
......
//配置httpd全局变量 启动服务
[root@8792d0bb22f7 httpd-2.4.54]# cd /usr/local/apache/
[root@8792d0bb22f7 apache]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs	man  manual  modules
[root@8792d0bb22f7 apache]# echo 'export PATH=$PATH:/usr/local/apache/bin/' >> /etc/profile.d/apache.sh
[root@8792d0bb22f7 apache]# source /etc/profile.d/apache.sh
[root@8792d0bb22f7 apache]# apachectl start
[root@8792d0bb22f7 apache]# ss -anlt
State     Recv-Q    Send-Q         Local Address:Port         Peer Address:Port    Process    
LISTEN    0         128                  0.0.0.0:80                0.0.0.0:*            

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值