WordPressのスパム対策プラグイン(Throws SPAM Away)を導入してみる

2014 年 1 月 17 日 コメントはありません

WordPressのWebサイトを運用していると、次第に海外からのスパムコメントの投稿が増えてきます。

コメントを一生懸命「スパムとしてマーク」しても次々とIPアドレスを変えて投稿してきますので、いたちごっこです。

なんだか「スパムとしてマーク」すると翌日、倍返しでスパムコメントが投稿されてる気がします。。

良いプラグインが無いか探していたところ「Throws SPAM Away」というプラグインが良さそうだったので導入してみたいと思います。

Throws SPAM Away導入のポイント

なぜ、このプラグインを選んだかというと

  1. 日本のシステム会社が作成したプラグインだから、設定とかも日本語でわかりやすい
  2. Akismetプラグインと違い、アカウント登録とかAPIキー取得とか不要でインストールしたらすぐに使えるから
  3. 日本語が含まれていないコメント投稿を無視する設定が可能(英語苦手なので、日本語のコメントだけもらえれば良いですw)
  4. IPアドレスのブラックリスト、ホワイトリスト両方設定できる
  5. スパムちゃんぷるーDNSBLというスパムブラックリスト(ライブドアの各種サービスで共通に利用されている共通スパムフィルタ)を利用することができる
  6. NGキーワードが設定できる

Throws SPAM Awayのインストール

インストールは、WordPressのダッシュボードから[プラグイン]-[新規追加]で「Throws SPAM Away」を検索してインストールします。

ダッシュボードからインストールできない場合は以下のページからダウンロードできます。

http://wordpress.org/plugins/throws-spam-away/

Throws SPAM Awayの設定

設定画面が日本語なので、設定に困ることはありません。

なので、設定方法は割愛。

デフォルト設定で運用を開始しましたが、ほとんどスパム投稿が来なくなりました!!

とっても優秀なプラグインです!


カテゴリー: WordPress タグ:

Shellスクリプトをデバッグ(ステップ実行)する

2013 年 12 月 28 日 コメントはありません

Shellスクリプトのテストを行う際に、1行1行処理をステップ実行して動作確認したい場合があります。
trapコマンドを使用したデバッグ方法を紹介します。

trapコマンド

trapコマンドは、指定したシグナルが発生した際に、特定のコマンドを実行するためのコマンドです。

■構文

trap [コマンド] [シグナル ...]

ステップ実行

Shellスクリプトが1行実行されるたびに、DEBUGシグナルが発生します。
trapコマンドでDEBUGシグナルを補足することで、ステップ実行をすることができます。

Shellスクリプトの冒頭に以下のコマンドを追加します。

■コマンド

trap ‘read -p “$0($LINENO) $BASH_COMMAND”‘ DEBUG

DEBUGシグナルが発生した際に、readコマンドを実行してコマンドプロンプトからの入力を待ちます。
readコマンドの-pオプションで、プロンプトに実行しているプロセス名($0)と行番号($LINENO)、実行しているコマンド($BASH_COMMAND)を表示します。

Shellスクリプトには以下のように追加します。

■test.sh

#!/bin/sh

trap 'read -p "$0($LINENO) $BASH_COMMAND"' DEBUG

echo Hello!
echo Good Bye!

実行すると以下のように1行毎にプロンプトが表示されます。

# ./test.sh
./test.sh(5) echo Hello!
Hello!
./test.sh(6) echo Good Bye!
Good Bye!

シグナルを補足しないようにするには以下のようにtrapコマンドを実行します。

trap – DEBUG

以上です。


カテゴリー: Linux タグ: ,

CentOS6.3にメールサーバ(SMTPサーバ)Sendmailを構築する

2013 年 10 月 10 日 コメントはありません

SendmailはUNIXで古くから使われてきたメールサーバソフトウェアです。オープンソース版のSendmailは数多くのディストリビューションに含まれていて、デファクトスタンダードのメールサーバーソフトウェアとして使用されてきました。

インストール

ほとんどのディストリビューションで、標準的にインストールされていると思います。

インストール確認

# yum list | grep sendmail
sendmail.x86_64 8.14.4-8.el6 installed
sendmail-cf.noarch 8.14.4-8.el6 installed

設定

Sendmailの設定方法。

設定ファイル
Sendmailの設定ファイルは、/etc/mailディレクトリに格納されています。

