インターネットへ接続できないサーバでyumを使う

インターネットへ接続できない環境にあるサーバ(以下、サーバB)で、yumを使ってパッケージのインストールをする方法。

はじめに、インターネットへの接続性のあるApacheがインストールされたHTTPサーバ(以下、サーバA)を用意する。サーバAとサーバB間で通信可能な環境(以下のような構成)を構築する。
f:id:mittsun1979:20150127223543p:plain

サーバAのhttpd.confを編集して、mod_proxyモジュールを有効化(コメントアウトを解除)およびディレクティブを以下のような感じにする。

# vi /etc/httpd/conf/httpd.conf
<snip>
LoadModule proxy_module modules/mod_proxy.so
<snip>

<IfModule mod_proxy.c>
ProxyRequests On
ProxyVia On

<Proxy *>
    Order deny,allow
    Deny from all
    Allow from 172.16.0.0/24 # 許可するIPアドレス
</Proxy>

サーバAのhttpdを再起動する。
サーバBのyum.confに編集して、proxyの設定を追加する。

# vi /etc/yum.conf
<snip>
proxy=http://サーバAのIPアドレス:ポート番号/

サーバBで# yum install mysqlとすれば、サーバA経由でパッケージを取得してインストールできるはず。