そろそろSource Treeを使ってみようか? 3

Mercurial(Gitも同じだろう)を使ってみて、
「なぜ、使うまでにこんなに時間がかかったのか?」
と感じた。
SVNとの大きな違いは、PUSH,PULLが有る事だと思うが、やはりそれが敷居を高くしていたのだろう。
だが、一旦その意味を理解した時点で、チーム作業に無くてはならない、もう戻れない機能だと感じた。
チーム内の履歴管理を勝手に変えられないあなたに朗報。
SVNとMercurialは、同時に同じフォルダで使用可能だ。
個人的にはMercurialで管理し、最終的にチームのレポジトリにはSVNでコミット。
なんて事が可能なのだ。

SVN止まりのあなた!
先延ばしにする?今から使いはじめる?
考えて答えを出そうよ。

「いつ使うの?」

光栄です。でも、、、の続き

Googleに著作権侵害の報告をした結果。
Googleから返信がきました。

Googleへご連絡いただきありがとうございました。
Googleへご連絡いただきありがとうございました。

で、そのページに行ってみると、
いきなり転送され、次のようなページに。

サイトを無効化
サイトを無効化

多分、申し立てた結果正規のページだと分かった時に、もとに戻せるようにかと。
これで、この世から1つ著作権侵害がなくなったのでした。

DTIサーバー構築27 「コソコソ」

Postfixで、SASLを使おう。
SASLとは、
http://www.ipa.go.jp/security/rfc/RFC2222JA.html
文章だけでは理解するのに一苦労。

まず、Postfixがdovecotを使ったSASLに対応しているかを確認。

$ postconf -a
cyrus
dovecot
postconfのマニュアルを一部コピっとく。

       -a     List  the available SASL server plug-in types.  The SASL plug-in
              type is selected with the smtpd_sasl_type configuration  parame-
              ter by specifying one of the names listed below.
              cyrus  This  server  plug-in  is available when Postfix is built
                     with Cyrus SASL support.
              dovecot
                     This  server  plug-in  uses  the  Dovecot  authentication
                     server,  and  is available when Postfix is built with any
                     form of SASL support.
              This feature is available with Postfix 2.3 and later.

ということで、dovecotが表示されたので、対応可能ということで。

Dovecot SASLを使う場合は、Cyrus-SASLを停止させて問題ない。

$ sudo service saslauthd stop
saslauthd を停止中:                                        [  OK  ]
自動起動もしないように変更。

$ sudo chkconfig saslauthd off

Postfixの設定に追記して、SASLを可能に変更。

$ sudo vi /etc/postfix/main.cf
以下を追加する。

smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = no
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions =
    permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

broken_sasl_auth_clients = no
 broken_sasl_auth_clients

broken_sasl_auth_clients (デフォルト: no)
古いバージョンの AUTH コマンド (RFC 2554) を実装した SMTP クライアントとの相互運用性を有効にします。このようなクライアントには MicroSoft Outlook Express バージョン 4 や MicroSoft Exchange バージョン 5.0 といった例があります。
標準的でない方法の AUTH サポートを Postfix に案内させるには、 “broken_sasl_auth_clients = yes” を指定します。

SASLとは関係ないが、セキュリティ上、以下の設定も追加。

disable_vrfy_command = yes
smtpd_helo_required = yes

次に、Dovecot側の設定を変更。

$ sudo vi /etc/dovecot/conf.d/10-master.conf
unix_listener部分を変更。

service auth {
  # auth_socket_path points to this userdb socket by default. It’s typically
  # used by dovecot-lda, doveadm, possibly imap process, etc. Its default
  # permissions make it readable only by root, but you may need to relax these
  # permissions. Users that have access to this socket are able to get a list
  # of all usernames and get results of everyone’s userdb lookups.
  unix_listener auth-userdb {
    #mode = 0600
    #user =
    #group =
  }
  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }
  # Auth process is run as this user.
  #user = $default_internal_user
}

続いて以下のファイルも編集。

$ sudo vi /etc/postfix/master.cf

コメントを外す!

submission inet n       –       n       –       –       smtpd
#  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
smtps     inet  n       –       n       –       –       smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING

最後に、サーバーを再起動。

$ sudo service dovecot restart
Dovecot Imap を停止中:                                     [  OK  ]
Dovecot Imap を起動中:                                     [  OK  ]
$ sudo service postfix restart
postfix を停止中:                                          [  OK  ]
postfix を起動中:                                          [  OK  ]
次は、STLかな。

そろそろSource Treeを使ってみようか? 2

レポジトリができたとしてのお話。
それでは、テキストファイルをレポジトリ内に1つ作ってみましょうか。
テキストエディットを起動して、新規書類を作成、[フォーマット]-[標準テキストにする]を選択。

テキストエディット
テキストエディット

とりあえず、次のような文章を書いてみる。

sample.txt
sample.txt

sample.txtファイルをレポジトリ内に保存する。前回作ったレポジトリだと、

/Users/[あなた]/Repogitory/Test/sample.txt
となる。
この状態で、Source Treeを起動して、Testレポジトリを開いてみる。

