2020年4月9日木曜日

dovecot-sysreportコマンドが追加されました

先日(2020/03/06)リリースされたDovecotのver2.3.10に新しいコマンドdovecot-sysreportが追加実装されました。

リリースノートには下記のように説明があります。
+ Add tool for generating sysreport called dovecot-sysreport.
  This generates a bundle of information usually needed for support
  requests.

サポートに問い合わせをする際に必要な設定情報やシステムの稼働情報などを収集するようです。

何もオプションをつけずに実行すると、カレントディレクトリにtar.gzで情報が固められて採取されます。
こんな感じです。

# dovecot-sysreport
Gathering configurations ...
Gathering system informations ...
Creating archive ...
All done! Please report file dovecot-sysreport-example.com-1584975066.tar.gz
Removing temp files at /tmp/tmp.6SmnOgn2To ...
#
# tar ztvf dovecot-sysreport-example.com-1584975066.tar.gz
drwxr-xr-x root/root         0 2020-03-23 23:51 conf/
-rw-r--r-- root/root       637 2020-03-23 23:51 conf/dovecot.conf
-rw-r--r-- root/root         0 2020-03-23 23:51 log_errors
-rw-r--r-- root/root       885 2020-03-23 23:51 process_status
-rw-r--r-- root/root      1057 2020-03-23 23:51 ps_output
-rw-r--r-- root/root      9883 2020-03-23 23:51 service_status
-rw-r--r-- root/root       183 2020-03-23 23:51 stats_dump
-rw-r--r-- root/root       207 2020-03-23 23:51 uptime_output
#
※自分の鯖は、障害もなく(また負荷もなく)稼働しているので、これは!?といった情報は採取できませんでした。


コマンドそのものはシェルスクリプトで書かれているので、dovecotのトラブルシューティングをする時にサポート側はどんな情報が欲しいのか、dovecotの運用者は一度中身を確認しておくと良いかもしれませんね。


2018年1月8日月曜日

Dovecot community repositoriesが公開されました

