syokunin のすべての投稿

CAPTCHAの利用

■KCAPTCHA
http://goodphp.mirrors.phpclasses.org/browse/package/3193.html
よりダウンロード
(メンバー登録要)

kcaptcha-2006-10-02.tar.gzを任意のディレクトリへダウンロード

展開
tar zxvf kcaptcha-2006-10-02.tar.gz

example.php にアクセスすると、画像が表示される。

kcaptcha_config.phpで各種設定

クレジット消去
$show_credits = false;
$credits = ”;

■CAPTCHA X
FreeType Support enabled でなくてはならない

※enabled でない場合 —————————–
freetype2が未インストールであれば、
http://www.freetype.org/
から任意のディレクトリへfreetype-2.3.2.tar.gzをダウンロード

展開
tar zxvf freetype-2.3.2.tar.gz

cd freetype-2.3.2
.configure
make
make install

configureオプションに
–with-freetype-dir=[インストールDir]
を付けてPHP再コンパイル

make
make install

httpd 再起動

念のためphpinfoなどで
FreeType Support enabledを確認
—————————————————-

http://www.phpclasses.org/browse/package/3023.html
よりダウンロード
(メンバー登録要)

captcha_x-2006-08-25.tar.gzを任意のディレクトリへダウンロード

展開
tar zxvf captcha_x-2006-08-25.tar.gz

展開後に出現するfonts ディレクトリにフォントを配置

captcha_x.ini を編集
fonts = [拡張子なしフォント名]
を設定
(カンマ区切りで複数指定可)

index.php にアクセスすると、画像が表示される。

Sitemap[Google,Yahoo,MSN]

■Google,Yahoo,MicrosoftでGoogle Sitemapsを採用。
http://japan.cnet.com/news/media/story/0,2000056023,20318687,00.htm

■urlsetを以下のように記述
<urlset xmlns=”http://www.sitemaps.org/schemas/sitemap/0.9″>

■登録方法(Google)
現状通り

■登録方法(Yahoo)
https://edit.yahoo.com/config/eval_register
にてアカウント登録

ログイン後
http://siteexplorer.search.yahoo.com/
へアクセス

登録したサイトのURLを入力して「Add My Site」をクリック後
「Authenticate」をクリックし、「authentication key」をダウンロード。

ダウンロードしたファイルを登録サイトにアップロードし、
「Ready to Authenticate」をクリック。

問題なければ24H程度でステータスが「Pending」から「Authenticated」に変わる。

その後、「Manage」をクリックして、sitemapのURLを入力して完了。

■登録方法(MSN)
headタグ内に以下を記述。
<link rel=”alternate” type=”application/rss+xml” title=”ROR” href=”[PathToSitemap]” />

POP Before SMTP

■POP Before SMTPで利用するパッケージ類インストール
# apt-get update
# apt-get install postfix dracd db4 db4-devel db4-utils pam-devel gdbm-devel

■portmapの起動
# /etc/init.d/portmap start
# chkconfig portmap on

■dracの内容確認
# more /etc/mail/dracd.allow
255.255.255.255 127.0.0.1

■dracのデータベース消去時間(リレー許可時間)
# vi /usr/sbin/rc.dracd
/usr/sbin/rpc.dracd -e 2 &
※2分

■drac起動
# /etc/init.d/dracd start
chkconfig dracd on

■現在のqpopperアンインストール
# rpm -e qpopper

■qpopperのソースを入手
※一般ユーザーで作業
$ apt-get source qpopper

■SPEC編集
$ cd ~/rpm/SPECS/
$ vi qpopper.spec

◆Release: 0vl1→0vl1.1


%build
CFLAGS=”$RPM_OPT_FLAGS” ./configure \
–prefix=/usr \
–enable-bulletins=/var/spool/mail/bulletins \
–enable-specialauth \
–with-pam=qpopper \
–with-popuid=pop \
–enable-apop=/etc/pop.auth \ ← \ 追加
–enable-drac ←追加

■リビルド
$ rpm -bb qpopper.spec

■インストール
※rootユーザーに戻る
# cd ../RPMS/i386/
# rpm -Uvh qpopper-4.0.9-0vl1.1.i386.rpm

■inetデーモンを再起動
# /etc/init.d/inet restart

■Postfix設定
# vi /etc/postfix/main.cf

mynetworks = 127.0.0.0/8 check_client_access btree:/etc/mail/dracd

postfix reload

