アットウィキロゴ

MAC PC上の バーチャル環境に開発環境を構築する

カウンター
合計: -
今日: -
昨日: -


virtualboxとvagrantを使って、PC上にバーチャル環境を構築して、バーチャル環境上にCentOSをインストール。
ここに、ruby 開発環境を構築する



0. vagrant boxに、centOSのbox(テンプレート) を、web上から取得する。


    ※ centos64box は任意のネーミング
    ※ boxのダウンロードサイト http://www.vagrantbox.es から探す


  取得したboxが取得できていることを確認する
   $ vagrant box list

    CentOS64box (virtual box)   取得したboxが表示されればOK

    ※取得したboxは、ホームディレクトリ/.vagrant.d/boxes/ ディレクトリに保存されている


1.MacOS上に、仮想マシン用のディレクトリを作る
 $ mkdir MyCentOSVM (ディレクトリ名は任意)



2. 取得したboxを、vagrantを使用して、virtual box上にセットする

 作成したディレクトリに移動する
 $ cd MyCentOSVM

 vagrantを使用して、取得したboxをvirtual boxにセット
 $ vagrant init centos64box

  これをやると、Vagrantfile が作られる


3. Vagrantfile のprivate ipアドレスを設定する

 $ vi Vagrantfile

  private ipのコメント # を外す ※アドレスは値を変えても良い (例:192.168.33.55)


4. virtual box仮想マシンを起動する

 $ vagrant up


5. 仮想マシンにログインする

 $ vagrant ssh


6. yumコマンドでシステムを最新の状態にしたあとに、/etc/resolv.confの設定

 $ sudo yum update -y

 $ sudo vi /etc/resolv.conf

  resolv.confファイルの先頭行に、

  options single-request-reopen

  を追記


7. ファイヤーウォールを切っておく

 $ sudo service iptables stop  ファイヤーウォールを止める

 $ sudo chkconfig iptables off  再起動したときにもstopにするように、off にする


8. 仮想マシンのOSにwebサーバがインストールされているかを調べ、無ければ Webサーバーを導入

 $ yum list installed | grep httpd  webサーバがインストールされているか調べる

 $ sudo yum install -y httpd  webサーバをインストールする

 $ sudo service httpd start   webサーバのサービスをスタートする

 $ sudo chkconfig httpd on   再起動したときにもstartするように、on にする


9. webブラウザから、webサーバが起動しているか確認する

 urlの箇所に、Vagrantfile で設定した private ipアドレスを指定する(例:192.168.33.10)

  これで、Apacheの Test page が表示されればOK


10. htmlファイルを表示してみる
   ファイル転送ツールを使って仮想マシンにhtmlファイルを作成し、ブラウザから動作を確認

 $ sudo chown -R vagrant:vagrant /var/www/html  vagrantユーザで /var/www/html にアクセスできるようにする

  ※デフォルトでは、/var/www/html にhtmlファイルを置くと、ブラウザから見れるようになる


11. 上記までできたら、ファイル転送ツールを使って /var/www/html に、htmlファイルを作成し置く

 ファイル転送ツールは、fileZilla を使う

 /var/www/html/ 配下に、index.html という名前でhtmlファイルを作ってみる

  index.htmlの中身には、<html> hello world </html> など簡単記載して保存する


12. hostsを編集する
      IPアドレスとドメインを紐付けるためのhosts編集ツールを使ってみる

  編集ツールは、hoster を使う

  192.168.33.10 : dev.creator.com IPアドレスにドメインを紐付ける

  webブラウザから、url に ドメイン名( dev.creator.com )を指定して、htmlファイルが見られればOK


13. epel、remiリポジトリを導入
     PHP、MySQLの新しいバージョンを追加するためにepel、remiのリポジトリを導入する

  php はどのバージョンが入っているか
  $ yum info php  

  mysql はどのバージョンが入っているか
  $ yum info mysql-server

  epelのリポジトリを取得
  $ wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

  remiのリポジトリを取得
  $ wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

  epelをリポジトリ追加
  $ sudo rpm -Uvh epel-release-6-8.noarch.rpm

  remiをリポジトリ追加
  $ sudo rpm -Uvh remi-release-6.rpm

  設定ファイルを編集
  $ sudo vi /etc/yum.repos.d/epel.repo

   enabled=0 にする


14. phpを導入

 remiが管理しているphpの情報を確認する
 $ yum info --enablerepo=remi php

 remiを使って、php関連で必要なものをインストールする
 $ sudo yum --enablerepo=remi install -y php php-devel php-mysql php-mbstring php-gd

 設定ファイルを編集
 $ sudo vi /etc/php.ini

 ① /error で検索 n (で次検索する)

  ; error_log = syslog の下行に
  error_log = /var/log/php.log を追加

 ② /mbstring で検索 n (で次検索する)

  ; mbstring.language = Japanese
   → mbstring.language = Japanese コメントを外す

  mbstring.internal_encoding = EUC-JP
   → mbstring.internal_encoding = UTF-8  UTF-8に変更

  ; mbstring.http_input = auto
   → mbstring.http_input = auto  コメントを外す

  ; mbstring.detect_order = auto
   → mbstring.detect_order = auto  コメントを外す

 ③ /expose_php で検索 n (で次検索する)

  expose_php = On
   → expose_php = Off  Off に変更


 ④ /timezone で検索 n (で次検索する)

  ;date.timezone =
   → date.timezone = Asia/Tokyo  コメントを外し、Asia/Tokyo を追記

 以上

 ⑤:wq Enter でファイル保存して閉じる

 ⑥webサーバを再起動して、php.iniファイルの変更内容を反映させる。

  $ sudo service httpd restart  

 ⑦ここまでで、対象バージョンのphpが入ったことを確認する。

  $ php -v


15. MySQLの導入

 remiを使って、mysqlをインストールする
 $ sudo yum install -y --enablerepo=remi mysql-server

 設定ファイルを編集する
 $ sudo vi /etc/my.cnf

  socket=/var/lib/mysql/mysql.sockの下行に、
  以下の7行を追加する
   character_set_server=utf8
   default-storage-engine=InnoDB
   innodb_file_per_table
   [mysql]
   default-character-set=utf8
   [mysqldump]
   default-character-set=utf8

  追記したら、:wq


 mysqlを起動する
 $ sudo service mysqld start

  ※mysqlの起動が失敗する場合は、古いmysqlを削除し、新たにインストールして再起動する

   ・古いmysqlを削除
    $ yum remove mysql mysql-server
    $ rm -fr /var/lib/mysql/*
    $ yum --enablerepo=remi --disablerepo=base,updates install mysql mysql-server

   ・mysqlを再起動
    $ sudo service mysqld restart

 セキュリティを高めるための設定をする
 $ /usr/bin/mysql_secure_installation

  Set root password? [Y/n] Y

  password を設定 → 1 (任意)

  以降のそのほかの設定[y/n]は、enterを押してデフォルトで進める

 再起動時にも設定がされるようにする
 $ sudo chkconfig mysqld on

 mysqlにログインしてみる。
 $ mysql -u root -p

  mysql>   ※mysqlプロンプトが表示されればOK


16. postgreSQLを導入
     http://www.postgresql.org/download/linux/redhat/ から参照

 yum でpostgreSQLのリポジトリパッケージをダウンロードし、インストール
 $ sudo yum install http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-redhat93-9.3-1.noarch.rpm

  Is this ok [y/N]: y

 yum でpostgreSQL server をインストール
 $ sudo yum -y install postgresql93-server postgresql93-contrib

 postgreSQLデータベースの初期化
 $ sudo service postgresql-9.3 initdb

 サーバ起動時に自動起動するように設定
 $ sudo chkconfig postgresql-9.3 on

 postgresqlサービスの状態を確認する
 $ sudo service postgresql-9.3 status

  postgresql-9.3 is stopped と表示されたときは
   $ sudo service postgresql-9.3 start

 postgresqlがインストールされると、ユーザに postgres が追加されるので、パスワードを設定する
 $ sudo passwd postgres

  新しいパスワード(および再入力)を設定

 postgresユーザに切り替えてログインしてみる
 $ su - postgres

 パスワード入力し、次のプロンプトが表示されれば、ログインOK
  -bash-4.1$

 バージョン確認する
 $ psql --version
  psql (PostgreSQL) 9.3.5


 psqlで、postgresqlのデータベースにログイン
 $ psql

  以下が表示される
  psql (9.3.5)
  Type "help" for help.

  postgres=#  ※データベース用のプロンプト


 postgres=# \du と入力すると、現在存在するユーザ(初期は postgrs のみ)が以下のように表示される

  List of roles
  Role name | Attributes | Member of
 -----------+------------------------------------------------+-----------
  postgres | Superuser, Create role, Create DB, Replication | {}


 作業用にユーザをcreatedbの権限をつけて追加する(以下は、vagrantユーザをパスワード設定し追加)
 postgres=# create user vagrant createdb password '1' login;
 CREATE ROLE

 上記設定の後、
 postgres=# \du で、以下のように新規ユーザが追加されていればOK

   List of roles
  Role name | Attributes | Member of
 -----------+------------------------------------------------+-----------
 postgres | Superuser, Create role, Create DB, Replication | {}
 vagrant | Create DB | {}


 posgresを抜ける
  postgres=# \q

 postgresユーザを抜ける
 -bash-4.1$ exit

 元のvagrantユーザに戻る


17. Rubyをインストースするためのrbenvを導入

 ruby をインストールするための gitをインストール
 $ sudo yum install -y git


      以降の参考サイト: ドットインストール
                WEB管理のノウハウを蓄積していくウェブサイト


 rbenv を ~/.rbenv (既存のリポジトリ)からローカルにファイルコピー
 $ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

 rbenv のコマンドラインツールを利用できるように、環境変数を設定
  $PATH に ~/.rbenv/bin を追加。(~/.bash_profile に export PATH の行を追記)
   $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile

  ターミナル起動時に “rbenv init” を実行するように、.bash_profile に実行コマンドを追記
   $ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

  以上の2つのコマンドで .bash_profile の最後に、以下の2行が追記されたことを確認する
   $ vi ~/.bash_profile

 export PATH="$HOME/.rbenv/bin:$PATH"
 eval "$(rbenv init -)"

 以上で、rbenvのインストール完了

 rubyインストールに必要なruby-build をgitでファイルコピーし、rbenvにプラグインする
 $ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

 ターミナルの起動スクリプトに追記した内容を読み込みさせるため、ターミナルを立ち上げ直し、
 正しくインストールできたかを確かめる
 $ rbenv

 以下のような表示がされればOK

 rbenv 0.4.0-98-g13a474c
 Usage: rbenv <command> [<args>]

 Some useful rbenv commands are:
  commands List all available rbenv commands
  local Set or show the local application-specific Ruby version
  global Set or show the global Ruby version
  shell Set or show the shell-specific Ruby version
  install Install a Ruby version using ruby-build
  uninstall Uninstall a specific Ruby version
  rehash Rehash rbenv shims (run this after installing executables)
  version Show the current Ruby version and its origin
  versions List all Ruby versions available to rbenv
  which Display the full path to an executable
  whence List all Ruby versions that contain the given executable

 See `rbenv help <command>' for information on a specific command.
 For full documentation, see: https://github.com/sstephenson/rbenv#readme


18. ruby をインストール

 rbenv+ruby-build でインストールできるパッケージは下記のコマンドで確認できる


 $ rbenv install -l

  (途中略)
  2.1.0
  2.1.0-dev
  2.1.0-preview1
  2.1.0-preview2
  2.1.0-rc1
  2.1.1
  2.1.2
  (以下略)

 インストールしたいバージョンの ruby を確認して、以下のコマンドでインストールを行う
 $ rbenv install 2.1.2 (今回は 2.1.2)

 rbenv でインストールした後、必要コマンドが使えるようにする
 $ rbenv rehash   ※rbenv rehashの意味は

 インストールした ruby-2.1.2 を普段使うデフォルトの Ruby に設定
 $ rbenv global 2.1.2

 Ruby 2.1.2 がインストールできたことを確かめる
 $ ruby -v
 ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]    のように表示される


19. [[Ruby on Rails]]を導入
     gemを使ってRuby on Railsを導入

 gemというrubyのパッケージ管理ツールを使うので、最新状態にアップデートをかける
 $ gem update --system

 rails をインストールする
 $ gem install rails --no-ri --no-rdoc -V

 rbenv でインストールしたあとは、以下をコマンドを行う
 $ rbenv rehash

 rails のインストールされたバージョンを確認する
 $ rails -v


   ※めも:Rails 4では、Rails 3までの機能が整理されるとともに、新機能が追加されている

以上で、一通り終了。



参考にさせていただいたサイトの運営者様、ありがとうございました。
無事に環境構築が完了できました。
最終更新:2014年11月03日 12:08