ブログランキングにブログを登録するぞ

 ブログランキングにブログを登録してみようと思いました。きっかけは、たまたま見ていたブログにランキングサイトのバナーが張っており、クリックすると、そのブログが上位に表示されていたことが始まりです。他にも自分でもランキング形式のサイト作成したことがあるので、使い手としてどうなのか見ていきたいです。

ブログランキングの仕組み
 INカウントとOUTカウントの合計ポイントでランキング順位が決定します。INカウントとは、自分のブログからランキングサイトへのアクセス数、OUTカウントはランキングサイトから自分のブログへのアクセス数をポイント変換したもです。各ランキングサイトでポイントの付け方が違いますが、INカウントが多いと上位表示される仕組みになっています。
 カテゴリー登録につては、ほとんどのサイトで複数のカテゴリーに登録できます。複数に登録した時は、各カテゴリーごとにポイント比率を設定し、その比率に対してポイントが貰える仕組みになっています。

今回、登録させていただきましたランキングサイトは、「にほんブログ村」、「人気ブログランキング」、「ブログ王」です。

選択理由と現状
1. にほんブログ村
 カテゴリが豊富で情報量の多いので、カテゴリー内で上位を狙ってみようと思い登録しました。現在の登録件数は62万件と半端になく多いです。

ブログ村(ランキングサイト)の紹介

カテゴリー 登録数 現在の順位 アクセス数
コンピューターとインターネット 4577サイト 圏外 0件
Linux 171サイト 圏外 0件
JavaScript 32サイト 圏外 0件
自宅サーバー構築 91サイト 圏外 0件

2. 人気ブログランキング
 登録件数が多く、カテゴリーも充実しています。何よりも、ネット内での評価が良かったので選択しました。

人気ブログランキング(ランキングサイト)の紹介

カテゴリー 登録数 現在の順位 アクセス数
Windows 24サイト 圏外 0件
サーバー構築・運用 50サイト 圏外 0件
ネット・PC(全般) 219サイト 圏外 0件

3. ブログ王
 ブログ王のサイト規模は、ブログランキングサイト内でも中堅ぐらいだ思います。ブログ登録件数も10万件程度ですが、検索(SEO)で上位表示されているので選びました。このサイトは、複数のカテゴリに登録出来ません。
ブログ王(ランキングサイト)の紹介

カテゴリー 登録数 現在の順位 アクセス数
コンピューターとインターネット 6035サイト 圏外 0件

(結果)
結果は、来月ぐらいに報告したいと思います。アクセスが沢山くるといいな

カテゴリー: WEBサービス | タグ: | コメントをどうぞ

Fedora16のvsFTPDの起動について

 先ほど、Fedora15から16へとアップグレードをしました。その時に、vsFTPDが自動起動しないことに気がつき、調べてみると、今まで使っていた「SysVシステム」から「systemdサービス」へ変更になっていました。それに伴い、起動のコマンドも変更になっていたので「systemdサービス」の起動方法、自動起動の方法を紹介します。

「systemdサービス」の起動と停止
[root@localhost ~]# systemctl stop vsftpd.service (停止)
[root@localhost ~]# systemctl start vsftpd.service (起動)

「systemdサービス」の自動起動
[root@localhost ~]# systemctl enable vsftpd.service (自動起動する)
[root@localhost ~]# systemctl disable vsftpd.service (自動起動の停止)

自動起動の状態の確認
[root@localhost ~]# systemctl status vsftpd.service

(結果)
vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/lib/systemd/system/vsftpd.service; disabled) (←停止です)
Active: active (running) since Sat, 05 May 2012 04:36:03 +0900
Main PID: 828 (vsftpd)
CGroup: name=systemd:/system/vsftpd.service

以前の「SysVシステム」では
起動と停止
[root@localhost ~]# /etc/rc.d/init.d/vsftpd stop
[root@localhost ~]# /etc/rc.d/init.d/vsftpd start

自動起動の設定
[root@localhost ~]# chkconfig vsftpd off
[root@localhost ~]# chkconfig vsftpd no

自動起動の確認
[root@localhost ~]# chkconfig --list vsftpd

(参考サイト)
 いつも参考にさせていただいています。
http://kajuhome.com/server_access.shtml

カテゴリー: FTP Server, linux全般 | タグ: , , | コメントをどうぞ

Windows7 64bit SP1インストールエラー 「0x800f0a12」

Windows7 64bitでSP1へアップグレードしたとき、エラーが発生しました。エラーコードは「0x800f0a12」でした。このエラーは、Windows システム ファイルに問題がある時に出るみたいです。このエラーに対する対処方法を紹介します。

こんな感じのエラー↓
windows7 64bit sp1 アップグレードのエラー 其の1

エラーの内容を調べます
 コマンドプロンプトを管理者権限で開いて、「bcdedit」と入力します。
コマンドプロンプトは、「すべてのプログラム」→「アクセサリ」→「コマンドプロンプト」右クリック→「管理者として実行」の順でできます。
windows7 64bit sp1 アップグレードのエラー 其の2
エラー内容で、BCD ストア (Windows システム ファイル) に問題があることが分かりましたので、「システム回復オプション」で修復します。

詳細ブートオプション
 Windowsを再起動し、Windows ロゴが表示される前に、「F8」キーを押して「詳細ブートオプション」を開いてください。失敗したらもう一度再起動してください。
windows7 64bit sp1 アップグレードのエラー 其の3

「次へ」をクリックします。
windows7 64bit sp1 アップグレードのエラー 其の4

ユーザーでログインします。
windows7 64bit sp1 アップグレードのエラー 其の5

コマンドプロンプトを開いて、「Bootrec/rebuildbcd」を入力します。
windows7 64bit sp1 アップグレードのエラー 其の6
以上で完了になります。

