さくらのVPSを借りてgitのレポジトリを置く (2)

▽ さくら

参考: http://randd.kwappa.net/2010/12/10/190

$ sudo wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
$ sudo rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
$ sudo yum install git

参考: http://kasahi.blogspot.jp/2011/07/vpsgitmac.html

$ sudo mkdir /var/git
$ sudo chmod 775 /var/git
$ sudo chown root:wheel /var/git
$ sudo cd /var/git
$ sudo mkdir demo.git
$ sudo chmod 775 demo.git
$ sudo chown root:wheel demo.git
$ sudo cd demo.git

↑ /var/git 以下のオーナーが、gitで使うアカウントでないと、後のpushで失敗した

git init --bare --shared
Initialized empty shared Git repository in /var/git/demo.git/

▽ Mac
Towerを使っているので、gitはすでに入っている。

Add Remote Repositoryで、

ssh://ユーザー名@さくらのアドレス/var/git/demo.git

を追加。

とりあえずコミットのテストをするなら、

$ git add *
$ git commit -am "ログのメッセージ"
$ git push ユーザー名@さくらのアドレス:/var/git/fes.mu master

あたりを使う。

さくらのVPSを借りてgitのレポジトリを置く (1)

まずはSSHのログイン周りの整備まで。

参考: http://blog.hybridism.com/?p=140

▽ さくらのVPS上での作業

ユーザーを追加、パスワードを設定、wheelグループに追加。

$ adduser 追加するユーザー名
$ passwd 追加するユーザー名
$ usermod -G wheel 追加するユーザー名
$ visudo

%root ALL=(ALL) ALL の近くに、
%ユーザー名 ALL=(ALL) ALL
を追記して、sudoを許可。

$ vi /etc/ssh/sshd_config

で、

PermitRootLogin no

に変更して、SSH接続でrootに直接ログインすることを禁止。
:wq

sshdを再起動

$ /etc/init.d/sshd restart

▽ Macのターミナルでの作業

id_rsaの作成

$ cd ~/.ssh
$ ssh-keygen -t rsa

SCPでファイルを転送

$ scp id_rsa.pub ユーザー名@さくらのVPSのIPアドレス: (←コロン重要)

sshでログイン

$ ssh ユーザー名@さくらのVPSのIPアドレス

▽ さくらのVPS上での作業

~に.sshというフォルダを作ってパーミッションを700にする。

$ mkdir .ssh
$ chmod 700 .ssh

.sshに公開鍵を移動

$ mv id_rsa.pub .ssh/

authorized_keysというファイルを作成して公開鍵を書き込む
(鍵認証の有効化とパスワード認証の無効化)

$ touch authorized_keys
$ cat id_rsa.pub >> authorized_keys
$ chmod 600 authorized_keys

再びsshd_configを編集

$ sudo vi /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
 
PasswordAuthentication no

:wq

再びsshdを再起動

$ sudo /etc/init.d/sshd restart

次回以降のログインは、

$ ssh ユーザー名@さくらのVPSのIPアドレス -i .ssh/id_rsa -p 22

になる

▽ Macのターミナルでの作業
最後にMacのターミナルからのログインを簡単にするために、.ssh/configに

Host sakura
    HostName さくらのVPSのIPアドレス
    User ユーザー名
    IdentityFile ~/.ssh/id_rsa

と書き込んでおく。すると、

$ ssh sakura

でログイン出来る。

Amazon EC2 Webサーバーを立ち上げてHello World

▽ Apacheのインストール

# sudo yum install httpd

▽ Apacheを起動

# sudo /etc/init.d/httpd start
httpd を起動中: [ OK ]

EC2 Management Consoleで確認できるPublic DNSをブラウザに入力すると、
Apacheの初期ページが出ます。

▽ index.htmlファイルをつくる

# sudo vi /var/www/html/index.html

編集したら、
:w
:q

再びブラウザでアクセスすると、このページが見られる。

番外編

▽ 時計をあわせる

# date
2012年 6月 30日 土曜日 12:36:11 UTC (時計がUTC)
# sudo cp /usr/share/zoneinfo/Japan /etc/localtime
# date
2012年 6月 30日 土曜日 21:36:50 JST (時計がJSTになった)

▽ PHPのインストール

# sudo yum install php

▽ Apacheが自動的に起動するように

# sudo chkconfig httpd on
# sudo chkconfig --list httpd

Amazon EC2 インスタンスを作ってSSHでログイン

調べて書いといて!ってお願いしたので、
だいたいここに書いてある通り。GJ。

