drupal

あまりの暑さにテーマ変更

in

久しぶりテーマを変えてみました。あんまり暑くってアタマがボケ気味なので少しでも涼しげになればいいなぁ。テーマ変える時にいつも悩まされるのが、preタグで幅が長くなるとがレイアウトを壊すっていう例のIEのバグ(?)。毎度、IEのためにCSSに手を入れたりするのが面倒になってもうそういう対応止めちゃおうかななんて思うのですがやっぱり気分が良くないので今回も少しだけレイアウトとCSSに手を加えています。

rublog機能考(今後について2...)

Drupal対Wordpress:ブログ管理に適しているのはどちらだの記事、rublogを作成するにあたってはずいぶんとdrupalの作りを参考にしたのですが改めて機能を列挙したこの記事を読むと足りないなぁというところばかり。rublogの今後のロードマップを考えるにあたりこの記事、多いに参考になりそうです。

テーマをかえました

in

Drupal5にアップデートしてからずっとデフォルトのテーマを使用していましたがVer5対応したテーマも出そろったようでいくつか試してみたのですがzenというテーマがシンプルでよかったので変更してみました。化石プログラマのぼくとしには勉強しなきゃいけないことは山のようにあってCSSもその一つなんですが、このZENのCSSはシンプルでぼくのようなヘタレでも見通しがよくいい具合です。

drupal5.1リリース

in

Drupal早々に5.1にアップデートされました。深刻なセキュリティホールということでなのでアップデートしました。まだ5.0のリリースから日が経っていないのにアップデートされたということはかなり危険なのでしょうか?一応、アップデートしました。

tar zcvf drupal50.tar.gz drupal/
tar zxvf drupal-5.1.tar.gz -C .
cp drupal/.htaccess drupal5.1/
cp -r drupal/files drupal5.1/
cp -r drupal/modules/拡張モジュール drupal5.1/modues
cp drupl/sites/default/setting.php drupal5.1/sites/default/
mv drupal drupal50
mv drupal5.1 drupal

データベースのアップデートはないようです。

why not update? - 結局アップデートしちゃいました

in

モジュールとテーマ待ちみたいなこと書きましたが、アップグデートしちゃいました。堪え性の無さは生来の性分、仕方ないですね。事前に予行演習しておいたおかげであっさりアップデート完了しました。

一番の決め手はGarlandのテーマが結構気に入ったことです。昨日までのsharepoint-likeもかなり気に入っていたのですが3カラムがやっぱり便利かなと。モジュールに関してはtrackbackモジュールなど使用していたものの中でまだ5.0対応でないものもありましたが、アップデート手順のビデオの中にwhy not update?というのがあって「テーマやモジュールの対応がまだだから」という答えに「本当に使ってますか?ちゃんと考えてみましょう。」というところがあって、考えてみりゃどうせトラバもスパムしかこないし必要ないかって思いアップデートしました。なので、当面Trackbackはなし。シンプルにいこう!ということで、いくつか入れていた他のモジュールもとりあえずべてハズしました。今後、少しずつテストしながら導入していくことにします。後は、ローカライズもシコシコ手作業でしょうかね。

んん、ここまで書いて下を見たら入力書式とかファイルの添付・公開オプションとか全部使えなくなってる!おかしい。昨日のテストではちゃんと使用できたのに〜。がーん。これから調べます。

どうもSafariの問題みたいです。localではSafariでもちゃんと使えるのですが...当面、FireFoxにします。

Drupal4.7.5からDrupal5.0へのアップデート(予行演習)

in

いろいろ触ってみて気に入ったのでアップデートするための予行演習。まずはローカルに現状の環境を構築してそれをバージョンアップするという予行演習をしてみました。

  1. phpmyadminを使用してdrupalで使用しているすべてのテーブルをexportします。タイプはsqlで。
  2. すべてのファイルをアーカイブしてバックアップ。tar -zcvf drupal.tar.gz dupal/
  3. データベースを作成。 create database drupal default charset utf;
  4. 1.でバックアップしたデータベースファイルをインポート。 mysql -u rooot -p drupal < backup.sql
  5. durpal/sites/default/settings.phpをローカル環境に合わせて修正します。

