0
1

More than 3 years have passed since last update.

AWSへデプロイしてみよう(〜SSH接続〜Rubyインストール その3)

Posted at

9.SSH接続 その1

まずは公開鍵をコピーします。
一度 exit でEC2から抜けてローカルで以下を実施します。

cat ~/.ssh/id_rsa.pub

表示された公開鍵をコピー

続いてEC2上のsshディレクトリ配下にauthorized_keysファイルを作成、そのファイルの中に公開鍵を保存します。

$ sudo su app
$ cd ~
#sshディレクトリを作成(既に存在している場合は省略)
$ mkdir .ssh
#自分のみに実行権を与える
$ chmod 700 .ssh
#sshディレクトリへ移動
$ cd .ssh
#authorized_keysファイルを作成
$ touch authorized_keys
#そのファイルに自分のみに編集権限を与える
$ chmod 600 authorized_keys
#authorized_keysファイルを開く
$ vi authorized_keys

このファイルの中に先ほどコピーした公開鍵を追記し、ファイル編集後はexitでAWS環境を離脱します。

10.SSH接続 その2

次にコピーして公開鍵でSSH接続します。
ローカル環境で秘密鍵の所在をpwdコマンドで確認します。

cd ~/.ssh

Axxxxxx-no-MacBook-Pro:.ssh Axxxxxx$ pwd
/Users/Axxxxxx/.ssh

確認したら、そのパスを元に、sshコマンドを実行

ssh -i "pwdで確認したpath/id_rsa" app@パブリック(ElasticIP)IP

appユーザーとして接続できたら、SSH接続の完了です。

11.タイムゾーンと時刻の確認

EC2にて実施

[app@ip-172-31-50 ~]$ date

(下記内容が出力できればOK)
2017年  10月 25日 水曜日 18:02:29 JST

続いて時刻のズレの修正を以下のコマンドで行って、インスタンスを再起動します。

$ sudo service crond restart
$ sudo reboot

続いて、デフォルトのユーザであるec2-userは今後使用しないため、削除します。

$ sudo su -
$ userdel ec2-user


12.EC2への各種インストール

ツールの導入は管理者権限が必要なのでsudo su -でrootユーザーになった状態でツールを導入します。
まずは git のインストール。

$ sudo su -
$ yum -y install git
$ git --version

次に rbenv のインストール。

$ git clone https://github.com/rbenv/rbenv.git /usr/local/rbenv
vi /etc/profile.d/rbenv.sh

VIMで以下を記述します。

export RBENV_ROOT=/usr/local/rbenv
export PATH="$RBENV_ROOT/bin:$PATH"
eval "$(rbenv init -)"


正しく読み込ませるために、sourceコマンドを実行

source /etc/profile.d/rbenv.sh
$ rbenv --version

次にruby-buildをインストール

$ git clone https://github.com/rbenv/ruby-build.git /usr/local/rbenv/plugins/ruby-build

$ rbenv install -list

次にRubyのインストールに移る前にRubyをインストールするために必要なパッケージ群をインストール

$ yum -y groupinstall "Development Tools"
$ yum -y install gcc-c++ glibc-headers openssl-devel readline libyaml-devel zlib zlib-devel libffi-devel libxml2 libxslt libxml2-devel libxslt-devel mysql-devel readline-devel
$ yum -y install ImageMagick ImageMagick-devel

gccのダウングレードを実施

$ yum install gcc44
$ alternatives --set gcc /usr/bin/gcc44

ようやくRubyをインストール(デプロイするアプリと同じバージョン)

$ rbenv install 2.6.3
$ rbenv versions
$ rbenv global 2.6.3
$ rbenv rehash
$ ruby -v

ここで exit で、appユーザーに戻って、appユーザーのRubyバージョンも変更します。

$ cd /usr/local/rbenv/
$ sudo chown app version
$ sudo chown app shims

ls -laのコマンドで、ディレクトリ内にあるものすべての権限をチェックすると、該当のファイルだけappユーザーが所有者になっていることを確認。(shims)

これでappのRubyバージョンを変更できます。(一度exitして再接続して)

$ rbenv global 2.6.3
$ rbenv rehash
$ ruby -v

次にEC2へBundlerのインストールを行います。

$ sudo su -
$ rbenv exec gem install bundler
$ rbenv rehash
$ which bundler

これで /usr/local/rbenv/shims/bundler と出ればOKです。

つづく。。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1