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です。
つづく。。