2017年12月28日に、Dovecot純正(?)のリポジトリ(https://repo.dovecot.org/)が利用できるようになったとアナウンスされました。

Debian/Ubuntu/CentOS向けに最新のパッケージが提供されるようになったので、ここではCentOS6.9の環境でインストールを実施してみます。

[root@cent6 ~]# cat << END > /etc/yum.repos.d/dovecot.repo
> [dovecot-2.3-latest]
> name=Dovecot 2.3 CentOS \$releasever - \$basearch
> baseurl=http://repo.dovecot.org/ce-2.3-latest/centos/\$releasever/RPMS/\$basearch
> gpgkey=https://repo.dovecot.org/DOVECOT-REPO-GPG
> gpgcheck=1
> enabled=1
> END
[root@cent6 ~]#
[root@cent6 ~]# yum install dovecot
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
dovecot-2.3-latest                                                 | 2.9 kB     00:00
Resolving Dependencies
--> Running transaction check
---> Package dovecot.x86_64 2:2.3.0-4 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=========================================================================
 Package         Arch       Version       Repository                Size
=========================================================================
Installing:
 dovecot        x86_64      2:2.3.0-4     dovecot-2.3-latest        4.0 M
Transaction Summary
=========================================================================
Install       1 Package(s)
Total download size: 4.0 M
Installed size: 13 M
Is this ok [y/N]: y
Downloading Packages:
dovecot-2.3.0-4.x86_64.rpm                                          | 4.0 MB     00:18
warning: rpmts_HdrFromFdno: Header V4 RSA/SHA1 Signature, key ID ed409da1: NOKEY
Retrieving key from https://repo.dovecot.org/DOVECOT-REPO-GPG
Importing GPG key 0xED409DA1:
 Userid: "Dovecot Community Edition <dovecot-ce@dovecot.org>"
 From  : https://repo.dovecot.org/DOVECOT-REPO-GPG
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing : 2:dovecot-2.3.0-4.x86_64                                  1/1
  Verifying  : 2:dovecot-2.3.0-4.x86_64                                  1/1
Installed:
  dovecot.x86_64 2:2.3.0-4
Complete!
[root@cent6 ~]#

 ※OS標準のdovecot-2.0.9がインストールされている場合でも、yum updateすれば問題なく最新のバージョンにアップデートされます

2016年7月13日水曜日

SSH 特定のIPアドレスからrootアクセスを許可するには(Match Address)

通常はrootによるSSHアクセスは認めない。
しかし、何かしらのスクリプトの動作上、特定のIPアドレス(ホスト)からのみrootでのアクセスを例外として許可したい。。
という状況を”Match Address”ディレクティブで実現しようというのが、今回の内容です。

※評価は、CentOS 6.8(x86_64)で、sshd_configに以下の設定がされている環境で実施しています
 ⇒ rootによるアクセスもパスワードによる認証も許可していません

PermitRootLogin no
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
PermitEmptyPasswords no
PasswordAuthentication no


実際の設定 2例

sshd_configの最下行にでも追記を行います。

1. アクセスもとのIPアドレスが192.168.0.11と192.168.0.12の場合、パスワード認証以外であればrootによるアクセスを許可
 ※複数のIPアドレスを指定する場合は、カンマで区切ります
Match Address 192.168.0.11, 192.168.0.12
        PermitRootLogin without-password


2. アクセスもとのIPアドレスが192.168.0.11の場合、パスワードによる認証を許可
Match Address 192.168.0.11
        PermitRootLogin yes
        PasswordAuthentication yes


2016年5月4日水曜日

CentOS6.x 最新のpostfixとdovecotをRPMで導入する

2018/01/08追記: dovecot.orgにてタイムリーにdovecotの最新パッケージが提供されるようになりました。
         「Dovecot community repositoriesが公開されました」を参照してください


以前に、CentOS6.4で最新DovecotをRPMで導入するという記事を書いていますが、2016年5月現在では新しいバージョンへの追随はしていないようです。

自分の場合、最近、より最新バージョンのRPMを準備する別手段としてGhettoForgeリポジトリを使う事がわりと多いので、今回はそれについてまとめてみます。
※2016年5月現在、postfixはバージョン3.1.0、dovecotはバージョン2.2.23が導入可能です



リポジトリの導入


以下のコマンドを実行します。
結果、複数のリポジトリ[gf/gf-plus/pf-testing]が利用可能になります。
※詳細はUsageのページで確認をしてください
rpm -ivh http://mirror.symnds.com/distributions/gf/el/6/gf/x86_64/gf-release-6-10.gf.el6.noarch.rpm


postfix3.1.0のインストール


postfix3.1.0はpf-plusリポジトリに存在するので、以下のようにインストールします。
※ OSインストール時にデフォルトでバージョン2.6.xがインストールされているはずなので、そのままだとconflictsのエラーが出てしまいます。その場合は一旦バージョン2.6.xをアンインストールする必要があります。
(# rpm -e --nodeps postfix)   <-★conflictsのエラーが出る場合実施
# yum --enablerepo=gf-plus install postfix3


dovecot2.2.23のインストール


dovecot2.2.23はgf-testingリポジトリに存在するので、以下のようにインストールします。
※将来的には、gf-testingリポジトリからgf-plusリポジトリに移行されると思うので、その際は"--enablerepo=gf-plus"と指定を変更してください
# yum --enablerepo=gf-testing install dovecot22



その他

1. GhettoForgeリポジトリを使いやすくする為にエイリアスを登録する

パッケージのインストールやアップデートの度に”--enablerepo=xxxx”と入力するのは面倒なので、自分の場合は、~/.bashrcに以下の内容でエイリアスとして登録しています。
これで、myum installmyum updateのように入力した時だけ、GhettoForgeリポジトリを利用するようにしています。

alias myum='yum --enablerepo=gf-plus,pf-testing'


2. GhettoForgeリポジトリからpostfixとdovecot以外のパッケージが導入されないようにする

これはGhettoForgeのサイトにも書いてある内容ですが、GhettoForgeリポジトリにはpostfixやdovecot以外にも多数のパッケージが用意されています。postfixとdovecot以外の他のパッケージが意図せず導入されないように、利用するパッケージを限定しておきます。


具体的には、/etc/yum.repos.d/gf.repoファイル内の[gf-plus]リポジトリと[gf-testing]リポジトリのそれぞれにincludepkgs行を追記します。

[gf-plus]
name=Ghettoforge packages that will overwrite core distro packages.
mirrorlist=http://mirrorlist.ghettoforge.org/el/6/plus/$basearch/mirrorlist
# Please read http://ghettoforge.org/index.php/Usage *before* enabling this repository!
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-gf.el6
failovermethod=priority
includepkgs=postfix* dovecot*


[gf-testing]
name=GhettoForge packages that are currently untested.
mirrorlist=http://mirrorlist.ghettoforge.org/el/6/testing/$basearch/mirrorlist
# This repo may contain packages that overwrite core distro packages.  Please
# read http://ghettoforge.org/index.php/Usage before enabling this repository.
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-gf.el6
failovermethod=priority
includepkgs=postfix* dovecot*

2016年3月3日木曜日

作業ミスを減らすために

今回はいつもと趣向をかえて、作業ミスを減らす為に自分が必ずする初期設定について書こうと思います。
(たいした事ではありませんが、視覚に訴えるものを3つほど紹介します。)

※以下、基本的にベースはRedhat系として記述します


1.ファイルとディレクトリなどを見分けやすく


lsコマンド実行時にファイルなのかディレクトリなのか識別しやすくする為に、”ls -F”や”ls -l”とオプションを付けて実行すると思います。ただ毎回オプションをつけて実行するのも面倒なので、手短にlsと入力すれば”ls -F”の出力結果が返ってくるようにしています。

その際にどの作業環境(コンソールやその他仮想端末を問わず)・どのユーザでも統一された状態で実行されるように、システム全体に効くエイリアス(alias)として登録しています。

具体的には、/etc/profile.d/colorls.sh ファイル内で以下の記述部分を変更します。

(変更前)
alias ls='ls --color=tty' 2>/dev/null

(変更後)
alias ls='ls -F --color=tty' 2>/dev/null
※変更後、ログインし直すか、source /etc/profile.d/colorls.sh とする事で変更が適用されます



2.vimの色分けを有効にする


※この内容を試すにはvim-enhancedパッケージが導入されている必要があります

設定ファイル類をvimで編集するとある程度syntaxにそって色分けがされ、見通しが良くなると思います(単純な対となる記号の記述もれなどsyntaxがおかしいと色のつき方が変になるので、すぐに何かがおかしいと気づくはずです)。

ただ、設定ファイルを編集するケースの多いrootユーザだと色分けされずに白黒のまんまなので?と思った事はありませんか?
※何かしら理由があるとは思うのですが、調べてません...

前置きが長くなりましたが、具体的には/etc/profile.d/vim.shでその設定がされているので、以下の記述を残して他の記述は全てコメントアウトします。

これで、どのユーザ・どの端末でも同じようにsyntaxに沿って色分けがされるようになります。

alias vi >/dev/null 2>&1 || alias vi=vim
※変更後、ログインし直すか、source /etc/profile.d/vim.sh とする事で変更が適用されます



3.rootユーザのプロンプトに色を付ける


なにかというと、rootユーザになったらプロンプトの部分に色をつけて、rootで作業をしているよ!!という事を意識するようにしています。

具体的には、以下の内容を~/.bashrcに記述しています。
こうすることでプロンプトが赤くなります。

export PS1="\[$(tput bold)$(tput setaf 1 2)\][\u@\h \W]# \[$(tput sgr0)\]"



2016年2月2日火曜日

CentOS6(RHEL6) 起動するtty(仮想コンソール)を調整する

今回はタイトルの通り、CentOS6(RHEL6)では初期に6つ起動するtty(仮想コンソール)を調整する方法についてです。
※普段Puttyなどでリモートから作業をするなら、コンソールを使って作業する事も稀でしょうから、
 使わないものはメモリの消費を抑える意味でも起動しないように調整しましょう。


ttyの起動数を減らす設定


CentOS6(RHEL6)では、/etc/sysconfig/initファイル内のACTIVE_CONSOLESの箇所を編集します。
※以下では、tty3~tty6までを停止しています。

(変更前)
ACTIVE_CONSOLES=/dev/tty[1-6]

(変更後)
ACTIVE_CONSOLES=/dev/tty[1-2]



設定の適用方法

2パターンあるので、お好きなほうで適用してください。

1. 再起動をする
 これで起動時に/etc/sysconfig/initファイルを読み込んで/dev/tty1と/dev/tty2だけあがっている状態になります。

2. 以下のコマンドを実行する
 ※停止する仮想コンソール分、実行します
 ※こちらは再起動は必要ありません

# initctl stop tty TTY=/dev/tty3
# initctl stop tty TTY=/dev/tty4
# initctl stop tty TTY=/dev/tty5
# initctl stop tty TTY=/dev/tty6








2016年1月14日木曜日

Dovecot Enterpriseについて(2016年1月現在)

2018/01/08追記:いつのまにかリポジトリにアクセスできなくなったので、問い合わせをしました。
         以下のような返信をもらいました。
         要するに一般ユーザーには、同エディションは提供されないようです。
We have done some maintenance for expired accountsbecause we no longer have webshop and we don't provide dovecot-eerepository access without valid support contract with us.

Next year we disable all accounts without active support contract withus but start providing Dovecot Communition Edition packages for free. Wesend information about this change later.


2013年7月14日に「Dovecot Enterprise Editionについて」という記事を書きましたが、

今回はタイトルの通りDevecot Enterpriseのその後についてです。



・今はそもそも「Dovecot Pro」と呼ぶようです

・リポジトリにアクセスするためのユーザ名とパスワードを入手する方法が「Contact US」だけになったようです
 → 過去にWebから購入したライセンスはそのまま継続して利用できるようです


・Dovecot Enterprise Editionを入手するためのリポジトリのURLsが、変更されています
 → http://software.open-xchange.com/products/dovecot/doc/Dovecot-EE-repository-and-object-storage-installation-manual_v1.9.pdf