バーチャルドメイン設定(Postfix&Dovecot+qmail&vpopmail)
http://centossrv.com/trash/postfix-vpopmail.shtml

長い間順調に働いていたメールサーバーがおかしい。自分宛メール(もしかするとローカル全般かも)が届かない。やっと発見したらSpamフォルダの中。結局whitelistを作って解決。原因が不明である。

ヘッダがこんな感じ
X-Spam-Flag: YES

X-Spam-Level: ****************
X-Spam-Status: Yes, score=16.1 required=13.0 tests=AWL,BAYES_99,

/root/whitelistを作成

whitelist_from SPAM判定してほしくないメールアドレス1
whitelist_from SPAM判定してほしくないメールアドレス2

local.cfに反映して再起動

cd /etc/mail/spamassassin
cat /root/whitelist >> local.cf
/etc/rc.d/init.d/spamassassin restart > /dev/null

スクリプトを変更
vi /etc/cron.daily/spamassassin-update
下記の赤字部分を追加

#!/bin/bash

# SpamAssassin設定ファイル最新版ダウンロード
cd /etc/mail/spamassassin
wget -qN http://www.flcl.org/~yoh/user_prefs

# 設定ファイル更新時のみSpamAssassin再起動
diff user_prefs user_prefs.org > /dev/null 2>&1
if [ $? -ne 0 ]; then
    cp user_prefs local.cf
    # スパム判断したメールを添付形式にしないように設定
    echo "report_safe 0" >> local.cf
    # スパム判断したメールの件名に「***SPAM***」を付加するように設定※受信メールサーバーがPOPの場合のみ
    echo "rewrite_header Subject ***SPAM***" >> local.cf

    # whitelistを作成  参照-> http://rina.jpn.ph/~rance/server/mail12.html
    cat /root/whitelist >> local.cf

    # SpamAssassin再起動
    /etc/rc.d/init.d/spamassassin restart > /dev/null
fi
cp user_prefs user_prefs.org

やっとメールが届きました。

こちらも参考: whitelistをIPで指定する
http://flagsystem.co.jp/news/archives/29

 

 最近 freshclam のエラーが頻繁に報告されるようになり、迷惑メールが目立つようになった。 clamav の update ができないのが原因のようだ。

/etc/cron.hourly/freshclam:

Thu Aug 23 13:01:03 2012 child exited: 6

Thu Aug 23 13:01:03 2012 PHASE download: type method: command #0: failed

Thu Aug 23 13:01:03 2012 PHASE download: failed

 

下記の赤字部分を修正することにより回避できた。

vi /usr/local/etc/clamav-update.conf

#### Options ####

# These settings will be overwrited with command line options.

# download from

#   'http://jaist.dl.sourceforge.net/sourceforge/clamav'       - Asia: Ishikawa, Japan

#   'http://nchc.dl.sourceforge.net/sourceforge/clamav'        - Asia: Tainan, Taiwan

#   'http://optusnet.dl.sourceforge.net/sourceforge/clamav'    - Australia: Sydney, Australia

#   'http://belnet.dl.sourceforge.net/sourceforge/clamav'      - Europe: Brussels, Belgium

#   'http://switch.dl.sourceforge.net/sourceforge/clamav'      - Europe: Lausanne, Switzerland

#   'http://puzzle.dl.sourceforge.net/sourceforge/clamav'      - Europe: Bern, Switzerland

#   'http://mesh.dl.sourceforge.net/sourceforge/clamav'        - Europe: Duesseldorf, Germany

#   'http://dfn.dl.sourceforge.net/sourceforge/clamav'         - Europe: Berlin, Germany

#   'http://heanet.dl.sourceforge.net/sourceforge/clamav'      - Europe: Dublin, Ireland

#   'http://garr.dl.sourceforge.net/sourceforge/clamav'        - Europe: Bologna, Italy

#   'http://surfnet.dl.sourceforge.net/sourceforge/clamav'     - Europe: Amsterdam, The Netherlands

#   'http://kent.dl.sourceforge.net/sourceforge/clamav'        - Europe: Kent, UK

#   'http://superb-east.dl.sourceforge.net/sourceforge/clamav' - North America: McLean, Virginia

