Mirage-OC Commercial

2010/03/22

軽量化について

カテゴリー: >サーバーメンテ — admin @ 18:32

当方の鯖は非常に古いシステムで稼動しているため処理速度がブロードバンドについていけないのは一つの問題です。
ですが、不況である昨今に個人で新規鯖を導入する余裕が無いため、幾つかのアプローチを健闘します。

◆PHP APC
これは結構前に導入済みで、PHP の処理が若干向上したと感じられました。
表示については大差ないですが、記事の保存など PHP で負荷が上がる部分には良い影響が出ました。

過去ログから抜粋ですが、導入ログを残します。

# cd /usr/ports/www/pecl-APC
# make
# make install
...
Then restart your web server and consult the output of phpinfo().
If there is an informational section for APC, the installation was
successful.
******************************************************************
===>   Registering installation for pecl-APC-3.0.19
******************************************************************

The following line has been added to your /usr/local/etc/php/extensions.ini
configuration file to automatically load the installed extension:

extension=apc.so

******************************************************************
# grep apc /usr/local/etc/php/extensions.ini
extension=apc.so
# /usr/local/etc/rc.d/apache22 restart

phpinfo before

Document Length:        52178 bytes
Requests per second:    937.45 [#/sec] (mean)
Time per request:       68.270 [ms] (mean)

phpinfo after

Document Length:        55233 bytes
Requests per second:    946.50 [#/sec] (mean)
Time per request:       67.618 [ms] (mean)

◆WP Super Cache
2.9 にアップデートした後プラグインを導入するには若干変更が必要そうです。
なぜなら、個人鯖ではレスポンスが悪く http リクエストで失敗するからです。
レンタ鯖、企業鯖では考慮しなくていいかもしれませんが、プロキシの無い環境では必要かもしれません。

やけに早いエラー通知のため接続関係のものを探してみると wp-includes/http.php が管理しているようです。
サラッと読んでみると http_request_timeout が 5sec というかなり狭域になっています。
これをもう少し猶予のある時間に変更します。

# diff -U0 http.php.old http.php
— http.php.old 2010-03-22 18:19:13.000000000 +0900
+++ http.php 2010-03-22 18:14:21.000000000 +0900
@@ -226 +226 @@
- ‘timeout’ => apply_filters( ‘http_request_timeout’, 5),
+ ‘timeout’ => apply_filters( ‘http_request_timeout’, 30),

これで単純なタイムアウトでの切断は免れます。

プラグインの新規追加で WP Super Cache を導入します。
導入直後は有効になっていないのでキャッシュを有効にします。
導入段階だったので他の設定は変更していません。

WP Super Cache を選んだのは 携帯プラグイン が wp-cache 対応でアップデートされていたからです。
個別に Feed なんかも導入しようかと思いましたが、設定を見た限り Feed も適用範囲内っぽいので保留しました。

忘れずにサブドメインでも有効にしておきましょう。

2008/07/13

ucspi を更新してみた

カテゴリー: >サーバーメンテ — admin @ 03:12
# cd /usr/ports/sysutils/ucspi-tcp/
# make rmconfig
# make clean
# make configure
# make showconfig
# setenv FORCE_PKG_REGISTER yes
# /usr/local/etc/rc.d/tcpserver.sh stop
# portupgrade -L /var/log/ports/ ucspi-tcp-0.88_2
# /usr/local/etc/rc.d/tcpserver.sh start

同時に再び spamhaus.org を試したが、やはり失敗。
CIDER で指定されているのかもしれないので、係わり合いをやめておくことにした。

パッケージの更新

カテゴリー: >サーバーメンテ — admin @ 01:24

使用している ports も、ココしばらく更新していないので更新してみましょう。
ツリーは更新してるんだが make していなかったぶんをチェック。

# pkg_version -v > /root/pkg_version.log

いっぱい未更新だ。

今回から portupgrade を使用する事にする。
まずは cvsup をアップデートしよう。

と思ったのだが、いつの間にか portupgrade の位置が変わっている。
/usr/ports/sysutils/portupgrade >>> /usr/ports/ports-mgmt/portupgrade
とのこと。

しかし、、、今まで make, make install, make clean を使っていたので、これに気付かなかった。
今回入れようとして、まず現状の・・・・ /usr/ports/sysutils/portupgrade ・・・・自体無い。。。
色々考えて、試して、結果的に /usr/loca/etc/supfile の末尾あたりに ports-ports-mgmt といれてツリーを更新するコトで解決。

# vi /usr/local/etc/subpile
# /usr/local/bin/cvsup -g -L 2 /usr/local/etc/supfile
# cd /usr/ports/portupgrade
# make && make install
# make clean
# rm /usr/ports/INDEX*.db
# portsdb -u

次は早速アップデートしたいのだが、その前にバージョンが確認できるらしいのでテストすることにする。

# portversion -v
Stale dependency: cairo-1.0.2_1 --> libdrm-2.0 -- manually run 'pkgdb -F' to fix, or specify -O to force.

何処か悪いようなので、指示通りのコマンドを実行する。

# pkgdb -F
....
Stale dependency: cairo-1.0.2_1 -> libdrm-2.0 (graphics/libdrm):
libxslt-1.1.14 (score:21%) ? (<y>es/<n>o/<a>ll) [no] yes
Fixed. (-> libxslt-1.1.14)
....
# portversion -v
# portversion -v > /root/portversion.log
# portsclean -DP
....
Cleaning out /usr/ports/packages...
cd: can't cd to /usr/ports/packages/All
find: /usr/ports/packages: No such file or directory
# file /usr/ports/packages/
/usr/ports/packages/: cannot open `/usr/ports/packages/' (No such file or directory)
# mkdir /usr/ports/packages
# mkdir /usr/ports/packages/All
# portsclean -DP
Detecting unreferenced distfiles...
no unreferenced distfiles found.
Cleaning out /usr/ports/packages...
#

最後、こんな方法でできるとは。。。
多分パッケージ生成を Ports で指定していれば存在するディレクトリなんでしょう。

アップデートしてみる。

# mkdir /var/log/ports/
# pkg_version -v &#124; grep '<'
# portupgrade -L /var/log/ports/ autoconf-2.59_2

できたっぽい。

以後、こんな感じでアップデートしていこうとおもう。
pkg_version と portversion に差異が出るが、この点はもう少し調べてみる。
cvsup もアップデートできないが、これは問い合わせサーバーに関する事なのかもしれない。

reboot 後も正常に動作していたので、アップデートによる障害は今の所発生していないと認識する。

2008/07/12

RBL 見直し

カテゴリー: >サーバーメンテ — admin @ 16:42

動作に影響が出る可能性がありますが、もう 5 年ほど放置してある smtp 起動スクリプト (正確には ucspi-tcp/tcpserver) の内容を確認してみる。
以下SMPT 起動部分抜粋。

/usr/local/bin/tcprules \
/usr/local/etc/tcp.smtp.cdb /usr/local/etc/tcp.smtp.tmp < /usr/local/etc/tcp.smtp
/usr/local/bin/tcpserver -HR -l0 -x \
/usr/local/etc/tcp.smtp.cdb -u 82 -g 81 0 smtp \
/usr/local/bin/rblsmtpd -r rbl.maps.vix.com -r bl.spamcop.net \
/var/qmail/bin/qmail-smtpd mirage-oc.net \
/usr/local/bin/checkpassword /usr/bin/true 2>&1 &#124; /var/qmail/bin/splogger smtp 3 &
echo "Start tcpserver -smtp-."

RBL として rbl.maps.vix.com と bl.spamcop.net が登録してあるようだ。
既に何を参照して登録したかなど覚えていない。
ここで改めて登録サーバーの動作状態や、追加したいサーバー、また、現状の設定の見直しを考えてみる。

rbl.maps.vix.vom
2001/04 に停止。。。
mail-abuse.org も同年 8 月より有料化。

bl.spamcop.net
機能しているようだ。

今後の対応として以下を検討する。
・ucspi-rss 導入
・RBL サーバー追加と削除

◆ucspi-rss 導入
ucspi のパッチがこのようになっているので RSS パッチは適応されていない。
make showconfig

===> The following configuration options are available for ucspi-tcp-0.88_2:
MAN=on "Install man(1) pages"
RSS_DIFF=off "Patch rblsmtpd for qmail users"
SSL=off "Adds support for SSL (Secure Socket Layer)"
RBL2SMTPD=off (default) "Don't drop connection, pass envvar to smtpd"
===> Use 'make config' to modify these settings

less /var/db/ports/ucspi-tcp/options

# This file is auto-generated by 'make config'.
# No user-servicable parts inside!
# Options for ucspi-tcp-0.88_2
_OPTIONS_READ=ucspi-tcp-0.88_2
WITH_MAN=true
WITHOUT_RSS_DIFF=true
WITHOUT_SSL=true

しかし、なるべく動作を変えたくないので現状のままで行く事にする。
必要であれば make rmconfig する。

◆RBL サーバー追加と削除
登録の為に DNSBL を探したところ検索フォームがあったので再び検索してみる。
http://www.dnsbl.com/
こちらは IP アドレスを指定して検索するのでサーバーの IP を引いてフォームを送信しよう。

そして本命のサーバー検索。
Blacklist Statistics Center
こちらのページで一覧が表示される。
一覧とデータベースに共通するドメインより以下の URI から2つを適用する事にする。

zen.spamhaus.org (291 msec)
bl.spamcop.net (3970 msec)
psbl.surriel.com (491 msec)

時間は DNS を any, mx などで引いた時の最大応答値。

zen.spamhaus.org を追加したかったのですが、DNS のみの対応のようなので保留します。
一時的にデーモンは起動してるのだけど smtpd が機能しなくなってしまいました。
また all.rbl.jp を追加して、結果こうなりました。

--- tcpserver.sh-20080330       Sun Jul 13 01:18:27 2008
+++ tcpserver.sh        Sun Jul 13 01:26:26 2008
@@ -7 +7 @@
-       /usr/local/bin/tcpserver -HR -l0 -x /usr/local/etc/tcp.smtp.cdb -u 82 -g 81 0 smtp /usr/local/bin/rblsmtpd -r rbl.maps.vix.com -r bl.spamcop.net /var/qmail/bin/qmail-smtpd mirage-oc.net /usr/local/bin/checkpassword /usr/bin/true 2>&1 &#124; /var/qmail/bin/splogger smtp 3 &
+       /usr/local/bin/tcpserver -HR -l0 -x /usr/local/etc/tcp.smtp.cdb -u 82 -g 81 0 smtp /usr/local/bin/rblsmtpd -r bl.spamcop.net -r all.rbl.jp /var/qmail/bin/qmail-smtpd mirage-oc.net /usr/local/bin/checkpassword /usr/bin/true 2>&1 &#124; /var/qmail/bin/splogger smtp 3 &

メールサーバの調子が

カテゴリー: >サーバーメンテ — admin @ 14:33

メールサーバから相変わらずの送信失敗キューが大量に出ています。
幾つか状況を確認してみましょう。

まず qmHandle でヘッダの確認。
結論としては From: MAILER-DAEMON@mirage-oc.net が非常に頻発しています。
恐らくスパムが送信してきメールに対しての返答でしょう。

これはひとまとめに対策するとして、先に RBL についての確認を行う。

RBL.JP
こちらで登録の確認を行います。

IP ブラックリストチェック(RBL.JPを含む世界のRBL)
URI ブラックリストチェック(RBL.JPを含む世界のRBL)

ブラックリストチェック(virus.rbl.jp, short.rbl.jp, all.rbl.jp)
ブラックリストチェック(url.rbl.jp, dyndns.rbl.jp)

結果以下のデータベースでクリーンです。

dev.null.dk Open Relay List
list.dsbl.org
multihop.dsbl.org
RBL.JP
Relay Stop List
SPAMCOP
spamhaus
surbl.org
uribl.com
VISI.COM

海外への送信が特に失敗しているので、以下で検索してみます。
Openrbl DNSBL RBL Blacklist Lookup
いくつかで拒否反応が出ました。

APEWS_L1
HOSTKARMA
SPF

うち HOSTKARMA のみ解除できました。
それ以外は長文をよく読み、以後設定します。

2008/07/11

ports 変更

カテゴリー: >サーバーメンテ — admin @ 20:35

過去から長時間稼働している BSD サーバーで、スパムやらなにやらでメールの管理が必要になったので ports で mail/qmhandle を導入します。

その際、以前 X11 の GUI で使用していたため make configure すると以下のようなメッセージが出ます。

On FreeBSD before 6.2 ports system unfortunately can not set default X11BASE by itself so please help it a bit by setting X11BASE=${LOCALBASE} in make.conf.
On the other hand, if you do wish to use non-default X11BASE, please set variable USE_NONDEFAULT_X11BASE.
*** Error code 1

これを無効にするため /etc/make.conf に以下の行を追加しました。

X11BASE=${LOCALBASE}

その後、パッケージをインストールする際にエラーが出るようになりました。


/usr/local/sbin/pkg_info: not found
*** Error code 127

確かに存在していないので、LOCALBASEを定義する必要があるのでしょうか。
以前の設定の絡みもあるかと思うので、シンボリックリンクで対応する事にします。

ln -s /usr/sbin/pkg_* /usr/local/sbin/

無事完了しました。

ファイアウォール追加開放

カテゴリー: >サーバーメンテ — admin @ 19:54

ルータを新規購入して、最低限のポート設定のまま放置してはやどれだけたったであろうか。
一ヶ月ほど立ったので、改めて過去の設定と見合わせてみる。

現在開放しているポートは以下の通り。

53/tcp,udp
25/tcp
110/tcp
80/tcp,udp

過去の設定を洗い出してみる。

5999/tcp (CVSUP)
6500/ (GameSpy Query Port)
6515/ (GameSpy Dplay UDP)
27900/ (GameSpy Master Server UDP Heartbeat)
28900/ (GameSpy Master Server List Request)
5210-5130/udp (NeverwinterNights)
13139/udp (GameSpy Custom UDP Pings)
29900-29901/udp (GameSpy)
6667/tcp,udp (IRC)
5080/tcp,udp (RED5)
1935/tcp,udp (RED5)

NWN & GameSpy および IRC や RED5 のサービスは停止中なので、殆どのポートは必要ないです。
が 5999 は閉じてはいけなかった。
再開する事にします。

2008/06/27

WEBサーバにおいて PostgreSQL を停止

カテゴリー: >サーバーメンテ — admin @ 17:55

サービスから使用しないサービスとして PostgreSQL を停止する。
Simple PHP Blog から WordPress に移行するまでは DB を封印することにする。

2008/06/14

ルータ落ち復旧

カテゴリー: >サーバーメンテ — admin @ 07:02

突発的にルータが故障してしまいました。
昨日代品を入手して復旧しましたが、現在細かな設定を反映しているので時折切断されることがあるかもしれません。

2008/05/07

鯖落ち復旧しました

カテゴリー: >サーバーメンテ — admin @ 14:26

おつかれです。

当サイトは Mirage-OC の管理ページに移行します。
この URL はしばらく後に http://www.mirage-oc.net/ に移設します。

としのろぐは http://toshino.mirage-oc.net/ に移設しました。
サイドメニューの『MOCご案内』にもリンクがあります。
ブックマークの移設をお願いします。

今回は / パーティションの圧迫に伴い、キャッシュファイル作成ミス、ログ等の作成ミスなどでデータが壊れまくりましたが LVM を任意拡張することで 5GB 程増強しました。

Powered by WordPress