搭建基于http的本地yum源服務器

概述


yum相較于rpm,能夠更好地解決安裝軟件時的依賴包問題,使用yum安裝更簡單更方便。搭建本地YUM源服務器,可以避免升級安裝軟件時占用公網帶寬;有了本地YUM源服務器,可以解決無法連接Internet的其他YUM客戶端的軟件升級和安裝。

本文主要介紹了以下內容:

  • 通過編譯Apache源碼包安裝httpd服務;

  • 搭建基于HTTP的yum源服務器;

  • 將Internet的yum源rpm包下載到自己的yum服務器。


搭建環境


系統:CentOS Linux release 7.2.1511 (Core)(minimal安裝)

服務器:10.10.10.100/24

客戶端:10.10.10.70/24

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

搭建基于http的本地yum源服務器
 5.修改網頁目錄地址

[root@IP100-CentOS7 ~]# >>vim /usr/local/apache2/conf/httpd.conf

DocumentRoot "/var/www/html"

<Directory "/var/www/html">

搭建基于http的本地yum源服務器

6.測試網絡

在瀏覽器中輸入服務器地址:

搭建基于http的本地yum源服務器

到此,我們已經完成了編譯安裝 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/目錄,這里我僅做測試,復制了幾個包進去:

搭建基于http的本地yum源服務器

在瀏覽器上輸入網址:

搭建基于http的本地yum源服務器

3.安裝createrepo,此程序主要用于生成創建yum倉庫,創建索引信息。

[root@IP100-CentOS7 x86_64]# >>yum install createrepo
[root@IP100-CentOS7 ~]# >>createrepo /var/www/html/centos/7/os/x86_64/

搭建基于http的本地yum源服務器

到這里我們已經完成了yum源服務器的配置。

我們到客戶端進行測試:

[root@IP70-CentOS7 ~]# >>vim /etc/yum.repos.d/Local.repo

搭建基于http的本地yum源服務器

[root@IP70-CentOS7 ~]# >>yum clean all
[root@IP70-CentOS7 ~]# >>yum makecache
[root@IP70-CentOS7 ~]# >>yum repolist

搭建基于http的本地yum源服務器

搭建基于http的本地yum源服務器

可以看到,這正是yum源服務器測試的rpm軟件包,大功告成~!

擴展

在這里我們可以使用一個小工具:yumdownloader

### 查詢yumdownloader隸屬于哪個安裝包
[root@IP100-CentOS7 ~]# >>yum provides yumdownloader
### 安裝 yum-utils
[root@IP100-CentOS7 ~]# >>yum install -y yum-utils

搭建基于http的本地yum源服務器搭建基于http的本地yum源服務器

yumdownloader的用法很簡單:

      • yumdownloader [options] package1 [package2…]

直接跟.rpm包的名字,就可以下載包到當前目錄,也可以帶選項下載到指定目錄,具體查看man  yumdownloader

這里我們測試下載kernel*的包:

搭建基于http的本地yum源服務器

原創文章,作者:昭其,如若轉載,請注明出處:http://www.www58058.com/39898

(0)
昭其昭其
上一篇 2016-08-24
下一篇 2016-08-24

相關推薦

  • 馬哥教育網絡班20期+第1周課程練習

    1、描述計算機的組成及其功能。  (1)組成:運算器、控制器、存儲器、輸入設備、輸出設備  (2)功能:數值計算、數據處理、自動控制、輔助設計、輔助教學、人工智能、娛樂活動 2、按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。  (1)主要發行版本之間關系    基于slackware:sus…

    Linux干貨 2016-06-23
  • linux基礎知識

    馮*諾依曼體系 摩爾定律

    2018-03-26
  • Linux網絡屬性配置(三)修改配置文件&& CentOS 7 網絡配置

    Linux網絡屬性配置(三)&& CentOS 7網絡配置 Linux網絡屬性配置(三)修改配置文件&& CentOS 7 網絡配置 Linux網絡屬性配置(三)修改配置文件 IP、MASK、GW、DNS相關配置文件: /etc/sysconfig/network-scripts/ifcfg-IFACE 路由相關配置文件: /…

    Linux干貨 2016-07-07
  • 用戶管理簡述

    組內用戶管理匯總 基于組來管理用戶 相關命令:gpasswd groupmems 添加用戶 gpasswd -a wangcai group :向group里添加用戶 wangcai gpasswd -M wangcai,xiaoqiang group :向group里批量添加xiaoqiang wangcai ,不過這個方式會覆蓋之前的組員 groupme…

    2017-02-23
  • ansible批量部署主從DNS

    什么是DNS服務DNS的解析流程分析遞歸查詢迭代查詢DNS相關的術語說明生產環境中的應用Bind9常見配置說明使用ansible自動部署主從DNS 什么是DNS服務 DNS(Domain Name Service)是Internet上用于名稱解析的服務,簡單來說,就是將域名轉換為IP地址的服務(正向解析),也可以用于將IP地址解析為對應的…

    Linux干貨 2016-06-29
  • 第十七周作業

    1、結合圖形描述LVS的工作原理; 工作方式: LVS由前端的負載均衡器(Load Balancer,LB)和后端的真實服務器(Real Server,RS)群組成。RS間可通過局域網或廣域網連接。LVS的這種結構對用戶是透明的,用戶只能看見一臺作為LB的虛擬服務器(Virtual Server),而看不到提供服務的RS群。當用戶的請求發往虛擬服務器,LB根…

    2017-05-27
欧美性久久久久