Amazon EC2のRHEL6の無料インスタンスにRuby1.9.3をyumでインストールしたかったが、初期設定のレポジトリには1.8.x1しかなかったため、パッケージをビルドしてインストールすることを試みた。
1.まずビルドに必要なパッケージをインストールする。
対象は以下のとおり。
zlib-devel
openssl-devel
readline-devel
tk-devel
libyaml-devel
libffi-devel
rpm-build
注意
libyaml-develをインストールしたときに、以下のようなエラーが発生するかもしれな
い。
Error: Multilib version problems found. This often means that the root
cause is something else and multilib version checking is just
pointing out that there is a problem.
要は複数のバージョンがあるので問題ありということ。
元々インストールされていたのはlibyaml.i686、必要なのはlibyaml-devel.x86_64
なので元々あったほうをアンインストールし、libyaml-devel.x86_64をインストール
した。
sudo yum remove libyaml.i686
sudo yum install libyaml-devel.x86_64
2.home直下にrpmbuildディレクトリを作成する。
3.rpmbuildディレクトリの下に以下5つのディレクトリを作成する。
BUILD RPMS SOURCES SPECS SRPMS
4.SOURCESディレクトリに移動する。
cd ~/rpmbuild/SOURCES
5.ruby1.9.3のアーカイブをダウンロードする。
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p448.tar.gz
6.SPECSディレクトリに移動する。
cd ~/rpmbuild/SPECS
7.specファイルをダウンロードする。
wget https://raw.github.com/imeyer/ruby-1.9.3-rpm/master/ruby19.spec
8.ビルドを実行する。
rpmbuild -bb ruby19.spec
9. rpmファイルが作成されていることを確認する。
~/rpmbuild/RPMS/x86_64/ruby-1.9.3p448-1.el6.x86_64.rpm
10.~/rpmbuild/RPMS/x86_64ディレクトリに移動する。
cd ~/rpmbuild/RPMS/x86_64
11.パッケージをインストールする。
sudo rpm -ivh ruby-1.9.3p448-1.el6.x86_64.rpm
12.インストールできたか確認する。
ruby -v
OK。1.9.3が入った!
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux]
2013年11月27日水曜日
2013年11月20日水曜日
AWSでWindowsのFTPサーバ(パッシブモード)を構築する
仕事でWindowsサーバをFTPサーバとする必要があったため、AWS上で構築してみた。
その作業のまとめ。
前提として
・WindowsサーバのEC2インスタンスを作成しておくこと。
・そのインスタンスにFTPサービスをインストールしておくこと。
・RDPで接続できること。
が必要。
今回は動作確認のため同一VPC内に2つのWindowsサーバインスタンスを作成した。
FTPクライアントとFTPサービスのような位置づけ。
FTPプロトコルの利用範囲だが、
「インターネットからのFTPは許さない。指定VPC内のみ許可する」
ものとする。
1.まずマネジメントコンソールからVPCを選択する。
2.Security Groupsを選択する。
3.右ペインから用意したインスタンスが使うVPCを選択する。
4.下のペインで以下のように設定する。
Create a new Rule -> Custom TCP Rule
Port range -> 21
Source -> VPCのGroup ID。 (ここではsg-4ce9e12e)
ポイントはSourceにVPCのGroup IDを入れる事である。これでVPC内でしかFTPが
使えないようになる。VPCの名前はDetailsタブのGroupIDに書かれている。
5.Apply Rule Changesをクリックする。これをクリックしないと設定が反映されない。
6.手順4同様に今度はFTPの制御用ポートを設定する。WindowsサーバのWindowsファイアウォールのポリシーを見てみると1024-65535が制御用ポートとして設定されているのでVPCでも同じ設定をする。
Create a new Rule -> Custom TCP Rule
Port range -> 1024-65535
Source -> VPCのGroup ID
7.これでFTPサーバに接続できればOK。
ex)ftp://サーバIPアドレス/hoge
*hogeディレクトリはあらかじめサーバ側に作成しておくと望ましい。
その作業のまとめ。
前提として
・WindowsサーバのEC2インスタンスを作成しておくこと。
・そのインスタンスにFTPサービスをインストールしておくこと。
・RDPで接続できること。
が必要。
今回は動作確認のため同一VPC内に2つのWindowsサーバインスタンスを作成した。
FTPクライアントとFTPサービスのような位置づけ。
FTPプロトコルの利用範囲だが、
「インターネットからのFTPは許さない。指定VPC内のみ許可する」
ものとする。
1.まずマネジメントコンソールからVPCを選択する。
2.Security Groupsを選択する。
3.右ペインから用意したインスタンスが使うVPCを選択する。
4.下のペインで以下のように設定する。
Create a new Rule -> Custom TCP Rule
Port range -> 21
Source -> VPCのGroup ID。 (ここではsg-4ce9e12e)
ポイントはSourceにVPCのGroup IDを入れる事である。これでVPC内でしかFTPが
使えないようになる。VPCの名前はDetailsタブのGroupIDに書かれている。
5.Apply Rule Changesをクリックする。これをクリックしないと設定が反映されない。
6.手順4同様に今度はFTPの制御用ポートを設定する。WindowsサーバのWindowsファイアウォールのポリシーを見てみると1024-65535が制御用ポートとして設定されているのでVPCでも同じ設定をする。
Create a new Rule -> Custom TCP Rule
Port range -> 1024-65535
Source -> VPCのGroup ID
ex)ftp://サーバIPアドレス/hoge
*hogeディレクトリはあらかじめサーバ側に作成しておくと望ましい。
登録:
投稿 (Atom)