VMwareを使ってyumリポジトリサーバの動作検証をしてみた
自社勉強会で、RPMパッケージの管理方法について学習したので、ここに活用方法をアウトプットしておく。
まず、アプリケーションの動作環境としてユーザに向いているWebサーバ以外はセキュリティ的に外部に触れることのないローカル環境になっている場合が多い。(図1参照)
[図1]
上記のような環境で、ローカル環境のサーバにパッチをかけたい場合、パッケージをダウンロードしたDVDやUSBをマウントして、インストールする方法やyumリポジトリサーバを作り、そこから最新のパッケージを常に取ってくる方法がある。
ここでは、yumリポジトリサーバの設定を簡易的に行い、疑似的な環境でRPMパッケージをyumでインストールする方法を載せる。(図2参照)
検証環境
VMwareでCentOSを2台立ち上げて、疑似yumリポジトリサーバとDBサーバとして検証する
VMware Workstation 14 Player
・CentOS Linux release 7.5.1804 (yumリポジトリサーバ)
・CentOS Linux release 7.5.1804 (DBサーバ)
1.yumリポジトリサーバの設定
■リポジトリディレクトリの作成とrpmパッケージの格納
ApacheのHTTP通信を使い、RPMパッケージの取得を行う。以下のパッケージのインストール。
# yum install httpd
# yum install createrepo
次に検証用にRPMパッケージをダウンロードしておく。
# cd /var/www/html
# mkdir repo
# yum --downloadonly --downloaddir=/var/www/html/repo update
上記のyumオプション--downloadonly
を使うとrpmパッケージをインストールせず、ダウンロードのみ行える。
また、--downloaddir=
は、ディレクトリ指定を行う。指定しなかった場合は、私の環境では以下のディレクトリにダウンロードされていた。
デフォルトディレクトリ:/var/cache/yum/x86_64/7/updates/packages
サイトから直接ダウンロードしたい場合は、以下の「RPM Search」より、パッケージの検索をしてダウンロードすることもできる。
RPM Search
■リポジトリの作成
先ほどインストールしたcreaterepoコマンドを使用し、yumリポジトリの作成
# createrepo /var/www/html/repo
これにより、リポジトリ用に作成したrepoディレクトリにrepodata
ディレクトリが作成される。
次にリポジトリ情報の追加を行い、yumリポジトリの動作確認を行う。/etc/yum.repos.d
に以下を追加
[YumRepo]
name=YumRepo
baseurl=file:///var/www/html/repo
gpgcheck=0
リポジトリをリフレッシュする
# yum clean all
yum list
コマンドでYumRepoリポジトリが追加されたことを確認
2.クライアントサーバ(DBサーバ)設定&インストール
次にインストールするサーバの/etc/yum.repos.d
にリポジトリの情報を追加する。以下のように新規ファイルで作成。ファイル名・タイトルは好みで設定。
※httpdはあらかじめインストールされているものとする。
[YumRepo]
name=YumRepo
baseurl=http://IPアドレス/repo
gpgcheck=0
リポジトリをリフレッシュする
# yum clean all
yumリポジトリサーバに確認用のindex.htmlを/var/www/html/
に作成しておき、curl
コマンドでyumリポジトリサーバとhttp通信ができることを確認する
# curl http://IPアドレス/index.html
yum list
コマンドでYumRepoリポジトリが追加されたことを確認
実際にRPMパッケージを取得してみる
# yum --enablerepo=YumRepo install パッケージ名
リポジトリ名にYumRepo
が表示され、インストールされたことが確認できた。
現場で構築する際は、yumリポジトリサーバが絶対に外の環境と接続された状態にならないように注意が必要。
悪意のあるユーザから変なソースの入ったrpmパッケージを配置される恐れなどがある。
ハマったポイント
・yumリポジトリサーバのSElinuxが有効になっていた為、apacheが使えず、403エラーになっていた
・http.confのDocumentRootがyumリポジトリの取得先に指定したパスと違っていた
参考資料
Author And Source
この問題について(VMwareを使ってyumリポジトリサーバの動作検証をしてみた), 我々は、より多くの情報をここで見つけました https://qiita.com/shimatter/items/003f61dec8d3eb2d875a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .