申明:以下操作,皆是在root用户权限下做的。

1、下载apache的源代码,我下载的是httpd-2.4.16.tar.bz2

2、将其解压放在 /usr/src目录下。

执行命令:

cd /usr

mkdir src

3、将文件上传到/usr/src目录下面

执行命令

 tar -xvjpf httpd-2.4.16.tar.bz2 -C /usr/src

此时报错:没有bzip2这个文件

然后通过:rpm -qa | grep bzip2* 查询对应的安装包。发现这个包在我的/dev/sr0当中。

接下来:mount /dev/cdrom /mnt/cdrom 将磁盘的内容,挂载上。

执行命令:

cp /mnt/cdrom/Packages/bzip2-1.0.6-12.el7.x86_64.rpm /usr/src

cd /usr/src

rpm -ivh bzip2-1.0.6-12.el7.x86_64.rpm

rm bzip2-1.0.6-12.el7.x86_64.rpm

 tar -xvjpf httpd-2.4.16.tar.bz2 -C /usr/src

====到这,文件被解压出来了=============================================

3、Apache编译

(1)空间需求:至少需要70M的空间。

(2)编译器要求:它是使用ANSIC语言编写的,所以用户必须装有ANSIC编译器,Apache工作组推荐使用(FSF)的GCC编译器。

执行命令:

find / -name gcc*

cp /mnt/cdrom/Packages/gcc-4.8.3-9.el7.x86_64.rpm /usr/src

rpm -ivh gcc-4.8.3-9.el7.x86_64.rpm

在这里报错:

错误:依赖检测失败:
        cpp = 4.8.3-9.el7 被 gcc-4.8.3-9.el7.x86_64 需要
        glibc-devel >= 2.2.90-12 被 gcc-4.8.3-9.el7.x86_64 需要
        libmpc.so.3()(64bit) 被 gcc-4.8.3-9.el7.x86_64 需要
        libmpfr.so.4()(64bit) 被 gcc-4.8.3-9.el7.x86_64 需要

是因为使用rpm安装gcc的时候,找不到其对应的依赖包。

接下来我们采用yum的方式安装gcc,

执行命令:

yum install gcc

在这里报错:

已加载插件:fastestmirror
http://mirrors.aliyun.com/centos/7.1.1503/os/x86_64/repodata/repomd.xml: [Errno 14] curl#7 - "Failed connect to mirrors.aliyun.com:80; 操作现在正在进行"
正在尝试其它镜像。
http://mirrors.sina.cn/centos/7.1.1503/os/x86_64/repodata/repomd.xml: [Errno 14] curl#7 - "Failed connect to mirrors.sina.cn:80; 拒绝连接"
正在尝试其它镜像。

因为我们公司使用的是代理上网,而我的虚拟机上的操作系统没有配置代理上网,所以找不到镜像了。

接下来

(方法一)配置一下代理上网(这个还不会,另外在家的话还要将代理去掉,不怎么通用)

(方法二)使用本地挂载的库作为yum的源

(a)挂载,之前已经挂载过了。(命令:mount /dev/cdrom /mnt/cdrom)

(b)添加cdrom repository

  # cd /etc/yum.repos.d

  # vi cdrom.repo

      往里面插入以下内容:

      [cdrom]
  name=cdrom-source
  baseurl=file:///mnt/cdrom/
  gpgcheck=1
  enabled=0
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

  

注意:[]中的名字是这个repository的标识,不能与已有的repository重名。baseurl指向cdrom路径

到此,yum的本地仓库算是配置好了,接下来就是yum的各种操作。为了让yum忽略其他repos而直接使用这个新增的repos,yum命令如下:

  # yum --disablerepo=* --enablerepo=cdrom [command] [packages]

      这样,不管是安装,搜索,更新等都只会检查cdrom这个repos,大大提高效率。在这里,我使用的是:

  #yum --disablerepo=* --enablerepo=cdrom install gcc

到此,gcc编译器就已经安装好了

(3)时间需求:由于HTTP协议以及GCC对时间有精确的要求,因此,需要同步操作系统的时间,推荐使用NTP服务或是直接使用ntpdate来对时。

 # ntpdate stdtime.gov.hk

 如果这个域名无效了的话,可以在网上搜索相应的“NTP服务器地址及IP”,并找到可以访问的代替即可。

 如果没有网络,则使用系统自带的date程序来对时。

 date 080915552015

 格式说明:date 月份日期小时分钟西元年

 #hwclock -w

 将时间写入到bios中

 (4)工具包需求:apr工具包最好是最新的,如果系统中的apr或是apr-util工具版本太低,则需要升级。

  以下链接是解决apr not found的问题:http://blog.csdn.net/linghao00/article/details/7926458

(5)执行编译命令

CC="gcc -m64" CXX="g++ -m64" \
./configure \
--prefix=/usr/local/apache2 \
--enable-modules='most' \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-pcre=/usr/local/pcre

(6)make -j3       (一个CPU使用j3,多一个CPU就往上面加2)

(7)make install

(8)去启动apache,查看安装的结果。

posted on 2015-08-09 15:07  天狼群星  阅读(519)  评论(0)    收藏  举报