# ll /etc/mail
合計 280
-rw-r–r– 1 root root 92 5月 20 20:12 2009 Makefile
-rw-r–r– 1 root root 469 5月 20 20:12 2009 access
-rw-r—– 1 root root 12288 6月 9 10:00 2012 access.db
-rw-r–r– 1 root root 0 6月 9 10:00 2012 aliasesdb-stamp
-rw-r–r– 1 root root 233 4月 12 23:35 2007 domaintable
-rw-r—– 1 root root 12288 6月 9 10:00 2012 domaintable.db
-rw-r–r– 1 root root 5584 11月 12 04:36 2010 helpfile
-rw-r–r– 1 root root 64 4月 12 23:35 2007 local-host-names
-rw-r–r– 1 root root 997 4月 12 23:35 2007 mailertable
-rw-r—– 1 root root 12288 6月 9 10:00 2012 mailertable.db
-rwxr-xr-x 1 root root 2700 5月 20 20:12 2009 make
-rw-r–r– 1 root root 58439 11月 12 04:36 2010 sendmail.cf
-rw-r–r– 1 root root 58439 11月 12 04:36 2010 sendmail.cf.org
-rw-r–r– 1 root root 7237 10月 10 01:13 2013 sendmail.mc
-rw-r–r– 1 root root 7202 5月 20 20:12 2009 sendmail.mc.org
-rw-r–r– 1 root root 41521 11月 12 04:36 2010 submit.cf
-rw-r–r– 1 root root 941 11月 12 04:35 2010 submit.mc
-rw-r–r– 1 root root 127 4月 12 23:35 2007 trusted-users
-rw-r–r– 1 root root 1847 4月 12 23:35 2007 virtusertable
-rw-r—– 1 root root 12288 6月 9 10:00 2012 virtusertable.db

この中でメインの設定ファイルは「sendmail.cf」ですが、設定がとても複雑なため
通常はM4マクロ言語で「sendmail.mc」というファイルに設定を記述してから
実際の「sendmail.cf」ファイルを生成します。

sendmail.cfファイルの生成
「sendmail.mc」で設定を変更した際には、以下のコマンドを実行して「sendmail.cf」ファイルを生成します。

# m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

sendmail.mcの設定

SMTP接続を外部から受ける設定
デフォルトでは、127.0.0.1のSMTPポート(25番ポート)でLISTENするように設定されています。
このままでは、他のネットワークから接続できないため、この設定を削除して全てのネットワークインターフェースのSMTPポートでLISTENするように設定変更します。
(※dnlを付けると、コメント行として見なされます。)

dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA’)dnl

ドメイン名の設定
メール送信時に設定されるドメイン名を設定します。

