2010年2月23日火曜日

1つのApacheに複数のDjangoアプリ

Djangoで、1つのApacheに複数のDjangoアプリを載せたいときは、
PythonInterpreterの設定をしておかないと、動作が異常になる。

http://djangoproject.jp/doc/ja/1.0/howto/deployment/modpython.html

アプリAにアクセスしたのに、アプリBのエラーが出力されてびっくり。

2010年2月21日日曜日

[python-ldap] 64bit環境でpage resultコントロールを利用するとエラー

CentOS5のpython-ldapを使って、LDAPの検索をするときにpage resultコントロールを利用するとエラーになる。

http://www.mail-archive.com/python-ldap-dev@lists.sourceforge.net/msg00458.html

RedHatにバグ登録もされているけど、修正版はまだ無いらしい。
https://bugzilla.redhat.com/show_bug.cgi?id=490343

パッチはそんなに難しくなかった。
RHEL5のpython-ldapは、LDIFの扱いの問題とこの問題の2つの問題に遭遇したので、アップデート必須。

SambaのTDBファイルの削除の可否

SambaのTDBファイルには、永続的に利用するファイルと、一時的なキャッシュのファイルがある。
TDBファイルをクリーンアップしてよいかどうかは、ソースのstate_path()、lock_path()、cache_path()のどの関数でディレクトリ名を取得しているかで判別できる。

state_path()でdb_open()しているTDBファイルは削除してはダメ。

http://lists.samba.org/archive/samba-technical/2004-December/038250.html


2010年2月19日金曜日

Windows Server 2008 + クラスタサービスだとsmbmountで接続できない

こんな問題があるなんて、普通の人は気づかないと思う...。
しかもクラスタソフト導入の時だけとか...。

http://support.microsoft.com/kb/975512/ja



2010年2月17日水曜日

[Python] Active Directoryにグループを登録

備忘録。


#!/usr/bin/python

import ldap, ldap.modlist

ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
ldap.set_option(ldap.OPT_REFERRALS, 0)
conn = ldap.initialize("ldaps://adserver.example.com")
conn.bind_s("Administrator@example.com","password")

groupname="testg1"
desc="test description"
groupdn = "CN=%s,CN=Users,DC=EXAMPLE,DC=COM" % groupname
attrs = {}
attrs['objectClass'] = ['top','group']
attrs['sAMAccountName'] = groupname
attrs['cn'] = groupname
attrs['description'] = "testgroup"

ldif = ldap.modlist.addModlist(attrs)
conn.add_s(groupdn, ldif)


2010年2月9日火曜日

[Google Apps更新情報] Message Securityでメールログの検索機能に対応

http://googleappsupdates.blogspot.com/2010/02/message-security-for-google-apps.html

Google AppsのPostiniを利用して、メールログの検索ができるようになったらしい。
どこからメールが来たとか、どこへメールを送信したかとかが確認できるようになった模様。


[Python] IPアドレスを32bit整数に変換

こんな感じかな。

import socket, struct
def main():
ip = "192.168.0.1"
print struct.unpack('I', socket.inet_aton(ip))[0]
return

main()