Courier-IMAPからdovecotへの移行


Courier-IMAPの最近のバージョンが使っているcourier-authlibは、vpopmail連携機能が切られてしまい使えなくなってしまっているため代替策を検討中。

まず、dovecotに乗り換え実験中。

Dovecotのwikiを探すと「AuthDatabase/VPopMail」というページを発見。
vpopmail専用のデータベースファイルを使っている場合は、「–with-vpopmail」でコンパイル。
vpopmailからmysqlを使っている場合は、「–with-sql –with-mysql」でコンパイルということが分かる。

次に、設定。

うちの環境では、単純なvpopmailではなく、ユーザ管理にmysqlを利用している。
このため、vpopmail由来のmysqlを使う場合に重要なポイントのみを記載する。

・「/etc/dovecot/dovecot-sql.conf.ext」

password_query = SELECT CONCAT( pw_name,'@', pw_domain ) AS user,\
        pw_passwd AS password \
        FROM vpopmail  \
        where pw_name='%n' AND pw_domain='%d' ;
user_query = SELECT pw_dir as home, \
        <vpopmailのUID> AS uid, <vchkpwのGID> AS gid \
        FROM vpopmail \
        WHERE pw_name = '%n' AND pw_domain = '%d'

なお、動作確認時はmysqlを起動して「SELECT CONCAT( pw_name,’@’, pw_domain ) AS user, pw_passwd AS password FROM vpopmail where pw_name=’ユーザ名’ AND pw_domain=’ドメイン名’ ;」という感じで実行して、以下の様な感じで表示されればok。

# mysql -u root --password=パスワード
mysql> use vpopmail;
Database changed
mysql> SELECT CONCAT( pw_name,'@', pw_domain ) AS user, pw_passwd AS password FROM vpopmail where pw_name='ユーザ名' AND pw_domain='ドメイン名';
+---------------------+------------------------------------+
| user                | password                           |
+---------------------+------------------------------------+
| ユーザ名@ドメイン名   | 文字列~                           |
+---------------------+------------------------------------+
1 row in set (0.00 sec)

mysql> quit
Bye
#

・「/etc/dovecot/conf.d/10-auth.conf」と「/etc/dovecot/conf.d/auth-sql.conf.ext」
上記で作成したsql設定ファイルをここで指定
10-auth.confでは、下記の「sql」に関するところだけを修正。(vpopmailはいじらない)

!include auth-sql.conf.ext

auth-sql.conf.extでは、dovecot-sql.conf.extのパスがきちんと指定されていることを確認。

・「/etc/dovecot/conf.d/10-mail.conf」
Maildirを操作する際のユーザ権限のチェックをしている項目の設定を変更する。
今回は元々vpopmailの1アカウントのみで全ユーザを動かしていたため、UIDを1つだけ指定している形になる。

first_valid_uid=<vpopmailのUID>
last_valid_uid=<vpopmailのUID>
first_valid_gid=<vchkpwのGID>
last_valid_gid=<vchkpwのGID>

なお、この設定をしていないと、POP3などでログインしてみると、/var/log/maillogに以下のようなエラーが出力される。

Feb 25 15:21:46 サーバ名 dovecot: pop3: Error: user ユーザ名@ドメイン名: Mail access for users with UID <vpopmailのUID> not permitted (see first_valid_uid in config file, uid from userdb lookup).
Feb 25 15:21:46 サーバ名 dovecot: pop3: Error: Invalid user settings. Refer to server log for more information.

・POP3の未読管理の移行
標準設定だとPOP3のUIDLコマンドの出力結果が全然違うので、メーラ側の未読管理がリセットされる。
dovecot公式wikiに「Migration」という項目がある。

「/etc/dovecot/conf.d/20-pop3.conf」内の「pop3_uidl_format」を定義することで対処できる、とあるが、20-pop3.conf内に記載されている「Courier: %f or %v-%u (both might be used simultaneosly)」を設定してみると、「%f」と「%v-%u」は、Courier-IMAPでの結果と異なるものになる。

よく見てみると、「Migration/Courier v0.43 and later to Dovecot v1.1+」と専用の項目がある。
「courier-dovecot-migrate.pl」を使って、各Maildir内にある「courierimapuiddb」などをdovecot用の「dovecot-uidlist」にコンバートする、というもの。
コレを実行することで、同じUIDLの結果が得られるようになった。

・「/etc/dovecot/conf.d/15-mailboxes.conf」
IMAP用メールボックスの標準名調整。
いままで下書きフォルダ名「Draft」、スパムメール用「Spam」と設定していた。
dovecotの標準設定では「Drafts」、「Junk」であるため、読み替え設定を入れる

  mailbox Draft {
    special_use = \Drafts
  }
  mailbox Spam {
    special_use = \Junk
  }
  mailbox Trash {
    special_use = \Trash
  }

・・・・・・・

で、ここまでやって気がついたこと。
Courier-IMAPでも、vpopmail関係無く、直接MySQLを見れば良かったんじゃね?ということ。

まぁ、2つのバージョンの並行動作が難しいので、動作確認がしにくく、やりたくはないですがね。

インドの大容量バッテリースマホWickedLeak Wammy Titan 4は香港Elephone P5000