#   'http://superb-west.dl.sourceforge.net/sourceforge/clamav' - North America: Seattle, Washington

#   'http://internap.dl.sourceforge.net/sourceforge/clamav'    - North America: San Jose, CA

#   'http://easynews.dl.sourceforge.net/sourceforge/clamav'    - North America: Phoenix, AZ

#   'http://ufpr.dl.sourceforge.net/sourceforge/clamav'        - South America: Curitiba, Brazil

$Setting{option}->{src} = 'http://jaist.dl.sourceforge.net/sourceforge/clamav';

#$Setting{option}->{src} = 'http://mesh.dl.sourceforge.net/sourceforge/clamav';

これで freshclam を実行

 

phpプログラムを別サーバーに入れたらうまく動かない。

<? がダメで <?php が OK だった。input タグ内の value="<?= $year ?>" はまったく動かない。
対策はphp.iniのshort_open_tag = Off を On に変更。これで OK でした。

http://flowplayer.org/download/
フリーのflowplayer3.2.8をダウンロード
flowplayer-3.2.8.zipを解凍
flowplayer-3.2.8.min.js
flowplayer-3.2.8.swf
をred5サーバーの
/opt/red5/webapps/rootへコピーする。
http://releases.flowplayer.org/swf/flowplayer.rtmp-3.2.8.swfもダウンロード
同じく/opt/red5/webapps/rootへコピーする。

xoops、picoの一般設定で「コンテンツ毎のHTMLヘッダを許可する」を「はい」にする。

HTMLヘッダーに下記を書き込む
<script type="text/javascript" src="http://example.com:5080/flowplayer-3.2.8.min.js"></script>
<!-- some minimal styling, can be removed -->
<link rel="stylesheet" type="text/css" href="http://example.com:5080/VideoStyle.css">

本文ソースは下記
<p style="color: rgb(0, 0, 0);"><strong><font size="3">Flash Playerでストリーミング画像を再生しています</font></strong></p>
<div id="page">
<h1>モモとシュピ in 山中湖</h1>
<p>横浜に戻るときに山中湖に寄りました。寒かったけれどみんな元気でした</p>
<!-- this A tag is where your Flowplayer will be placed. it can be anywhere -->
<a style='display:block;width:424px;height:262px'
id='player'>
</a>
<!-- this will install flowplayer inside previous A- tag. -->      <script>
      flowplayer("player", "http://example.com:5080/flowplayer-3.2.8.swf", {
 
    clip: {
        url: 'title.flv',
        // configure clip to use influxis as our provider, it uses our rtmp plugin
        provider: 'rtmp'
    },
 
    // streaming plugins are configured under the plugins node
    plugins: {
 
        // here is our rtpm plugin configuration
        rtmp: {
            url: 'http://example.com:5080/flowplayer.rtmp-3.2.8.swf',
 
            // netConnectionUrl defines where the streams are found
            netConnectionUrl: 'rtmp://example.com/oflaDemo'
        }
    }
});
</script>
</div>

VideoStyle.css
body {
    background-color:#fff;   
    font-family:"Lucida Grande","bitstream vera sans","trebuchet ms",verdana,arial;
    /* 2012.03.04 */
    /*text-align:center;*/
}

#page {
    background-color:#333333;
/*    margin:50px auto; */
    padding:20px 50px 20px 50px;
/*    min-height:600px; */
/*    border:2px solid #fff; */
/*    outline:1px solid #ccc; */
    text-align:left;
}

#page_wiget {
    background-color:#efefef;
    width:180px;
    margin: auto;
    padding:2px 2px 2px 2px;
    min-height:144px;
/*    border:2px solid #fff;
    outline:1px solid #ccc; */
    text-align:left;
}

h1, h2, h3 {
    letter-spacing:-1px;   
    margin-bottom:-10px;
}

h1 {
    color:#f0e68c;
    font-weight:bold;
    font-size:22px;
}

h2 {
    color:#ffffff;
    font-weight:bold;
    font-size:18px;
}

h3 {
    color:#ffffff;
    font-weight:bold;
    font-size:15px;
}

.less {
    color:#999;
    font-size:12px;
}

a {
    color:#295c72;       
}

p {
    color:#98fb98;       
}

サンプルはこちらです。
http://www.sisj.net/modules/VideoDist/embed_test_flash.html

