引用:https://www.bbsmax.com/A/x9J2PlPVd6/

https://blog.csdn.net/wangshuminjava/article/details/80483397

 

制作本地yum源

我用的VMware Workstation

系统环境: CentOS 7.5

首先我们先要挂载系统镜像

  1. [root@laopa ~]#mount /dev/sr0 /media/ceshi
    执行这条命令之前,先要确保你的/media/下 ceshi 这个目录 (创建目录我就不多说了mkdir)
  1. [root@laopa ~]#df ---查看有无挂载条目
  1. [root@laopa ~]#rm -rf /etc/yum.repos.d/*

  1. 在配置新yum仓库的时候,我们先删除之前的配置文件
  1. 删好之后,cd yum.repos.d/ 这个目录里创建一个配置文件
  2. [root@laopa ~]#touch ceshi.repo //配置文件可为*.repo
  3. [root@laopa ~]#vim ceshi.repo //编写这个配置文件

[CentOS7.5]
name=CentOS7.5-ISO
baseurl=file:///media/ceshi --挂载镜像的地址
enabled=1 ----开启此仓库 若为0 关闭
gpgcheck=0 ----关闭校验功能 若为1 开启

  1. 检查yum 能否可以使用 : yum repolist

  1. 到这一步 , 我们的本地yum源就搭建完成了!

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

开始编译安装httpd

首先 httpd 需要依赖于 apr 和 apr-util

所以 要先编译安装 apr 与 apr-util

下载系统环境依赖包:

# yum -y install pcre pcre-devel zlib zlib-devel apr-devel apr-util-devel

实现准备好这三个文件,并上传到你的Linux 服务器上

  1. tar -jxf apr-1.6.3.tar.bz2
  2. tar -jxf apr-util-1.6.1.tar.bz2
  3. tar -zxf httpd-2.4.41.tar.gz
  4. 解压这些文件
  1. [root@laopa ~]#cd apr-1.6.3/ ---进入apr-1.6.3 目录下
  2. [root@laopa ~]#./configure --prefix=/usr/local/apr
    ---配置这个安装包.并指明安装到/usr/local/apr 目录下
  3. [root@laopa ~]#make && make install ----编译并安装

    可以输入 echo $? 检查有无报错

然后开始安装apr-util

  1. 进入apr-util 文件夹
  2. 输入./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
    ///配置apr-util 并指明安装到/usr/local/apr-util 目录下 指出他依赖文件apr 在哪个目录
  3. 配置完成之后
  4. make && make install

继续安装httpd

  1. 进入解压出来的httpd文件夹
  2. ./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
    配置httpd文件 并指明安装到/usr/local/httpd 目录下 并指出他的依赖文件 apr apr-util 都在哪个目录
  3. 然后编译与安装
  4. make && make install

到这一步,httpd 就安装好了

如果要启动他的网页服务

  1. 进入安装到的httpd文件目录
    httpd/bin/
  2. 安装好之后: httpd 文件夹里 htdocs是放网页文件的 , /usr/local/httpd/bin/ 目录里 apachectl 是启动网页服务的

在httpd/bin/ 里  输入

  1. ./apachectl -k start --启动命令
  2. ./apachectl -k stop --停止命令

    已经运行httpd

可以输入netstat -tanlp检测80端口是否up

这里我们是编译成功的

注:

如果到这步 还不能访问网页的同学

请关闭Linux 的防火墙!

  1. systemctl stop firewalld.service

------------------------------------------

下面是在线yum源安装httpd

首先保证你的虚拟机可以连通外网,设置参考https://www.cnblogs.com/laopa/p/WL.html

过程就尤其简单了,直接安装httpd

安装好之后

rpm -ql httpd  ---检查在哪个目录

这里是在/var/www/html 这里的

进入这个目录

创建一个html文件 ,  touch index.html

编写他  vi index.html

测试页面编辑好之后保存退出

开启httpd服务  ,    servic 

如果不能访问,直接关闭防火墙或放行80端口

