Linux系统管理——Apache 编译安装及源码上线

Apache 编译安装及源码上线

安装思路

在这里插入图片描述

  • 配置下载源为华为:首先更换华为yum源
  • 网址:https://mirrors.huaweicloud.com/
  • 准备工作:因为之前装过Apache所以这里进行卸载
[root@heyihao ~]# yum remove httpd  # 卸载Apache
[root@localhost ~]# mkdir /mnt/cdrom   # 创建挂载分区
[root@localhost ~]# mount /dev/cdrom   /mnt/cdrom   # 将光盘挂载到创建好的分区下 
[root@localhost ~]# df -Th  # 查看光驱是否挂载成功
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        39G  1.9G   37G    5% /
devtmpfs                devtmpfs  980M     0  980M    0% /dev
tmpfs                   tmpfs     992M     0  992M    0% /dev/shm
tmpfs                   tmpfs     992M  9.5M  982M    1% /run
tmpfs                   tmpfs     992M     0  992M    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  130M  885M   13% /boot
/dev/mapper/centos-home xfs        19G   33M   19G    1% /home
tmpfs                   tmpfs     199M     0  199M    0% /run/user/0
/dev/sr0                iso9660   4.2G  4.2G     0  100% /mnt/cdrom #查看光盘是否显示
[root@localhost ~]# cd /mnt/cdrom/   # 进入光驱
[root@localhost cdrom]# cd Packages/  # 进入Packages文件夹
[root@heyihao Packages]# ll | grep httpd  # 查看 Apache安装包
-rw-rw-r--. 1 root root  2842792 4月  25 2018 httpd-2.4.6-80.el7.centos.x86_64.rpm
-rw-rw-r--. 1 root root   199964 4月  25 2018 httpd-devel-2.4.6-80.el7.centos.x86_64.rpm
-rw-rw-r--. 1 root root  1405244 4月  25 2018 httpd-manual-2.4.6-80.el7.centos.noarch.rpm
-rw-rw-r--. 1 root root    91472 4月  25 2018 httpd-tools-2.4.6-80.el7.centos.x86_64.rpm
[root@heyihao Packages]# rpm -ivh httpd-2.4.6-80.el7.centos.x86_64.rpm 
错误:依赖检测失败: 
	httpd-tools = 2.4.6-80.el7.centos 被 httpd-2.4.6-80.el7.centos.x86_64 需要
    # 直接安装发现报错需要解决依赖关系
[root@heyihao Packages]# rpm -ivh httpd-2.4.6-80.el7.centos.x86_64.rpm 
错误:依赖检测失败:
	httpd-tools = 2.4.6-80.el7.centos 被 httpd-2.4.6-80.el7.centos.x86_64 需要
[root@heyihao Packages]# rpm -ivh httpd-tools-2.4.6-80.el7.centos.x86_64.rpm 
准备中...                          ################################# [100%]
	软件包 httpd-tools-2.4.6-97.el7.centos.x86_64 (比 httpd-tools-2.4.6-80.el7.centos.x86_64 还要新) 已经安装
	file /usr/bin/ab from install of httpd-tools-2.4.6-80.el7.centos.x86_64 conflicts with file from package httpd-tools-2.4.6-97.el7.centos.x86_64
	file /usr/bin/htdbm from install of httpd-tools-2.4.6-80.el7.centos.x86_64 conflicts with file from package httpd-tools-2.4.6-97.el7.centos.x86_64
	file /usr/bin/htdigest from install of httpd-tools-2.4.6-80.el7.centos.x86_64 conflicts with file from package httpd-tools-2.4.6-97.el7.centos.x86_64
	file /usr/bin/htpasswd from install of httpd-tools-2.4.6-80.el7.centos.x86_64 conflicts with file from package httpd-tools-2.4.6-97.el7.centos.x86_64
	file /usr/bin/httxt2dbm from install of httpd-tools-2.4.6-80.el7.centos.x86_64 conflicts with file from package httpd-tools-2.4.6-97.el7.centos.x86_64
	file /usr/bin/logresolve from install of httpd-tools-2.4.6-80.el7.centos.x86_64 conflicts with file from package httpd-tools-2.4.6-97.el7.centos.x86_64
	file /usr/share/man/man1/htpasswd.1.gz from install of httpd-tools-2.4.6-80.el7.centos.x86_64 conflicts with file from package httpd-tools-2.4.6-97.el7.centos.x86_64
    #选择安装tools 发现还有依赖需要解决