これでブラウザからアクセスしてみると一応成功の模様。ただし、webサーバの設定(本番はApache/ローカルはlighttpdの違いのためクリーンURLの設定はあらかじめ解除してExportを実行しました。)

Drupal5.0 on MacOSX(Tiger)

例によって自宅のマックにもインストールしてみました。つまずいたのはやっぱりGDのライブラリだけ。MacOSX(10.4)の場合はlibjpeg/libpngがインストールされていませんのでこちらをインストール。手順はHow to install GD on Mac OS X 10.4 - Kojima's wiki - livedoor Wiki(ウィキ)に詳しいです。ただ、makeの時に、

ld: flag: -undefined dynamic_lookup can't be used with MACOSX_DEPLOYMENT_TARGET environment variable set to: 10.1
/usr/bin/libtool: internal link edit command failed

といわれてしまったので

export MACOSX_DEPLOYMENT_TARGET=10.4

としました。(Kojima's wikiさんのページには追加しておきました。)後はphpのリコンパイルだけ。MacOSXの場合/usr/binにデフォルトでphpがインストールされているので--prefix=/usrも付加します。

Drupal5.0のインストール

in

Drupal5.0正式リリースしましたね。プレの時は全然触らなかったのでようやくインストールしてみました。今回からはWebベースのインストールということで楽チンかな。

tar zxvf drupal-5.0.tar.gz  -C /usr/local/www
mysql -u xxxx -p 
create database drupal5;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE ¥
TEMPORARY TABLES, LOCK TABLES ¥
on drupal5.*
to 'user'@'localhost' IDENTIFIED BY 'passwd';

手作業はたったこれだけ。あとは、ブラウザからinstall.phpにアクセスするとdatabase name/user/passwordを入力する画面が表示されるのでここに必要な情報を入力するだけ。あっさりとインストール完了。

最初に、Administerメニューを選択すると、

One or more problems were detected with your Drupal installation. Check the status report for more information.

のメッセージ。status reportを見るとFileSystem・Cron・GD Libraryでエラーが発生しています。cronはとりあえず使わないので放置。FileSystemに関してはSite configurationからFileSystemメニューでセッティングすればOKです。

GDライブラリに関してはGDライブラリ(PHPのimageライブラリ)はインストールしていないのでPHPのリコンパイルをしました。

FedraCore5ではデフォルトlibjpeg/libpngもインストール済みだったので、--witd-gdのオプションを付けるだけでよいかと思ったのですが残念ながらコンフィグエラー。調べてみると、libjpeg-devel/libpng-develパッケージが必要なようでこの二つをインストールして再チャレンジ。

rpm -ihv libjpeg-devel-6b-34.i386.rpm
rpm -ihv libpng-devel-1.2.8-2.2.1.i386.rpm
./configure --enable-fastcgi --enable-discard-path \
 --enable-force-redirect --with-mysql=/usr/local/lib/mysql \
 --enable-mbstring --with-zlib \
 --with-gd --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib

GDライブラリの件がなけりゃものすごく簡単でしたね。

肝心の使用感なんですが、なかなか快適。目玉(?)グリグリ色を変えるヤツは楽しいです。もう少し触ってみて良かったらこのブログもアップグレードしようかな。

スパムフィルタの効果

in

効果があったのかどうか悩むところですが、昨日からの約160件あまりのスパムのうち150件を撃退。これを効果ありとするか?すり抜けて来た10件も撲滅するか?

残り10件は内容的にはフィルタにヒットするはずなのでやっぱり見過ごしにしたくはありません。何か見落としがあるのでしょうがちょっと手詰まりです。
Drupalでは文字コードをUTF-8として扱うようなのでとりあえず正規表現関数をマルチバイト対応に変更してみます。perl互換からposix系の正規表現となりますが大丈夫かな?。処理速度もphpのドキュメントには

注意: Perl 互換の正規表現構文を使用する preg_match() のほうが、多くの場合 ereg() よりも速く動作します。

とありますがこの程度の文字数では気にする必要はないでしょう。

スパムトラバとの戦い -

in

やっぱり、spam.moduleのカスタムフィルタがうまく動作しない。すり抜けてきた、データをもとに簡単なスクリプトを書いてチェックしてみるとちゃんとマッチするようなので正規表現の問題ではなさそうです。(下品なところは*で伏せ字)

<?php
$excerpt = '<a href="http://an*l-s*x.sax.pl/">an*l s*x</a>';
if (preg_match('/\A[!-~\n ]+\Z/',$excerpt)) {
  echo "match!";
}
?>

spam.moduleを追っていくのも面倒になったので、trackback.moduleに直接このコードを突っ込むことにしました。trackback_receive()の43行目あたり。仕様上、excerptは省略可能なのでタイトルもチェック対象にしました。

spam.moduleその後

in

二日間様子をみましたが、イタチごっこというか疲れますね。spam.moduleのspam判定アルゴリズムをすり抜けてくるspamも当然あってそれらのURLはいちいち手動で登録するしか手はないです。

僕としては、trackback承認リストから消すという作業が面倒なわけで、spamと判断した場合には削除して承認リストにも載せたくない。やっぱりカスタムフィルタを定義してauto deleteするようにします。
そこで、どういうものを除外すべきか悩んでgoogleで検索してみるとSPAM 対策 - 日本語を含まないコメントを禁止を発見。除外したいワードを都度都度、指定していくのは大変な作業なので一度設定すれば英語圏のスパムにはずっと有効なこのテは楽チンそう。

スパムトラバが来ちゃったよ。

in

油断していたらいつの間にか200件ちかくのトラックバックスパムが届いていました。承認制にしていたで気が付かなかったのですがまさかこんなに来ているとは。画面からひとつづつ削除していくのもめんどうなので、SQLでテーブルの中身を一気にdeleteしちゃいました。(特に問題は起きていないようです)しかしこれだけの件数だとさすがに何か対策を施さないと面倒だと思いThe Drupal Spam Module v2を導入してみました。

Drupal4.7.4にアップデート

in

とりあえず、気になっていた4.7.4にアップしました。手順は下の通り。意外と簡単でしたがバックアップはお忘れなく。

  1. 適当な場所にアーカイブを解凍
  2. 現状の$(DRUPAL)/sites/default/settings.phpを新しく解凍した同フォルダへ上書きコピー
  3. 現状の$(DRUPAL)/.htacessを新しく解凍したフォルダへコピー(僕の場合、同じだったのでなにもしませんでした)
  4. 標準以外のテーマを使っている場合、$(DRUPAL)/themes/my_themeを新しく解凍した同フォルダへコピー
  5. 標準以外のモジュールをインストールしている場合、$(DRUPAL)modules/my_moduleを新しく解凍した同フォルダへコピー。(標準のモジュールを改造したりした場合も同じく)
  6. 現状の$(DRUPAL)を非公開フォルダへ移動(これがそのままバックアップになります)
  7. 新しく解凍したファルダを公開フォルダに移動

僕の場合、ドキュメントルートの下にblogというフォルダを作成しそこにdurpalをインストールしているのでこの方法が使えましたが、ルート直下に直接展開している方はこの方法は使えません。そういう方は脆弱性を修正した Drupal 4.7.4 / 4.6.10 がリリースに例があります。(基本的には同じことなんですが...)

Drupal5.0 Betaでてました。

in

いつ、4.7.4にバージョンアップしようかと迷っているうちいつの間にか5.0Betaリリースされていました。ますます悩みます。さすがにすぐにインストールする気にはなれませんが、とりあえずローカルには入れてみることにします。デフォルトのテーマもカッコよくて良かった。正直4.x系のデフォルトテーマは余り好きじゃなかったのでちょっとうれしい。でも、デフォルトのテーマのまま使う人ってあんまりいないかな。

drupal テーマの変更

in

テーマを変更してみました。ぼくには美的センスがありませんのでオープンソースのテーマを使用させてもらう訳なんですがなかなか気に入ったものが見つかりません。昨日までのテーマantique_modernは結構気に入っていたのですがソースプログラムを載せたりすることが多いので表示幅が短いのが不便だったのが変更の理由です。

ブラウザの<pre>タグの解釈には種々あるようで面倒なのですが幅が短いとそれだけレイアウトが崩れる可能性が多いわけで当初は適当なところで折り返したり、<table>タグで囲ったりして予防措置はとっているのですが毎度それだとさすがに面倒です...

コンテンツの配信