インドのWickedLeakが取り扱うという「WAMMY TITAN 4 FULL HD HUGE BATTERY OCTA CORE PHONE

バッテリーが大容量5330mAhって、似たようなスペック、どっかで聞いたなぁ、と思って確認してみれば
案の定、香港Elephoneの「Elephone P5000

当サイトで「巨大バッテリー 5350mAh搭載のElephone P5000」で紹介しているやつです。

Elephoneでは、今月から販売が開始されているモデルなので、すでに購入できます。

これ、WCDMAのみ対応モデル、っていうのが惜しいんですよねぇ・・・
LTE対応だとベストだったんですが


Elephone P5000

P5000_photos_3 P5000_photos_5

WickedLeak Wammy Titan 4

Wammy-Titan-4

LinuxでscpできるけどTeraTermだとエラーになる


セキュリティ対策をいろいろやっているLinuxサーバに対して、scpを使ってファイルを転送しようとしたところ、問題が発生した。

Windows上からTeraTermを使って転送を試みたところ、下記のエラーとなった。

ssh

SSH2_MSG_CHANNEL_OPEN_FAILURE を受信しました.
チャネル[1]: 理由: administratively prohibited(1) メッセージ: openfailed

でも、他のLinux上からscpコマンドでコピーすると、うまくいく。

謎なので、とりあえず、サーバ上のsshdをデバグモードで起動し、状況を確認してみる

# service sshd stop
Shutting down the listening SSH daemon                               done
# /usr/sbin/sshd -d
debug1: sshd version OpenSSH_6.2, OpenSSL 0.9.8j-fips 07 Jan 2009
debug1: read PEM private key done: type RSA
debug1: private host key: #0 type 1 RSA
debug1: read PEM private key done: type DSA
debug1: private host key: #1 type 2 DSA
debug1: read PEM private key done: type ECDSA
debug1: private host key: #2 type 3 ECDSA
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-d'
Set /proc/self/oom_score_adj from 0 to -1000
<略>
debug1: server_input_channel_open: ctype session rchan 1 win 131072 max 32768
debug1: input_session_request
debug1: channel 1: new [server-session]
debug1: session_open: channel 1
no more sessions
debug1: session open failed, free channel 1
debug1: channel 1: free: server-session, nchannels 2
debug1: server_input_channel_open: failure session

ファイル転送用の追加セッションを作ろうとしたところで「no more sessions」というメッセージで作成に失敗している。

/etc/ssh/sshd_configを確認すると「MaxSessions 1」と設定されていた。

このため、「MaxSessions 2」に変更し、sshdを再起動したところ、TeraTermからもSCPでファイルコピーが行えるようになった。

結局のところ、TeraTermのscp機能は、今使っているsshセッションとは別にscp用セッションを作るので数が足らない、という話だった。

AM Telecomの見守り携帯AL3200



調べ物している途中で、AM Telecomという韓国系の会社から、WCDMAの見守り系の携帯が出ているのを発見

ただ、いつからこの製品があって、販売しているところがあるのかが、調べ切れていない。
沿革」に掲載されている「2013年 日本 NTT DOCOMO向け 見守り端末 2種 リリース」って何をさしているんだろうか?
英語の沿革ページだと「Launched 2 kinds of Compact 3G GPS Tracker for NTT Docomo」と、微妙に意味が違う感じもするし

AL3200
AL3200
防水
SMSによるSOS発信機能と、GPS位置情報送信機能
音声通話機能有り

というのはいいんだけど、スペック表に書かれている「Wi-Fi 802.11 b/g/n」って何に使うんだろう?

AL3100
AL3100_2
防水
SMSによるSOS発信機能と、GPS位置情報送信機能のみ

RHEL6/CentOS6向けの3rdパーティーrepo



RHEL6/CentO6で使われているphpがver5.3.3と古い。
より新しいバージョンのphpを要求されている。

そんな時に、頼る先は、公式以外からリリースされているRPM群

yumでとってこれる先として代表的なもの

EPEL
Fedoraプロジェクトから出ているレポジトリ。
標準にないものを追加する方が主体で、オリジナルより新しいバージョンの提供はあまりやらない。
Cent OS6の場合「yum install epel-release」で追加できる。

RepoForge
旧名:RPMforge
標準に対するアップデートも行うし、オリジナルにないのの追加も行うし、で手広いもの。
ただ、範囲が広いので、問題が発生しやすいところがある。

IUS Community Project
mysql,php,pythonのバージョンアップを目的としたレポジトリ。
それ以外のソフトウェアについては基本的に提供されていない。
また、phpの細かいソフトウェアパッケージ群についても提供せず、基本部分のみとなっている。

Les RPM de Remi – Repository
phpのバージョンアップと、phpの細かいソフトウェアパッケージ群の提供を目的としている。
php関連をがっつり入れたい場合はコレになるかな?

・Oracle Linux
番外的なところがあるが、Oracle Linuxだと、追加のレポジトリで、MySQL 5.5/5.6対応のレポジトリが存在している。
状況によってはそちらを選択してもよいかもしれない。
参考:「Oracle Linux用の公開レポジトリについて」と「RHEL6/CentOS6をOracle Linuxにしてみる