memo.xight.org - 2009-05

2009-05-28 Thu

定番そうなDrupalモジュール一覧

- Summary
定番のDrupalモジュールを探してみた。

- CCK
Content Construction Kit (CCK) | drupal.org
http://drupal.org/project/cck

Content Construction Kit (CCK) 日本語翻訳 | DRUPAL*DRUPAL
http://drupalxdrupal.com/project/194

- Views
Views | drupal.org
http://drupal.org/project/views

Views 日本語翻訳 | DRUPAL*DRUPAL
http://drupalxdrupal.com/project/196

- Taxonomy Menu
Taxonomy Menu | drupal.org
http://drupal.org/project/taxonomy_menu

- Pathauto
指定したルールを基に URL エイリアスを自動生成するためのモジュール
Pathauto | drupal.org
http://drupal.org/project/pathauto

Pathauto 日本語翻訳 | DRUPAL*DRUPAL
http://drupalxdrupal.com/project/38

- Token
Token | drupal.org
http://drupal.org/project/token

Token 日本語翻訳 | DRUPAL*DRUPAL
http://drupalxdrupal.com/project/43

- AdSense /AdSense Injector
AdSense | drupal.org
http://drupal.org/project/adsense

Adsense Injector | drupal.org
http://drupal.org/project/adsense_Injector

- Meta tags
Meta tags | drupal.org
http://drupal.org/project/nodewords

- XML Sitemap
XML Sitemap | drupal.org
http://drupal.org/project/xmlsitemap

XML Sitemap 日本語翻訳 | DRUPAL*DRUPAL
http://drupalxdrupal.com/project/51

- FileField
FileField | drupal.org
http://drupal.org/project/filefield

FileField 日本語訳 | drupal.pineray.jp
http://drupal.pineray.jp/node/80

- ImageField
ImageField | drupal.org
http://drupal.org/project/imagefield

- ImageField 日本語訳 | drupal.pineray.jp
http://drupal.pineray.jp/node/78

- ImageCache
ImageCache | drupal.org
http://drupal.org/project/imagecache

ImageCache 日本語訳 | drupal.pineray.jp
http://drupal.pineray.jp/node/57

- Lightbox2
Lightbox2 | drupal.org
http://drupal.org/project/lightbox2

- Devel
Devel | drupal.org
http://drupal.org/project/devel

Devel 日本語訳 | drupal.pineray.jp
http://drupal.pineray.jp/node/68

- Reference
役に立ちそうなDrupalモジュールの一覧
http://www.marusankakusikaku.jp/archives/2007/05/22-drupal.html

2009-05-27 Wed

Google Analyticsのコードを変更

- Summary
Google Analyticsのコードが変更になっている。

- 新JavaScriptのソースコード

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ?
"https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost +
"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try{
  var pageTracker = _gat._getTracker("UA-xxxxxx-x");
  pageTracker._trackPageview();
} catch(err) {}
</script>


- 旧JavaScriptのソースコード
<script src="http://www.google-analytics.com/urchin.js"
type="text/javascript">
</script>
<script type="text/javascript">
_uacct="UA-xxxxxx-x";
urchinTracker();
</script>


- Reference
トラッキング コードがページに正しく設定されているかどうかを確認するにはどうすればよいですか? - Analytics ヘルプ
http://www.google.com/support/analytics/bin/answer.py?answer=74947

トラッキング コードがページに正しく設定されているかどうかを確認するにはどうすればよいですか? - Analytics ヘルプ
http://www.google.com/support/analytics/bin/answer.py?hl=ja_JP&answer=55480&utm_id=ad

サイトのソース コードを確認するにはどうすればよいですか? - Analytics ヘルプ
http://www.google.com/support/analytics/bin/answer.py?answer=75129

2009-05-24 Sun

DrupalのTextileモジュールのインストール

- Summary
Textileモジュールのインストールと有効化について。
対象ファイルを展開して、インストールだけでは有効にならない。

- Textileモジュールの配置

% tar xzvf textile-x.x.x.tar.gz
% mv textile /path/to/drupal/modules



- classTextile.php をダウンロードして配置
INSTALL.txtに書いているURLに当該ファイルが存在しなかったので、
以下URLから入手。
http://textpattern.googlecode.com/svn/releases/4.0.8/source/textpattern/lib/classTextile.php

/path/to/drupal/modules/textile/classTextile.php に配置

- 入力書式の追加
http://example.com/path/to/drupal/admin/settings/filters/add
Textileフィルタのみ有効にする。

- コンテンツへの適用
入力書式から Textileを指定する。

- Reference
Textile | drupal.org
http://drupal.org/project/textile

Textile
http://textile.thresholdstate.com/

textpattern - Google Code
http://code.google.com/p/textpattern/

EmojiPrint - Thunderbirdで絵文字を表示するアドオン

