0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

おっさん初学者のRails環境構築(centOS)

Last updated at Posted at 2021-05-22

Railsチュートリアルを完走後はサイト作成に挑戦です
テキストではcloud9を用いてクラウド環境で学習してきましたが、実際の開発現場ではLinax環境で開発が行われるケースがほとんど。ということを解説動画でも言っていました。。
そこで、ここは多少苦労してでも自分で環境構築しようと決意しました。
いろんなところから情報かき集めて、結果的に分からないなりにうまくいったので、そこまでの軌跡を記録しておきます

CentOS上にRails環境を構築するということにトライしています

##開発環境##

  • Mac + Vagrant
  • CentOS7.8
  • rbenv:1.1.2
  • bundler:2.2.17

##Ruby , Railsのバージョン##
Railsチュートリアルの復習も含めてサイト作成に取り組むため、テキストに合わせて以下のバージョンで始められるように構築しております

  • Ruby: 2.6.3
  • Rails: 6.0.3

###1. Virtual Box と Vagrantをインストール###
「Linux」や「Virtual Box」や「Vagrant」が何なのかについてはここでは説明しませんが、Linax環境立ち上げるなら、まずそれぞれをインストールします
「Virtual Box」:Virtual Box公式サイト
「Vagrant」:Vagrant公式サイト
「Virtual Box」や「Vagrant」が何なのかは「こちら」でわかりやすい説明がありました
###2. centOS7.8のインストール###
ターミナルを開いて以下のコマンドを送信

$ vagrant box add bento/centos-7.8 --provider virtualbox

これで「centOS 7.8」が「bento/centos-7.8 」という名前でインストールされます

以前インストールしていた余計なcentOSのバージョンがあったらここで削除します
※余計なバージョンが既にインストールされている場合のみ
まずはどのバージョンがインストールされてるかチェックします

$ vagrant box list

ここでリストが表示されたら消しましょう

$ vagrant box remve 消したいバージョン

###3. MyVagrantディレクトリを作成###
TOPページにまずはMayVagrantフォルダを作成

$ mkdir MyVagrant

###4. MyVagrantに移動###
作成したフォルダに移動する

$ cd MyVagrant

###5. Vagrantfileを作成する###
MyVagrantファイル内にVagrantfileを作成します

$ vagrant init bento/centos-7.8

###6. FinderからVagrantfileを開いてipの設定###
作成したVagrantfileの中身を編集します
以下の階層にVagrantfileがあります
Finderを開く > ユーザー > user > MyVagrant
ファイルを開いて以下の部分を探して、「#」を消します。
上書き保存を忘れずに!!

ここの「#」を消してね
# config.vm.network "private_network", ip: "192.168.33.10"

###7. Vagrantを起動する###
ここでやっと仮想マシンとかいうものを起動させます

$ vagrant up

ターミナルで以下のコマンドを実行し、仮想マシンの状態を確認

$ vagrant status

これを入力して
  「default running」
が表示されてたらOK
###8. 仮想マシンにログイン###
仮想マシンを立ち上げたので中に入っていきましょう

$ vagrant ssh

これで「ContOS」が入った仮想マシンに「vagrant」というユーザーでログインできました
一応ログアウトして仮想マシンを終了させるには

$ exit
$ vagrant halt
$ exit

これで、
「プロセスが完了しました」
が、表示されればOKです
###9. SELinuxを無効化する(環境開発ではトラブルの元になるため)###
余計なものになるらしいので以下を送信しておきます

$ sudo sed -i "s/(^SELINUX=).*/disabled/" /etc/selinux/config

###10. rbenvをインストールして、Rubyのバージョンを変更可能にする###
これからやっとRubyを入れる準備に入ります
まずはrbenv をインストールするために必要な yum パッケージを入れます

$ sudo yum install -y git gcc openssl-devel readline-devel zlib-devel sqlite-devel gcc-c++ libicu-devel cmake vim

ここからrbenvをインストールする

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

これでインストールが完了したら、バージョンを確認してみる

$ rbenv -v

###11. ruby-buildプラグインを追加###
Rubyをインストールするための準備第2段階です

$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

###12. Rubyをインストールする###
やっとRubyをインストールできるようになりましたので早速やっていきましょう
今回インストールしたいバージョンを「2.6.3」に指定しますのでコマンドはこうなります

$ rbenv install 2.6.3

そのままですね。数字の部分を変えれば自分のインストールしたいバージョンでインストールしてくれるそうです
###13. CentOS環境全体で使えるrubyのバージョンを指定###
CentOS環境で使用するRubyのデフォルトバージョンを決める

$ rbenv global 2.6.3

これで、特に指定しなかったら勝手にRubyのバージョン「2.6.3」が適用される

あとで、「いや!2.7を使いたいんだ!」ということであれば

$ rbenv local 2.7

とすればよい
###14. Rubyのバージョンや設定を反映###
Rubyに関する設定をしましたので反映させる

$ rbenv rehash

ちなみにこのコマンドはよく出てきます・・・

ここで無事にRubyのバージョン「2.6.3」が適用されたか確認しときます

$ ruby -v

###15. Bundlerのインストール###
Rubyのライブラリ管理ツールであるBundlerをインストールします
Rubyを使う上ではBundlerは絶対利用することになるのでインストール必須です!

$ gem install bundler

Rubyに関する設定を反映させる

$ rbenv rehash

Bundlerが適用されたかどうかを確認する

$ budle -v

###16. Ruby on Railsのインストール###
やっとここまできた・・・
まずはRubyドキュメントをインストールしないようにしてインストールの時間短縮する

$ echo "gem: --no-document" >> ~/.gemrc

バージョンを「6.0.3」に指定してRailsをインストールする

$ gem install rails -v 6.0.3

終わりましたら、無事に適用されているか一応確認します

$ rails -v

##そのほかの機能も追加する##
これで、目的であったRubyとRailsを目的のバージョンでインストールすることがが完了しました。
が、今のままではまだまだ足りてません。ここでは以下の機能を追加していきます

  • Linux(CentOS)にMySQLをインストール
  • yarnのインストール

###17. Linux(CentOS)にMySQLをインストール###
まずはCentOSに初めから入ってるデータベース(MariaDB)を削除する

$ sudo yum remove -y mariadb-libs

MySQLのリポジトリをインストール(CentOS7のデフォルトのリポジトリに「MySQL8.0」が存在しないため)

$ sudo yum localinstall -y https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm

MySQLをインストールする

$ sudo yum install -y mysql-community-server

インストールしたSQLを起動する
まずは現時点の状態を確認

$ systemctl status mysqld

 起動時:「Active: active (running)」
 停止時:「Active: inactive (dead)」
これで停止状態だったら起動する

$ sudo systemctl start mysqld

起動したかどうかを再度確認

$ systemctl status mysqld

最後にSQLが自動で起動するように設定する
まずは現時点の状態を確認

$ systemctl is-enabled mysqld

「disabled(無効)」になっていた場合は、以下のコマンドを実行して有効にする

$ sudo systemctl enable mysqld

###18.yarnのインストール###
yarnをインストールするにはNode.jsを先にインストールする必要がある
まずはNode.jsのリポジトリを追加する

$ curl -sL https://rpm.nodesource.com/setup_8.x | sudo bash -

そのあと、Node.jsをインストールする

$ sudo yum install nodejs

一応バージョンを確認

$ node -v

yarnのインストールの準備ができたので、yarnのリポジトリを追加する

$ sudo curl –silent –location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
$ sudo rpm –import https://dl.yarnpkg.com/rpm/pubkey.gpg

yarnをインストールする

$ sudo yum install yarn
$ yarn -v
0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?