关闭防火墙:  # service firewalld stop

放行端口:  # iptables -t filter -I INPUT -p tcp --dport 80 -j ACCEPT

 

 

一、手动安装

也可以直接看下面2的yum在线安装


1. 准备

  1. 有些linux版本中已经预置了有Apache,并且已经是服务了,所有首先检查系统中是否已经存在httpd的服务

    1.  
      # 1. 查看是否有httpd进程正在运行(下图是有的情况)
    2.  
      ps -ef|grep httpd
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3

    这里写图片描述

    1.  
      # 2. 查看linux系统服务中有没有httpd(下图是有的情况)
    2.  
      chkconfig --list
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3

    这里写图片描述

  2. 如果有processor或者有service,就执行如下步骤,没有的话可以跳过此步

    1. 关闭httpd服务自启动

      chkconfig httpd off
      
      • 1
      • 2
      • 1
      • 2
    2. 停止httpd服务

      1.  
        service httpd stop
      2.  
         
      3.  
        #停止后查看进程processor,如果依然有httpd,手动kill掉
      4.  
        ps -ef|grep httpd
      5.  
         
      6.  
        kill -9 pid(逐个都删除)
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
    3. 卸载httpd软件

      1.  
        #先检查安装包的名字
      2.  
        rpm -qa|grep httpd
      • 1
      • 2
      • 3
      • 1
      • 2
      • 3

      这里写图片描述

      1.  
        #根据名字删除包
      2.  
        rpm -e httpd-tools-2.4...
      • 1
      • 2
      • 3
      • 1
      • 2
      • 3
    4. 删除httpd.conf文件

      1.  
        #先检查文件在哪
      2.  
        find / -name httpd.conf
      3.  
         
      4.  
        #查出之后根据路径把它删了
      5.  
        rm /xxx/xxx/httpd.conf
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
  3. 软件下载

    1. Apache HTTP Server

    地址:http://httpd.apache.org/download.cgi#apache24

    2. APR 和 APR-Util

    地址:http://apr.apache.org/download.cgi

    3. PCRE

    地址:https://sourceforge.net/projects/pcre/files/pcre/

2. 安装

1. 如果没有安装gcc/gcc-c++的话必须安装

  1.  
    [root@localhost /]#gcc -v
  2.  
     
  3.  
    gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC)
  4.  
    ## 这个结果就是有gcc,那么就不需要看下面的安装gcc了
  5.  
     
  6.  
    [root@localhost /]# yum list
  7.  
     
  8.  
    ##一种可能的搜索结果如下:有包但没安装
  9.  
    Avaliable Packages
  10.  
    gcc-c++.x86_64
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

如果结果中没有gcc-c++,或者只有”gcc-c++ Avaliable Packages”没有”gcc-c++ Installed”的话就说明需要安装,安装代码如下:

[root@localhost /]# yum install gcc-c++
  • 1
  • 1

