いーほろよいの技術ブログ

IT技術ブログになります。

CentOS7へのMariaDBインストールについて

Ruby on Railsの勉強中ですが、ここでDB接続の準備のためMariaDBをインストールしてみたいと思います。

 

MariaDBを選択した理由は"使ってみたかった"だけです。

 

MariaDBのHPにインストール方法が詳しく記述されております。(ありがたや)

mariadb.com

 

さっそくインストール

と言っても、単にMariaDBの手順に沿ってやるだけです。

リポジトリの追加とyum install、後は初期化をゴニョゴニョするだけ。

 

リポジトリの追加

下記のリポジトリ作成ページで自動生成した設定情報を貼り付けるだけ。

MariaDB - Setting up MariaDB Repositories - MariaDB

>vi  /etc/yum.repos.d/MariaDB.repo

 

 インストール

>yum install MariaDB-server MariaDB-client

面倒な人はオプションの"-y"を付けて実行すれば楽チンです。

 

MariaDBのシステム設定&起動

>systemctl enable mariadb.service

>systemctl start mariadb.service

 

MariaDB初期化

公式HPにある手順で初期化してみます。

mariadb.com

>mysql_secure_installation

色々聞かれてくるけど、やった事はrootのパスワード設定と各質問に"y"を押すだけ。

 

DBとユーザー作成

MariaDBに接続してデータベース、ユーザーを作成する。

※クローズな開発環境なのでテキトーです。

DB名:rbhoge

ユーザー名:rbhoge

 

DB作成

>create database rbhoge;

 

ユーザー作成

>create user rbhoge@'localhost' identified by '{password}';

 

権限付与

>grant all on rbhoge.* to rbhoge@'localhost';

 

以上でDBの準備は終了です。

 

Ruby on Railsのお勉強に戻ります!

Ruby on Railsのお勉強 〜おさらい〜

Railsをやろうと思った経緯

ここ数年でRailsの要望が今まで以上に、すごいスピードで上がってきている事を実感したので、使えるようになろうかと重い腰をあげました。

正直、バックエンドのFWはパフォーマンスと運用コストが見合っていれば『なんでもいいじゃない?』っていうのが私の意見なのですが...

 

環境構築のおさらい

以前、環境構築でrbenvとbundlerのインストールの記事を書いております。

今回は用語と工程のおさらいに止めます。

環境構築を確認されたい方は↓の記事を確認お願いします。

 

e-horoyoi.hatenablog.com

 

 

e-horoyoi.hatenablog.com

 

用語

先ずは各用語について、おさらいです。(簡単な説明のみ)

rbenv

複数のRubyバージョンを管理する。

 

gem

rubyのパッケージを管理する。

 

bundler

gemの一部でパッケージを一括管理できる。

 

Ruby on Rails開発環境を作るまでの工程

  1. rbenvのインストール(この時点で同時にgemはインストールされる)
  2. 使用するrubyのバージョンを指定してインストール
  3. bundlerのインストール
  4. 開発するための場所(ディレクトリ)を作成して移動
  5. 移動先のディレクトリ内でbundlerの初期化(Gemfile作成)を行う
  6. 作成されたGemfileに使用するrailsのバージョンを記述してrailsをインストール
  7. railsコマンドでプロジェクトを作成(ここでほぼ環境構築おわり)

 

実際の組み込み作業

構成

プロジェクト : rbhoge

 

手順

>mkdir rbhoge

>cd rbhoge

>rbenv local 2.4.1

>bundler init

>vi Gemfile

gem "rails", "{version}" を追記

>bundler install --path vendor/bundler

>bundler exec rails new .

>vi Gemfile

"therubyracer"のコメントアウトを外す

>bundler install --path vendor/bundler

 

とりあえず、ここまで

 

次回からは簡単なお問い合わせフォームを作ってみたいと思います。 

virtualenvをインストールしようと思ったらpyenv-virtualenvになった

間が空いてしました。

色々と忙しくて...(言い訳です。)

 

↓前回、pyenvをインストールした話の続きです。

e-horoyoi.hatenablog.com

 

