<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.6.2" -->
<rss version="0.92">
<channel>
	<title>Apelog</title>
	<link>http://blog.apecell.com</link>
	<description>Apecell's blog by Design</description>
	<lastBuildDate>Mon, 20 Oct 2008 16:40:07 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>ja</language>
	
	<item>
		<title>SSL証明書の取得から設定まで＋α</title>
		<description>ApacheでSSL(mod_ssl)を使用する場合の一連の流れ。

署名入り証明書の取得（購入）から設定までの一連の流れのまとめです。

自己署名証明書での解説ページが多いので、初めて証明書を購入してSSLの導入をする場合を想定して書いています。

サーバー環境はCentOS 5.1。環境が変わっても一連の流れと作業はほぼ同じです。
SSLで暗号化された通信の簡単な説明

	サイトにアクセスするとサーバーから証明書と鍵(A)を受信
	証明書が安全な場合、鍵(A)を利用して通信データを暗号化
	暗号化したデータをサーバーに送信
	サーバーは鍵(A)に対応した鍵(B)でデータを復元

上記の「証明書が安全な場合」の安全かどうかはどうやって判別すればいいのか？

証明書の安全を保証する為に認証局と呼ばれる第3者によって証明書に署名を付けてもらいます。その署名が無いものは安全性が確認出来ない為、オレオレ証明書などと呼ばれています。
署名付き証明書を手に入れるには
署名付き証明書を取得する為に証明書署名リクエスト(CSR: Certificate Signing Request)と呼ばれるものが必要になります。CSRには証明書の保有者の情報(名前・有効期限・FQDNなど)が含まれており、それを認証局に送り保有者情報の確認がおこなわれた後に署名付き証明書が手に入ります。
CSRの作成
CSRはOpenSSLのコマンドによる作成が一般的です（一部Webインターフェイスを提供しているところもあります）。

ここではコマンドラインによる作成を以下に挙げます。
# cd /etc/pki/tls/certs/
# openssl req -new -nodes -keyout myserver.key -out server.csr
上記コマンドを実行するとCSR作成の為に必要な情報の入力待ち状態になるので、情報を入力します。特別な理由が無ければWhoisの情報と同じものを入れた方がいいです。違う場合、署名してもらえない場合や人力確認で時間が掛かる事が多いです。()内はコメントです。
Generating a 1024 bit RSA private key
.++++++
......++++++
writing new private key to 'myserver.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called ...</description>
		<link>http://blog.apecell.com/2008/10/21/id/47</link>
			</item>
	<item>
		<title>「発見力」養成講座</title>
		<description>最近読んだ本で良かったものを紹介。初めてアソシエイトリンクを張ってみたのでAmazonの方のレビューも参考にしてみてください。

ビジネスマンのための「発見力」養成講座

セブンイレブンのロゴは最後の文字だけ小文字になっているって知ってました？
参考画像

いつも目に入っていているのに気付かない、それを発見する力「発見力」について具体例を交えて分かりやすく書いています。ビジネスマン以外に、こどももおとなもおねーさんにも読んでもらいたい。

この本の素晴らしい所は非常に分かりやすい具体例。新幹線の乗車券と特急券を重ねて改札に通すとどちらが上になって出てくるか？といった話から入り、何故それに気付いたのか、そしてそれに気付くにはどうすればよいかが過不足なく書かれています。

同じものを見ても気付く人と気付かない人がいる、という話では社長と社員を例に挙げて説明していてこれも分かりやすい。

発見力自体は誰にでも即実戦可能な事で、この本を読んだ後にはきっと「意識する事を意識している」様になってます。

 </description>
		<link>http://blog.apecell.com/2008/10/11/id/44</link>
			</item>
	<item>
		<title>携帯サイトの入力フォームのUIの話</title>
		<description>継続は力だという事を頭に叩き込みながら開発に関するもの以外にも、読んだ本や音楽(CD)なども交えてやっていくということで。