2. 安装APR、APR-Util、PCRE、Apache Http Server

  1. 将这些都安装在/usr/local中,先mkdir目录如下:

    1.  
      [root@localhost soft]# mkdir /usr/local/httpd
    2.  
      [root@localhost soft]# mkdir /usr/local/apr
    3.  
      [root@localhost soft]# mkdir /usr/local/apr-util
    4.  
      [root@localhost soft]# mkdir /usr/local/pcre
    • 1
    • 2
    • 3
    • 4
    • 1
    • 2
    • 3
    • 4
  2. 然后步骤如下(直接顺序复制粘贴):

    1.  
      [root@localhost soft]# tar -zxf apr-1.5.2.tar.gz
    2.  
      [root@localhost soft]# tar -zxf apr-util-1.5.4.tar.gz
    3.  
      [root@localhost soft]# tar -zxf pcre-8.38.tar.gz
    4.  
      [root@localhost soft]# tar -zxf httpd-2.4.18.tar.gz
    5.  
       
    6.  
      [root@localhost soft]# cd apr-1.5.2
    7.  
      [root@localhost apr-1.5.2]# ./configure --prefix=/usr/local/apr
    8.  
      [root@localhost apr-1.5.2]# make
    9.  
      [root@localhost apr-1.5.2]# make install
    10.  
       
    11.  
      [root@localhost apr-1.5.2]# cd ../apr-util-1.5.4
    12.  
      [root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
    13.  
      [root@localhost apr-util-1.5.4]# make
    14.  
      [root@localhost apr-util-1.5.4]# make install
    15.  
       
    16.  
      [root@localhost apr-util-1.5.4]# cd ../pcre-8.38
    17.  
      [root@localhost pcre-8.38]# ./configure --prefix=/usr/local/pcre --with-apr=/usr/local/apr/bin/apr-1-config
    18.  
      [root@localhost pcre-8.38]# make
    19.  
      [root@localhost pcre-8.38]# make install
    20.  
       
    21.  
      [root@localhost pcre-8.38]# cd ../httpd-2.4.18
    22.  
      [root@localhost httpd-2.4.18]# ./configure --prefix=/usr/local/httpd --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
    23.  
      [root@localhost httpd-2.4.18]# make
    24.  
      [root@localhost httpd-2.4.18]# make install
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

二、yum安装

老简单了

  1.  
    ## 先yum list看看有没有你可以的包
  2.  
    yum list httpd
  3.  
     
  4.  
    ## 如果有的话,比如我用x86_64版,就可以安装
  5.  
    yum install httpd.x86_64
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

三、配置、启动Apache

  1. httpd.conf是主配置文件,你可以按需更改,一般来说可能需要自定义端口,那么就vim修改httpd.conf文件的监听端口,改为你希望的 
    这里写图片描述

  2. 启动、关闭、重启

    1.  
      [root@localhost bin]# ./apachectl start
    2.  
      [root@localhost bin]# ./apachectl stop
    3.  
      [root@localhost bin]# ./apachectl restart
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3

四、Apache设置为Linux系统服务,并开机启动

  1. 将链接apachectl 复制到系统启动目录下并命名为httpd

    [root@localhost bin]# cp /usr/local/httpd/bin/apachectl /etc/rc.d/init.d/httpd
    
    • 1
    • 2
    • 1
    • 2

    到此,其实已经可以使用service httpd start等命令,但在linux服务列表还没有注册

  2. 使用chkconfig来注册apache服务,并其可以在linux的服务列表中看到(chkconfig –list)

    1. 在init.d的httpd链接文件中第2行添加如下注释,并wq保存退出

      [root@localhost bin]#  vim /etc/rc.d/init.d/httpd
      • 1
      • 1

      这里写图片描述

      1.  
        意义如下
      2.  
        35:在3级别和5级别(级别见文末TIPS)启动httpd
      3.  
        61:启动顺序为61号,S61
      4.  
        61:关闭顺序为61号,K61
      5.  
        当进行chkconfig --add httpd操作时,如果没有指定level那么就会来这个注释中取值
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
    2. 将httpd配置自启并加入linux服务监控

      [root@localhost bin]# chkconfig --add httpd
      
      • 1
      • 2
      • 1
      • 2

      此时,就可以在rc.d下的相应的3和5目录下看到S61httpd,并在0、1、2、4、6目录看到K61httpd了

  3. 这是2步的手动设置方式,不想看可以跳过。可以手动设置自启动:将链接apachectl放一份软链接到rc3.d目录下(和/或rc*.d目录下)

    [root@localhost bin]# ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S61httpd
    
    • 1
    • 2
    • 1
    • 2

    这样,已经设置了在“有网络多用户命令行模式下”在61顺序自动启动httpd服务了



TIPS:

1. chkconfig有0-6总共7个等级:

0:表示关机 
1:单用户模式 
2:无网络连接的多用户命令行模式 
3:有网络连接的多用户命令行模式 
4:不可用 
5:带图形界面的多用户模式 
6:重新启动

posted on 2020-09-11 18:46  shuangxinye  阅读(535)  评论(0编辑  收藏  举报