にっぽつ鯖のClamdがエラーを吐いていたので対応

logwatchを眺めいていて、バージョン不整合のワーニングを放置していたのですが、重い腰を上げて対応しました。

WARNING: Local version: 0.98.4 Recommended version: 0.99.2

はい、ちょっと放置しすぎでしたね。すいません。
通常のyumにはパッケージがないので、リポジトリ追加から始めます。

# rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
# yum --enablerepo=epel update epel-release
# yum --enablerepo=epel update clamav

> clamd --version
ClamAV 0.99.2/22811/Sun Jan  1 00:54:19 2017

これで最新になりました。でめたし、でめたし。

新しくVPSを契約した

サービスはDTIのServersMan@VPSです。
既存のServersMan@VPSの鯖でSSLを導入しようとした所、SSLはインストールされているのに443ポートが反応しないし、そもそもSSL接続のairdisplayが死んでいるので、問い合わせてごたごたするより、さっさと乗り換えたほうが速いということで、新しく契約しました。
他のサービスに乗り換えることもちょっとは考えましたが、勝手が変わるとまた面倒なので同じサービスを追加ということに。

元の鯖はCentOS5.11で2017年3月でサポートも終わることだし、他のServersMan@VPSの環境でCentOS6ではSSL接続が生きているので、似たよう環境にしようとCentOS6(64bit)環境で契約しました。
登録が完了して、しばらくしたら可動が開始したよなので、セットアップを始めます。

さぁ、またグダグダしますか。

catchallでメールを受信するには

とりあえずドメインレベルでメールを一括して受信したくなったので、調べてみた方法をまとめました。
必要に応じてユーザーをいちいち作るのは面倒ですしスマートではないですね。
ちなみに、coreserverでは「default」というユーザーを作成するとcatchallユーザーとして機能します。

メールサーバーはCentOS 6.x上でPotfixが稼働している前提です。
設定ファイル「/etc/postfix/main.cf」を編集します。

local_recipient_maps =  ← コメントアウト
luser_relay = catchall  ← catchallで受信する実在のユーザ名

この2行を編集して保存後に設定を読み込ませれば完了です。
実在しない適当なユーザ宛にメールを送信して、設定したユーザで受信できれば成功です。

仮想ホスト(バーチャルドメイン)の場合は…、知りません。
まだそういう運用をしていないというか避けているので。

CentOS 6.7でProFTPd 1.33が起動しない、のを回避した

またVPSを借りました。
新しい通販サイトの運営用です。

FTPサーバーとして使い慣れたProFTPdを選んだのですが、軌道に失敗します。
/etc/rc.d/init.d/proftpd start
Starting proftpd: [FAILED]

設定ファイルを見ても特におかしいところはないので、ログを見ようとしても追加されていない。

アプローチを変えてみると次のメッセージが表示された。
/usr/sbin/proftpd
- warning: unable to determine IP address of 'dti-vps-srv000'
- error: no valid servers configured
- Fatal: error processing configuration file '/etc/proftpd.conf'

※ DTIのServersman@VPSですが、サーバー番号000は実在しません、念のため。

どうも、自分をホスト名で検索して空振りなのでエラーとなっている模様。
# vi /etc/hosts
127.0.0.1 localhost.localdomain localhost dti-vps-srv000
::1 localhost.localdomain localhost dti-vps-srv000

と、hostsに追加。

/etc/rc.d/init.d/proftpd start
Starting proftpd: [ OK ]

無事に起動しました。
でめたし、でめたし。

webminが1.750にアップデートしてた

引越のドタバタで、いろいろと乗り遅れ感が否めない今日この頃です。
webminのアップデートが来ていたので、今頃ですが更新を始めました。
MacOS対応とか、言語追加とかで大きな更新はアナウンスされていないのですが…
とりあえず順番にアップデートしていくとエラーになることがあります。

SSLを入れていないサーバでは、Perlのモジュール「Net::SSLeay」が必要と言われるので、追加します。
yum install -y perl-Net-SSLeay
とかでサクッと入れてしまいましょう。

今のところ問題はないようなので、ひとまず安心しました。

ImageMagickでEPSに変換したファイルをIllustrator CS5で開くとフリーズする問題

ImageMagickのconvertコマンドでJPEG形式の画像ファイルををEPSファイルに変換したものを、Illustrator(イラストレータ) CS5で開くと、CS5が固まる問題を調査しました。
この現象を確認したのは、CentOS上で変換したJEPGファイルです。
昔はこんなことは無かった気がしますが、いつの間にかこの問題が発生していたので調査しました。

開発環境:
Windows7(64bit)
mageMagick 6.8.3-0 2013-02-13 Q16
Illustrator CS5

本番環境:
CentOS Linux 5.11
ImageMagick 6.2.8 05/07/12 Q16

CentOS上のImageMagickでJPEGファイルをEPSファイルにconvertしたものをイラレCS5で開くとイラレが固まって強制終了するしかなくなります。
単純に変換するときのコマンドです。
convert a.jpg a.eps

環境それぞれで生成されたEPSファイルを比較しました。
本番環境で生成したファイルにはヘッダ情報に

%begin_xml_code
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c061 64.140949, 2010/12/07-10:57:01        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginalDocumentID="xmp.did:A379835BBF2068118A6DF5258C3E39CC" xmpMM:DocumentID="xmp.did:660D7D5C2F0F11E3A9DB9D247D1C6687" xmpMM:InstanceID="xmp.iid:660D7D5B2F0F11E3A9DB9D247D1C6687" xmp:CreatorTool="Adobe Photoshop CS5.1 Macintosh"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:A56F4D9AC92068118A6DF5258C3E39CC" stRef:documentID="xmp.did:A379835BBF2068118A6DF5258C3E39CC"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
%end_xml_code