■動作確認
・外部からPOPする。
・db_dump -p /etc/mail/dracd.db
・接続IPが表示される
・データベース消去時間以上経過後再度
db_dump -p /etc/mail/dracd.db
・接続IPが消えていればOK

■不正中継チェック
http://www.rbl.jp/
■ブラックリストチェック
http://www.rbl.jp/ckdb/

Postfix 設定

■基本的な設定
設定ファイル:/etc/postfix/main.cf
以下は主要なパラメータ
※赤字はコメントアウトを消したり編集したパラメータ

#キューのディレクトリ
queue_directory = /var/spool/postfix

#postcatなどpostXXXコマンドが格納されているディレクトリ
command_directory = /usr/sbin

#Postfix全体が格納されているディレクトリ
daemon_directory = /usr/lib/postfix

#キューファイルの所有者や実行時のオーナー名
mail_owner = postfix

#ローカル配送ソフトが外部のファイルやコマンドに配送する際に使うデフォルトの権限
#(受け取るユーザ項目がない場合使用)
default_privs = nobody

#ホスト名
myhostname = host.domain.tld

#ドメイン名
mydomain = domain.tld

#送付元ドメイン(又はホスト)名
myorigin = $mydomain

#受信対象ネットワークインターフェースのアドレス
#inet_interfaces = all
#最終目的地(受信対象ドメイン/ホスト)
mydestination = $myhostname, localhost.$mydomain

#Unknown Userエラーの際の応答コード
unknown_local_recipient_reject_code = 450

#リレーを許可するクライアント
#subnetとすれば自身が所属するサブネットワーク全体になる
mynetworks_style = host

#リレーを許可するクライアント
#mynetworks_styleの代わりにIPアドレスで明示的に指定
#設定するとmynetworks_styleは無視される
#mynetworks = 127.0.0.0/8,192.168.0.0/24
#リレーを許可するドメイン
relay_domains = $mydestination

#エイリアスマップファイル
alias_maps = hash:/etc/postfix/aliases

#newaliasesで構築されたエイリアスデータベース
alias_database = hash:/etc/postfix/aliases

#メールボックス用ファイル格納ディレクトリ
mail_spool_directory = /var/spool/mail

#ログに残すデータのレベル
debug_peer_level = 2

#問題発生時のデバッガ
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5

■設定の反映
postfix reload

■起動 | 再起動 | 停止
/etc/init.d/postfix start | restart | stop

■確認
telnet localhost 25 で220が返ってくればOK

■付録
Qpopper インストール

apt-get install qpopper

/etc/inetd.confのqpopperの行頭コメントアウト削除

inetd再起動
kill -HUP `cat /var/run/inetd.pid`

telnet localhost 110 で
+OK Qpopper が返ってくればOK

Google携帯サイト用クローラーUserAgent

Nokia6820/2.0 (4.83) Profile/MIDP-1.0 Configuration/CLDC-1.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)

DoCoMo/1.0/N505i/c20/TB/W20H10 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)

恐らくサイトマップ登録時に
XHTMLを選択すればNokia
CHTMLを選択すればDoCoMo

[参考]
Google Wireless Transcoder(AU検索時のproxy)

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Google Wireless Transcoder;)

atコマンド

指定時刻にジョブを実行する

ファイルからジョブを入力する(-f)

■シェルスクリプト
年月日で指定
at -f example.sh [MMDDYY]
時間で指定
at -f example.sh [HH:MM]

■PHPスクリプト
echo \’/usr/bin/php example.php\’ | at [HH:MM]

※[ ]内は日付や時間。YYは年の下2桁

■確認
atq 又は at -l — 実行待ちジョブ

■削除
atrm [QueNum]
※[ ]内は atq などで表示される番号

外部サイトへのリンク

元々リンクポピュラリティーという概念は、「よく引用されている論文は良い論文」という考え方からきているのだが、
「良い論文は同じく良い論文を参照している」という発想もある。

共通のテーマを持つサイトにリンクを張ることで、自身のサイトとの関連性を高めることができるという考え方。
これはAsk.jpやYahoo!検索の一部で実装されている“オーソリティー&ハブ”というアルゴリズムの概念の“ハブ”に相当するものだそうです。

外部サイトへリンクを張ることで、理論上リンクポピュラリティーの点数は流出するが、極端に順位低下はない。
関連性の高い良質なサイトへのリンクは張った方がいいということか。

Adsenseについて

Adsenseを利用していると、広告が英語の広告ばかり表示されるケースがあるようです。
オフィシャルに公開されていないようですが、
google_language = ‘ja’;
とスペニット内に記述すると日本語のみの広告が表示されるようです。