[root@heyihao ~]# yum -y install lrzsz # 添加一个传送文件的程序
  • 然后将我们准备好的 httpd-2.4.38.tar Apache安装包拉进Xshell
  • Apache安装包可以在官网进行下载:https://www.apache.org/
[root@heyihao ~]# ll  #查看一下桌面是否有 httpd-2.4.38.tar.gz
总用量 13932
-rw-------. 1 root root    1479 4月  14 23:33 anaconda-ks.cfg
-rw-r--r--. 1 root root 4963681 4月  20 15:28 Atlas-2.2.1.el6.x86_64.rpm
drwxrwxrwx. 2  500  500    4096 4月  15 12:53 cmatrix-1.2a
-rw-r--r--. 1 root root   74376 4月   1 2002 cmatrix-1.2a.tar.gz
drwxr-xr-x. 2 root root       6 4月  17 21:36 dir400
-rw-r--r--. 1 root root 9187294 4月  20 18:46 httpd-2.4.38.tar.gz # 检查后发现有
-rw-r--r--. 1 root root   25548 4月   7 2017 mysql57-community-release-el7-10.noarch.rpm
drwxr-xr-x. 2 root root       6 4月  17 22:22 公共
drwxr-xr-x. 2 root root       6 4月  17 22:22 模板
drwxr-xr-x. 2 root root       6 4月  17 22:22 视频
drwxr-xr-x. 2 root root       6 4月  17 22:22 图片
drwxr-xr-x. 2 root root       6 4月  17 22:22 文档
drwxr-xr-x. 2 root root       6 4月  17 22:22 下载
drwxr-xr-x. 2 root root       6 4月  17 22:22 音乐
drwxr-xr-x. 2 root root       6 4月  17 22:22 桌面
  • 对压缩包进行解压缩
[root@heyihao ~]# tar xf httpd-2.4.38.tar.gz  -C /usr/src #解压到自己熟悉的文件夹
[root@heyihao src]# ll #解压完成后查看一下
总用量 4
drwxr-xr-x.  2 root root    6 4月  11 2018 debug
drwxr-sr-x. 11 root dip  4096 1月  18 2019 httpd-2.4.38
drwxr-xr-x.  4 root root   70 4月  17 11:54 kernels
[root@heyihao src]# cd httpd-2.4.38/ #进入文件
[root@heyihao httpd-2.4.38]# ./configure    #配置发现报错
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
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
configure: 
configure: Configuring Apache Portable Runtime library...
configure: 
checking for APR... no
configure: error: APR not found.  Please read the documentation.#配置:错误:找不到APR 请阅读文档。
#工作环境中有很多问题直接将最后两行粘贴进百度
  • 百度:Apache安装错误 error : APR not found解决办法
  • 依次安装依赖包后进行配置 解决办法如下:
  • 第一步:解决APR
[root@heyihao src]# wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz #文件下载路径不要乱 路径为/usr/src
[root@heyihao src]# ll #下载完成后查看是否下载完成 完成后需要进行解压缩
总用量 976
-rw-r--r--.  1 root root 994320 2月  14 2012 apr-1.4.5.tar.gz
drwxr-xr-x.  2 root root      6 4月  11 2018 debug
drwxr-sr-x. 11 root dip    4096 4月  20 23:49 httpd-2.4.38
drwxr-xr-x.  4 root root     70 4月  17 11:54 kernels
[root@heyihao src]# tar xf apr-1.4.5.tar.gz #解压
[root@heyihao src]# ls
apr-1.4.5  apr-1.4.5.tar.gz  debug  httpd-2.4.38  kernels#检查解压结果
[root@heyihao src]# cd apr-1.4.5/ #进入解压后的路径
[root@heyihao apr-1.4.5]# ./configure --prefix=/usr/local/apr #进行配置 配置时指明安装路径
[root@heyihao apr-1.4.5]# echo $? #以上步骤完成了怎么确定成功使用命令 0表示成功
0
[root@heyihao apr-1.4.5]# make  #编译
[root@heyihao apr-1.4.5]# echo $? #再次进行检查
0
[root@heyihao apr-1.4.5]# make install #安装
  • 第二步:解决APR-util
[root@heyihao src]# wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz
[root@heyihao src]# tar xf apr-util-1.3.12.tar.gz  # 解压
[root@heyihao src]# cd apr-util-1.3.12/ #进入解压后的路径
[root@heyihao apr-util-1.3.12]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr # 安装及编译
[root@heyihao apr-util-1.3.12]# echo $? #安装过程中产生了错误所以我再次使用$?检查
0
[root@heyihao apr-util-1.3.12]# make && make install #编译和安装
  • 第三步:解决pcre

