日次アーカイブ: 2012年04月04日

rubyでコマンドラインの引数に与えたサイトをダウンロードするスクリプトを作ってみた。お手本サイトのこことかここの合わせ技で、ハードコーディングされたURLではなく、引数の1番目に与えたURLを引っ張ってくる。あと、引数が空っぽだと"nil"って表示されちゃうので、エラー抑止するようにした。rubyのお手本サイトを見て自分でちょっと考えて手を加えた第一号かも。楽しい!ソース (URL01.rb) は以下。

[cc lang='ruby' ]
# coding: utf-8

unless ARGV[0].nil? then
end
if ARGV.size > 0 then
require 'open-uri'
open(ARGV[0]) do |f|
f.each do |line|
puts line
end
end
end
[/cc]

実行結果はこんな感じ。

[cc lang='text' ]
ruby URL01.rb https://nullpopopo.blogcube.info/ > index.html
[/cc]

こんにちは。次回のTechLION vol.6に、まつもとゆきひろさんが登壇される記念に、と言いながら忘れっぽい自分用のメモにruby開発環境インストール手順をまとめておきます。とか言いながら、さらに言うと「XXでエラーおきた」→「ググろう」で一部の手順しか載っていないサイトより、最初から最後までの手順があったほうがみんな幸せでしょ?ということでまとめておきました。前提は以下の通りです。

・ 作業日 2012/04/04
・ OS Centos6.2 (インストール時に使用したISOイメージは CentOS-6.2-x86_64-bin-DVD1.iso )
・ OSインストール時のパッケージ すべて「チェックを外す
・ OSインストール後は$ sudo yum updateですべてのパッケージをアップデート済
・ 作業用ユーザにはsudoでroot権限のコマンドを叩けるように設定済

■ sshで作業できるようにopenssh関連のパッケージをインストールする
[cc lang='bash' ]
sudo yum install openssh-server openssh-clients libedit openssh
[/cc]

■ 時刻あわせのためntpdateコマンドをインストールする (任意)
[cc lang='bash' ]
sudo yum install ntpdate
[/cc]

■ rubyのpathが通っているかを調べるためwhichコマンドをインストールする (なくてもよいがあったほうが便利)
[cc lang='bash' ]
sudo yum install which
[/cc]

■ libyamlやrubyのパッケージをwebからダウンロードするため、wgetコマンドをインストールする
[cc lang='bash' ]
sudo yum install wget
[/cc]

■ 日本語文字コード変換のためnkfコマンドをインストールする (iconvがインストールされているので、それで充分って方はお好みで)
[cc lang='bash' ]
sudo yum install nkf
[/cc]

■ libyamlインストール時にfileコマンドがあるかどうかチェックしているので、fileコマンドをインストールする(なくてもコンパイル通ったけどあると便利なので)
[cc lang='bash' ]
sudo yum install file
[/cc]

■ その他ネットワーク系などのトラブルシュートに便利なコマンドをインストール(任意)
[cc lang='bash' ]
sudo yum install bind-libs bind-utils tcpdump libpcap lsof
[/cc]

■ メール飛ばしたいときはpostfixとmailコマンドがあると便利(任意)
[cc lang='bash' ]
sudo yum install postfix mailx
[/cc]

■ コンパイラなどをインストールする。zlib-develとopenssl-devel、sqlite-develはrubyインストール時にあったほうがいい
[cc lang='bash' ]
sudo yum install gcc openssl-devel zlib-devel make patch sqlite-devel
[/cc]

■ DBにMySQLを使う場合は先にインストールしておく
[cc lang='bash' ]
sudo yum install mysql mysql-libs mysql-devel mysql-server
[/cc]

■ libyamlとrubyをダウンロードする
[cc lang='bash' ]
mkdir src
cd src
wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p125.tar.gz
[/cc]
# 最新版のパッケージがあるかどうかは以下のサイトで確認のこと
# http://pyyaml.org/download/libyaml/
# ftp://ftp.ruby-lang.org/pub/ruby/1.9/

■ libyamlをインストールする
[cc lang='bash' ]
tar xvzf yaml-0.1.4.tar.gz
cd yaml-0.1.4
./configure
make
sudo make install
cd ../
[/cc]

■ rubyをインストールする
[cc lang='bash' ]
tar xvzf ruby-1.9.3-p125.tar.gz
cd ruby-1.9.3-p125
./configure
make
sudo make install
[/cc]

※ 確認
[cc lang='bash' ]
which ruby
/usr/local/bin/ruby
[/cc]

[cc lang='bash' ]
ruby -v
ruby 1.9.3p125 (2012-02-16) [x86_64-linux]
[/cc]

[cc lang='bash' ]
which gem
/usr/local/bin/gem
[/cc]

■ railsをインストールする
[cc lang='bash' ]
sudo /usr/local/bin/gem install rails --version "~> 3.2.1" --no-rdoc --no-ri
[/cc]
※ 必ずバージョン3.2.1以上を指定すること

※ 確認
[cc lang='bash' ]
rails -v
Rails 3.2.3
[/cc]
以上がRailsの最低限の開発環境構築手順でした。ね、簡単でしょ?

みなさんこんにちわ。少しだけ遅くなってしまいましたが、Apacheスタートスクリプト読書会をやってきましたのでレポートします。さっそく上田会長がこんな記事こんな記事でレポートを書かれているので、全体の流れはおわかりいただけたかと思いますので、私は違う視点から書いてみたいと思います。当日の発表資料はこちらになります。

また、冒頭に @hi_saito さんによるawkでアクセスログ解析のライトニングトークもありました。

…続きを読む