Home > 技術

技術 Archive

Ubuntuサーバー上のRedmineでメール通知を設定する方法

とあるサーバーでaptitudeでredmineを導入して運用していたんですが、何故かemail.ymlを設定しても動かなかったんですね。

で、結局何が問題かと思ったら、 /etc/redmine/default に配置すべきでした。

SimplePieがパースエラーを吐くときの対策

PHPでFeedをお手軽に扱えるSimplePieですが、ときたま謎のエラーが発生します。

僕が最近ぶつかったエラーは

 
<pre>A feed could not be found at http://katsuura.co.jp/. A feed with an invalid mime type may fall victim to this error, or SimplePie was unable to auto-discover it.. Use force_feed() if you are certain this URL is a real feed.</pre>

というエラーでした。

しかたないので、 $feed->force_feed(ture); すると…

 
<pre>This XML document is invalid, likely due to invalid characters. XML error: Mismatched tag at line 13, column 8</pre>

こんなエラーが出ます。ふしぎですねー

しかし、wgetした後で localhost/hoge.xml をパースすると成功するのです。さらに。適当な別のサーバーに echo file_get_contents(destination_addr); とか書いたPHPスクリプトを置いて踏み台にすれば、これでも動いちゃいます。本当に不思議です。

全文を読む

画像を含めたmovabletypeからwordpressへの移行

皆さんが相変わらず気になるであろう、MTからWPへの移行。

以前、「movabletypeからwordpressに移行する時のテンプレート改良版」と言うことで余所様の手法を改良して公開したりもしましたが、未だ残っている問題が、画像のパスについての問題です。

いい加減、この問題に終止符を打つべく、添付ファイルを込みでインポートする方法を開発(?)しました。MTは4以降、WPは3.0以降です。

  1. 先の方法でwordpress.xmlを生成
  2. wxr-attachement をダウンロード・解凍
  3. コマンドラインから php wxr-attachement wordpress.xml wordpress_with_attachment.xml

こんな感じで使います。wordpress_with_attachment.xml は書き出し先です。

まぁ、Wordpress使ってる人ならこの程度のphpは分かるだろうと言う事で。。 サーバーで動かす人は適当に先頭で宣言しているパスを書き換えて一回httpからアクセスすると書き出せます。

ともかく、コレで出来た wordpress_with_attachment.xml をwordpress-importer から読み込むと、上手く動くと思います。

ちなみに、MT3.4とかからインポートするときは、MT3.4→MTOS4 or 5→WP ってやると動きますよ。

現状の問題点

  • 画像のリンク先が正常に動作していない。
  • 日本語ファイル名だと一部環境(MacOSXのApacheとか)だと表示されない。 ただし一般的なレンタルサーバーでは動く模様。使用する際は要確認。
  • 結構めんどくさい。MTからWP形式の書き出し、書き出したファイルの変換、インポート。もっと楽に出来ないのか。

ま、動くので良いとしましょう。

追記

(v1.1) 日本語ファイル名への対処をある程度行いました。全ての環境で完璧に動くわけでもない気がします。。報告お待ちしております。

以下、どうやって作ったか。

全文を読む

PythonのMySQLdbでlatin-1なんたらエラーが出る時の対策

※Python初心者です

最近、Skypeのログ取りbotを作ろうと奮闘していました。

Linux上で動くSkype用のbotを作る方法
というエントリを元に奮闘したんですが、何故かXvfb上のSkypeがうまく動かなくて純粋なこの方法は挫折。。
まぁ、バカらしいけれど、このためだけにubuntuデスクトップ版のVMを立てることにして、Skypeが起動しない問題は解決。

で、Pythonなんか書いた事のない僕には結構苦戦したのだけど…
あ、当然環境はUbuntuのデスクトップ版です。バージョンは10.10

(1) まず /usr/lib/python2.6/site.py の 456行目ぐらいの所を変更
+ encoding = “ascii”
- encoding = “utf-8″

(2) 次に /usr/lib/python2.4/site-package/sitecustomize.py を作成、中身は以下。
import sys
sys.setdefaultencoding(’utf-8′)

(3) あとはMySQLdb.connectメソッドの引数に
, charset=”utf8″
を追加。

これで全部です。

一部いらないのがあるかもしれないんで、下から順にやってみてください。

(参考)
UnicodeEncodeErrorが発生した場合は、sitecustomize.pyでデフォルトのエンコーディングを指定する。 – SumiTomohikoの日記

ユーザを一括追加するシェルスクリプト

研究室のサーバ管理の都合で、ユーザの一括追加&パスワード生成がしたかったので書いてみた。

#!/bin/sh
LIST="./userlist"
while read USER
do
        `useradd ${USER}`
        PASS=`mkpasswd -l 6 -d 2 -c 1 -C 1 -s 1 ${USER}`
        echo ${USER} ${PASS} >> ./passwords
done < ${LIST}

読めば分かると思いますが、userlistというファイルにユーザ名を改行区切りで羅列して、結果をpasswordsファイルに書き出します。
間違っても/etcの下とかで実行しないように・・・
\rootとか/home/hogehogeとかでやりましょうね。

ちなみにmkpasswdコマンドを使うために、環境によってはexpectパッケージを導入する必要があるみたいです。僕は入れました。(CentOS5.5)

CentOSのvsftpdでホームディレクトリが表示できない問題

大学の研究室、サーバ周りが酷い事になっていたので一新している所なのだけど、ちょっと困ったことが起きた。

FTPサーバ(vsftpd)にログインすると、ホームディレクトリが表示されないのである。

結局、SELinuxが悪さをしていたことが分かった。
…切っちゃえ。。。

movabletypeからwordpressに移行する時のテンプレート改良版

追記(2011/05/31):最新のwordpress-importerだと動かない所がありましたので、修正してあります。
また、インポート時に「Failed to import author . Their posts will be attributed to the current user.」というエラーが出ることがありますが、投稿者は適宜設定してください。

MovableTypeからWordPressに固定リンク込みで完璧に移行する方法 の方法だと「追記」が反映されないので、改善してみた。
コードは以下の通り。

全文を読む

wordpressで複数のループを扱う方法

wordpressのプラグイン、特にウィジェットを作っていると、テンプレートのメインループとは別のループを作りたいと思う事があります。
しかし…WordPressのCodexには日本語情報が無い……!
と言うわけで英語情報から引っ張ってきました。ついでに少しCodexを更新してみました。( The Loop – WordPress Codex 日本語版 )

Codexを見て貰っても良いのですが、こっちも簡潔に纏めておきます。

全文を読む

KtaiStyleとMy Category Orderの連携

Ktai Styleでのカテゴリー表示には、My Category Orderの順序変更は反映されませんよね。順序なんて気にするな、という意見もあるとは思いますが、並べ替えの需要があるのは間違いないと思います。

そんなわけで、今回はKtai Styleのテーマ書き換えでMy Category Orderの順序を反映する方法です。

全文を読む

macportsでruby1.9をインストールしたらrubygemsが使えなくて焦った

最近コマンドラインからrubyでちょっとしたスクリプトを動かしているのだが
遅くて遅くてどうしようもないので、もっと早い言語で書き換え…る前に、ruby1.9で実行してどれだけ違うか試してみようと思った。

マシンはmac、標準のrubyを用いている。snow Leopard

※僕はweb用にrubyを使っていないので、railsを動かしたい人には不向きな情報。

はい、エラー。。。。
sdnn.rb:2:in `require’: no such file to load — rmagick (LoadError)

Q. あれ、gemってどこにあるんだろ?
A. gem1.9
…らしいです。

ホーム > 技術

Search
Feeds
Meta

Return to page top