Archive for 7月, 2010

mail forwarding loop

 
[postfix-jp: 783] mail forwarding loop
こういうメッセージが Postfixから返ってきたときに疑うべきところ。
 

aliasや.forwardなどが正常なのにPostfixが”mail forwarding loop”を検知することがあります。

具体的には、Delivered-To:ヘッダフィールドが詐称されている場合です。
local(8)デーモンは、配送先のアドレスがすでにDelivered-To:にあるメッセージを”mail forwarding loop”としてbounceします。

だそうです。
 
ついでに、「sendmail の使い方」がわかりやすいです。
NTP で時刻合わせ」はこちらをどうぞ。

Ruby で DBI で PostgreSQL

 
前回の続き。
違うユーザでコネクトできたから OKとしてましたが、実際テーブルの操作をしようとするとエラーになったので、対処。

# ruby test.rb
/usr/lib/ruby/gems/1.8/gems/dbd-pg-0.3.9/lib/dbd/pg/statement.rb:62:in `execute': ERROR:  permission denied for relation dtb_contact (DBI::ProgrammingError)

#irb
> require 'rubygems'
> require 'dbi'
> dbh = DBI.connect("dbi:Pg:test_db:localhost", "test_user", "test_pass")
> dbh.select_all("SELECT * FROM dtb_contact") {|row| p row }
DBI::ProgrammingError: ERROR:  permission denied for relation dtb_contact

DBへは接続できるけど、テーブルをリードするパーミッションがないよと。
ま、当然ですね。DBの ownerと違うユーザでコネクトしてるんですから。じゃあ、パーミッションを出しておきます。

# psql test_db -U test_db_owner
> grant all on dtb_contact to test_user;
GRANT

これで本当に OKです。

Rubyから PostgreSQLを使う

 
Rubyから PostgreSQLを使おうとして、ちょっとつまづいたので、後進の人のためにメモ。
入れようとした環境はこんな感じ。

  • Ubuntu 9.04(サーバ版)
  • ruby 1.8.7
  • Rails (2.1.0) + passenger (2.0.1)
  • psql (PostgreSQL) 8.3.9

つまり、少し古い Rubyと Railsが動いていて、かつ、PostgreSQLも動いていて、いま動いているものは変えたくないということ。
 
Read More

HootSuite:複数アカウントの追加

 
Twitterのクライアントとして、高機能で評判の HootSuiteを入れたんですが、2つ目、3つ目のアカウントの追加の仕方に迷ったので、メモ。
手順は次の通り。

  1. 画面左上のフクロウをクリック
  2. 設定 ⇒ SNS
  3. SNSを追加
  4. Twitter プロフィールを追加

Facebookや LinkedInのアカウントの追加もこの画面でやるので、SNSと書いてあるんでしょうが、ボクにはわかりづらかったです。
設定 ⇒ アカウントのあたりでずいぶんウロウロしてしまいました。

リダイレクトまとめ

 
いつもいつもなんだっけとなって、ググることになるので、自分用のメモ。ググるんならココをググれと。

  1. 
    
  2. 
      location.replace('http://hoge.jp/');
    
    
  3. # e .htaccess
    Redirect permanent /index.html http://hoge.jp/index.php
    

自分としてよく使う順に。自分で全部いじれる場合は、headerに metaを入れますね。
ただ、サイト引越しで、301リダイレクトを返してやらないといけない場合は、3の .htaccessが安全確実。
カラーミーのように、headerがいじれない場合は仕方がないので、2の javascriptで。
こんな感じです。

EC-CUBE:新着情報でHTMLタグを有効化

スーパー小っちゃなTipsなので、書くかどうか迷ったのですが、7月はブログ強化月間ですので(今決めました)、この手のことを書かないで何を書くということで書いておきます。
 
EC-CUBEの新着情報に、<a href=”hogehoge.com”>お得な情報</a>みたいなリンクを書こうと思っても、<や>が <、> に変換されてしまってリンクになりません。
危ないことされたら嫌だからというのはわかりますが、コメント欄みたいに誰が書くかわからないならいざ知らず、新着情報って管理画面からしか書けないし、ESCAPEしなくていいんじゃないの?ということです。

# e data/Smarty/templates/default/bloc/news.tpl

<!--{$arrNews[data].news_comment|escape|nl2br}-->
          ↓
<!--{$arrNews[data].news_comment|nl2br}-->

Smartyの escapeをとればいいということですね。
 
ついでにコレも。Smartyで var_dumpみたいなことをやるときはコレ。


カラーミーTips

 
カラーミーというより、Smartyの Tipsですが。
文字列の先頭何バイトかを判断して分岐したいケースがよくあります。substr くらいあるんじゃね?と思った貴方。甘いです、激甘です。そんなの Smartyにはないんです。
と、ここまで書いて、言い切っていいのか?と怖くなってググってみたらありました。orz

すべてのPHP関数は、暗黙的に修飾子として使用でき、修飾子は組み合わせることもできます。
{$ym|substr:0:4}

あるんです! あるんですよ、貴方。
と、ここまで書いて、ほんとか? カラーミーで使えたか? と思って試してみました。

Fatal error: Smarty error: [in file:2/product.tpl line 89]:
 [plugin] (secure mode) modifier 'substr' is not allowed (Smarty_Compiler.class.php, line 1905)
 in /home/sites/shop-pro.jp/web/app/libs/smarty/Smarty.class.php on line 1088

やっぱ、カラーミーでは使えませんでした。
ということで、本題に戻ると『文字列の先頭何バイトかを判断して分岐したいケース』をカラーミーではどう書くかです。

&lt;{if $object|truncate:7:&quot;&quot; == &quot;

こうやって書くんですねぇ。ちなみに、truncateの最後の””をつけないと、$object|truncate:7 は、”<object…”を返してくるので、このIF文は falseになります。(悩みました)

proftpdにユーザ追加

proftpd

FTPサーバとして proftpd を立てているんですけど、新しいユーザを追加するとき、いつも、どうやるんだっけ?と悩むので、自分用のメモ。
 
1.proftpdの環境

/etc/proftpd/
/etc/proftpd/proftpd.conf
/etc/proftpd/ftpd.group
/etc/proftpd/ftpd.passwd

 
2.グループの追加
  基本、1ユーザ=1グループにしているので、まずグループを追加します。
  グループIDをどこまで使ったかは、cat /etc/proftpd/ftpd.group で。

ftpasswd --group --file=/etc/proftpd/ftpd.group --name=group_name -gid=5003

 
3.ユーザの追加

ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=user_name --uid=5003
 --gid=5003 --home=/home/www/user_root --shell=/bin/bash

 
4.アクセス環境の設定

e /etc/proftpd/proftpd.conf

DefaultRoot    /home/www/user_root    user_name


  AllowOverwrite on
  Umask 000
  
    AllowAll
  

5.サービスリスタート

/etc/init.d/proftpd restart

プロバイダメールが使いたいときの続き

 
プロバイダメールが使いたいときの続きです。
docomoあてのメールを「ぷらら」に中継してもらって送ろうとしたところまでが前回でした。で、実際やってみたところ、それだけではうまくいかなかったので、やったことの記録メモです。
Read More

プロバイダメールが使いたいとき

 
メールアドレスがデフォルトで付いてるプロバイダを使っているのであれば、それを使えばいいと思うんですけど、Interlinkのような固定IPアドレス最安値的なプロバイダを使っていると、メールアドレスをデフォルトでくれるということはないので、プロバイダのメールアドレスが欲しいなと思ったときに困ってしまいます。
Read More

« 前ページへ次ページへ »