virtualenvをインストールしようと思ったらpyenv-virtualenvというプラグインがあるようなので、大人しくそれをインストールします。(正直、違いがよくわかっていません。)

分かっている事はpyenv-virtualenvを使用する事でpyenvでインストールした各バージョンのプラグインを分けて使用できるようになるようです。

例えば、バージョン3.6.1にパッケージのipythonが入っている仮想環境、入っていない仮想環境という具合に別々の環境が作れる。

 

インストールはGitHubに公開されているpyenv-virtualenvにあるreadmeの手順に沿って行うだけです。

github.com

 

手順

pyenv-virtualenvの準備

>git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv

 

cloneできたか確認する。(pyenv-virtualenvがあればOK

>ls -l ~.pyenv/plugins/

 

ログイン時にvirtualenvが有効になるように設定ファイルに追記

>echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile

 

設定ファイルの読み直し

※個人的には"souce ~/.bash_profile"をオススメします。(何故かpyenv shellが認識されなかったので)

>exec "$SHELL"

 

作成する仮想環境に必要なpythonのバージョンをインストール

今回は2.7系を予めインストールしておく(3系でも手順は同じです)

>pyenv install 2.7.13

↓警告が出るけどインストールできた。

WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?

 

仮想環境の作成

バージョンが2.7.13のmy-virtual-env-2.7.13という仮想環境を作成する。

コマンド実行後に"ls -l ~/.pyenv/versions/"を実行すると分かり易いです。

インストール済みの各バージョン以下のenvsディクトリ以下に作成されます。

それを各バージョンと同じ階層にシンボリックリンクを貼ってます。

>pyenv virtualenv 2.7.13 my-virtual-env-2.7.13

 

検証用にenv2.7.13という仮想環境も作成する。

>pyenv virtualenv 2.7.13 env2.7.13

 

仮想環境の構築 (その1)

作成された仮想環境(my-virtual-env-2.7.13)を構築するためアクティブ状態にします。

※これを実行するとbashプロンプトにアクティブ状態の仮想環境名が表示されます。

 >pyenv activate my-virtual-env-2.7.13

 

試しに作成した仮想環境(my-virual-env-2.7.13)にipythonをインストール

>pip install ipython

 

インストールされた事を確認

>pip show ipython

 

仮想環境の構築 (その2)

このままenv-2.7.13に切り替えてipythonがインストールされているか確認してみます。

>pyenv activate env2.7.13

 

ipythonがインストールされているか確認

>pip show ipython

※表示されないはず 

 

まとめ

流れとやる事を下記にまとめます。

 

予め作成する仮想環境に対応したpythonのバージョンをインストール

>pyenv install {バージョン}

 

仮想環境の作成(必要な分)

>pyenv virtualenv {pythonのバーション} {仮想環境名}

 

作業ディレクトリを作成

>mkdir ~/{作業ディレクトリ名}

 

作業ディレクトリに移動して仮想環境を指定

>cd ~/{作業ディレクトリ名}

>pyenv activate {仮想環境名}

 

仮想環境に合わせてプラグインをインストール

作成した仮想環境ごとに使用するプラグインをインストールする。

※心配なら仮想環境以下を覗いて確認

python2系

>pip install {パッケージ名}

 

python3系

>pip3 install {パッケージ名}

 

仮想環境別のパッケージインストールの確認する場所

~/.pyenv/versions/{仮想環境名}/lib/{pythonバージョン}/site-packages/

 

仮想環境から抜ける

作業が終り仮想環境から抜けたいとき

>pyenv deactivate

 

以上、virtualenvあらためpyenv-virtualenvでした!

 

次回予告

php-envをやろうかと思ったのですが、Ruby on Railsを掘り下げてみたいと思います。

 

最後まで読んでいただきありがとうございます!

 

pyenvをインストールしてみた

前々回?にrbenvをインストールしたと思います。

 

e-horoyoi.hatenablog.com

 

今回はpyenvをインストールしてみます。

 

はじめに

今回は事前インストールするものはありませんでした。

強いていうなら、pyenvを提供してくださっているGitHubのドキュメント(readme)を読むくらいかと思います。

github.com

 

pyenvのインストール

手元にpyenvのcloneを作成

>git clone https://github.com/pyenv/pyenv.git ~/.pyenv

 

GitHubにある手順通りに.bash_profileに環境変数を追記

>echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile

>echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile

>echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

>exec $SHELL

 

pythonのインストール

先ずはリリースされているバージョンの確認

pyenv install --list

 

3.6.1をインストール

pyenv install 3.6.1

 

インストール出来ているか確認

pyenv versinos

 

以上、pyenvのインストールです。 

 

pyenvだけでも便利なのですが、virtualenvを入れるともっと便利になるようです。

 

次回予告

virtualenvのインストールと使い方

 

 

 

CentOS7でFirewallの設定を無効にする!

はじめに

Ruby on Railsの環境構築時にRailsサーバーを立ち上げたのに接続できない問題でFirewallが邪魔していたので停止&無効にした話です。

本来、セキュリティ上は必須なのですが、閉ざされた開発環境でのみ使用するという条件下のため停止&無効にするという話です。

闇雲に停止&無効にはしないでください。

 

作業コマンド

作業はroot権限を持っていないとできません。

 

確認

今まで停止or無効にした記憶がなければ、下記のコマンドを打つとactiveと表示されるはずです。

>systemctl status firewalld.service

 

停止

>systemctl stop firewalld.service

 

無効

>systemctl disable firewalld.service

 

無効の確認

>systemctl is-enabled firewalld

 

Ruby on Railsの環境構築やってみる

だいぶ日が空いてしまいました。

申し訳ございません。

言い訳は手元のMacの調子が悪くレンボーカーソルが頻発して固まるといった症状が続いております....

 

↓前回の作業でrbenvをインストールできたので

 

e-horoyoi.hatenablog.com

 調子にのってRailsの環境構築をやろうと思ったのですが、やり方が沢山あってお腹いっぱいになります。

 

はじめに

rbenvの環境が整っている事が前提で進めます。

また、今回やりたい事はbundlerを使用してRailsをインストールする。

どうやらgemでインストールするよりbundlerを使用する方が主流になりつつあるそうです。

bundlerについて

複数のパッケージをgemでインストールする事になると思います。

しかし、一つずつgemでインストールしていると面倒...。

また、『相性の合ったパッケージをまとめて管理したい。』ともなるでしょう。

そんな時にbundlerを使用するとGemfileで一括管理できます。

 

準備

予め済ませておく事

後半のRailsのプロジェクト作成時にsqlite3関連でエラーになるので予めインストールします。

>yum install sqlite-devel

※root権限での作業になります。

 

Railsサーバー立ち上げ時にgemパッケージの"therubyracer"がインストールされている必要があり、このパッケージをインストールするのにg++が必要になるので予めインストールしておく。

>yum install gcc-c++

※root権限での作業になります。

 

 

以前、四苦八苦しながらインストールした時は管理者権限を要求された記憶が薄っすらあるので、自分のアカウントでsudoコマンドが実行できるようにwheelグループに参加します。(もしかしたらローカル環境ならいら無いかも)

>usermod -aG wheel {追加したいユーザーアカウント}

※root権限での作業になります。

 

rbenvをインストールするとgemが既にインストールされております。

 

bundlerのインストール

>rbenv exec gem install bundler

 

bundlerのインストール確認

>gem list | grep 'bundler'

 

作業ディレクトリ(プロジェクト)を作成して移動

>mkdir ~/hoge

>cd ~/hoge

 

Ruby on Railsインストール

確認作業

リリースされているRailsのバージョンを確認します。

 

たくさん出ます。

そしてstableかは下記のコマンドではわかりません。

今回は最新の4系をインストールしてみたいと思います。

>gem search ^rails$ -a

 

bundlerの初期設定

ここで気を付ける事は"rbenv exec"で実行する事です。

bundlerだけでもいいのですが、local環境に作りたい場合、その環境に移動してrbenvで指定したrubyのバージョン以下で作業しないとglobalの環境に構築する事になってしまうので注意が必要です。

>rbenv exec bundler init

 

実行すると"Gemfile"というファイルができます。

このファイルの中にインストールしたいgemパッケージを羅列してインストールする。 

>vi Gemfile

今回は下記を追記する。(バージョンを指定しないと最新が入る)

gem "rails", "4.2.9"

 

railsインストール

>rbenv exec bundler install --path vendor/bundler

 

補足:gitで管理する場合"/vendor/bundler" を管理対象外にする必要あり

>echo '/vendor/bundle' >> .gitignoree

 

インストール後にプロジェクト作成

Gemfileの上書き確認がありますが上書きで構いません。

>rbenv exec bundler exec rails new .

 

Railsサーバー起動

CentOS7のfilewallを停止しておいてください。

e-horoyoi.hatenablog.com

 

>rbenv exec bundler exec rails s -b 0.0.0.0

※お約束エラー"uglifier"が出ると思います。分かり難いのですがGemfileの"therubyracer"がコメントアウトされているので、このコメントアウトを外しbundlerを利用してGemfileの再インストールをすると解消されるはず。

 

ホストのブラウザから確認

下記のように3000番ポートを指定してアクセスしてWelcomeが表示されればOKです。

http://{ご自身の環境に合わせて}:3000/

f:id:e-horoyoi:20170703154508p:plain

以上、Ruby on Railsをインストールしてみるでした。

 

次回予告

とりあえず、環境構築あたりをやろうと思うので次回はpyenvの環境構築をやってみようと思います。

 

以上、最後までお読みいただきありがとうございます。 

 

rbenvをインストール

先日は脱線してしまい申し訳ございません。

今回はちゃんとrbenvをインストールします。

 

↓前々回に宣言していたアレです。

e-horoyoi.hatenablog.com

 

はじめに

思ったより簡単でした。

GitHubに手順が書いてあります。

github.com

 

github.com

 

rbenvって何?

Rubyは更新頻度の高い言語なので、いくつものバージョンを開発環境に準備したいという要望を叶えてくれるものです。(ありがたい)

 

rbenvインストールする前に

git、gccbzip2、openssl-devel、readline-devel、zlib-develが必要になるので予めインストールしておきましょう。

>yum install git gcc bzip2 openssl-devel readline-devel zlib-devel -y

 

rbenvのインストール

1.  gitからclone

>git clone https://github.com/rbenv/rbenv.git ~/.rbenv

 

 

2. インストール

>cd ~/.rbenv && src/configure && make -C src

 

3.  ".bash_profile"に登録

>echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile

>echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

>souce ~/.bash_profile

 

4. バージョン確認

バージョン確認と共にインストールと設定ができている事を確認する。

>rbenv --version

 

5.  ruby-buildをclone

早速、rubyをインストールしたいのですが、rbenvをインストールしただけではinstallできません。

ruby-buildをcloneするとinstallオプションが使えるようになります。

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

 

6. バージョンの確認

>rbenv install --list

 

7. rubyのインストール その1

ruby2.3を入れてみる。

>rbenv install -v 2.3.4

 

8. rubyのインストール その2

ruby2.4を入れてみる。

>rbenv install -v 2.4.1

 

9. インストール済みの一覧を表示

>rbenv versions

 

10. 全体で使用するバージョンを選択

>rbenv global 2.3.4

* 2.3.4 (set by /home/kazuo/.rbenv/version)

  2.4.1

こんな感じで選択される。

 

11. ディレクトリ別にバージョンを指定

>mkdir ~/ruby241

>cd ~/ruby241

>rbenv local 2.4.1

>ruby -v

ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]

>cd ~/

>ruby -v

ruby 2.3.4p301 (2017-03-30 revision 58214) [x86_64-linux]

 

ディレクトリ別にも使用できるし便利ですね。

今回ご紹介したrbenvのオプションは他にもあるので確認してみてください。

 

次回予告

Ruby on Railsをインストールしてみる。

 

以上、rbenvをインストールするでした。

 

最後までお読みいただきありがとうございます。