小ネタ

サーバー運用がかなり厳しいので寄付をしてくれる人がいたらこちら
メインPCもボロボロになってきたので、ついにほしいものリスト公開

ここではちょっとした小ネタを披露していきます?('A`)

64Bit環境でphp+imapをやろうとするとエラーが出る件

これはimapのmake時にfPICがないからだそうです
fPIC無しでデフォルトコンパイルされるのですが、
phpのmake時に怒られます。

ということでimapのコンパイルの際に以下のとおりすることで回避することができます。

CFLAGS=-fPIC make slx

imap-2006f.DEV.SNAP-0701312235 ではCFLAGSでは駄目なようで
以下のようにします。

make slx EXTRACFLAGS=-fPIC

64Bit環境でSquid+SSLのコンパイルに失敗する件

Squid-2.7STABLE4及び3.0-STABLE11ではつけなくても成功しました。

コンパイルオプションに以下を設定することでコンパイル可能になりました。

--with-build-environment=POSIX_V6_LP64_OFF64

これは強制的に32bit互換で動かすということらしいです?

OpensslでSSLのサーバに接続

openssl s_client -connect localhost:995
openssl s_client -connect localhost:993
openssl s_client -crlf -starttls smtp -connect localhost:25

Qmailのbadhelo

正しくないHELOはエラーを返すようにしてみます。
ドットレスやIPや自身のFQDNを出さないメールサーバを拒否ってかんじです。

/var/qmail/control/badhelo

!\.
[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}
momo-i.org

これだとLAN内の端末からとか自身のメール送信ができなくなるので
/home/vpopmail/etc/tcp.smtpに以下を追加

127.:allow,RELAYCLIENT="",NOBADHELO=""
                          ^^^^^^^^^^^^
192.168.11.:allow,RELAYCLIENT="",NOBADHELO=""
                                 ^^^^^^^^^^^^

rpmデータベースがぼっこわれた場合

rpm -aqとかやると途中で固まったり yum updateができなかったり ps axで/etc/cron.daily/rpmがいっぱいになってるときは rpmのデータベースがぼっこわれてます('A`)

そんなときは以下の手順でrpmデータベースを復旧させます。

cd /var/lib
cp -r rpm rpm.bak
cd rpm
rm -f __db*
/usr/lib/rpm/rpmdb_verify /var/lib/rpm/Packages
#Fedora10~では↑のコマンドが無くなりました。
#たぶん rpmdb -a が代替になるかもしれません?
rpm --rebuilddb
#Fedora10~では rpmdb --rebuilddb かもしれません?

rpmが多い場合は再構築に時間がかかります。
再構築が終わったらrpm -aqなりyum updateができることを確認しておきます。
問題がなければ/var/lib/rpm.bakを削除しておきましょう。

SpamAssassinで
error: Can't locate Sys/Syslog/Win32.pmが出る件

Sys::SyslogのバグでSpamAssassinを起動すると以下の様なエラーがでます。

error: Can't locate Sys/Syslog/Win32.pm in @INC (@INC contains: ~~~) at (eval 13) line 2.

これはSys::Syslogのバグで以下を修正することでとりあえずでなくすることができます。

find /usr -name Syslog.pm -print

で(Perlのパス)/Sys/Syslog.pmをみつけましょう。
Syslog.pmでSys::Syslog::Win32が最初に現れる行付近でこんなコードがあります

# use EventLog on Win32
my $is_Win32 = $^O =~ /Win32/i;
eval "use Sys::Syslog::Win32";

これを以下のように修正するとでてこなくなります。

# use EventLog on Win32
my $is_Win32 = $^O =~ /Win32/i;
if($is_Win32) {
	eval "use Sys::Syslog::Win32";
}

sa-updateで怒られる

error: GPG validation failed!
The update downloaded successfully, but the GPG signature verification failed.
channel: GPG validation failed, channel failed

と出た場合、

wget http://spamassassin.apache.org/updates/GPG.KEY
sa-update --import GPG.KEY
sa-update

で直ります。

Qmailのログの時刻

/var/log/qmail/のログファイルの時刻を以下の方法でわかりやすくします。

cat /var/log/qmail/current | tai64nlocal

Fedora9以降のinitscript

initscriptがSysVinitからupstartというものに変わりました
/etc/inittabを読み込まないで/etc/event.dの中を読んでるみたいです。
おかげでqmailが起動せずにおかしくなりました。

upstart用の設定

/etc/event.d/svscanboot

# svscanboot
 
start on runlevel 2
start on runlevel 3
start on runlevel 4
start on runlevel 5
 
stop on shutdown
 
respawn
exec /command/svscanboot

起動

initctl start svscanboot

情報が少なすぎなので、ちと整理して覚書を残そうとおもいます。
とりあえず参考になりそうなところ

Fedora15以降のinitscript

Fedora15からinitscriptがupstartからsystemdというものに変わりました
/etc/event.dや/etc/init.dの中を読み込まないで/lib/systemd/systemの中を読んでるみたいです。
おかげでqmailがまた起動せずにおかしくなりました。

忘れぬうちにメモというかとりあえず動くけど中身よくわかってない

/lib/systemd/system/svscanboot.service

[Unit]
Description=Qmail Daemon
 
[Service]
ExecStart=/command/svscanboot
 
[Install]
WantedBy=multi-user.target

追加したら忘れずに

systemctl enable svscanboot.service
systemctl start svscanboot.service

をやっておかないとだめ。

Tags: 

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
CAPTCHA
また変更しました
Fill in the blank.