2016-03-20

Nexus 5Xに機種変をしたよ。ドコモ回線だよ

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
先日、スマホを機種偏してNexus 5Xにしました。


Nexus 5Xを手に入れるには、SIMフリーのものを手に入れる方法もありますが、ドコモ回線を使っていて、まだ使い続けようかなぁと思っていたのでドコモで手に入れました。
今なら、なんか割引が効くのでかなりお安く手に入ります。ドコモポイントやらなんやかんやで結局0円で手に入れました。 ドコモ回線でNexus 5Xを使いたいならば、今はチャンスなのかもしれないです。

以下ではドコモ回線でNexus 5Xを使うために行ったことを記録として書いておきます。

いろいろと旧端末からファイルを移したりする作業があるのでファイルを移すための
ESファイルエクスプローラーなどのファイルマネージャー系のアプリや
Dropboxなどのファイル共有系のアプリは最初に準備しておくと便利です。

・電話帳
まずドコモの電話帳で管理されていたものは、これを機会にgoogleアカウントに移行しました。
以下が参考になります。
http://scratchpad.jp/docomo-account-to-google-account/

・ドコモメール
ドコモメールのアプリはNexus 5Xでは動きません。でもIMAPが使えるものならばOKなようです。
以下が参考になります。
https://www.nttdocomo.co.jp/service/docomo_cloud/docomo_mail/other/
ただ使うためには、最初にマルチデバイスで使えるように設定をしておく必要があります。
私は機種変の前にこれをやらなかったので、どうやって設定変更すればよいのか、わからずに苦労しました。
結局は、
http://smt.docomo.ne.jp
にLTE経由で接続すればOKでしたが、wifiからだと設定できないことに気づかなかったので時間がかかってしまいました。

そしてIMAP用のアプリの選定も苦労しました。
最初K-9 Mailを利用しようと思ったのですが、受信はできるのですが送信ができませんでした。設定には問題はないはずなのに・・・という感じです。
myMailでならば、送受信はできました。ただあまり好みではなかったので結局使ってません。
最終的にはGMailアプリでドコモメールを受信するようにしました。基本的には送受信問題ないのですが、一部の相手にメールの日本語部分がうまく送れていないような状況です。
以下はGMailでの設定方法です。
http://zibunlog.com/sp/gmail-docomomail/
一部おかしな部分があるので、徐々にドコモメールの利用はやめてGMailのアドレスの方に移行していこうかなぁと思っています。

・docomo wifi
ドコモ回線使っていてdocomo wifiも使えるようになっていたのですが引き続き利用できました。
設定も簡単で以下が参考になります。
https://www.nttdocomo.co.jp/service/data/docomo_wifi/usage/android/index.html

・ウイルス対策
ドコモのスマホを使っているとウイルスソフトも一部の機能は無料で使えたのですが、Nexus 5Xでは同じものは利用できませんでした。
なのでAVASTのウィルスソフトを入れました。

・着信音
Nexus 5Xにはデフォルトではあんまり着信音が入ってなかったので旧端末で独自に使っていたものを移行して使いました。
ESファイルエクスプローラーがあれば、着信音用のMP3ファイルを用意さえしてあれば設定は簡単でした。
以下が参考になります。
http://blog.trippyboy.com/2014/android/nexus5%E9%9F%B3%E6%A5%BD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E7%9D%80%E4%BF%A1%E9%9F%B3%E3%81%AB%E7%B0%A1%E5%8D%98%E3%81%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%EF%BC%81/

・LINE
ドコモサービスとは関係ないですがLINEの移行も以下を参考に行いました。
http://k-tai.sharp.co.jp/support/changeguide/guide3_2/p08.html

・その他設定
その他のNexus 5Xの設定で以下を参考にしました。
http://ap-land.com/archives/12298

・ストラップ
Nexus 5Xにはストラップをつける穴がありません。
ストラップを使いたいので手段を調べたところ、ストラップの穴がついているケースを使うか、イヤホンジャックの部分を利用するの2択のようでした。
イヤホンジャックは、普通にイヤホンを使いたいので以下のケースを買って利用することにしました。

ちなみにイヤホンジャックを利用する場合は以下がよさそうです。

2016-02-04

2015-11-26

openldapをActiveDirectoryのプロキシーとして設定する

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
openldapをActiveDirectoryのプロキシーになるように設定して、openldap経由でActiveDirectoryの内容を確認する方法です。

ちなみにCentos6にopenldapをインストールする前提です。


まずは、openldapをインストールします。
yum install openldap openldap-servers openldap-clients

そしてActiveDirectory用スキーマダウンロードします。
wget http://lism.sourceforge.jp/docs/ad.schema -O /etc/openldap/schema/ad.schema


openldapはsyslogのlocal4にログを出力するようになっているらしいので、出力できるようにします。
vi /etc/rsyslog.conf
以下の内容を追記します。
------------------------------------------------------
# openldap slapd log
local4.*                                                /var/log/ldap.
log
------------------------------------------------------

変更を反映させるためにsyslogを再起動します。
service rsyslog restart

ActiveDirectoryのプロキシーになるように設定をします。
vi /etc/openldap/slapd.conf
以下のように記載します。
以下peername.ipの部分は接続を許可するサーバのIPアドレスを記載しますが、接続制限をしないならばAccess Controllの部分はなしでOKです。
------------------------------------------------------
### Schema includes ###########################################################
include                 /etc/openldap/schema/core.schema
include                 /etc/openldap/schema/cosine.schema
include                 /etc/openldap/schema/inetorgperson.schema
include                 /etc/openldap/schema/misc.schema
include                 /etc/openldap/schema/nis.schema
include                 /etc/openldap/schema/ad.schema

# Allow LDAPv2 client connections.  This is NOT the default.
allow bind_v2

# Main settings ###############################################################
pidfile         /var/run/openldap/slapd.pid
argsfile        /var/run/openldap/slapd.args

### Logging ###################################################################
loglevel                256

### Access Controll  ##########################################################
access to *
  by peername.ip=127.0.0.1 read
  by peername.ip=192.168.0.10 read
  by * none

### Database definitions  #####################################################
database        ldap
readonly        yes
suffix          "ActiveDirectoryのBaseDNを記載します"
uri             ldap://ActiveDirectoryサーバのホスト名かIPアドレス/
rebind-as-user
idassert-bind   bindmethod=simple
                binddn="ActiveDirectoryにBINDするユーザ"
                credentials=上記ユーザのパスワード
                mode=none
idassert-authzFrom      "*"
------------------------------------------------------

