申明:以下操作,皆是在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,查看安装的结果。
浙公网安备 33010602011771号