参考: flowplayer.org
http://flowplayer.org/

Xoops bulletin(ニュース)にfacebook「いいね」ボタンをつける
D3Blogに続いてbulletin(ニュース)にfacebook「いいね」ボタンをつけてみた


***********************************************************************
テンプレートファイル bulletin_article.html に赤字部分を挿入
文中「xxxxxxxxxxxxxxx」は書き換えが必要
***********************************************************************
<{if $pagenav}>
  <div style="text-align: left;">Page <{$pagenav}></div>
<{/if}>

<div>
<{include file="db:`$mydirname`_item.html" story=$story}>
</div>

<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/ja_JP/all.js#xfbml=1&appId=xxxxxxxxxxxxxxx";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<{capture assign="mypage_url"}>http://www.domain.com/modules/bulletin/index.php?page=article&storyid=<{$story.id}><{/capture}>
<fb:like href="/<{$mypage_url|urlencode}>" data-send="true" data-layout="button_count" width="450" show_faces="true"></fb:like>


<div style="text-align: left;">
<{if $pagenav}>Page <{$pagenav}><{/if}></div>

<{* RELATED ARTICLES *}>
<{include file="db:`$mydirname`_relations.html"}>

***********************************************************************
theme.htmlに赤字部分を挿入
***********************************************************************
<head>
<meta http-equiv="content-type" content="text/html; charset=<{$xoops_charset}>" />
<meta http-equiv="content-style-type" content="text/css" />
<meta http-equiv="content-script-type" content="text/javascript" />
<meta http-equiv="content-language" content="<{$xoops_langcode}>" />
<meta name="robots" content="<{$xoops_meta_robots}>" />
<meta name="keywords" content="<{$xoops_meta_keywords}>" />
<meta name="description" content="<{$xoops_meta_description}>" />
<meta name="rating" content="<{$xoops_meta_rating}>" />
<meta name="author" content="<{$xoops_meta_author}>" />
<meta name="copyright" content="<{$xoops_meta_copyright}>" />
<meta name="generator" content="XOOPS" />
<meta property="og:type" content="blog" />
<meta property="og:title" content="<{$story.title}>" />
<meta property="og:url" content="http://www.domain.com/modules/bulletin/index.php?page=article&storyid=<{$story.id}>>" />
<meta property="og:description" content="<{$story.text|strip_tags|mb_truncate:140:"..."}>" />
<meta property="og:site_name" content="
My site_name" />
<meta property="fb:app_id" content="
xxxxxxxxxxxxxxx" />
<meta property="og:locale" content="ja_JP" />
<{xoops_og_img post_content=$story.text}>
<link rel="shortcut icon" href="/<{$xoops_url}>/favicon.ico" />
<link rel="stylesheet" type="text/css" media="screen" href="/<{$xoops_url}>/xoops.css" />
<link rel="stylesheet" type="text/css" media="screen" href="/<{$xoops_themecss}>" />

***********************************************************************
OGP中の「og:image:」を取得するのに苦労したが、下記サイトから不要部分を割愛させて使わせてもらうことにした。
ありがとうございました。
http://webgyo.stsuji.com/2010/01/smarty-4.html

***********************************************************************
「XOOPS_PATH/class/smarty/plugins/」に下記を作成、配置する。
function.xoops_og_img.php
***********************************************************************
<?php
function smarty_function_xoops_og_img($params, &$smarty)
{
    $post_content = $params['post_content'];

    $ImgRegPat = "/\<img([^\>]*)src=\"?([\-_\.\!\~\*\'\(\)a-z0-9\;\/\?\:@&=\+\$\,\%\#]+(jpg|jpeg|gif|png|bmp))/i";

    if ($params['post_content']) {

        if (preg_match($ImgRegPat, $post_content, $matches)) {
            $the_image = $matches[2];//get imgurl
        }
    echo "<meta property=\"og:image\" content=\"$the_image\">";
    }
}
?>

***********************************************************************

xoopsの「いいね」キャッシュは下記で簡単に更新されます。
http://developers.facebook.com/tools/debug/

参考サイト
本文中の画像をサムネイル表示するsmartyプラグイン
http://webgyo.stsuji.com/2010/01/smarty-4.html