設定を反映させます。
rm -rf /etc/openldap/slapd.d/*
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
chown -R ldap:ldap /etc/openldap/slapd.d

openldapを起動させます。
service slapd start

以下のような感じで接続できたらOKです。
ldapsearch -H ldap://localhost -x -b "上記で設定したActiveDirectoryのBaseDN" -LLL "sAMAccountName=jojo"


ちなみにldapsearchでActiveDirectory直接問い合わせるならば以下のような感じになります。 ldapsearch -D "ActiveDirectoryにBINDするユーザ" -w ユーザのパスワード -h ActiveDirectoryサーバのホスト名かIPアドレス -b "ActiveDirectoryのBaseDNを記載します" -x "sAMAccountName=jojo"


もう一つおまけで、この設定を行ったopenldapにrubyからActiveDirectory上のユーザパスワードの確認を行うとすると以下のような感じです。

require 'net/ldap'
ldap = Net::LDAP.new
ldap.host = "openldapが起動するホスト名またはIPアドレス"
username,password = "jojo", "jojopwd"
result = ldap.bind_as(:base => Settings.ad_base,:filter => "(cn=#{username})",:password => password )

パスワードがあっていればldapのオブジェクトが戻り、あってなければfalseが戻ります。


2015-11-25

redmineの認証にActiveDirectoryを利用する

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
redmineの認証をActiveDirectoryにオマカセする方法です。

[管理]-[LDAP認証]の画面で「新しい認証方式」をクリックします。

そして最低限、以下のように設定します。

名称:AD(お好きな名称を設定します) 
ホスト:XXX.XXX.XXX.XXX(ActiveDirectoryのドメインサーバ名かIPアドレス) 
ポート:389 
アカウント:domain\$login(domainは利用するActiveDirectoryのドメイン名です。普段利用しているドメインアカウントがdomain\mynameみたいなものだったら、mynameの部分を$loginに置き換えて登録します。) 
パスワード:(空白) 
検索範囲:DC=domain,DC=sample,DC=co,DC=jp(ユーザを検索するBaseDNを設定します) 
ログイン名属性:sAMAccountName

これで作成して、テストを実施して
接続しました。
と出ればOKです。

そしてredmineにすでに作成済みのユーザがいて、認証をActiveDirectoryに切り替えたい場合は、
[管理]-[ユーザ]の画面で「設定変更したいユーザ」をクリックします。

そして 
認証方式:AD(上記で作成したもの) 
に変更して保存すればOKです。

これでActiveDirectoryに設定してあるパスワードでredmineにログインできるようになります。


ちなみに以下のサイトであるようなredmineとsubversionを連携させてredmineのユーザ情報でsubverionを認証させている場合、設定はそのままでLDAPの情報をきちんとひっぱて来てくれてsubversion側もActiveDirectoryのパスワードで認証できるようになりました。
http://blog.ogatomo.com/blog/2012/05/17/redmine-pm-setting-memo/




2015-08-09

rubyでモジュラス10ウェイト3

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
rubyでモジュラス10ウェイト3を利用してチェックデジットを計算する方法です。
モジュラス10ウェイト3の計算方法に関しては、以下をご確認ください。

http://www.barcode-net.com/chisiki/modulus10_3.html

2015-07-15

subversionの変更記録とredmineのチケット情報を連携させてレポートしてみる

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
以下のサイトでsubversionのリポジトリのコード変更量を集計する方法を紹介しています。
http://iyukki.blog56.fc2.com/blog-entry-179.html

これを見てこの情報とredmineのチケット情報を組み合わせることができないかなぁと思ってみたので作ってみました。
以下に置いておきました。
https://github.com/vivahiraj/svn_rm_rep

subversionのコミットログに関連するredmineのチケット番号を
#1111
のように記録していることを前提とはしています。

まずは、リポジトリの変更量を
http://iyukki.blog56.fc2.com/blog-entry-179.html
と同じような仕組みで取得します。

そしてコミットログからredmineのチケット番号を取得して、集計をしておいて
最後にredmineのapiを利用してそのチケット情報を取得します。

使い方としては、以下のような感じになります。
ruby svn_rm_rep.rb -r "{2015-06-01}:{2015-08-01}" -c config.yaml

config.yamlには
subversionリポジトリのURL
redmineのURL
redmineのAPIキー
を記載する必要があります。

ちなみにredmineのAPIキーの取得方法は以下が参考になります。
http://www.r-labs.org/projects/r-labs/wiki/Redmine_REST_API

ツールを実行した結果は以下のようになります。
-----------------------------------------------------------------------------------
 rev| author   | date     | add| del| ticket 
 ---+----------+----------+----+----+-----------
 872|  jagajaga|2015-05-28|   7|   3|1826
 873|  jagajaga|2015-06-11| 124|  54|1922
 874|    imoimo|2015-06-15|   1|   4|
 875|  jagajaga|2015-06-24|  63|   0|1949
 876|  jagajaga|2015-06-24|   7|   7|1950
 877|    imoimo|2015-06-24|   1|   1|1958
 878|  jagajaga|2015-06-24|  19|   7|1949
 879|    imoimo|2015-06-24|   4|   4|
 880|  jagajaga|2015-07-03|  54| 124|1976
 881|    imoimo|2015-07-07|  30|  30|
 882|    imoimo|2015-07-07|   1|   0|
 883|    imoimo|2015-07-08|   2|   1|
 884|    imoimo|2015-07-09|   1|   1|
 885|  jagajaga|2015-07-09|  53|  28|1986
 886|  jagajaga|2015-07-09|  23|   0|1986


 month      | commits | add    | del    | delta  
 -----------+---------+--------+--------+--------
 2015-07    |       7 |   +164 |   -184 |    -20
 2015-06    |       7 |   +219 |    -77 |   +142
 2015-05    |       1 |     +7 |     -3 |     +4


 author     | commits | add    | del    | delta  
 -----------+---------+--------+--------+--------
 imoimo     |       7 |    +40 |    -41 |     -1
 jagajaga   |       8 |   +350 |   -223 |   +127


 ticket | commits | add    | del    | delta  | start      | end        | diff   
 -------+---------+--------+--------+--------+------------+------------+--------
 1986   |       2 |    +76 |    -28 |    +48 | 2015-07-09 | 2015-07-15 |     +5 
 1976   |       1 |    +54 |   -124 |    -70 | 2015-07-03 | 2015-07-03 |     +0 
 1958   |       1 |     +1 |     -1 |     +0 | 2015-06-24 | 2015-06-24 |     +0 
 1950   |       1 |     +7 |     -7 |     +0 | 2015-06-22 | 2015-06-24 |     +1 
 1949   |       2 |    +82 |     -7 |    +75 | 2015-06-22 | 2015-06-24 |     +2 
 1922   |       1 |   +124 |    -54 |    +70 | 2015-06-09 | 2015-06-11 |     +2 
 1826   |       1 |     +7 |     -3 |     +4 | 2015-05-28 | 2015-05-28 |     +0 

-----------------------------------------------------------------------------------

上3つのレポートは
http://iyukki.blog56.fc2.com/blog-entry-179.html
で紹介されたのと同じです。

最後の一つがredmineの情報を組み合わせています。
ticket欄がredmineのチケット番号になっており、startがチケットを起票した日(created_on)でendがチケットをクローズした日(closed_on)になっており、diffがstartからendまでの経過日数になっています。

2015-07-09

apacheで認証は、ActiveDirectoryにしてもらって、認可はローカルファイルを利用する

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
apacheでAcitveDirectoryで認証させるには、
sshとapacheの認証でActiveDirectoryと連携する
をご覧ください。

上記は、認証できたら使えますというものでしたが、認証はActiveDirectoryにまかせるけど、実際に利用できるかどうかはローカルのファイルを利用する場合です。

以下のような感じに設定を書きます。
ポイントは、AuthGroupFileとrequire groupです。

<location /test_krb_auth>
  AuthType Kerberos
  AuthName "Kerberos Login"
  KrbAuthRealms MY_DOMAIN
  KrbVerifyKDC Off
  KrbMethodNegotiate Off

  AuthGroupFile /var/www/authgroup
  require group admin
</location>

グループファイルの方は以下のような感じです。
@以下は、認証後にセットされるユーザ名にあわせます。設定方法によっては@以下がなしの場合もあるはずです。

admin: jaga@MY_DOMAIN imo@MY_DOMAIN

これでAcitveDirectoryでjagaさんとsatoさんが認証できたとしても、認可されるのはjagaさんだけになります。

2015-03-12

passengerを利用していてログにpassenger_native_support.soがどうのこのと書いてあったときのこと

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
passenger4以上では、複数のバージョンのrubyを混在させて利用できるようになっています。

passengerでrubyバージョンを混在させる方法は、以下を参照してください。
http://y-ken.hatenablog.com/entry/how-to-use-multiple-ruby-version-in-one-apache-passenger

railsアプリをサブディレクトリ毎にいくつか配置していて、rbenvを利用してそのrailsアプリ毎にrubyのバージョンを変えて使っていたりしています。

で、apacheのerror_logに時折、以下のようなメッセージが表示されていました。

App 7405 stderr:  --> Compiling passenger_native_support.so for the 
current Ruby interpreter...
App 7405 stderr: 
App 7405 stderr:      (set PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY=0 to 
disable)
App 7405 stderr: 
App 7405 stderr:  --> Downloading precompiled passenger_native_support.
so for the current Ruby interpreter...
App 7405 stderr: 
App 7405 stderr:      (set PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY=0 to 
disable)
App 7405 stderr: 
App 7405 stderr:      Could not download https://oss-binaries.phusionpassenger.com/binaries/passenger/by_release/4.0.59/rubyext-ruby-2.1.2-x86_64-linux.tar.gz: The requested URL returned error: 404
App 7405 stderr:      Trying next mirror...
App 7405 stderr:      Could not download https://s3.amazonaws.com/phusion-passenger/binaries/passenger/by_release/4.0.59/rubyext-ruby-2.1.2-x86_64-linux.tar.gz: The requested URL returned error: 403
App 7405 stderr:  --> Continuing without passenger_native_support.so.

別に普通に使えていたので、ほったらかしいたのですが、
ふと/tmpの下を見たら
passenger_native_support-1q5o6tj.log
というファイルができていて、その中身を見たら以下のような内容が出ていました。

# mkdir -p /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.59/buildout/ruby/ruby-2.1.2-x86_64-linux
Encountered permission error, trying a different directory...
-------------------------------
# mkdir -p /var/www/.passenger/native_support/4.0.59/ruby-2.1.2-x86_64-linux
Encountered permission error, but no more directories to try. Giving up.

私の環境では、apacheをapacheユーザで運用していたのですが、
/var/www/
のオーナーがrootになっていました。
そこで
mkdir /var/www/.passenger
chown apache:apache /var/www/.passenger
としてapacheを再起動したら、上記のメッセージが出なくなりました。

そして
/var/www/.passenger/native_support/4.0.59/ruby-2.1.2-x86_64-linux
の中に
passenger_native_support.so
が確かにできていました。

メッセージが出ているだけで、特に動きに支障はなかったのですが、気にはなっていたので解決できてよかったです。

2014-12-06

学びサイトメモ

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

この本を読んで気になったサイトのメモです。

さかぽん先生.tv(小中学生向け)
eboard [いーぼーど] (小学校~高校生向け)
マナビー(高校生向け)
カーンアカデミー(日本語吹き替え)(小学生~大人向け)
schoo(大人向け)
JMOOC(大人向け)

2014-11-24

railsのログに情報を追加する

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
railsのログに情報を簡単に追加する方法として
config.log_tags
を利用する方法があります。

config/environment/develpment.rb

config/environment/production.rb
に以下のように書くとセッションIDとリモートIPをログに追加できます。
config.log_tags = [ :uuid, :remote_ip ]

ここでふと、このlog_tagsにはどんなものが記載できるのだろう?と思ってみたわけです。

調べてみたところ、log_tagsで記載した内容が、実際にログにタグとして追加する処理は以下のcompute_tagsの部分で行っているようです。
https://github.com/rails/rails/blob/21a71cd5d8f266252278a63316a99cc403a32cad/railties/lib/rails/rack/logger.rb#L57

Sybolとして指定したものは、requestオブジェクトのメソッドとして呼ばれるようです。なのでrequestオブジェクトのメソッドがここで指定できる候補になります。

実際に、以下のようにuser_agentを追加してみたら
config.log_tags = [ :uuid, :remote_ip, :user_agent ]

以下のようなログが出力されました。
[a0b386ac-c108-4820-be22-4fbf8d14a1e8] [10.10.10.10] [Mozilla/5.0(Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36] Processing by WelcomeController#index as HTML

log_tagsで指定できるのは、Symbol以外にProcも指定できて、この場合はProcオブジェクトにrequestオブジェクトを引数として渡されて処理されるようです。
またそれ以外に、文字列を指定した場合は、その文字列が単純にセットされるようです。

ただrequestのメソッドならば、なんでもSymbolで指定したり、Proc内で処理できるわけではなさそうです。sessionなどは処理できませんでした。
どうも、通常は、ログの処理よりもセッションの処理の方が後に行われるようで、sessionを指定してもログの処理の段階ではセッションの処理がまだ行われていないことが原因のようです。

なので、以下のサイトで紹介されているように、処理の順番を入れ替えることでsessionも扱えるようになるようです。
http://threetreeslight.com/post/51883603368/rails-id-ip