2012年9月30日日曜日

2ヶ月、Linux Kernelをさわさわしてみて感想

今までは専ら使うだけだったのですが、お仕事ではせっせとカーネルコンパイルしたりするようになりました。
2ヶ月触ってみてわかったこと。

Linuxは広大だわ

XFS → mm (Memory Management のキャッシュ周り) → md(RAID) → libata
並行しながらポーティング作業をしてました。
しかし、arch/arm配下は本当に修羅場ですね・・・

Documents配下には良質なコンテンツが揃ってますし、 それぞれのサブシステムでWikiなどを持っていることが多くてそこにも情報がたくさんあることが分かりました。
それと、ソースコードがあればかなりの事は”わかったような気になれる”という印象ですね。
残念ながら理解するとなると結構大変です。
まだまだ、ハックするまでには勉強が必要だな~と思いました。

ところで、勉強といえば英語をやらないとあかん気がするのです。。。
全国の中高大学生に声を大にして言いたい。英語はやりましょうと。
高専生は英語をやればプロ高専生に近づけます。


2012年9月21日金曜日

Ubuntu Precise(12.04) で Redmine + Gitolite を構築する

少し業務で色々テストするために、オレオレ環境を構築する必要があったので。
Redmineはプロジェクト管理ソフトウェアでRuby on Railsで書かれたWebアプリケーションです。
GitoliteはGit Serverともいえるもので、Gitのホスティングサーバーを簡単、便利に運用するためのアプリケーションです。 
手順は次の通り
  1. Ubuntu Precise(12.04) Serverをインストール
  2. Gitoliteをインストール
  3. Redmineをインストール
  4. パーミッションを設定する
1.まずは下準備をしましょう。
Ubuntu Serverなら簡単です。
インストール時にLAMP serverとOpenSSH serverにチェックを入れるだけです。
もう既にUbuntuをインストールしてる方はコマンドから"sudo tasksel"と入力すると出てきます。GUIっぽいですが、CUIですので上下キーでカーソルを合わせてスペースキーで選択です。終わったらTabキーを押してエンターです。
途中でMySQLのパスワードを決めるように聞かれるので設定します。
  
2.Gitoliteをインストール
Gitoliteがどうゆうものかは他の記事に譲ります。
Gitosisは12.04からリポジトリから削除されてますのでご注意くださいませ。
sudo apt-get install gitolite

続いて、gitoliteの設定をしましょう。gitoliteにはgl-setupというウイザード形式の設定ツールがあるのですが、より簡単に設定できる方法を紹介します。
その前に、gitoliteを管理するためのSSH鍵を準備しておきましょう。
自分はローカルの端末から鍵を転送しておきました。
scp ~/.ssh/id_rsa.pub admin@server:
そして、 
sudo dpkg-reconfigure gitolite
を実行し質問に答えます。ユーザー名とリポジトリの配置場所はそのままにしました。
管理者の鍵を聞かれたら先ほど保存した鍵のパスを指定しましょう。
今回の例では/home/admin/id_rsa.pubとなります。
これで必要な設定は完了です。転送した公開鍵は削除してかまいません。適切な場所にコピーされています。
もうGitoliteは外からアクセスできる状態です。

3.Redmineをインストール
UbuntuならRuby on Railsなアプリケーションも簡単です。
sudo apt-get install libapache2-mod-passenger redmine-mysql redmineいろいろ聞かれますが、デフォルトのままエンター連打でw
(何を聞かれているかわからない)
データベースのセレクトはmysqlにします。
終わったらシンボリックリンクを張ります。
ln -s /usr/share/redmine/public /var/www/redmine
さらに、有効にするために設定ファイルをいじります。
sudo vim /etc/apache2/site-enabled/000-default
ここに<VirtualHost *:80>の中に
   <Location "/redmine"> 
   RailsBaseURI /redmine   
</Location> 
を追記します。設定を有効にするために再起動させましょう。
sudo service apache2 restart
これで、裸のRedmineが公開されます。
自分はテスト環境なのでこのように書きましたが、バーチャルホストの設定なども当然できます。
運用する方はUbuntu Server Guide Web Serversを参照してチャレンジしてみてください。

4.パーミションを設定する。
Gitoliteのリポジトリが格納されてるディレクトリはデフォルトだと700なので、Redmineからアクセスできません。
ここでは、WebServerのグループを割当て、UMASKの値を変更することで回避したいと思います。
sudo usermod -a -G gitolite www-date
sudo vim /var/lib/gitolite/.gitolite.rc
$REPO_UMASK = 0027;
とします。
これで設定はすべて完了です。お疲れ様でした。

あとは、RedmineにID:admin、パスワード:adminで入って、プロジェクトを作るなりします。
リポジトリの設定には/var/lib/gitolite/repositories/testting.git
などのようにセットすればアクセス可能です。

いかがでしたでしょうか?必要な最小限の設定をするだけで全てが整ってしまいます。
パッケージをインストールすると適切なユーザとグループが作成されますし、ファイアーウオールも調整されます。

何かありましたら、コメントに記載して頂ければ幸いです。

2012年9月8日土曜日

OSC Tokyo 2012 fall に参加しました

http://www.ospn.jp/osc2012-fall/

今回は寝坊してセッションはUbuntuだけしか聞いてません。
その代わり、たくさんブースの方々とお話することができたので内容は濃かったです。
Sambaのお話聞きたかったのですが、ブース出展はしていませんでした。

巷で話題のOpenBlocksのお話を聞いてみたり
 Ubuntuのお話を聞いてみたり。
ARMDAのコードがあれなんだけど!!という声が印象的でした。
 ところで、これはいったい。。。。

自分は風邪をこじらしていたのでLTも聞かずに退散しました。
皆様、お疲れ様でした。