Test (Mercurial)
Test (Mercurial)

今作ったファイルが表示されている。
選択すると、右側に中身が表示される。
ファイル名の左側のアイコンが「?」の状態だと、まだレポジトリで管理された状態ではない。
管理してもらうには「追加」が必要。「追加」アイコンをクリックしよう。

追加
追加

もし、ファイルの表示が消えたなら、それは表示するファイルが絞られているから。
「すべて表示」に変更しよう。

追加予定
追加予定

ファイル左のアイコンが、今度は「+」になっているはず。
このファイルは追加する予定という事。
予定ということは、この状態ではまだ追加されていない。
変更を確定するには、コミットが必要。「コミット」アイコンをクリックしよう。

コミット
コミット

すると、コミットされていない変更が一覧表示される。今回はファイル1つの追加だけ。
ファイルを選択すると、右側にはそのファイルの変更点が表示される。今回は、2行の追加。

コミットメッセージ
コミットメッセージ

コミットメッセージには、未来の自分や、一緒に作業をしている人のために、変更内容を書いておく。
なお、このコミットの作業は、変更内容ごとに分けて行うほうが良い。
「コミット」ボタンをクリックすると、初めてレポジトリにファイルの追加が完了された状態となる。

プッシュ
プッシュ

ファイル名の左に「√」が表示されているはず。
なお、「プッシュ」アイコンに①と表示されるが、他のレポジトリと接続して、変更を送ることができる。今はとりあえずローカルレポジトリのみなので、また今度。

では、ここからが本領発揮。
ファイル名をダブルクリックして、ファイルを次のように変更してみる。

変更後
変更後

保存してSource Treeに戻ると、次のようにファイル名の左に、「…」アイコンが付く。

…
右側には、変更内容が表示される。
2行目が削除されて、同じく2行目に追加されたという内容だ。
追加の時と同じく、変更を「コミット」しよう。コミットメッセージも忘れずに。

2行目変更したよ
2行目変更したよ

コミットが終わったら、ファイルのメニューから「選択したファイルのログ…」を選択してみよう。

選択したファイルのログ...
選択したファイルのログ…

2回のコミットの変更内容が、ログとして閲覧可能だ。

Log: sample.txt
Log: sample.txt

レポジトリ内の全ての変更を見るには、ブランチを見てみよう。

ブランチ
ブランチ

あとは「アップデート」が必要かな。
特定のブランチやリビジョンにローカルの状態を更新できる。
その他いろいろな機能があるが、ほかのサイトに任せようかな。。。

DTIサーバー構築26 「まだ信用してもらえないなんて」

信用されていない証明書を使っていると、不都合が起こる。
Google様に信用してもらえずに、Google AppsのメールでPOPしてもらえないのがその一例。
Dovecotで、サンプルの証明書をそのまま使っていると、

Unable to establish secure SSL connection
Unable to establish secure SSL connection

Unable to establish secure SSL connection to YOURDOMAIN.COM [ Help ]
Server returned error: “SSL error: self signed certificate”
と、怒られる。まあ、これは仕方ない。
設定を編集して、StartSSLで取得した証明書を使うように変更する。

$ sudo vi /etc/dovecot/conf.d/10-ssl.conf
と設定ファイルを開いて、次の部分を編集する。

#ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
#ssl_key = </etc/pki/dovecot/private/dovecot.pem
ssl_cert = </etc/pki/tls/certs/domain.pem
ssl_key = </etc/pki/tls/private/domain.pem

あと、秘密鍵にパスワードがかかっているので、以下の部分にそのパスワードを入れる。

ssl_key_password = PASSWORD
保存して再起動すれば、もう怒られないはず、

$ sudo service dovecot start
だった。
だが、HTTPSで成功したStartSSLの証明書を使っていても、

Unable to establish secure SSL connection
Unable to establish secure SSL connection

Unable to establish secure SSL connection to YOURDOMAIN.COM [ Help ]
Server returned error: “SSL error: unable to verify the first certificate”
と、怒られる。
で、対処法は、自分の証明書にStartSSLの証明書をくっつける。
まず、
http://www.startssl.com/certs/ca-bundle.pem
からStartSSLの証明書をダウンロード。
適当なフォルダにファイルをアップロード。
面倒なら、エディタでペースト。

$ sudo vi ca-bundle.pem
その後に、自分の証明書と、StartSSLの証明書をくっつける。

$ sudo cat /etc/pki/tls/certs/domain.pem ca-bundle.pem > domain.bundled.pem
続いて設定ファイルの編集。

$ sudo vi /etc/dovecot/conf.d/10-ssl.conf

次の部分を少し変える。

#ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
#ssl_key = </etc/pki/dovecot/private/dovecot.pem
#ssl_cert = </etc/pki/tls/certs/domain.pem
ssl_cert = </etc/pki/tls/certs/domain.bundled.pem
ssl_key = </etc/pki/tls/private/domain.pem

以上で、再起動後はGoogleさんも認めてくれるはず。

$ sudo service dovecot start
これでもダメなら、、、わかりません。