というものが追加されていました。
MACのフォトショCS5.1で保存されたとの記載を確認できます。
簡単に言うとファイル情報ですね。
これを削除するとイラレは固まらずにファイルを開けます。
よ~くソースを見ると、
「%begin_xml_code」と「%end_xml_code」に挟まれた行、XMLで言うところの「<?xpacket />」がベタで書かれていました。
この行、ソースとしてはベタで書かれていてちょっと引っかかったので、行をコメントアウト、つまり先頭に「%」を追加すると、イラレで固まらなくなりました。

XMLをPostScriptにベタで書いているので構文エラーで固まっていたようです。
PostScriptにはヒアドキュメントはなかった気がするので、stremaとしてデータとして埋め込むか、1行ずつコメントアウトしてやらないとだめなのでしょう。

XML情報は特に必要がないので、除去するオプション「-strip」を追加してconvertしてみます。
convert a.jpg -strip a.eps
これでファイル情報が格納されなくなり、イラレで無事開けるようになりました。

ファイル情報が埋め込まれるかどうかはコンパイル時のスイッチ設定だとは思うのですが、そこまでガッツリ調べるのが面倒なので、回避方法を確認したところで良しとします。

でめたしでめたし。

CentOS6にProFPTdをインストールする

にっぽつ鯖を自宅鯖からSaaSesのVPSへ移動するため、CentOS6をセットアップしています。
基本部分はSSHでシコシコ追加して、あとはFTPでファイルをアップロードしようとProFTPdを追加しました。
RPMForgeから追加して起動までは問題ないものの、ログインができません。
サーバは応答しているものの、ユーザ名やパスワードを何度確認しても駄目です。

検索してみると、ちらほら同じ症状の記事があり、参考に修正してみましたが駄目でした。

結局は、「/etc/pam.d/proftpd」の内容を、海外のサイトにあったもので上書きして事なきを得ました。


#%PAM-1.0M-1.0
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth required pam_shells.so
auth include system-auth
account include system-auth
#session include system-auth
session required pam_loginuid.so

PAMとかよくわかりませんが、仕様変更に対応していないのでごにょごにょするといった感じのようです。
ファイルを更新して「service proftpd restart」で無事ログインできました。
でめたしでめたし

clamdのログにエラーが表示される

CnetOSのセキュリティソフトとしてclamvを入れてあります。
実際にウィルスにおかされたことがないので、効果があるのかどうかもよくわかっていませんが。
最近気が付いたのですが、、いつのまにかcronのログに何やらエラーメッセージらしきものが現れていました。

 [LibClamAV] Detected duplicate databases /var/lib/clamav/main.cvd and /var/lib/clamav/main.cld, please manually remove one of them

ざっと検索した感じでは、定義ファイルの持ち方がわかったとかで、古いものは削除してくれってことらしい。
ということで、削除します。

> cd  /var/lib/clamav
> ls
bytecode.cld
daily.cld
main.cld
main.cvd
mirrors.dat
> rm main.cld
> rm main.cvd
> ls
bytecode.cld
daily.cld
mirrors.dat

これで、cronにエラーが表示されなくなる…はず?

CentOS6にRPMforgeを導入する

CentOS6は5と同じ要領では正常に進めません。
当然ですね、メジャーバージョンが違いますから。
簡単なパスの変更ですが、一応記録しておきます。

まずは、リポジトリのインストール

yum -y install yum-priorities
yum -y install yum-plugin-priorities

次に、リポジトリ設定ファイルの編集
vi /etc/yum.repos.d/CentOS-Base.repo
各セクションの末尾に
#add
priority=1

を追加。

GPGキーをインストール

wget http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txt

ここからがCentOS5と異なります。
RPMforgeリポジトリのインストール
64bitの場合

http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-1.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.2-1.el6.rf.x86_64.rpm


32bitの場合

wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-1.el6.rf.i686.rpm
rpm -ivh rpmforge-release-0.5.2-1.el6.rf.i686.rpm

そして最後にyumをアップデート
yum -y update rpmforge-release

これで、RPMforgeのお世話になれます。
でめたし、でめたし。

CentOS6をネットワーク経由でインストールしようとして手が止まる

新しく鯖を手に入れました。
ウェブ鯖用なので、OSはCentOS6の64bitを選びました。
CentOS6の32bitはDVD1枚ですが、64bitはDVDで2枚になってしまうため、ネットワーク経由でインストールすることにしました。
ブートはUSBで、ネットワークインストールのISOをダウンロードしてブートイメージを書き込みます。
ブートするまでは特に問題ないでしょう。
インストールデバイスを選択する画面で手が止まりました。
見慣れたメニューと少し違います。
ローカルCD/DVD
ハードドライブ
NFSイメージ
FTP
HTTP
の、
FTPとHTTPがなくて、URLとなっています。
まぁ、想像は付くのですが、選択するとTCP/IPの設定画面が現れ、さらに進みます。
今までは、サイト名とディレクトリが分かれていましたが、URLを入力しろと言われます。
ここでhttpまたはFTPのプロトコルからの入力が必要になっています。
ま、大した変更ではありませんが、あえて統一した理由もよくわかりませんが。
そのあとはたぶん同じです。
変更があったかもしれませんが、その画面を利用するような設定ではなかったので。