- Summary
Thunderbirdで、携帯から送られてきた絵文字を、
正しく表示することができるようになるアドオン。
DoCoMo、au、Softbank、Willcomに対応。

- Reference
EmojiPrint
http://www.takaaki.info/addon/emojiprint/

Thunderbirdで携帯メールの絵文字を表示するアドオンを作りました - mizuno_takaakiの日記
http://d.hatena.ne.jp/mizuno_takaaki/20090426/1240756028

GmailのSMTPでメールを送信した際のFromヘッダ上書き対策

- Summary
GmailのSMTPを利用してメールを送信した際、
Fromを指定していても、Gmailのアカウント名で上書きされる。

- 対策方法 その1
Gmailの設定から「アカウントの設定」にて、「他のメールアドレスを追加」として登録
Fromが一致すればよい。

- 対策方法 その2
Google Appsで当該ドメインのアカウントを作成。

- Reference
Google Apps
http://www.google.com/a/help/intl/ja/

Postfix で、Gmail にメールをリレーする - 私の二次記憶
http://d.hatena.ne.jp/ayokoyama/20061207/p1

PostfixからGmail経由でメールを送る方法

- Summary
OB25P (Outbound Port 25 Blocking) 対策でメールの送信設定が必要。
手動でPOP before SMTPに対応するのも手間。
MTAを設定して、GmailのSMTPを利用することにする。

- /etc/postfix/main.cf

# GmailのSMTPサーバを指定
relayhost = [smtp.gmail.com]:587

# TLSにより暗号化
smtp_use_tls = yes

# plain方式の SMTP AUTH認証を有効にする
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain

# GmailのTLS証明書の妥当性確認のための設定
smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt



- /etc/postfix/sasl_passwdを作成

[smtp.gmail.com]:587 username@gmail.com:password



- /etc/postfix/sasl_passwdの権限変更

# chown root:root /etc/postfix/sasl_passwd
# chmod 600 /etc/postfix/sasl_passwd



- hash形式の /etc/postfix/sasl_passwd.dbを作成

# postmap /etc/postfix/sasl_passwd


- postfixの再起動

# /etc/init.d/postfix restart


- Gmail SMTP サーバーの証明書を正しく検証する
Gmail SMTP サーバーが持っている証明書から、ルート CA を調べる。
上記の openssl s_client セッションから、Thawte Premium Server CA がルート CA だと分かる。

ルート CA のインターネットドメイン thawte.com のルート証明書をダウンロード。
http://www.thawte.com/roots/ からダウンロード
/usr/share/ca-certificates/thawte.com/ 内に展開。

/etc/postfix/main.cf を編集

/usr/share/ca-certificates/thawte.com/Thawte SSLWeb Server Roots/thawte Premium Server CA/Thawte Premium Server CA.pem



- 注意点
From が自分のGmailアカウントで上書きされる。
送信メールが"送信済みメール"フォルダに配置される。

- Reference
linux.matchy.net - 2008-07-24 - Postfix から Gmail 経由でメールを送る
http://linux.matchy.net/archives/35

Postfix で、Gmail にメールをリレーする - 私の二次記憶
http://d.hatena.ne.jp/ayokoyama/20061207/p1

PHPMailerでGmailのSMTPを利用する

- Summary
PHPMailerでGmailのSMTPを利用してメールを送信する。
ポート465からSMTP over SSLを利用する。

- Source

<?php
mb_language("japanese");
mb_internal_encoding("UTF-8");
 
require("class.phpmailer.php");
$mailer = new PHPMailer();
$mailer->IsSMTP();
$mailer->Host = 'ssl://smtp.gmail.com:465';
$mailer->SMTPAuth = TRUE;
$mailer->Username = 'user@gmail.com';  // Gmailのアカウント名
$mailer->Password = 'gmail_password';  // Gmailのパスワード
$mailer->From     = 'from@gmail.com';  // Fromのメールアドレス
$mailer->FromName = mb_encode_mimeheader(mb_convert_encoding("Fromの名前","JIS","UTF-8"));
$mailer->Subject  = mb_encode_mimeheader(mb_convert_encoding("メールのタイトル","JIS","UTF-8"));
$mailer->Body     = mb_convert_encoding("メールの内容","JIS","UTF-8");
$mailer->AddAddress('friend@example.com'); // 宛先
// $mailer->AddReplyTo($email, $from);
 
if(!$mailer->Send()) {
   echo "Message was not sent<br/ >";
   echo "Mailer Error: " . $mailer->ErrorInfo;
} else {
   echo "Message has been sent";
}
?>


- Reference
tishon.net - Using PHPMailer with Gmail
http://www.tishon.net/index.php/2008/03/21/phpmailer-gmail/

さぼてん - 2009-02-14 - メールフォーム - PHPmailer+xajax
http://saboten009.blogspot.com/2009/02/phpmailerxajax.html

PEAR::MailでGmailのSMTPを利用する

- Summary
Pear::MailでGmailのSMTPを利用してメールを送信する。
ポート587からSTARTTLSを利用する。

- Source

<?php
mb_language("japanese");
mb_internal_encoding("UTF-8");
 
require_once 'Mail.php';
 
$params = array(
  'host'     => 'smtp.gmail.com',
  'port'     => 587,
  'auth'     => true,
  'username' => 'example@gmail.com',
  'password' => 'password',
  'debug'    => true,
);
 
$headers = array(
  'From'    => 'example@gmail.com',
  'To'      => 'example@gmail.com',
  'Subject' => mb_encode_mimeheader(mb_convert_encoding("メールのタイトル","JIS","UTF-8"))
);
 
$recipients = 'example@gmail.com';
$body = mb_convert_encoding("メールの内容","JIS","UTF-8");
 
$smtp = Mail::factory('smtp', $params);
$e = $smtp->send($recipients, $headers, $body);
 
if ( PEAR::isError($e) ) echo $e->getMessage() . "\n";
?>


- Reference
たら風呂 - 2007-04-04 - PEAR::MailでGmailのSMTPを使う
http://d.hatena.ne.jp/taraburo/20070404/1175694545

2009-05-08 Fri

MSOCache という名のディレクトリ

- Summary
いつの間にか、 C:\MSOCache というディレクトリが作成されていた。
Officeのローカルインストールソースというモノらしい。
以下の作業中にメディアを用意する必要がなくなるとのこと。

  - 検出と修復
  - デマンド インストール
  - メンテナンス モード セットアップ
  - Service Pack および修正プログラムのインストール

- Reference
MIcrosoft サポートオンライン - [OFF2003] ローカル インストール ソース (Msocache)
http://support.microsoft.com/default.aspx?scid=kb;ja;825933

2009-05-04 Mon

Drupalのインストール

- Summary
Drupalをインストールしてみる。
モジュールは cck と views を追加。

- ファイルの移動と権限付与

# mv drupal-x.x/* drupal-x.x/.htaccess /var/www/html
# cp sites/default/default.settings.php sites/default/settings.php



- データベースの作成

# mysqladmin -uroot -p create drupal



- mysqlのテーブルの作成

grant select, insert, update, delete, create, drop, index, alter, create temporary tables, lock tables on drupal.* to drupal@localhost identified by 'XXXXXXXX';
flush privileges;
quit;



- Clean URLの有効化
Clean URLは http://example.com/index.php?q=hogehttp://example.com/hoge のようにアクセスする可能にする機能。
Clean URLの動作にはmod_rewriteが必要。

/path/to/drupal/.htaccess を有効にする。

<Directory /path/to/drupal/>
AllowOverride All
</Directory>



- インストール時にClean URLを有効に設定できなかった場合
  mod_rewriteの有効化、.htaccessのOverrideの設定確認をして apache再起動。
  http://example.com/drupal/?q=admin/settings/clean-urls にアクセスし、
  Clean URLを有効化する。

- ブラウザから drupal をインストール
http://example.com/install.php にアクセス

- モジュール翻訳ディレクトリを作成 (日本語プロファイル版)

% mkdir /path/to/drupal/profiles/Japanese/translations/modules


- cck, viewsモジュールのファイルを配置 (日本語プロファイル版)

% tar xzvf views-6.x-x.x.tar.gz
% mv views /path/to/drupal/sites/all/modules
% unzip ja-cck-6.x-x.x.zip
% cp ja-cck-6.x/cck.ja.po /path/to/drupal/profiles/Japanese/translations/modules/cck.ja.po

% tar xzvf cck-6.x-x.x.tar.gz
% mv cck /path/to/drupal/modules
% unzip ja-views-6.x-x.x.zip
% cp ja-views-6.x/cck.ja.po /path/to/drupal/profiles/Japanese/translations/modules/view.ja.po



- 2009-05-28 追記
Drupal 日本語プロジェクトの日本語プロフィールを利用している場合
以下の優先順位でインポートされる。
プロフィール毎の翻訳を提供することが可能。

  1. profiles/japanese/translations/ja/modules/モジュールディレクトリ名.po
  2. モジュールディレクトリ/po/ja.po

Drupal 日本語プロジェクトの日本語プロフィールを利用していない、
または、以前のバージョンからアップグレードしたなどの場合

  1. モジュールディレクトリ/po/ja.po

- Reference
Drupal.org
http://drupal.org/

Drupal Japan
http://drupal.jp/

Content Construction Kit (CCK) | drupal.org
http://drupal.org/project/cck

Content Construction Kit (CCK) 日本語翻訳 | DRUPAL*DRUPAL
http://drupalxdrupal.com/project/194

Views | drupal.org
http://drupal.org/project/views

Views 日本語翻訳 | DRUPAL*DRUPAL
http://drupalxdrupal.com/project/196

Perl Tips - 2007-04-6
http://perltips.twinkle.cc/drupal/clean_urls.php