LOCAL_DOMAIN(`oss-lab.net’)dnl

設定を変更したら、m4マクロで、cfファイルを生成します。

メール受信ドメインの設定

/etc/mail/local-host-namesの設定
sendmailは、このファイルに設定されたドメイン宛のメールを自分宛のメールとして処理します。
このファイルに設定されていない宛先へのメールは他のMTAへリレーします。

# cat local-host-names
# local-host-names – include all aliases for your machine here.
oss-lab.net

アクセス制限

/etc/mail/accessの設定
どのネットワークからのアクセスを許可するか設定を行います。

# Check the /usr/share/doc/sendmail/README.cf file for a description
# of the format of this file. (search for access_db in that file)
# The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc
# package.
#
# If you want to use AuthInfo with “M:PLAIN LOGIN”, make sure to have the
# cyrus-sasl-plain package installed.
#
# By default we allow relaying from localhost…
Connect:localhost.localdomain RELAY
Connect:localhost RELAY
Connect:127.0.0.1 RELAY

access.dbへの設定反映
以下のコマンドを実行して設定を反映します。

makemap hash /etc/mail/access.db < /etc/mail/access

Sendmail起動

設定が完了したら、Sendmailを起動します。

alternativesの設定
postfixがデフォルトのMTAとして設定されている場合があります。
以下のコマンドで、デフォルトのMTAとしてSendmailを選択します。

# alternatives –config mta

2 プログラムがあり ‘mta’ を提供します。

選択 コマンド
———————————————–
* 1 /usr/sbin/sendmail.sendmail
+ 2 /usr/sbin/sendmail.postfix

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:1

postfixサービス停止
postfixが起動している場合はサービスを停止します。

# service postfix stop

sendmailサービス開始

# service sendmail start

■参考ページ

http://futuremix.org/2003/05/sendmail
http://www.server-memo.net/server-setting/sendmail/sendmail-setting
http://www.ki.nu/software/cf/cf.html


カテゴリー: Linux, メールサーバ タグ: ,

CentOS6.3にyumでOpenJDK7(JavaSE7)をインストールする

2013 年 9 月 26 日 コメントはありません

Javaは2007年にオープンソースとなり、JDKのソースコードが公開されました。

オープンソース化後もサン・マイクロシステムズ(Oracleが買収)は同社製のJDKをリリースしています。

ソースコードの大部分は製品版のJDKと共通ですが、開発の経緯から少なからず差分があります。

OpenJDK7は、JavaSE7のリファレンス実装となり、OpenJDK7の仕様がJavaSE7の仕様とも言えます。

OpenJDKとSunJDKの違いについて、IPAが調査を行った結果がありますので、興味があれば参照してみてください。

■IPAの調査資料
>アプリケーション実行基盤としてのOpenJDKの評価

 

それでは、yumを使ってOpenJDKをインストールしてみたいと思います。

 

OpenJDKのリスト表示

yumのlistコマンドでインストール可能なopenjdkの一覧を表示します。

$yum list *java*opnejdk*
java-1.6.0-openjdk.x86_64 1:1.6.0.0-1.62.1.11.11.90.el6_4 updates
java-1.6.0-openjdk-demo.x86_64 1:1.6.0.0-1.62.1.11.11.90.el6_4 updates
java-1.6.0-openjdk-devel.x86_64 1:1.6.0.0-1.62.1.11.11.90.el6_4 updates
java-1.6.0-openjdk-javadoc.x86_64 1:1.6.0.0-1.62.1.11.11.90.el6_4 updates
java-1.6.0-openjdk-src.x86_64 1:1.6.0.0-1.62.1.11.11.90.el6_4 updates
java-1.7.0-openjdk-demo.x86_64 1:1.7.0.25-2.3.10.4.el6_4 updates
java-1.7.0-openjdk-devel.x86_64 1:1.7.0.25-2.3.10.4.el6_4 updates
java-1.7.0-openjdk-javadoc.noarch 1:1.7.0.25-2.3.10.4.el6_4 updates
java-1.7.0-openjdk-src.x86_64 1:1.7.0.25-2.3.10.4.el6_4 updates

インストール

ランタイム環境(JRE)だけインストールする場合は「java-1.7.0-openjdk」を
コンパイルなどを行う開発環境が必要な場合は「java-1.7.0-openjdk-devel」もインストールしてください。

$yum install java-1.7.0-openjdk
$yum install java-1.7.0-openjdk-devel

依存するパッケージも一緒にインストールしてくれます。

インストールディレクトリ

openjdkは「/usr/lib/jvm」にインストールされます。

lrwxrwxrwx 1 root root 26 9月 26 01:27 2013 java -> /etc/alternatives/java_sdk
lrwxrwxrwx 1 root root 32 9月 26 01:27 2013 java-1.7.0 -> /etc/alternatives/java_sdk_1.7.0
drwxr-xr-x 7 root root 4096 9月 26 01:27 2013 java-1.7.0-openjdk-1.7.0.25.x86_64
lrwxrwxrwx 1 root root 34 9月 26 01:27 2013 java-1.7.0-openjdk.x86_64 -> java-1.7.0-openjdk-1.7.0.25.x86_64
lrwxrwxrwx 1 root root 34 9月 26 01:27 2013 java-openjdk -> /etc/alternatives/java_sdk_openjdk
lrwxrwxrwx 1 root root 21 9月 26 00:38 2013 jre -> /etc/alternatives/jre
lrwxrwxrwx 1 root root 27 9月 26 00:37 2013 jre-1.7.0 -> /etc/alternatives/jre_1.7.0
lrwxrwxrwx 1 root root 38 9月 26 00:37 2013 jre-1.7.0-openjdk.x86_64 -> java-1.7.0-openjdk-1.7.0.25.x86_64/jre
lrwxrwxrwx 1 root root 29 9月 26 00:37 2013 jre-openjdk -> /etc/alternatives/jre_openjdk

JRE_HOMEは「/usr/lib/jvm/jre」、JAVA_HOMEは「/usr/lib/jvm/java」になります。
それぞれ、シンボリックリンクが設定されており、alternativesコマンドで
柔軟にバージョンの切り替えが可能です。

 


カテゴリー: Java タグ:

オープンソースの統合業務管理ソフトADempiere

2013 年 8 月 29 日 コメントはありません

商用のERPソフトはとても高価ですが、オープンソースで高機能なERPソフトもあるんですね。

野村総研がADempiereと人事給与ソフトのMosPを統合してソリューションとして提供しています。

 

■ADempiereのHPはこちら

http://www.adempiere.jp/

■ニュースはこちら(ITPro)

http://itpro.nikkeibp.co.jp/article/NEWS/20121009/428460/

 


カテゴリー: 未分類 タグ: