{"action":"created","issue":{"url":"https://api.github.com/repos/orzup/rails-tutorial/issues/29","labels_url":"https://api.github.com/repos/orzup/rails-tutorial/issues/29/labels{/name}","comments_url":"https://api.github.com/repos/orzup/rails-tutorial/issues/29/comments","events_url":"https://api.github.com/repos/orzup/rails-tutorial/issues/29/events","html_url":"https://github.com/orzup/rails-tutorial/issues/29","id":93495367,"number":29,"title":"WebオペレーションのVagrant編 ログ","user":{"login":"orzup","id":1712281,"avatar_url":"https://avatars.githubusercontent.com/u/1712281?v=3","gravatar_id":"","url":"https://api.github.com/users/orzup","html_url":"https://github.com/orzup","followers_url":"https://api.github.com/users/orzup/followers","following_url":"https://api.github.com/users/orzup/following{/other_user}","gists_url":"https://api.github.com/users/orzup/gists{/gist_id}","starred_url":"https://api.github.com/users/orzup/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/orzup/subscriptions","organizations_url":"https://api.github.com/users/orzup/orgs","repos_url":"https://api.github.com/users/orzup/repos","events_url":"https://api.github.com/users/orzup/events{/privacy}","received_events_url":"https://api.github.com/users/orzup/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-07-07T10:14:43Z","updated_at":"2015-07-08T10:12:27Z","closed_at":null,"body":"ログをどこに置こうか考えているので、決まるまでここにためておこう…。\r\nということでログだ！"},"comment":{"url":"https://api.github.com/repos/orzup/rails-tutorial/issues/comments/119531227","html_url":"https://github.com/orzup/rails-tutorial/issues/29#issuecomment-119531227","issue_url":"https://api.github.com/repos/orzup/rails-tutorial/issues/29","id":119531227,"user":{"login":"orzup","id":1712281,"avatar_url":"https://avatars.githubusercontent.com/u/1712281?v=3","gravatar_id":"","url":"https://api.github.com/users/orzup","html_url":"https://github.com/orzup","followers_url":"https://api.github.com/users/orzup/followers","following_url":"https://api.github.com/users/orzup/following{/other_user}","gists_url":"https://api.github.com/users/orzup/gists{/gist_id}","starred_url":"https://api.github.com/users/orzup/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/orzup/subscriptions","organizations_url":"https://api.github.com/users/orzup/orgs","repos_url":"https://api.github.com/users/orzup/repos","events_url":"https://api.github.com/users/orzup/events{/privacy}","received_events_url":"https://api.github.com/users/orzup/received_events","type":"User","site_admin":false},"created_at":"2015-07-08T10:12:27Z","updated_at":"2015-07-08T10:12:27Z","body":"# 2015/07/08\r\n- VM に Ruby 2.2 をインストールする\r\n  - `yum install ruby` じゃ2.0が入ってしまう、だめだ\r\n  - wgetを使うとよい\r\n  - wgetが入っていないので`sudo yum install wget`\r\n  - `wget http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.gz`\r\n  - 解凍する前に、Rubyをどこに置くか考える\r\n  >  /opt/ ディレクトリーは、通常デフォルトインストールの一部ではないソフトウェアやアドオンパッケージ用に確保されています。\r\n\r\n  とのことなので `/opt/ruby-2.2.2` な感じで\r\n  - `tar zxvf ruby-2.2.2.tar.gz` で解凍する\r\n  - `./configure` でMakefileを作成する\r\n  - gccが必要だといわれたので `yum install gcc`\r\n  - リトライ、`./configure` でMakefileを作成する\r\n  - `make` でコンパイルする\r\n  - `sudo make install` でインストールする\r\n  - `ruby -v` で確認すると `ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]` と表示された！やった〜\r\n  - PATHを通そう  \r\n  `.bash_profile` に `export PATH=$PATH:/opt/ruby-ruby-2.2.2` を追加した\r\n- VagrantにRailsが動く環境を用意する\r\n  - Railsいれるぞ〜 `gem install rails --no-document` →だめだった  \r\n  ```\r\n  ERROR:  Loading command: install (LoadError)\r\n\tcannot load such file -- zlib\r\n  ERROR:  While executing gem ... (NoMethodError)\r\n    undefined method `invoke_with_build_args' for nil:NilClass\r\n  ```\r\n  - zlibがないっていってるから `sudo yum install zlib`\r\n  ```\r\n  パッケージ zlib-1.2.7-13.el7.x86_64 はインストール済みか最新バージョンです\r\n  何もしません\r\n  ```\r\n  ???????  \r\n  - 調べてみら `zlib` だけじゃなくて `zlib-devel` がいるそうな\r\n  > CentOSなどではコンパイルに必要なファイルをまとめたパッケージには後ろに-develという名前が付くようになっています。ライブラリそのものはヘッダファイルがなくても動作するため、パッケージが分割された状態になっていることがほとんどです。\r\n\r\n  - ということで `sudo yum install zlib-devel`\r\n  - リトライ`./configure`\r\n  - `make`\r\n  - `sudo make install`\r\n  - `ruby -v`\r\n  - よっしゃRailsいれるぞ〜 `gem install rails --no-document` →エラーは変わった！！！  \r\n  ```\r\n  ERROR:  While executing gem ... (Gem::Exception)\r\n    Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources\r\n  ```\r\n  - `openssl` が足りないご様子\r\n  - `yum search openssl` で確認すると `openssl-devel` があるぞ\r\n  - `sudo yum install openssl openssl-devel` でインストール\r\n  - リトライ\r\n  `./configure`\r\n  - `make`\r\n  - `sudo make install`\r\n  - `ruby -v`\r\n  - よっしゃRailsいれるぞ〜 `gem install rails --no-document` →エラーは変わった！！！  \r\n  ```\r\n  ERROR:  While executing gem ... (Gem::FilePermissionError)\r\n    You don't have write permissions for the /usr/local/lib/ruby/gems/2.2.0 directory.\r\n  ```\r\n  - 安易なsudo\r\n  ```\r\n  sudo: gem: コマンドが見つかりません\r\n  ```\r\n  - sudoだとパスが通ってない\r\n  ```\r\n  $ env | grep PATH\r\nPATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/sbin:/home/vagrant/bin:/opt/ruby-ruby-2.2.2\r\n  $ sudo env | grep PATH\r\nPATH=/sbin:/bin:/usr/sbin:/usr/bin\r\n  ```\r\n  - sudoのときのパスは `/etc/sudoers` の中に記述されてる。のでここをいつものパスをよんでもらうように変更する\r\n  - `sudo gem install rails --no-document` →パス通った！けど新たなエラーが。  \r\n  ```\r\n  Building Nokogiri with a packaged version of libxml2-2.9.2\r\n  ```\r\n  - ログに言われた通り `sudo yum -y install libxml2 libxml2-devel` だ！\r\n  - `sudo gem install nokogiri -- --use-system-libraries --no-document` でNokogitiをインストールだ！と思ったら `libxslt` もいるようだ！\r\n  - `sudo yum -y install libxslt libxslt-devel` だ！\r\n  - 再び`sudo gem install nokogiri -- --use-system-libraries --no-document` →うまくいったぞ！\r\n  - `sudo gem install rails --no-document` →やった〜！\r\n- VM上で `rails s -b 0.0.0.0 -p 80` を実行\r\n  - ひとまずgitをいれよう `sudo yum install -y git`\r\n  - どこにcloneする？→`/srv/` にしよう！\r\n  > /srv/ ディレクトリーには、Red Hat Enterprise Linux システムが提供するサイト特有のデータが含まれています。このディレクトリーは、ユーザーに対して FTP、WWW、または CVS などの特定のサービス用のデータファイルの場所を提供します。\r\n  \r\n  - `sudo git clone -b change_to_MySQL https://github.com/orzup/rails-tutorial.git` でうにうにclone\r\n  - `bundle install` → `mysql2` がインストールできないようす\r\n  - `sudo gem install mysql2 -v '0.3.18'` → headerが足りない\r\n  - `sudo yum install mysql-devel`\r\n  - `sudo gem install mysql2 -v '0.3.18'` → できた！\r\n  - `bundle install` →できた〜！\r\n  \r\n---\r\n\r\n今日のつまづき\r\n- `make distclean` してからRubyをリビルドしたらきちんとopensslを反映してくれたぞ！\r\n"}}