株式会社オーツー|スタッフブログ検索:公式サイトお問い合わせメニューすべて(96)ゲーム開発(3)Web制作(32)デザイン(4)サーバー(23)企画・開発(2)その他(32)オーツー公式ページはこちらお問い合わせサーバー2014.2.7吉岡chef-soloで使うrpmの配信サーバーを立ててみる開発2部の吉岡です。現在、開発環境をどんな感じで構築しようかと考え中ですが、各所で話題のchef-soloとVagrantを使って挑戦してみました。なんだかんだで3回に分けて掲載していこうかと思います。開発環境をとしては、下記のようなものが欲しいです。各開発スタッフが手早く開発環境を使用できるようにする。思い立ったら即環境をゲット出来るようにしたいです。ミドルウェアの変更など、開発環境の変化も各スタッフで共有出来るようにする。各スタッフがなるべく同じ環境を使用できるようにしたいです。本番環境も考えた環境を使用したい。ミドルウェアのバージョン等、本番で使用するものと出来るだけ同じにしたいです。プロジェクト終了後でも、環境を復旧できるようにする。納品後でも動作環境を保持しておいて、検証や問い合わせ対応等の作業を行いやすくしたいです。chef-solo・Vagrantで、chef-soloとVagrantとは何かと言うと、chef-solo:サーバーの構成管理ツールです。どのようにサーバーを構築するのか定義し、管理しておけます。各種の設定パラメータを環境毎に定義したりと、何かと便利な機能が満載です。Vagrant:開発サーバーを手軽に扱えるようにするツール群、と言った感じでしょうか。構築したサーバー環境を配布したり、また破棄したりということが簡単に出来ます。すごくざっくりな説明ですが、詳細な説明は色々なところで掲載されているので省略します。chef-soloのレシピについていつchefを動かしても、同じバージョンのミドルウェアがインストールされるようにしたいので、基本的にrpmでインストールすることにしました。最初に各ミドルウェアのrpmをダウンロードしておき、これを保管しておくことで同じ環境を再現するという感じです。各rpmは次のようにyumのオプションを指定することでダウンロード出来ます。httpdyumコマンドに「–downloadonly」というオプションを付け、「–downloaddir」で保存先を指定します。yum-plugin-downloadonlyと試してみてください。rpmはどこに置く?と、rpmをかき集めるのは良いのですが、それをどこに置くかが問題になります。そこで、社内LAN上に簡易なWebサーバーを立ち上げて、rpmのファイル名を指定すればダウンロード出来るようにしてみました。いう時に役に立つのがTornadoです。python製のWebサーバーフレームワークですが、簡単にサーバーを立ち上げることが出来ます。いうわけで、作ってみたWebサーバーのコードは↓です。ダウンロードしたrpmファイルという感じです(httpd、php、mysqlのrpmを提供する場合)。「rpm」ディレクトリの中にミドルウェア名のディレクトリがあり、rpmファイルを格納しています。./web.pyすれば、webサーバーが立ち上がります。あとは、http://ホスト名:8095/rpm/ミドルウェア名/rpmファイル名を指定すればrpmがダウンロードされるという感じです。http://127.0.0.1:8095/rpm/httpd/apr–1.3.9–5.el6_2.x86_64.rpmという感じです。WHを使ってSES...2019/3/29メニューを閉じるCONTACTゲーム開発、Webサイト制作に関するご相談等ございましたら、お気軽にお問い合わせください。