携帯のUIであった話
とある携帯サイトの入力フォームは以下のようになっていた。

【入力1】→【入力2】→【入力3】→【確認】→【完了】

特におかしい様には思わないがアクセス解析を見ると確認から完了へのコンバージョン率が低い。

確認画面まで行っておいて完了しないのはおかしい、という事で再度見直してみると「もしかして確認ページなのに完了ページだと思っているのではないか？」という話が挙がり、試しに確認ページの上部にも完了ページへのボタンを設置したところコンバージョン率が上がったという話。

確かに確認ページまでの遷移が長く確認ページの上部には「この内容で良ければ完了してください」と書いてあるものの目立っていないので逆に紛らわしくなっていた。

PCサイトでもたまに見かけるが携帯サイトの方が表示領域が少ない分、利用者への通知には気をつけた方がいい。

このケースは最終的にページ上部にまだ完了していない旨を目立つように表記した。 </description>
		<link>http://blog.apecell.com/2008/10/08/id/41</link>
			</item>
	<item>
		<title>複数ユーザーでディレクトリ管理</title>
		<description>Web開発では複数ユーザーでディレクトリを共有管理したいケースが良くある、そういった場合の設定方法。

/var/www/html を foo, bar, apacheの3ユーザーで管理するとする、設定環境はCentOS5。
設定方法
管理用グループ(webadmin)を作成
# /usr/sbin/groupadd webadmin

管理用グループ(webadmin)に3ユーザー追加。追加時に他のグループにも所属させる場合は同時に指定する事。特にwheelユーザーからしかrootになれない状態で間違ってwheelから外してしまうと悲惨な事に。

# /usr/sbin/usermod -G webadmin foo
# /usr/sbin/usermod -G webadmin bar
# /usr/sbin/usermod -G webadmin,apache apache

対象ディレクトリをwebadminが操作できるようにグループを指定し書き込み権限を与える。

# chgrp webadmin /var/www/html
# chmod g+w /var/www/html

このままだとファイルを生成した際に所有権がそれぞれのユーザーになってしまうので、グループ権限でファイルを作成するようにする。

# chmod g+s /var/www/html

以上でグループで管理出来る環境になる。

複数設定する場合はfindでディレクトリだけ検索した結果に対して変更すると楽。

find . -type d -print &#124; xargs chmod g+w </description>
		<link>http://blog.apecell.com/2008/06/20/id/40</link>
			</item>
	<item>
		<title>Zend_MailのFromヘッダでDoCoMoから返信が出来ない</title>
		<description>Zend_Mailでメールする際のFromヘッダ作成時にメールアドレスのみ渡して名前を渡さない場合
"" &#60;foo@bar.com&#62;
の様な形で生成されてしまう。

この状態でDoCoMo宛にメール送信を行うとDoCoMo端末から返信が出来なかった（確認したのはD905とPROSOLID μ）

ダブルクォーテーションで囲われた所が無ければ返信が出来たのでFromヘッダ生成メソッド部を変更。


public function setFrom($email, $name = '')
{
    if ($this-&#62;_from === null) {
        $email = strtr($email,&#34;\r\n\t&#34;,'???');
        $this-&#62;_from = $email;
        
       ...</description>
		<link>http://blog.apecell.com/2008/05/31/id/39</link>
			</item>
	<item>
		<title>CentOS5にRedmineをインストール</title>
		<description>Ruby製のプロジェクト管理ソフトウェアRedmineのインストール手順。
Redmineの特徴

Ruby(Rails) + (MySQL &#124; PostgreSQL &#124; SQLite)
複数プロジェクト管理
プロジェクト毎のWiki、リポジトリ、フォーラムなど
ユーザー認証、マイページ

など。
よくTracと比較され、Tracはプラグインで拡張しないと使いにくいと言われている、個人的にもデフォルトだとRedmineの方が圧倒的に使いやすかった。
インストール環境

CentOS 5
Ruby 1.8.5
RubyGems 1.1.0
Ruby on Rails 2.0.2
Mongrel 1.1.4
MySQL 5.0.22
Redmine Rev:1319

インストール手順
パッケージ管理で必要なものをインストール（Rootで作業）

$ yum install -y ruby rdoc ruby-devel mysql-server


Ruby用パッケージ管理RubyGrmsをインストール。最新版はここから確認

$ wget wget http://rubyforge.org/frs/download.php/34638/rubygems-1.1.0.tgz
$ tar -zxvf rubygems-1.1.0.tgz
$ ruby rubygems-1.1.0/setup.rb
$ rm -Rf rubygems-1.1.0&#42;


Ruby on Railsインストール

$ gem install rails --include-dependencies


Mongrelインストール

$ gem install mongrel


MySQLにデータベースを用意

$ mysql -u root
&#62; create database redmine;


インストールディレクトリを準備

$ mkdir ...</description>
		<link>http://blog.apecell.com/2008/04/02/id/38</link>
			</item>
	<item>
		<title>MacのSubversionクライアントScplugin</title>
		<description>基本的にSVN自体はコマンドラインとEclipse(Subversive)でほとんど問題は無いものの、メディアファイル系の管理などはやはりファインダーから行えた方が便利なので、WindowsでTortoiseSVNと同じ様なクライアントであるSCpluginを入れてみる。
Scplugin http://scplugin.tigris.org/
0.6系は不安定だったらしく微妙らしいものの、2007年末辺りにリリースされた0.7系は安定しているらしい。上記URLからパッケージを落としてきてインストールしてログオフ／再起動。
アンインストール

/Library/Contextual Menu Items/SCFinderPlugin.plugin
/Library/Receipts/SCPlugin.pkg

を削除してログオフ／再起動。 </description>
		<link>http://blog.apecell.com/2008/04/01/id/37</link>
			</item>
	<item>
		<title>SELinux無効化</title>
		<description>CentOSでSELinuxを無効化するメモ

# getenforce // 確認
Enforcing #有効

# setenforce 0 // 無効化

# getenforce // 確認
Permissive // 無効

// 起動時に無効化
# vi /etc/sysconfig/selinux
SELINUX=enforcing
↓
SELINUX=disabled
 </description>
		<link>http://blog.apecell.com/2008/03/30/id/36</link>
			</item>
	<item>
		<title>Emacsのキーバインド割当</title>
		<description>今anything.elがアツい - ’(rubikitch wanna be (a . lisper))、という事で導入してみた。
Emacsをバリバリ使いこなせているわけではないので少しの恩恵しか受けれていないなと思いつつバッファ移動が楽なので [C-;] に [M-x anything] を割り当ててみる事にした。

(global-set-key &#91;?&#92;C-&#92;;] &#39;anything)


Reference

キーバインドの指定方法 - odz buffer
Meadow/キーバインド - Meadow memo
 </description>
		<link>http://blog.apecell.com/2008/03/20/id/35</link>
			</item>
	<item>
		<title>Macのディレクトリ上書き時の挙動</title>
		<description>Eclipseの日本語化プラグインを導入しようとしてディレクトリをD&Dして上書きするとEclipseが起動しないという状態で結構ハマっていたら、Macだと中身をマージしてくれずにディレクトリ単位で上書きされるのね･･･。
マージされて当然だと思っていただけに中々気が付かず設定ファイルばかり見ていたという。設定でマージするように変更したりできるのだろうか。
こういった思い込みや慣例によって考え方が狭くなったり画一的な考え方しか出来なくなっていたんだな、と認識出来る体験談。環境や人が違えば「当然」も違うという当たり前の事を再度心に留めておかないと。

 </description>
		<link>http://blog.apecell.com/2008/03/07/id/34</link>
			</item>
</channel>
</rss>
