CentOSにrbenvとphpenvをシステムワイドにインストール

VPSにrubyのとphpのバージョン管理環境を構築したのでそのメモ．

# 環境
* CentOS 6.5
* 今回は常にルートで作業する

#構築
## rbenvでrubyの環境構築
[rbenv](https://github.com/sstephenson/rbenv)をGitからクローン．

```text:/usr/local
#rbenvのクローン
git clone https://github.com/sstephenson/rbenv.git ./rbenv
```
クローンが終了後，パスを通す．
今回はシステムワイドに環境を構築するで，ログイン時に読み込まれる```/etc/profile.d/```に
```env.sh```というシェルを記述する．

```sh:/etc/profile.d/env.sh
#rbenv用パス
export RBENV_ROOT="/usr/local/rbenv"
PATH="$RBENV_ROOT/bin:$PATH"
export PATH
eval "$(rbenv init -)"
```

パスを確認．

```text:$PATH
echo $PATH

usr/local/rbenv/bin:/usr/local/rbenv/shims:/usr/local/rbenv/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/
```

[ruby-build](https://github.com/sstephenson/ruby-build)をGitからクローン．

```text:/usr/local/rbenv/
#ruby-buildのクローン
mkdir ./plugins
cd ./plugins
git clone https://github.com/sstephenson/ruby-build.git ./ruby-build
```

ruby-buildディレクトリ内のインストール用スクリプトを実行する

```text:/usr/local/rbenv/plugins
cd ./ruby-build/
ls
bin  install.sh  LICENSE  README.md  script  share test

./install.sh
```

以上で，rbenvの構築は終了．
好きなrubyのバージョンをインストールすることができる．

```text:rbenvコマンド
#インストールできるバージョン一覧
rbenv install --list

#インストール
rbenv install x.x.x

#反映
rbenv global(local) x.x.x
```

## phpenvでphpの環境構築
[phpenv](https://github.com/CHH/phpenv)をGitからクローン．

```text:/usr/local
#phpenvのクローン
git clone https://github.com/CHH/phpenv.git ./.phpenv
```

クローン終了後，インストール用スクリプトを実行

デフォルトでは，ホームディレクトリに```.phpenv```が作成される．
環境変数```PHPENV_ROOT```を設定していると，設定したパスにディレクトリが作成されるようだが，うまくいかなかったため，今回はデフォルトを採用．

```text:/usr/local/
cd ./.phpenv/bin/
ls
phpenv-install.sh

./phpenv-install.sh

#インストール終了後，ホームディレクトリから移動
mv ~/phpenv /usr/local/
cd ./phpenv
ls
bin  completions  libexec  LICENSE  plugins  README.md  shims  test  version  versions
```

phpenvのパスを通す．
phpenvとrbenvを共存させるためには，**rbenvのパスより後にphpenvのパスを記述しなければならない．**

phpenvもシステムワイドに利用するため，```/etc/profile.d/env.sh```に記述する．

```sh:/etc/profile.d/env.sh
#rbenv
export RBENV_ROOT="/usr/local/rbenv"
PATH="$RBENV_ROOT/bin:$PATH"

#phpenv
export PHPENV_ROOT="/usr/local/phpenv"
PATH="$PATH:$PHPENV_ROOT/bin"

export PATH
eval "$(rbenv init -)"
eval "$(phpenv init -)"
```

パスを確認

```text:$PATH
echo $PATH

/usr/local/rbenv/bin:/usr/local/rbenv/shims:/usr/local/rbenv/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/phpenv/bin:/root/bin:/usr/local/phpenv/bin
```

rbenvより後に，phpenvのパスが記述されている．

次に，[php-build](https://github.com/CHH/php-build)をクローン

```text:/usr/local/phpenv
#php-buildのクローン
mkdir ./plugins
cd ./plugins
git clone https://github.com/CHH/php-build.git ./php-build
```

php-build内のインストール用スクリプトを実行

```text:
cd ./php-build
ls
bin  CONTRIBUTING.md  LICENSE  man  run-tests.sh  tests  vagrant-init.sh
build-docs.sh  install.sh  make-release.sh  README.md  share  Vagrantfile

./install.sh
```

### 依存パッケージのインストール
phpをインストールする際に，依存パッケージが必要となる．
私の環境では，以下のパッケージをインストールした．

```text:依存パッケージのインストール
#リポジトリの登録
yum localinstall http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

#依存パッケージのインストール(自分の環境に応じて必要なモノをインストール)
yum install re2c bison libjpeg-devel libpng-devel libmcypt-devel libtidy-devel
```

依存パッケージをインストールし終えると，phpenvで必要なバージョンをインストールすることができる．

```text:必要なバージョンのインストール
#インストールすることのできるバージョンの一覧
phpenv install --releases

#インストール
phpenv install x.x.x
```

以上で，phpenvの環境構築は終了．

#参考文献
* [rbenv+ruby-buildをインストールする手順(CentOS/RedHat)](http://weblabo.oscasierra.net/install-rbenv-rubybuild-to-redhat/)
* [rbenvをシステムワイドにインストールする](http://office.tsukuba-bunko.org/ppoi/entry/systemwide-rbenv)
* [CentOSにphpenvでPHP環境を構築する](http://qiita.com/trisland/items/fccbbe0c8debc07b9b2a)
* [[個人メモ】CentOS環境に登録するyumリポジトリ](http://qiita.com/futoase/items/0ca6b61cb88194c90367)
* [phpenvをシステムワイドにインストールする方法](http://qiita.com/ryurock/items/2b8eb451f12761c18b9c)