http://ikezawa-ayaka.blogspot.jp/2012/06/mongodbamazonec2.html

お好みの設定でインスタンスをつくって、startする。

EC2 Management Consoleの”Instance”で起動したいインスタンスを選んで”Start”。
次に”Connect”を押して、”Connect with a standalone SSH Client”を選ぶ。

Exampleってとこにある通り、

$ ssh -i XXXX.pem ec2-user@XX.XX.XXX.XXX

(↑ローカルに保存したKeyPairへのパスと、サーバーのアドレス)
をMacのターミナルから実行。

※ .pemファイルはパーミッションを600にしておくこと。

これでサーバーに入れた。

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

インスタンス終了時の覚書

AWS

マネージメントコントローラにある似たような2つのメニュー。

Stop・・・・・・サーバの一時停止。物理サーバで言うところのshutdown
Terminate・・・インスタンスの永久破棄。物理サーバで言うと筐体廃棄

http://tsubo3.wordpress.com/2011/07/02/aws-ec2%E3%81%A7%E3%81%AEstop%E3%81%A8terminate%E3%81%AE%E9%81%95%E3%81%84/

[追記]
▽ SCP (Transmit)でのログイン

▽「ssh ec2」で入れるようにする
$ vi ~/.ssh/config して、

Host fes.mu
HostName XXX.XXX.XXX.XXX
User ec2-user
IdentityFile ~/.ssh/XXXX.pem

を追記

Mongo DBで最初の実験

DBの一覧

> show dbs
local	(empty)

DBの作成(データを入れると作成される)

> use mydb

試しにデータ追加

> db.addressbook.save({'name':'sohei'})

追加したデータを確認

> db.addressbook.find();
{ "_id" : ObjectId("4feed99e86eaec42be0c7e77"), "name" : "sohei" }

もう一度DBの一覧

> show dbs
local	(empty)
mydb	0.203125GB (←DBが出来た)

追加したデータを消す

> db.addressbook.drop()
true

データが削除出来たか確認

> db.addressbook.find();

(何も表示されなければOK)

DBを削除

> db.dropDatabase()
{ "dropped" : "mydb", "ok" : 1 }

DBが削除出来たか確認

> show dbs
local	(empty)

これで最初の状態に戻ってテスト終了。

参考: http://mitsukuni.org/wiki/MongoDB/#b0459381

Mongo DBをOS Xで使う

▽ インストール
参考 : http://codedehitokoto.blogspot.jp/2012/01/nodemongodb.html

