アーカイブ - 4月, 2012



2012年 4月 6

参考:Mac(Leopard) に DBD::SQLite をいれる時には注意 | Supernova

参考ブログの手順だと

Please use ‘o conf commit’ to make the config permanent!

と怒られるのでちょと修正。

sudo cpan
cpan[1]> o conf commit makepl_arg USE_LOCAL_SQLITE=true
commit: wrote '/Users/clicktx/.cpan/CPAN/MyConfig.pm'
cpan[2]> install DBD::SQLite

Filed under: Mac,perlモジュール

Trackback Uri






2012年 4月 5

ローカル環境とリモート環境の準備

ようやくgitを少しずつ使い出してみたもののデプロイするにはどうすればいいのか分からなかったのでとりあえず作業内容をメモしておく。

  • ローカル:mac OSX 10.6
  • リモートサーバ:CentOS 5.5

公開鍵方式でSSHにログイン出来るようにする

ローカル環境での操作

ターミナルでログインし、ホームディレクトリで秘密鍵と公開鍵のペアを作成する。RSA方式でよいと思われる。

MacBook:~ clicktx$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/clicktx/.ssh/id_rsa): [enter]
Enter passphrase (empty for no passphrase): [enter]
Enter same passphrase again: [enter]
Your identification has been saved in /Users/clicktx/.ssh/id_rsa.
Your public key has been saved in /Users/clicktx/.ssh/id_rsa.pub.
The key fingerprint is:
01:0a:3b:c1:1c:7f:2e:1c:5d:ae:1b:16:59:70:ef:fd clicktx@MacBook.local
The key's randomart image is:
+--[ RSA 2048]----+
| o+.  o.+        |
|  o= o B .       |
|  o + = o .      |
|   o + o o .     |
|    o = S . .    |
|     o o     .   |
|      .       E  |
|                 |
|                 |
+-----------------+

id_rsa … 秘密鍵
id_rsa.pub … 公開鍵

秘密鍵と公開鍵のペアがホームディレクトリの.ssh/以下に作成される。

公開鍵である id_rsa.pub をリモートサーバのホームディレクトリにアップロードする。
個人的にリモートサーバのSSHはポート番号を変更しているため以下のような[-P ポート番号]オプションをつけている。

$ cd ~/.ssh
$ scp -P ポート番号 id_rsa.pub clicktx@domain.com:~/
clicktx@domain.com's password: 
id_rsa.pub                                    100%  405     0.4KB/s   00:00 

リモートサーバでの操作

ホームディレクトリに.sshディレクトリが無ければ作成する。

$ mkdir ~/ .ssh
$ chmod 700 .ssh/ (自分だけ読み書き出来る)

id_rsa.pubの内容を.ssh/authorized_keysに追加する

$ cat id_rsa.pub >> ~/.ssh/authorized_keys
$ cd .ssh/
$ chmod 600 authorized_keys (自分だけ読み書き出来る)
$ rm ~/id_rsa.pub (不要になったid_rsa.pubを削除しておく)

ローカル端末からの操作

新しいターミナルからログインしてみる。

$ ssh -p ポート番号 clicktx@domain.com
Last login: Thu Nov 24 10:12:16 2011 from xxxxxx.xxx.xxx.xx.jp

公開鍵作成時にパスフレーズは設定していないので、何も聞かれずにログイン出来れば成功。

 


 

リモートサーバにgitをインストール

CentOSのデフォルトリポジトリではgitが提供されていない。
rpmforgeリポジトリを導入していればyumで一発でインストールできる。

$ sudo yum install git

gitの環境設定

ユーザー名とメールアドレスを設定。

$ git config --global user.name "clicktx"
$ git config --global user.email clicktx@domain.com

git pushした時にデプロイされるようにする

ローカルで開発した内容をデプロイする時にgit pushで済むようにする。

仕組み的には

bareリポジトリにpush
↓
デプロイ先のリポジトリがbareリポジトリからpull
↓
ワークツリーに反映される

こんな感じみたい。なるほど。

作業自体はこんな感じ

リモートでの作業
・リモートサーバにbareリポジトリを作る(push先)
・フックを仕掛ける
・デプロイ先(公開ディレクトリ)にgitリポジトリを作る

ローカルでの作業
・リモートリポジトリの登録
リモートでの作業

リモートサーバにbareリポジトリを作る

$ mkdir ~/repos
$ cd ~/repos
$ mkdir mysite.git
$ cd mysite.git
$ git init --bare

フックを仕掛ける
post-receive.sampleのシェルスクリプトをコピーしてpost-receiveを作成する。実行権を与える。

単にpullしたいリポジトリがあるディレクトリに移動してpullを実行させるだけ。

$ cd ~/repos/mysite.git
$ cp hooks/post-receive.sample hooks/post-receive
$ vi hooks/post-receive

(cd /home/clicktx/www/mysite; git --git-dir=.git pull)  # 最終行に追記する

$ chmod +x ~/repos/mysite.git/hooks/post-receive

デプロイ先(公開ディレクトリ)にgitリポジトリを作る(cloneする)
ここでは ~/www/mysite

$ mkdir ~/www
$ cd ~/www
$ git clone ~/repos/mysite.git/
ローカルでの作業

すでにgitリポジトリがあるものとする。

リモートリポジトリの登録

$ cd ~/Work/mysite
$ git remote add origin ssh://clicktx@domain.com:ポート番号/~/repos/mysite.git

pushしてみる。2回目からはgit pushのみで行える。

$ git push origin master

...色々変更
git commit -a
git push

これでおれおれバージョン管理システムとはお別れ…かな?

参考:


Filed under: Mac,プログラミング,開発環境

Trackback Uri






2012年 4月 4

Bundle::CPAN をインストールすれば良いらしいけど、makeが必要だったりするので注意。
makeを使うにはXcodeをインストールする必要があります。

makeへのシンボリックリンク作成

sudo ln -s /Developer/usr/bin/make /usr/bin/make

Bundle::CPAN をインストール

cpan
cpan[1]>install Bundle::CPAN

※cpanのところは sudo cpan だったかも。

cpan起動して上カーソルの時に ^[[A とかでなければがインストール成功。
これでカーソル移動とか履歴とか使える!


Filed under: Mac,perl

Trackback Uri