hiyoko-programingの日記

プログラミングを勉強したてのひよっ子。   エンジニア目指して勉強中。

Linuxサーバーの構築

最初にyumというコマンドを使ってこのサーバに元々あるプログラムをアップデートする。こうしたプログラムをパッケージと呼ぶ。

 yumコマンド

Linuxにおけるソフトウェア管理の仕組み。MacOSにとってのhomebrewと同じ役割を果たす。yumコマンドを利用することで、yumの管理下にあるプログラムのバージョンを管理したり、一括でアップデートしたりできる。

 パッケージ

LinuxOS下における、ある役割/機能をもったプログラムの集合。ソフトウェアとも、ライブラリとも呼べる。
あくまでもLinuxOSでは、ある役割/機能をもったプログラムの集合のことをパッケージと呼ぶよ、ということ。

 パッケージをアップデート

ターミナル(サーバー)
1
[ec2-user@ip-172-31-25-189 ~]$ sudo yum -y update

次に、その他環境構築に必要なパッケージを諸々インストール。

ターミナル(サーバー)
1
[ec2-user@ip-172-31-25-189 ~]$ sudo yum -y install git make gcc-c++ patch libyaml-devel libffi-devel libicu-devel zlib-devel readline-devel libxml2-devel libxslt-devel ImageMagick ImageMagick-devel openssl-devel libcurl libcurl-devel curl
 複数のパッケージ等をインストールするため、非常に長いコマンドになっている

-yコマンドについて

-y はyumコマンドのオプション。yum install などのコマンドでは、本当にインストールして良いのか [y/n]のようにYes or Noが問われる。この場合はYキーを押してEnterキーを押せば正常どおりインストールが行われる。しかし、初見であったり誤ってYキー以外を押してしまう場合もある。 ここでは確実にインストールするために、予めオプションで-yを設定する事で全ての問いにYesで自動的に答えるように設定してコマンドを実行する。

もし誤ってオプションを忘れてしまうと下記のような問いが発生しますので、Yキーを押し次にEnterキーを押してインストールを完了する。

ターミナル(サーバー)
1
2
総ダウンロード容量: 120 M
Is this ok [y/d/N]: 

無事に入力画面に戻れば、インストール完了。

Node.jsをインストール

続いて、EC2上でJavaScriptを動かすためにNode.jsというものをインストールする。

 Node.js

サーバーサイドで動くJavaScriptのパッケージ。今後のデプロイに向けた作業の中で、CSSや画像を圧縮する際に活用される。

ターミナル(サーバー)
1
2
[ec2-user@ip-172-31-25-189 ~]$ sudo curl -sL https://rpm.nodesource.com/setup_6.x | sudo bash -
[ec2-user@ip-172-31-25-189 ~]$ sudo yum -y install nodejs

こちらも確認画面が出てきた場合は、「y」→returnキーで確定する。

これでNode.jsのインストールは完了。

rbenvとruby-buildをインストール

次に、rbenvruby-buildをインストールする。
rbenvとruby-buildは、Rubyのバージョンを管理する際に組み合わせて使うツールになる。これらはRubyをインストールする前に、インストールする必要がある。
ruby-buildはrbenvのプラグインであり、ruby-buildによってRubyの様々なバージョン(2.0.0など)をインストールすることができる。
rbenvを使用することでrubyのバージョンを切り替えることできる。

ターミナル(サーバー)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#rbenvのインストール
[ec2-user@ip-172-31-25-189 ~]$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv 
#パスを通す
[ec2-user@ip-172-31-25-189 ~]$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile 
#rbenvを呼び出すための記述
[ec2-user@ip-172-31-25-189 ~]$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
#.bash_profileの読み込み
[ec2-user@ip-172-31-25-189 ~]$ source .bash_profile
#ruby-buildのインストール
[ec2-user@ip-172-31-25-189 ~]$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
#rehashを行う
[ec2-user@ip-172-31-25-189 ~]$ rbenv rehash  
1つ目のコマンドは、gitからrbenvをクローンしている。
2つ目と3つ目のコマンドは、パスを通す際に必要なコマンド。パスを通すとは、どのディレクトリからもアプリケーションを呼び出せる状態にするということ。
そして、4つ目のコマンドで、設定したパスを読み込んでいる。
5つ目のコマンドは、gitからruby-buildをクローンしている。
最後のコマンドは、使用しているRubyのバージョンにおいて、gemのコマンドを使えるようにするために必要なコマンド。

これでrbenvとruby-buildのインストールは完了。

Rubyをインストール

以下で実行するコマンド群は、インストールするRubyのバージョン、自身のアプリケーションで使っているRubyのバージョンによって適宜変更する。
ここでは、2.5.1をインストールしていく。

ターミナル(サーバー)
1
2
3
4
[ec2-user@ip-172-31-25-189 ~]$ rbenv install 2.5.1
[ec2-user@ip-172-31-25-189 ~]$ rbenv global 2.5.1
[ec2-user@ip-172-31-25-189 ~]$ rbenv rehash  #rehashを行う
[ec2-user@ip-172-31-25-189 ~]$ ruby -v # バージョンを確認

1つ目のコマンドで、Rubyの2.5.1のバージョンをインストールしている。Rubyのインストールには時間がかかる。ターミナルに「Installing ruby-2.5.1...」といった表示が出たまま止まって見えるが、そのまま待つ。
2つ目のコマンドは、EC2インスタンス内で使用するRubyのバージョンを決めるものになる。
3行目では再びRehashを行っている。
最後にruby -vコマンドを打ち込み、バージョンを確認する。

以上で、EC2インスタンス内の環境構築が完了。