$ curl -O http://fastdl.mongodb.org/osx/mongodb-osx-x86_64-2.0.2.tgz
$ tar -xzvf mongodb-osx-x86_64-2.0.2.tgz
$ sudo mv mongodb-osx-x86_64-2.0.2/bin/* /usr/local/bin/
$ rm -fr mongodb-osx-x86_64-2.0.2 mongodb-osx-x86_64-2.0.2.tgz

▽ データ保存用のディレクトリ作成
参考: http://jp.docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/

$ sudo mkdir -p /data/db
$ sudo chown `id -u` /data/db

▽ データベースの起動

$ mongod

▽ データベースに入る
(別のターミナルから)

$ mongo

この後データの出し入れと、Amazon EC2で使う方法の勉強。
主にPHPで開発する予定。

hitTest in JS

何かをクリックしたりした時に、それが特定の要素の上からどうかを調べる式のメモ。
ASで言うhitTest的なもの。


$(“外側”).click(function(e) {
e.preventDefault();
$(“当たり判定する要素”).each(function() {
var offset = $(this).offset();
var paddingTop = parseInt($(this).css(“padding-top”).split(“px”).join(“”));
var paddingBottom = parseInt($(this).css(“padding-bottom”).split(“px”).join(“”));
if( e.pageX > offset.left &&
e.pageX < offset.left + $(this).width() && e.pageY > offset.top &&
e.pageY < offset.top + $(this).height() + paddingTop + paddingBottom ){ //当たっている }else{ //当たっていない } }); }); [/javascript]

$(window).mousemove

jQueryでスライダーみたいなドラッグできるUIを作る時、
IE7,8では $(window).mousemove とか $(window).mouseup が動かず、
$(window.document).mousemove、$(window.document).mouseup にしないといけないらしい。

それとドラッグする要素が画像の時、imgタグでもbackground-imageでも問題無いけど、
aタグを使うと、IE7,8でやはり問題有り。(リンク先へのショートカットを運んでしまう)
divを使った方が良い。

あとは、
http://javascript123.seesaa.net/article/100851539.html
にあるように、return false をおまじない的に使う。

 

 

Rails 3.2.3 を Heroku で

1.

Rubyのバージョン確認

$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.3.0]

Railsのバージョン確認

$ rails -v
Rails 3.2.3

参考: 【番外編】Ruby on Railsでのアプリ開発の基本 – Facebook開発者の為のサポートサイト | fb.developers’+
http://fb.dev-plus.jp/column1/column1_ruby/

 

2.

LionのデフォルトのRubyは1.8.7 なので、
1.9.3を使うために、RVMをインストール。

$ git clone --depth 1 git://github.com/wayneeseguin/rvm.git
$ cd rvm
$ ./install

 

3.

RVMを使うために、~/.bashrc に追記。

$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bashrc

設定が完了したら、「$ source ~/.bashrc」か 再ログイン で設定を読み込む。

$ rvm -v
rvm 1.13.0 () by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

 

4.

1.9.3をインストール

$ rvm install 1.9.3

インストールされているバージョンの一覧

$ rvm list

1.9.3を使用

$ rvm use 1.9.3

1.9.3を初期設定に

$ rvm --default 1.9.3

改めて、$ rvm list の結果

rvm rubies

ruby-1.9.2-p320 [ x86_64 ]
=* ruby-1.9.3-p194 [ x86_64 ]
# => - current
# =* - current && default
#  * - default

参考: Mac に rvm をインストールして 複数バージョンの Ruby を使う – hogehoge foobar Blog Style5
http://d.hatena.ne.jp/mrgoofy33/20110518/1305649544

 

5.

その他、必要に応じて…

gemのインストール

$ sudo port install rb-rubygems

railsのインストール

$ gem install rails

バージョンの確認

$ rails -v

 

6.

Railsアプリを作る場所へ移動

$ cd

アプリ「myapp」を作成

$ rails new myapp

アプリの中に移動

$ cd myapp

Herokuで動かすために「myapp/Gemfile」のgem ‘sqlite3’ を

group :production do
gem 'pg'
end
group :development, :test do
gem 'sqlite3'
end
[code]

に書き換える。

ローカル環境の再インストール
$ bundle install

参考: Rails 3.1 を Heroku (Cedar) にデプロイする – Rails 3.0 on Heroku Bamboo からの変更点 : : lefthandz.org
<a href="http://aws.lefthandz.org/wordpress/2012/01/deploy-rails-3-1-on-heroku-cedar/ " target="_blank">http://aws.lefthandz.org/wordpress/2012/01/deploy-rails-3-1-on-heroku-cedar/</a>

&nbsp;

7.

データベースのテーブル作成

[code]
$ rails g scaffold note body:text title:string
$ rake db:migrate

ローカルのRailsを起動

$ rails s

http://localhost:3000/notes をチェック

 

8.

Herokuにログイン

$ heroku login

※パスワードを毎回聞かれなくするには
公開鍵/秘密鍵の設定

$ heroku keys:add

参考: Ruby1.9.3 + Rails3.2.1セットアップ – I can’t change the world.
http://change-the-world.heroku.com/19

 

9.

Gitの管理下に

$ git init
$ git add .
$ git commit -m "init"

Heroku上にアプリを作成

$ heroku create --stack cedar
or
$ heroku create --stack cedar アプリ名

Herokuにリリース

$ git push heroku master
$ heroku rake db:migrate
$ heroku open

http://アプリ名.herokuapp.com/notes で確認

GoGoLA

2012年4月の記録。

・TD社に新メンバーが入りました。 (4/2)

ここで簡単に紹介すると、大学の後輩の平瀬です。
SFC卒業後に藝大大学院(映像研究科)で腕を磨いて、卒業のタイミングで合流です。
今後は色々なところに一緒に連れていきます。
これで今までの3倍くらい仕事が出来そうです。

それと、4/21で独立からちょうど1年が経ちました。
必死なうちに、会社になって事務所が出来ました。周囲のみなさまに感謝です。
今年は、昨年の
長野 (2年目で首位打者)
澤村 (新人王)
のような2人になりたいと思っています。よろしくお願いします。

http://td-inc.jp/#members

 

・岩井・檜垣夫妻が留学先のLAに旅立ちました。 (4/17)

大学の研究室時代からずーっといい感じに近くにいた同級生2人です。
今自分がやってることの下地と原動力はほぼこの2人のおかげです。
ずっと背中を追いかけていたら海の向こうに行ってしまったので、
追いかけて行こうと思っています。応援よろしくです。(twitter: @tawashi5454_, @mrkhgk)

 

more >