(参考ページ)
http://windows.microsoft.com/ja-JP/windows7/windows-7-windows-server-2008-r2-service-pack-1-sp1-installation-error-0x800F0A12

カテゴリー: Windows全般 | タグ: , | コメントをどうぞ

linuxのゴミ箱(trash)はどこにある

 linux(Fedora16)にて、時々、ディスクトップにあるゴミ箱ないのファイルを消せないときがある。ファイルを調べるとファイルのパーミッションは「-rw-r--r--」で問題はないはずなのに消せない。そんな時は、コマンドで直接ゴミ箱の中のファイルを削除します。

ゴミ箱の場所が解らない場合は、「find」コマンドでゴミ箱(trash)を探します。コマンドの使い方についてはこちらを参考にしてください。今回は「hoge」ユーザーで例を作っています。
[hoge@localhost ~]$ find /home/hoge/ -name “*trash*”

ファイルの削除
[hoge@localhost ~]$ rm -f /home/hoge/.local/share/Trash/files/*

カテゴリー: linux全般 | タグ: , | コメントをどうぞ

postfixで受信したメールをphpにわたしメールを解析する

postfixがメールを受信した時にメールの内容をphpに渡して処理する方法の紹介です。メールを受信したときに、エイリアス(aliases)とパイプ(|)でメールの内容をphpに渡します。メールを解析するのにpearの「Mail_MimeDecode」を使います。「Mail_MimeDecode」インストール方法は、こちらのページを参考にしてください。

テスト環境
 「postfix」ユーザーでメールの処理をします。メールの解析を下記のフォルダー構成にしました。
/home/postfix/shell
/home/postfix/shell/image  (←添付画像を格納するフォルダー)
/home/postfix/shell/index.php  (←メールデータを解析するphp)
/home/postfix/shell/log.text  (←解析した結果やエラーを吐き出すファイル)

Step 1 aliasesの設定
 postfixのaliasesを有効にします。postfixの設定ファイル「main.cf」に「aliases」の設定を追記します。
[root@mail ~]# vi /etc/postfix/main.cf
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases

Step 2 各ユーザーのaliasesの設定
 「aliases」ファイルに各ユーザーの設定を追加します。
[root@mail ~]# vi /etc/postfix/aliases
postfix: “| /home/postfix/shell/index.php” (←postfixユーザーはメールを受信できません)
postfix: postfix,”| /home/postfix/shell/index.php” (←postfixユーザーにメールも送る)

Step 3 上記の設定を有効にする(postfixの再起動)
[root@mail ~]# postalias /etc/postfix/aliases
[root@mail ~]# /etc/init.d/postfix restart

Step 4 解析用phpファイルの準備
 下記の様な簡単な解析プログラムを作りました。メールの内容は、「log.text」に保管され、添付画像は、「image」に連番で保管されます。

「index.php」のソース

#! /usr/local/bin/php -q
<?php
require_once(“Mail/mimeDecode.php”);

$params['include_bodies'] = true;
$params['decode_bodies']  = true;
$params['decode_headers'] = true;
$params['input'] = file_get_contents(“php://stdin”);
$params['crlf'] = “\r\n”;
$mail_data = Mail_mimeDecode::decode($params);

$num = 1;
switch (strtolower($mail_data->ctype_primary)) {
 case “text”:
 $body = $mail_data->body;
 break;

 case “multipart”:
 foreach ($mail_data->parts as $part) {
  switch (strtolower($part->ctype_primary)) {
  case “text”:
  $body = $part->body;
  break;
  case “image”:
  // 画像の拡張子を取得する
  $type = strtolower($part->ctype_secondary);
  // 添付ファイル保存
  $tmpName = ‘/home/postfix/shell/image/’.date(YmdHis).’_’.$num.’.’.$type;
  if ($fp = fopen($tmpName, “w”)) {
   $length = strlen($part->body);
   fwrite($fp,$part->body,$length);
   fclose($fp);
   $num++;
   exec(“/bin/chown -R postfix:postfix “.$tmpName);
   exec(“/bin/chmod 666 “.$tmpName);
   }
  break;
  }
 }
 break;
 
 default:
 $body = “”;
}

$log = print_r($mail_data,true);
file_put_contents(‘/home/postfix/shell/log.text’, $log);
?>

 最初の一行めの「#! /usr/local/bin/php -q」は、このファイルがphpとして実行する命令分です。よく忘れるので注意してください。ただし、命令文を「aliases」側に記述した場合は削除してください。今回は使っていませんが、メールの本文は、「$body」にあります。

(注意)
 今回のメール処理で注意していただきたいことですが、メールの処理は、postfixユーザーが処理をするので、各ファイル、フォルダーのユーザ権限をpostfixユーザが読み書き出きるように設定してください。テスト環境でしたら、権限「777」でも良いかも・・・・

(こんなエラーには)
エイリアスの設定を変更した時に、下記の様なエラーで苦戦しました。
[root@mail ~]# tail -n 100 /var/log/maillog
Mar 9 11:12:45 mail postfix/postfix-script[15596]: warning: /usr/lib/sendmail and /usr/sbin/sendmail differ
Mar 9 11:12:45 mail postfix/postfix-script[15597]: warning: Replace one by a symbolic link to the other

対処方法
[root@mail ~]# mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
[root@mail ~]# ln -s /usr/lib/sendmail /usr/sbin/sendmail

(反省 
 今回は、かなり苦戦しました。上記に書いたようにユーザ権限を間違えていたため、postfixのエイリアスの設定はうまくいっているのに、メールの内容をphpに渡せない状態が続き調べるのに苦労しました。

カテゴリー: Mail Server, php関連 | タグ: , , | コメントをどうぞ