<a href="https://s3.51cto.com/wyfs02/M02/A7/2C/wKioL1niOurSdXHmAAnT5HysGDU344.png" target="_blank"></a>
CentOS自带yum仓库源网址是国外的网址,所以从国内下载国外网址的rpm包有时候会很慢或者无法下载,这时可以更换国内的yum仓库源来解决这个问题。
1.删除yum.repos.d目录下的CentOS-Base.repo文件
<a href="https://s2.51cto.com/wyfs02/M00/08/78/wKiom1niPaKxv5WnAAGpbwZMhSc966.png" target="_blank"></a>
2.使用curl命令或使用wget命令下载163的源,因为上一步我把CentOS-Base.repo文件给删掉了,所以只能使用curl命令:
命令如下:
<a href="https://s5.51cto.com/wyfs02/M00/A7/2C/wKioL1niOuyDdcP8AAKcSWI_QpE384.png" target="_blank"></a>
3.查看yum.repos.d目录下是否有CentOS7-Base-163.repo文件:
<a href="https://s3.51cto.com/wyfs02/M01/08/78/wKiom1niPaLiOd3dAAE4Fcu1fOs226.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M00/A7/2C/wKioL1niOvPBc2QaAA4HgBGdDxc042.png" target="_blank"></a>
4.最后可以使用yum list查看一下可用的rpm包。
安装wget命令:
<a href="https://s1.51cto.com/wyfs02/M01/08/78/wKiom1niPamy_Im1AAG7Y2eG3BM211.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M01/A7/2C/wKioL1niOvjBVc7IAAmxNITrYow298.png" target="_blank"></a>
因为仅有一个163的基础yum源,所以可能会有一些rpm包是仓库里没有的,需要安装扩展源来下载一些仓库里没有的rpm包。
1.安装epel:
<a href="https://s2.51cto.com/wyfs02/M01/A7/2C/wKioL1niOxGxn-GAAAIwxinhes4347.png" target="_blank"></a>
2.查看yum.repos.d目录会发下载了两个epel开头的文件:
<a href="https://s5.51cto.com/wyfs02/M02/08/78/wKiom1niPcjB0jyoAAJ5lF3XVg0185.png" target="_blank"></a>
3.使用yum list列出可用的rpm包,会发现包增加了很多:
<a href="https://s1.51cto.com/wyfs02/M02/08/78/wKiom1niPcmCFCwCAALZABf3bvs928.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M02/A7/2C/wKioL1niOxaDpMQ0AAgQ1KqZ9IQ299.png" target="_blank"></a>
可以使用grep过滤一下看得比较直观:
<a href="https://s3.51cto.com/wyfs02/M02/A7/2C/wKioL1niOxeScUdrAACwmTCu_N4368.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M00/08/78/wKiom1niPdPglHiFAA5VjkIWkzo636.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M00/A7/2C/wKioL1niOyLDE4KOAAis_JWKFSA816.png" target="_blank"></a>
因为本地yum仓库的rpm包有限,所以有很多rpm包需要在网络上下载。但是我希望把rpm包下载到本地,下一次再使用就不需要到网络上下载了,所以我们需要用yum下载rpm包到本地。
下载rpm包时要确保这个包没有下载过,不然系统就会提示已经下载过了。
1.下载示例:
<a href="https://s2.51cto.com/wyfs02/M01/08/78/wKiom1niPfjj99YVAAoh7fCfuTQ709.png" target="_blank"></a>
2.查看存放rpm包的路径:
ls /var/cache/yum/x86_64/7/updates/packages/
<a href="https://s5.51cto.com/wyfs02/M01/A7/2C/wKioL1niO0PiXfIYAAKk_seBGzY785.png" target="_blank"></a>
下载rpm包时可以通过--downloaddir指定rpm的存放路径,例如我放在tmp目录下:
yum install zsh --downloadonly --downloaddir=/tmp/
<a href="https://s1.51cto.com/wyfs02/M02/08/78/wKiom1niPfrBlcupAAJ5lMdgvtI269.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M02/A7/2C/wKioL1niO0ThURJ6AAI0NGP7nio152.png" target="_blank"></a>
如果要下载的rpm包已经安装了,会出现以下提示:
<a href="https://s1.51cto.com/wyfs02/M00/08/78/wKiom1niPfySebU4AAM4bLuMc6o853.png" target="_blank"></a>
如果需要下载已经安装了的rpm包可以使用reinstall命令:
yum reinstall vim-enhanced --downloadonly --downloaddir=/tmp/
<a href="https://s5.51cto.com/wyfs02/M00/A7/2C/wKioL1niO0iB8GImAAXc_00fnV4368.png" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M00/08/78/wKiom1niPf_hX-YCAAHuzzE1mFU934.png" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M01/08/78/wKiom1niPizwfiPoAAuoTTmbe_8751.png" target="_blank"></a>
源码包最好放到/usr/local/src/路径下,方便查找、方便使用这个操作系统的其他人。
使用wget下载Apache:
可以到以下网址获得Apache源码包下载链接:
r.aminglinux.com
<a href="https://s1.51cto.com/wyfs02/M00/A7/2C/wKioL1niO3jghnRMAAOE4eN5y80366.png" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M01/08/78/wKiom1niPjChCHdfAAMnGgyiQUw159.png" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M01/A7/2C/wKioL1niO3qyekdFAADe3_lXH8U438.png" target="_blank"></a>
解压下载好的源码包:
<a href="https://s2.51cto.com/wyfs02/M01/A7/2C/wKioL1niO3rDlaO_AAD0D1BRQko623.png" target="_blank"></a>
列出源码包下的内容:
<a href="https://s2.51cto.com/wyfs02/M02/08/78/wKiom1niPjCg3CHgAAKToJGimOU919.png" target="_blank"></a>
大写名称的都是官方文档,INSTALL文档里有介绍如何安装源码包。
<a href="https://s2.51cto.com/wyfs02/M02/08/78/wKiom1niPjORcSdmAAZweY3IFRk538.png" target="_blank"></a>
关于echo $?命令:
如果你执行一条命令,而且这个命令会输出很多信息,例如安装源码包时使用的那些命令。因为输出的信息太多,有时候命令执行完了并不能确定是否执行成功了,这时候就可以使用echo $?命令查看上一条令是否是正确的,结果是1就是执行失败,0则是执行成功。
安装gcc编译器:
<a href="https://s5.51cto.com/wyfs02/M02/A7/2C/wKioL1niO32xSIKPAAEZNy94RKw900.png" target="_blank"></a>
然后就可以进行编译了,但是我这编译出了问题,缺少APR包:
<a href="https://s5.51cto.com/wyfs02/M02/A7/2C/wKioL1niO4Sgp4diAAis_Bhr8v4030.png" target="_blank"></a>
所以我需要先下载这些apr包:
在以下链接可以找到这些包的下载地址:
下载apr-1.5.2.tar.gz包:
wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
<a href="https://s5.51cto.com/wyfs02/M00/08/78/wKiom1niPjzBpOPMAAP_6L7oJV8066.png" target="_blank"></a>
解压apr-1.5.2.tar.gz包:
<a href="https://s5.51cto.com/wyfs02/M00/08/78/wKiom1niPj3wJ6xwAAIb5lWhHUA311.png" target="_blank"></a>
编译:
1../configure --prefix=/usr/local/apr/
<a href="https://s3.51cto.com/wyfs02/M00/A7/2C/wKioL1niO4iyWF4BAAITqFbvdiw899.png" target="_blank"></a>
2.[root@localhost apr-1.5.2]# make
3.[root@localhost apr-1.5.2]# make install
完成上面操作就继续编译Apache,这一步需要指定apr包的安装目录,因为我们是自定义安装的:
./configure --prefix=/usr/local/apache2/ --with-apr=/usr/local/apr/
<a href="https://s4.51cto.com/wyfs02/M01/08/78/wKiom1niPj6y2pR0AAEnU9wWOTk475.png" target="_blank"></a>
继续编译发现还是缺少一个包:
<a href="https://s1.51cto.com/wyfs02/M01/A7/2C/wKioL1niO46gIK8MAAkMY5g-bqI267.png" target="_blank"></a>
再去刚刚那个网址找这个包的下载链接:
<a href="http://archive.apache.org/dist/apr/apr-util-1.6.0.tar.gz" target="_blank">http://archive.apache.org/dist/apr/apr-util-1.6.0.tar.gz</a>
下载apr-util-1.6.0.tar.gz包:
<a href="https://s5.51cto.com/wyfs02/M02/08/78/wKiom1niPxSgX38cAAPDPZjemBc012.png" target="_blank"></a>
解压apr-util-1.6.0.tar.gz包:
[root@localhost src]# tar -xvzf apr-util-1.6.0.tar.gz
<a href="https://s5.51cto.com/wyfs02/M02/A7/2C/wKioL1niPF_jDEBOAAD76XugJB4297.png" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M02/A7/2C/wKioL1niPF_DPaEvAABjpVohDbM717.png" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M00/08/78/wKiom1niPxWhlsOXAACCzbaYab8224.png" target="_blank"></a>
完成上面操作就再次编译Apache,这一步不仅需要指定apr包的安装目录,还要指定apr-util包的安装目录,因为我们都是自定义安装的:
./configure --prefix=/usr/local/apache2/ --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/
<a href="https://s4.51cto.com/wyfs02/M00/08/78/wKiom1niPxXyJVwSAAC_MliEAEk013.png" target="_blank"></a>
然后发现依旧报错,缺少PRCE,对此我有句MMP不知道当不当讲,编译Apache。。。这真是个so eggache的过程:
<a href="https://s4.51cto.com/wyfs02/M00/A7/2C/wKioL1niPGCSpMXeAAL7sBgGbkY847.png" target="_blank"></a>
到以下网址找PCRE下载链接:
获得下载链接:
<a href="https://nchc.dl.sourceforge.net/project/pcre/pcre/8.41/pcre-8.41.tar.gz" target="_blank">https://nchc.dl.sourceforge.net/project/pcre/pcre/8.41/pcre-8.41.tar.gz</a>
下载PCRE:
<a href="https://s1.51cto.com/wyfs02/M00/A7/2C/wKioL1niPGHQGLUjAADqlw9gF04301.png" target="_blank"></a>
解压PCRE:
<a href="https://s1.51cto.com/wyfs02/M02/08/78/wKiom1niP07Sh_vMAADCNc4w0CI076.png" target="_blank"></a>
在编译之前先在yum可用安装组里下载安装Development Tools,因为这玩意需要C++来编译:
<a href="https://s1.51cto.com/wyfs02/M02/A7/2C/wKioL1niPJjTHNrYAAC9ZGmBDkI867.png" target="_blank"></a>
安装完之后倒回去编译PCRE:
<a href="https://s1.51cto.com/wyfs02/M00/A7/2C/wKioL1niPJjwnsuhAAE_IGiITA4857.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M00/08/78/wKiom1niP0-jhD9cAAB0OIWR7tQ333.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M00/A7/2C/wKioL1niPJnivKfKAACLbCBeIMk622.png" target="_blank"></a>
现在继续倒回去编译Apache,这次得加上pcre的安装路径,如果还报错我就不玩了:
<a href="https://s3.51cto.com/wyfs02/M01/08/78/wKiom1niP0_CJK7LAADhhtpOVd0979.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M01/08/78/wKiom1niP0_DzpaQAAB5UqFsX-s843.png" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M01/A7/2C/wKioL1niPKyRORoQAAC2fhWJWcg507.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M01/A7/2C/wKioL1niPKySmoszAAKBaz3g_b0444.png" target="_blank"></a>
启动服务后出现这个信息的话,需要编辑apache里conf目录下的httpd.conf文件,将里面的#ServerName www.example.com:80位之下添加ServerName localhost:80:
<a href="https://s5.51cto.com/wyfs02/M02/08/78/wKiom1niP2PwwydrAAIRhFWHLdg691.png" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M02/08/78/wKiom1niP2SyBrQPAAG41UaLbLU987.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M02/A7/2C/wKioL1niPLKB7Sc3AAVA3PYLmaA858.png" target="_blank"></a>
然后重启服务:
<a href="https://s3.51cto.com/wyfs02/M02/A7/2C/wKioL1niPLSwDvfeAALORyNTrRo206.png" target="_blank"></a>
如果有安装lynx浏览器可以用以下命令访问apache的网页:
<a href="https://s4.51cto.com/wyfs02/M00/08/78/wKiom1niP2rRZ5eGAACNOzMtOrE278.png" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M00/08/78/wKiom1niP3LzZpFRAAgNHLUB54I993.png" target="_blank"></a>
打完收工!到此为止apache就安装完成了。
本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1972445,如需转载请自行联系原作者