概述html
yum相較於rpm,可以更好地解決安裝軟件時的依賴包問題,使用yum安裝更簡單更方便。搭建本地YUM源服務器,能夠避免升級安裝軟件時佔用公網帶寬;有了本地YUM源服務器,能夠解決沒法鏈接Internet的其餘YUM客戶端的軟件升級和安裝。linux
本文主要介紹瞭如下內容:c++
經過編譯Apache源碼包安裝httpd服務;apache
搭建基於HTTP的yum源服務器;vim
將Internet的yum源rpm包下載到本身的yum服務器。centos
搭建環境瀏覽器
系統:CentOS Linux release 7.2.1511 (Core)(minimal安裝)服務器
服務器:10.10.10.100/24網絡
客戶端:10.10.10.70/24ide
httpd版本:httpd-2.4.23
服務器安裝httpd
1. 準備環境及軟件源碼包
首先咱們要安裝編譯環境所需的gcc 和gcc-c++編譯器:
[root@IP100-CentOS7 ~]# >>yum install -y wget gcc gcc-c++
咱們能夠登陸Apache的官方頁面(http://httpd.apache.org/download.cgi#apache24)進行軟件下載,咱們這裏用wget進行下載,並用tar命令進行解壓:
[root@IP100-CentOS7 ~]# >>wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.23.tar.gz
[root@IP100-CentOS7 ~]# >>wget http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz
[root@IP100-CentOS7 ~]# >>wget http://mirrors.cnnic.cn/apache//apr/apr-util-1.5.4.tar.gz
[root@IP100-CentOS7 ~]# >>wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
[root@IP100-CentOS7 ~]# >>tar xf httpd-2.4.23.tar.gz
[root@IP100-CentOS7 ~]# >>tar xf apr-1.5.2
[root@IP100-CentOS7 ~]# >>tar xf apr-util-1.5.4.tar.gz
[root@IP100-CentOS7 ~]# >>tar xf pcre-8.38.tar.gz
httpd-2.4.23.tar.gz是主程序包,其餘三個是安裝須要的依賴包,pcre-8.38.tar.gz須要 gcc-c++編譯支持。
2. 開始編譯安裝
安裝順序是 apr-1.5.2 ==> apr-util-1.5.4.tar.gz ==> pcre-8.38.tar.gz ==> httpd-2.4.23.tar.gz
### 編譯安裝 apr-1.5.2
[root@IP100-CentOS7 ~]# >>cd apr-1.5.2
[root@IP100-CentOS7 ~]# >>./configure --prefix=/usr/local/apr
[root@IP100-CentOS7 ~]# >>make && make install
### 編譯安裝 apr-util-1.5.4
[root@IP100-CentOS7 ~]# >>cd apr-util-1.5.4
[root@IP100-CentOS7 ~]# >>./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@IP100-CentOS7 ~]# >>make && make install
### 編譯安裝 pcre-8.38
[root@IP100-CentOS7 ~]# >>cd pcre-8.38
[root@IP100-CentOS7 ~]# >>./configure --prefix=/usr/local/pcre
[root@IP100-CentOS7 ~]# >>make && make install
### 編譯安裝 httpd-2.4.23 (注意:須要經過--with-apr=指定三個依賴包的安裝路徑)
[root@IP100-CentOS7 ~]# >>cd httpd-2.4.23
[root@IP100-CentOS7 ~]# >>./configure --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre
[root@IP100-CentOS7 ~]# >>make && make install
3. 配置apache2
1.二進制程序目錄導入至PATH環境變量中;
因爲咱們是默認安裝,httpd默認安裝於/usr/local/apache2。這裏,咱們須要將目錄添加到系統環境$PATH中
[root@IP100-CentOS7 bin]# >>echo 'export PATH=/usr/local/apache2/bin:$PATH' > /etc/profile.d/httpd.sh
2.添加開機啓動
[root@IP100-CentOS7 bin]# >>echo '/usr/local/apache2/bin/apachectl start' >> /etc/rc.d/rc.local
[root@IP100-CentOS7 ~]# >>chmod +x /etc/rc.d/rc.local
3.導入頭文件
咱們基於連接的方式實現:
[root@IP100-CentOS7 apache2]# >>ln -s /usr/local/apache2/include/ /usr/include/httpd
4.導入幫助手冊
編輯/etc/man_db.conf文件(CentOS6爲/etc/man.config),添加以下條目:
MANDATORY_MANPATH /usr/local/apache2/man
5.修改網頁目錄地址
[root@IP100-CentOS7 ~]# >>vim /usr/local/apache2/conf/httpd.conf
DocumentRoot "/var/www/html"
<Directory "/var/www/html">
6.測試網絡
在瀏覽器中輸入服務器地址:
到此,咱們已經完成了編譯安裝 httpd服務器了。接下來咱們進行yum源服務器的搭建。
YUM源服務器搭建
1.建立文件夾
咱們先建立存放 .RPM的目錄
[root@IP100-CentOS7 conf]# >>mkdir -p /var/www/html/centos/7/os/x86_64/Packages/
2.咱們能夠將光盤鏡像Packages目錄裏的 .rpm包複製到 /var/www/html/centos/7/os/x86_64/Packages/目錄,這裏我僅作測試,複製了幾個包進去:
在瀏覽器上輸入網址:
3.安裝createrepo,此程序主要用於生成建立yum倉庫,建立索引信息。
[root@IP100-CentOS7 x86_64]# >>yum install createrepo
[root@IP100-CentOS7 ~]# >>createrepo /var/www/html/centos/7/os/x86_64/
到這裏咱們已經完成了yum源服務器的配置。
咱們到客戶端進行測試:
[root@IP70-CentOS7 ~]# >>vim /etc/yum.repos.d/Local.repo
[root@IP70-CentOS7 ~]# >>yum clean all
[root@IP70-CentOS7 ~]# >>yum makecache
[root@IP70-CentOS7 ~]# >>yum repolist
能夠看到,這正是yum源服務器測試的rpm軟件包,大功告成~!
擴展
在這裏咱們可使用一個小工具:yumdownloader
### 查詢yumdownloader隸屬於哪一個安裝包
[root@IP100-CentOS7 ~]# >>yum provides yumdownloader
### 安裝 yum-utils
[root@IP100-CentOS7 ~]# >>yum install -y yum-utils
yumdownloader的用法很簡單:
yumdownloader [options] package1 [package2...]
直接跟.rpm包的名字,就能夠下載包到當前目錄,也能夠帶選項下載到指定目錄,具體查看man yumdownloader
這裏咱們測試下載kernel*的包: