CentOS 7でApache suEXECのログはどこに出力されるか

結論から先に書くと、CentOS 6系ではApacheのsuEXECに関するログは/var/log/httpd/suexec.logに出力されていたが、CentOS 7ではsyslog経由で/var/log/secureへ出力されるように変更されていた。

このログはjournalctlでも確認出来る。journalctlの場合は下記の様なコマンドでtail -fと同様な閲覧方法が可能だ。

# journalctl -f

“CentOS 7でApache suEXECのログはどこに出力されるか” の続きを読む

Postfix Adminでアドレス・管理者作成時に最小パスワード文字数が効かない

Postfix Adminの設定には、短すぎるパスワードを登録できないように、パスワードの最小文字数を指定する$CONF[‘min_password_length’]というものがある。

ずっとこれが効いてるものだとおもっていたら、どうも効いてない感じがする。調べてみると、アドレス作成時にも管理者作成時にもパスワード文字数のチェックが効いてないことがわかった。

そして、パスワードを変更するときにようやく文字数チェックが行われている謎仕様・・・

しようがないので、自分でソースを修正してみた。
https://gist.github.com/krhitoshi/5755014
“Postfix Adminでアドレス・管理者作成時に最小パスワード文字数が効かない” の続きを読む

Perlのパスをコマンドで一括置換 (CGI)

データを別サーバに移行してたらPerlで書かれたCGIが入っていて、動作確認したら動かなかった。

あれと思って調べてみたら、Perlのパスが”/usr/local/bin/perl”になってたのが原因だった。

いつも使ってるサーバでのパスは”/usr/bin/perl”だ。

どうも以前はシンボリックリンクで対応したようだけど、今回はファイルの方を書き換えることにした。

ln -s /usr/bin/perl /usr/local/bin/perl

それで、スクリプトのパスの方を書き換えようとしたら、複数ファイルに書かれていた・・・

ということで、コマンドの組み合わせを考えてみる。

カレントディレクトリ以下の”/usr/local/bin/perl”が含まれるファイルはgrepで探せる。

grep -rl '/usr/local/bin/perl' *

パスの置換はsedでできるのでxargsにパイプして一括置換できましたよと。

grep -rl '/usr/local/bin/perl' * | xargs sed  -i 's/\/usr\/local\/bin\/perl/\/usr\/bin\/perl/'

実行するとファイルが書き換えられるので、ちゃんとバックアップとってお試し下さい。

.ssh/config でホスト名のワイルドカードを使用する

AWSのEC2を検証用に使うようになってきた。
Elastic IPで固定IPを振るほどでもないので、インスタンスを立ち上げるたびにIPつまりpublic DNSがころころ変わる。

設定をするのにSSHでログインするんだけど、SSHのデフォルトのポートを22にしてないのでコマンド打つときに毎回-p 22と打ったり、ユーザ名にec2-userと打つのがめんどくさくなってきた。

ssh -p 22 ec2-user@ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com

.ssh/configでワイルドカードが使えればな〜と思って調べたら、使えることがわかった。

.ssh/configの最初の方に次のような記述を追加しておいた。

Host *.compute.amazonaws.com
    User ec2-user
    Port 22

これでssh + public DSNを打つだけで新しいインスタンスにログインできるようになった。

ssh ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com

.ssh/configをよく見たら最後の方に

Host 172.16.*
    Port 22

とか書いてあった。

どうやらワイルドカード使えることを忘れていただけらしい・・・

SSH_CONFIG (5)

さくらのVPS 無料期間中でもメール送信する方法

何年か前に借りていたVPSがソフトウェア的にも古くなってきたので、新しいサーバを構築して移転することにした。

いつものようにさくらのVPSを借りる。

さくらのVPSには申し込んでから2週間の無料お試し期間があるんだけど、その間は利用制限があり、ネットワークが外部の25番ポートへ接続できないよう(OP25B設定)になっている。

ご利用上の注意 | VPS(仮想専用サーバ)「さくらのVPS」

メール送信用のポート番号となる外向きの25番ポートを閉じた設定でのご提供です。

つまり、外部のメールサーバの25番ポートに接続できないのでメールの送信ができないということだ。
無料期間中に大量の迷惑メール配信をする輩がいたのだろう。記憶ではサービス開始当初は無料期間中もメール送信できていたと思う。

この利用制限があるとSMTPのテストやメールを送信する機能のあるプログラムのテストがやりにくいのが難点。
“さくらのVPS 無料期間中でもメール送信する方法” の続きを読む

doveadm quota getでユーザ一覧が出力されない (MySQL使用時)

Dovecotのユーザ情報をMySQLで管理していて、quotaの設定を追加をしようとおもったら、doveadmでquota情報の一覧を表示するときに次のようなエラーが表示された。

# doveadm quota get -A
--------------------------------------------------
doveadm(root): Error: User listing returned failure
doveadm: Error: Failed to iterate through some users
Username              Quota name Type Value Limit %
--------------------------------------------------

“doveadm quota getでユーザ一覧が出力されない (MySQL使用時)” の続きを読む

CentOSのRPMでOSのバージョン間違い

新しいサーバをZABBIXで監視に追加するためにZABBIXのリポジトリインストール用のRPMをインストールしようと思ったら、見慣れないエラーが出てインストールできなかった。

ZABBIX-JPのyumリポジトリ利用方法 | ZABBIX-JP

# wget http://repo.zabbix.jp/relatedpkgs/rhel6/i386/zabbix-jp-release-6-6.noarch.rpm
# rpm -ivh zabbix-jp-release-6-6.noarch.rpm
警告: /var/tmp/rpm-xfer.eXQBuk: ヘッダ V4 DSA signature: NOKEY, key ID f32904ff
エラー: 依存性の欠如:
	rpmlib(FileDigests) <= 4.6.0-1 は zabbix-jp-release-6-6.noarch に必要とされています
	rpmlib(PayloadIsXz) <= 5.2-1 は zabbix-jp-release-6-6.noarch に必要とされています

rpmlibというパッケージがインストールされて無いことが原因かと思たののでyum searchで調べてみたけども該当するようなパッケージは見つからない。
ググって調べてみてもなんだか要領を得ない。

なんだろうと思って、ふとOSのバージョンを確認したら。

# cat /etc/redhat-release
CentOS release 5.8 (Final)

CentOS5系だった・・・
新しく導入したサーバだからCentOS6系だと思い込んで、CentOS6系用のRPMをインストールしようとしていた。
ただの思い込みだったわけだ。

# rpm -ivh http://repo.zabbix.jp/relatedpkgs/rhel5/i386/zabbix-jp-release-5-6.noarch.rpm

CentOS5系用のパッケージをインストールして解決。

自分で調達したものではなかったので気づかなかったという。

rpmコマンドのエラーではOSのバージョンが違うとかは特に出ないようになってるんだな。
似たようなエラーが出た場合はRPMパッケージの対応OSが合っているか確認してみよう。

CentOS6系のSRPMSの置き場所

CentOS6.3用にpostfixのsrpmをダウンロードしようと思って、いつも使っている理研のミラーの中を探してたんだけど、なかなかSRPMSというフォルダが見つからない。

前のバージョンのところにでもあるのかと思って、別なところを探していたら
http://ftp.riken.jp/Linux/centos/6.2/os/SRPMS/Sources_README

All srpms are now hosted in vault.centos.org

Sources for this repo can be found at :
http://vault.centos.org/6.2/os/Source/

と書いてある、ページを見つけた。

どうも、ソースはミラーサイトではなく、vault.centos.orgに置くようになったみたいだ。

ということで、CentOS6.3のsrpmは次のURLからダウンロードできることがわかった。
http://vault.centos.org/6.3/os/Source/SPackages/