注:一直没找到解决解压缩ZIP的办法所以采用了工具 winSCP
手动解压缩之后拉回桌面再移动文件至 /usr/src
在这里插入图片描述

[root@heyihao src]# wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip #下载
[root@heyihao src]# cd pcre-8.10/ #进入解压后的路径
[root@heyihao pcre-8.10]# ./configure --prefix=/usr/local/pcre #配置
[root@heyihao pcre-8.10]# ./configure --prefix=/usr/local/pcre
-bash: ./configure: 权限不够  # 提示权限不够 那么使用提权
[root@heyihao pcre-8.10]# chmod +x configure #提权 +可执行权利
[root@heyihao pcre-8.10]# ./configure --prefix=/usr/local/pcre #正常配置
[root@heyihao pcre-8.10]# make && make install #编译和安装
  • 第四步:重新安装Apache
[root@heyihao src]# cd httpd-2.4.38/  # 进入Apache安装目录
[root@heyihao httpd-2.4.38]# ./configure --prefix=/usr/src/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre #需要用--with参数指定我们刚才安装的依赖包位置
[root@heyihao httpd-2.4.38]# make && make install #编译和安装
  • 第五步:启动Apache
[root@heyihao httpd-2.4.38]# ./httpd #启动Apache
httpd (pid 2025) already running #服务已启动
[root@heyihao ~]# systemctl disable firewalld #禁用防火墙
[root@heyihao ~]# systemctl stop firewalld    #关闭防火墙
[root@heyihao ~]# setenforce 0                #临时关闭Selinux
[root@heyihao ~]# vi /etc/sysconfig/selinux   #进入编辑器设置永久关闭Selinux
SELINUX=disabled #改为关闭
  • 查看端口
[root@heyihao httpd-2.4.38]# ss -lnt  #查看端口命令
State       Recv-Q Send-Q                   Local Address:Port                                  Peer Address:Port              
LISTEN      0      128                                  *:111                                              *:*                  
LISTEN      0      5                        192.168.122.1:53                                               *:*                  
LISTEN      0      128                                  *:22                                               *:*                  
LISTEN      0      128                          127.0.0.1:631                                              *:*                  
LISTEN      0      100                          127.0.0.1:25                                               *:*                  
LISTEN      0      128                          127.0.0.1:6010                                             *:*                  
LISTEN      0      80                                [::]:3306   # 80端口开启服务启动                                     [::]:*                  
LISTEN      0      128                               [::]:111                                           [::]:*                  
LISTEN      0      128                               [::]:80                                            [::]:*                  
LISTEN      0      128                               [::]:22                                            [::]:*                  
LISTEN      0      128                              [::1]:631                                           [::]:*                  
LISTEN      0      100                              [::1]:25                                            [::]:*                  
LISTEN      0      128                              [::1]:6010                                          [::]:*                  

如果不想编译安装可以直接使用yum 进行安装

[root@localhost ~]# yum -y install httpd # 直接执行 自己解决依赖
  • 第六步:将准备好的 html 源码上传至服务器
[root@heyihao ~]# cd /usr/src/apache #进入Apache
[root@heyihao apache]# ls #查看当前目录下的文件夹
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  man  manual  modules
[root@heyihao apache]# cd htdocs/  #进入htdocs文件夹
[root@heyihao htdocs]# rz -E  #将准备好的网页解压包拉进Xshell的当前目录下
rz waiting to receive.
[root@heyihao htdocs]# ll #查看是否拉取源码成功
总用量 5908
-rw-r--r--. 1 root root 6049632 4月  21 18:06 hi.zip
[root@heyihao htdocs]# unzip hi.zip  #解压源码
[root@heyihao htdocs]# ls #解压后查看
hi  hi.zip   
[root@heyihao htdocs]# cd hi #进入文件hi
[root@heyihao hi]# mv ./*   ../ #移动当前文件夹所有文件到上一级目录
[root@heyihao hi]# cd ../  #进入上一级目录
[root@heyihao htdocs]# ls #查看文件hi
about.html    css             foodnews.html  hi      images      js           services.html  ╨┬╜и╬─▒╛╬─╡╡.txt
contact.html  foodnews2.html  foodshow.html  hi.zip  index.html  lianxi.html  touming.html
[root@heyihao htdocs]# rm -rf hi  #删除文件hi也可以不删
  • 验证:使用浏览器进入网页查看是否上线源码成功

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

611#

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值