Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

WordPressのページ管理画面でページ番号を出力する

WordPressのページ機能で静的なページを作成しているとき、ページの順序を変えたくなる時があります。編集ボタンを押せば現在のページ順序が表示されますが、ページ一覧には順序が出てこないため、以下のように改造してIDの横に括弧で表示するようにしました。

変更ファイル: wp-admin/includes/template.php

  <tr id='page-<?php echo $id; ?>'class='<?php echo $class; ?>'>    <th scope="row" style="text-align: center"><?php echo $post->ID; ?></th>

↓ 変更

  <tr id='page-<?php echo $id; ?>'class='<?php echo $class; ?>'>    <th scope="row" style="text-align: center"><?php echo $post->ID; ?> (<?php echo $post->menu_order;?>)</th>

これで以下のようにIDの欄に順序の欄で割り振った番号が表示されます。

ID タイトル 作成者 更新日時 操作
2 (2) プロフィール mazn 2007-11-18 1:35 am 表示 編集 削除

WordPressのPukiwikiプラグイン導入

以前pukiwikiを使っていたので便利かなと思い入れてみた。例えば

<pukiwiki>
*タイトル
**サブタイトル
- 列挙
 hoge
</pukiwiki>

と書くと以下のようになります

*タイトル **サブタイトル - 列挙 hoge

Search Everything 日本語版

Wordpressのページ機能でページを作成しても、検索窓の検索対象になりません。

このプラグインを入れることでページやコメントなども検索出来るようになります。 http://wppluginsj.sourceforge.jp/i18n-ja_jp/search-everything/

文字コード一括変換@Linux

最近のLinuxはUTF8が標準になっていますが、ちょっと昔のファイルはEUCだったりします。UTF8に変換したい場合、一つずつ変換してもいいですが、大量ファイルがあると面倒なので、一括で変換する方法です。

nkf編

$ mkdir utf8
$ for i in `ls -I utf8`; do  echo $i; nkf -d -w80 $i > utf8/$i ; done

nkf : -d : LF(UNIX)に変換 -w80 : UTF8に変換

ls : -I utf8 : utf8というファイル名やディレクトリ名を出力しない

iconv編

iconvはうまく変換できずにエラーになる場合があるようです。 また、改行コードは変換できません。

$ mkdir utf8
$ for i in `ls -I utf8`; do  echo $i; iconv -f EUC-JP -t UTF9 $i > utf8/$i ; done

iconv : -f インプットファイルのコード -t アウトプットのコード

Linuxの高速再起動 - kexec @Debian etch

カーネルバージョン2.6.13からサポートされている機能です。

ランレベル1に移行

# init 1

kexecで再起動設定

# kexec -l /boot/vmlinuz-2.6.16-2-686-smp --append "root=/dev/sda5 ro" --initrd=/boot/initrd.img-2.6.16-2-686-smp

再起動実行

# kexec -e

画面が固まった再起動しない場合は

# kexec -e --reset-vga

で再起動してください。

LinuxでWindowsのように休止状態を使用する@Debian etch

etchからは正常に休止(hibernate s4)が使用できるようです。

# atp-get install hibernate
# vi /etc/initramfs-tools/conf.d/resume

このファイルに以下のようにSWAPパーティションを記述します。

RESUME=/dev/hda3

あと、カーネルオプションも必要かもしれません。

# vi /boot/grub/menu.list
~省略~
kernel          /boot/vmlinuz-2.6.18-4-686 root=/dev/hda4 ro resume=/dev/hda3
~省略~

休止状態を実行

# hibernate-disk

以下のディレクトリに参考のドキュメントがあります。 usr/share/doc/hibernate/*

電源ボタンで休止状態に移行

電源ボタンを押したときのイベントで休止状態に移行する方法です。

# vi /etc/acpi/events/powerbtn

以下の2行のコメントアウトをはずす

event=button[ /]power
action=/etc/acpi/powerbtn.sh

デフォルトでは、電源ボタンを押すと、シャットダウンされてしまうので、以下のように ファイルを編集

# vi /etc/acpi/powerbtn.sh

既存の行をすべてコメントアウトし、hibernate-diskを実行するようにする

#if pidof powersaved; then
#    exit 0
#fi
#
#if ps -Af | grep -q '[k]desktop' && test -f /usr/bin/dcop
#then
#    dcop --all-sessions --all-users ksmserver ksmserver logout 0 2 0 && exit 0
#else
#    /sbin/shutdown -h now "Power button pressed"
#fi

/usr/sbin/hibernate-disk

rdesktopの改造@Debian etch

LinuxからWindowsのリモートデスクトップに接続するコマンドです。

Debian Etch のrdesktopは日本語のコピペも問題なくできるようになりました。 でも、マウスのスクロールイベントを1回送ると、Windowsでは2回としてカウントされてしまうようですので、ソースを以下のように改造し、再コンパイルしました。

xwin.c

        if (xevent.xmotion.window == g_wnd)
        {
                /* ここに1行追加 */
                if ( !(((button == 640 || button == 896) && flags != MOUSE_FLAG_DOWN)))
                        rdp_send_input(time(NULL), RDP_INPUT_MOUSE,
                                       flags | button, xevent.xbutton.x, xevent.xbutton.y);
        }
        else
        {
                /* SeamlessRDP */
                rdp_send_input(time(NULL), RDP_INPUT_MOUSE,
                               flags | button, xevent.xbutton.x_root, xevent.xbutton.y_root);
        }

再コンパイル時にはlibssl-devが必要になりますので、apt-get でインストールしてください。 個人的にはmake installするのが嫌いなので、rdesktopのバイナリだけをコピーしようと考えていましたが、configureでprefixをきちんと指定してあげておかないとうまく動きませんでした。

# ./configure --prefix=/usr/
# make

後はできたrdesktopコマンドを /usr/bin/rdesktop に上書きするだけで使えます。

※実際には上書きするまえにバックアップをとっておくことを推奨します

apt系コマンド

インストールの管理にDebian系ではaptを使いますが、すぐ忘れてしまうのでメモ書きです。

  • apt-get
update パッケージリストを取得・更新する
upgrade インストール済みのパッケージをアップグレードする
install 新規にパッケージをインストールする
remove インストールされたパッケージを削除する
source ソースパッケージを取得する
build-dep ソースパッケージのビルド依存情報を設定する
dist-upgrade ディストリビューションをアップグレードする
clean ダウンロードしたアーカイブファイルを削除する
autoclean アーカイブファイルの中で古いものを削除する
check 壊れた依存関係がないかをチェックする
  • apt-cache
add パッケージファイルをソースキャッシュに追加する
gencaches パッケージ/ソースキャッシュを生成する
showpkg 単一パッケージの一般情報を表示する
showsrc ソースレコードを表示する
stats 基本ステータス情報を表示する
dump すべてのファイルを表示する
dumpavail 存在するファイルを標準出力に出力する
unmet 未解決の依存を表示する
search 正規表現によってパッケージを検索する
show パッケージの情報を表示する
depends 指定パッケージが依存しているパッケージを表示する
whatdepends 指定パッケージに依存しているパッケージを表示する
pkgnames すべてのパッケージ名を表示する
dotty GraphVis用のパッケージグラフを生成する
xvcg xvcg用のパッケージグラフを生成する
policy ポリシー設定情報を表示する

Apacheのプロキシ(proxy)機能

Apacheにはフォワードプロキシやリバースプロキシの機能があります。 フォワードプロキシは、Apache上のあるURLにアクセスした場合、他のサーバへ転送できます。

リバースプロキシは、クライアントから見れば同一サーバにアクセスしているのに、実は他のサーバをアクセスしているようにできます。 ファイアウォール内のサーバに外部からアクセスさせたい場合に有効です。 以下のような設定をします。

      UseCanonicalName on
      ProxyRequests Off
      <Proxy *>
              Order deny,allow
              Allow from all
      </Proxy>
      ProxyPass /hoge/ http://192.168.1.2:8008/abcd/
      ProxyPassReverse /hoge/ http://192.168.1.2:8008/abcd/

上記の場合"http://公開IP/hoge/"にアクセスした場合、実際にはローカルの"http://192.168.1.2:8008/abcd/"がアクセスされます。(ProxyPass機能) またHTTPヘッダ内の"http://192.168.1.2:8008/abcd/iii/"は"http://ServerName/hoge/iii/"に書き換えられます。(ProxyPassReverse機能) なので、ServerNameはきちんと設定しておく必要があります。また

UseCanonicalName on

も指定しておく必要があります。

日本語入力@Debian etch

以下のコマンドで今使用している日本語入力がわかる

$ im-switch -l

変更したい場合は

$ im-switch -c

一般ユーザの場合は~/.xinput.d/ja_JPが作成・変更されます。 rootだとシステム全体の設定が変更されます。

「*」がついているのがデフォルト選択、「+」が現在の選択です

scim-anthy

scimのオン・オフキーを変えたい場合

$ scim-config-agent -s /FrontEnd/Keys/Trigger=Henkan

一度ログアウトすること

メモ

scim-anthyのインストール

# apt-get install scim-anthy kasumi

coreファイルの扱いについて

coreを吐かせるにはulimitで制限されていない必要がある

# ulimit -c unlimited

強制的にプロセスにcoreを吐かせる方法

# kill -SIGSEGV PID番号

coreファイルが上書きされないようにcoreのファイル名にPIDをつける方法

# echo "1" > /proc/sys/kernel/core_uses_pid

coreの吐き出し先はカレントディレクトリで、以下のようにして知ることができる

# ls -l /proc/{PID}/cwd

Javaアプリの日本語文字化け対策

Linux上のSunのJVMで、GUIアプリを動かすと文字化けしてしまいます。 これはフォントが用意されていないためで、以下の方法で解決できます。

jreのインストールディレクトリの以下のディレクトリ

(例) /usr/local/java/jdk/jre/lib/fonts

にfallbackというディレクトリを作成

# mkdir fallback

そこに

kochi-gothic-subst.ttf
kochi-mincho-subst.ttf

をコピーすればOK

ちなみに、Debian etchでは

/usr/share/fonts/truetype/kochi/

にあった!

キーコードの表示@Debian etch

以下のコマンドでキーコードの対応表を取得できます。

# xmodmap -pke

いつからかDebianで閉じ大括弧が入力できなくなってしまったので、~/.xmodmap を作り以下のように記述

keycode  51 = bracketright braceright kana_MU kana_closingbracket

これをxmodmapコマンドで読み込めばOK ログイン時に読み込みたい場合は、これを.xsessionなどで読み込むように記述しておく

$ vi ~/.xsession

 xmodmap ~/.xmodmap

参考 : http://x68000.q-e-d.net/~68user/unix/pickup?xmodmap

キーコード一覧

keycode 8 = keycode 9 = Escape keycode 10 = 1 exclam kana_NU keycode 11 = 2 quotedbl kana_FU keycode 12 = 3 numbersign kana_A kana_a keycode 13 = 4 dollar kana_U kana_u keycode 14 = 5 percent kana_E kana_e keycode 15 = 6 ampersand kana_O kana_o keycode 16 = 7 apostrophe kana_YA kana_ya keycode 17 = 8 parenleft kana_YU kana_yu keycode 18 = 9 parenright kana_YO kana_yo keycode 19 = 0 asciitilde kana_WA kana_WO keycode 20 = minus equal kana_HO keycode 21 = asciicircum asciitilde kana_HE keycode 22 = BackSpace Terminate_Server keycode 23 = Tab ISO_Left_Tab keycode 24 = q Q kana_TA keycode 25 = w W kana_TE keycode 26 = e E kana_I kana_i keycode 27 = r R kana_SU keycode 28 = t T kana_KA keycode 29 = y Y kana_N keycode 30 = u U kana_NA keycode 31 = i I kana_NI keycode 32 = o O kana_RA keycode 33 = p P kana_SE keycode 34 = at grave voicedsound keycode 35 = bracketleft braceleft semivoicedsound kana_openingbracket keycode 36 = Return keycode 37 = Control_L keycode 38 = a A kana_CHI keycode 39 = s S kana_TO keycode 40 = d D kana_SHI keycode 41 = f F kana_HA keycode 42 = g G kana_KI keycode 43 = h H kana_KU keycode 44 = j J kana_MA keycode 45 = k K kana_NO keycode 46 = l L kana_RI keycode 47 = semicolon plus kana_RE keycode 48 = colon asterisk kana_KE keycode 49 = Zenkaku_Hankaku Kanji keycode 50 = Shift_L keycode 51 = bracketright braceright kana_MU kana_closingbracket keycode 52 = z Z kana_TSU kana_tsu keycode 53 = x X kana_SA keycode 54 = c C kana_SO keycode 55 = v V kana_HI keycode 56 = b B kana_KO keycode 57 = n N kana_MI keycode 58 = m M kana_MO keycode 59 = comma less kana_NE kana_comma keycode 60 = period greater kana_RU kana_fullstop keycode 61 = slash question kana_ME kana_conjunctive keycode 62 = Shift_R keycode 63 = KP_Multiply XF86ClearGrab keycode 64 = Alt_L Meta_L keycode 65 = space keycode 66 = Eisu_toggle Caps_Lock keycode 67 = F1 XF86_Switch_VT_1 keycode 68 = F2 XF86_Switch_VT_2 keycode 69 = F3 XF86_Switch_VT_3 keycode 70 = F4 XF86_Switch_VT_4 keycode 71 = F5 XF86_Switch_VT_5 keycode 72 = F6 XF86_Switch_VT_6 keycode 73 = F7 XF86_Switch_VT_7 keycode 74 = F8 XF86_Switch_VT_8 keycode 75 = F9 XF86_Switch_VT_9 keycode 76 = F10 XF86_Switch_VT_10 keycode 77 = Num_Lock PointerEnableKeys keycode 78 = Scroll_Lock keycode 79 = KP_Home KP_7 keycode 80 = KP_Up KP_8 keycode 81 = KP_Prior KP_9 keycode 82 = KP_Subtract XF86_Prev_VMode keycode 83 = KP_Left KP_4 keycode 84 = KP_Begin KP_5 keycode 85 = KP_Right KP_6 keycode 86 = KP_Add XF86_Next_VMode keycode 87 = KP_End KP_1 keycode 88 = KP_Down KP_2 keycode 89 = KP_Next KP_3 keycode 90 = KP_Insert KP_0 keycode 91 = KP_Delete KP_Decimal keycode 92 = Print Execute keycode 93 = Mode_switch keycode 94 = less greater bar brokenbar bar brokenbar keycode 95 = F11 XF86_Switch_VT_11 keycode 96 = F12 XF86_Switch_VT_12 keycode 97 = Home keycode 98 = Up keycode 99 = Prior keycode 100 = Left keycode 101 = keycode 102 = Right keycode 103 = End keycode 104 = Down keycode 105 = Next keycode 106 = Insert keycode 107 = Delete keycode 108 = KP_Enter keycode 109 = Control_R keycode 110 = Pause Break keycode 111 = Print Execute keycode 112 = KP_Divide XF86_Ungrab keycode 113 = Alt_R Meta_R keycode 114 = Pause Break keycode 115 = Super_L keycode 116 = Super_R keycode 117 = Menu keycode 118 = keycode 119 = keycode 120 = keycode 121 = keycode 122 = keycode 123 = keycode 124 = ISO_Level3_Shift keycode 125 = NoSymbol Alt_L keycode 126 = KP_Equal keycode 127 = NoSymbol Super_L keycode 128 = NoSymbol Hyper_L keycode 129 = Henkan_Mode Mode_switch keycode 130 = keycode 131 = Muhenkan keycode 132 = keycode 133 = backslash bar prolongedsound keycode 134 = keycode 135 = keycode 136 = keycode 137 = keycode 138 = keycode 139 = keycode 140 = keycode 141 = keycode 142 = keycode 143 = keycode 144 = keycode 145 = keycode 146 = keycode 147 = keycode 148 = keycode 149 = keycode 150 = keycode 151 = keycode 152 = keycode 153 = keycode 154 = keycode 155 = keycode 156 = NoSymbol Meta_L keycode 157 = keycode 158 = keycode 159 = keycode 160 = keycode 161 = keycode 162 = keycode 163 = keycode 164 = keycode 165 = keycode 166 = keycode 167 = keycode 168 = keycode 169 = keycode 170 = keycode 171 = keycode 172 = keycode 173 = keycode 174 = keycode 175 = keycode 176 = keycode 177 = keycode 178 = keycode 179 = keycode 180 = keycode 181 = keycode 182 = keycode 183 = keycode 184 = keycode 185 = keycode 186 = keycode 187 = keycode 188 = keycode 189 = keycode 190 = keycode 191 = keycode 192 = keycode 193 = keycode 194 = keycode 195 = keycode 196 = keycode 197 = keycode 198 = keycode 199 = keycode 200 = keycode 201 = keycode 202 = keycode 203 = keycode 204 = keycode 205 = keycode 206 = keycode 207 = keycode 208 = Hiragana_Katakana Romaji keycode 209 = keycode 210 = keycode 211 = backslash underscore kana_RO keycode 212 = keycode 213 = keycode 214 = keycode 215 = keycode 216 = keycode 217 = keycode 218 = keycode 219 = keycode 220 = keycode 221 = keycode 222 = keycode 223 = keycode 224 = keycode 225 = keycode 226 = keycode 227 = keycode 228 = keycode 229 = keycode 230 = keycode 231 = keycode 232 = keycode 233 = keycode 234 = keycode 235 = keycode 236 = keycode 237 = keycode 238 = keycode 239 = keycode 240 = keycode 241 = keycode 242 = keycode 243 = keycode 244 = keycode 245 = keycode 246 = keycode 247 = keycode 248 = keycode 249 = keycode 250 = keycode 251 = keycode 252 = keycode 253 = keycode 254 = keycode 255 =

Java スクリプト API

Javascriptではありません。Java スクリプト APIです。

JRubyやGroovyのように、JVM上で動く新しいスクリプト言語かと思っていたけど違います!

JRubyやGroovyはJVM上で動き、Javaのクラスを呼び出すことができます。しかし逆にJavaのプログラムからスクリプト言語を実行するには、 Apache の Jakarta BSFのようなフレームワークが必要でした。しかしこのAPIを使用することで、Javaからスクリプトを実行することができるようです。

IBMのサイトに紹介がありますので、詳しくはこちらへ。

プログラミング言語のベンチマーク

プログラミング言語のベンチマークサイトを発見

http://shootout.alioth.debian.org/gp4/benchmark.php?test=all〈=all

1位 gcc 2位 g++ … 4位 Java6 … 17位 Python … 48位 Ruby

といった感じ。Rubyちょっと勉強してみようと思ってたけど、なんかやる気失せた。

最近Groobyにも注目してるのだけど、どうなんだろ。

=追記=

JVM上で動くスクリプト言語を比較しているサイトを発見

http://yher2.blogspot.com/2006/10/groovy-rhino-jython-jruby.html

JRubyが本家Rubyよりも早くなったという記事をどこかでみたが、もともとRubyってめちゃくちゃ遅いようで、あまり自慢にならない気がします。Groovyはまだまだ発展途上なので、今後の開発に期待です。Rhino はJVM上で動くJavascriptです。速いですねぇ~!!

WordPressのパーマリンクの変更

デフォルトのWordPressでは記事をクリックした場合、

/?p=123

のようなURLになりますが、このサイトのように記事をクリックした場合

/2007/11/11/数字.html

となっていると思います。このようにURLの形式(パーマリンク)を設定します。

管理画面の 設定→パーマリンク設定 を選択します。カスタム-以下に設定を選択し、以下のように設定。

/%year%/%monthnum%/%day%/%post_id%.html

あと、.htaccessの設定方法が下のように表示されるので、これをサイトTOPページのディレクトリにある.htaccess(なければ作成)に追記します。

<ifmodule>
RewriteEngine OnRewriteBase /blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

レンタルサーバの仕様によっては.htaccessの設定が有効にできない場合があるので、その時は諦めましょう。

Tracの導入@Debian etch

Tracはメジャーなオープンソースのバグトラッキングシステム。

Subversionと連携させるために、事前にリポジトリを作っておくこと。(ここでは省略します) ここでは/home/svnに作っているとします。 さらに、revision 1がないと、Trac初期化時に以下のエラーになるので注意。

~省略~
Failed to initialize environment. ('No such revision 1', 160006)
raceback (most recent call last):
File "/var/lib/python-support/python2.4/trac/scripts/admin.py", line 628, in do_initenv
repos = self.__env.get_repository()Failed to initialize environment. ('No such revision 1', 160006)
Traceback (most recent call last):
File "/var/lib/python-support/python2.4/trac/scripts/admin.py", line 628, in do_initenv
repos = self.__env.get_repository()
~省略~

インストール

まずは

# apt-get install trac

次にtrac-adminコマンドで初期化

# mkdir /home/trac
# trac-admin /home/trac
...
Project Name [My Project]> ←プロジェクト名を入力
...
Database connection string [sqlite:db/trac.db]> ←デフォルトのsqliteを使用するのでそのままリターン
...
Repository type [svn]> ←リターン
...
Path to repository [/path/to/repos]> /home/svn ←入力
...
Templates directory [/usr/share/trac/templates]> ←リターンCreating and Initializing Project .....省略
Congratulations!

起動確認

tracには簡易的なWebサーバが付属しています。これを使って起動確認をしてみます。

# tracd --port 80 /home/trac

これでブラウザからアクセスできればOK

Apacheとの連携

アクセスユーザの設定

# htpasswd パスワードファイル名(/etc/apache/passwdなど) ユーザ名

tracをapacheに追加してあげます。

# vi /etc/apache2/sites-available/trac

アクセスはポート8080にしています。 ファイル内容

Listen 8080
<VirtualHost *:8080>
ServerAdmin webmaster@localhost
DocumentRoot /usr/share/trac/htdocs/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/httpd/root/>
AllowOverride AuthConfig Limit
</Directory>ScriptAlias /trac /usr/share/trac/cgi-bin/trac.cgi
<Location "/trac">
SetEnv TRAC_ENV "/home/trac"
</Location>
<LocationMatch "/trac/login">
AuthType Basic
AuthName "Trac"
AuthUserFile パスワードファイル名
Require valid-user
</LocationMatch>
ServerSignature Off
</VirtualHost>

Pluginの導入

チケットのタイプとかコンポーネントとかの管理がコマンドラインからしかできません。 なので、WebAdminというプラグインを導入します。 プラグインのeggファイルを扱うためにpythonのツールをインストール

# apt-get install python-setuptools
# wget http://trac.edgewall.org/attachment/wiki/WebAdmin/TracWebAdmin-0.1.2dev_r4240-py2.4.egg.zip?format=raw
# mv TracWebAdmin-0.1.2dev_r4240-py2.4.egg.zip?format=raw /home/trac/plugin/TracWebAdmin-0.1.2dev_r4240-py2.4.egg

/home/trac/conf/trac.iniに以下のように記述

[components]
webadmin.* = enabled

サーバ再起動は必要ないはずですが、アクセスすると以下のようなエラーになります。

(抜粋)

ExtractionError: Can't extract file(s) to egg cache
The following error occurred while trying to extract file(s) to the Python egg cache:
[Errno 13] Permission denied: '/var/www/.python-eggs'
The Python egg cache directory is currently set to:
/var/www/.python-eggs

これはeggファイルキャッシュディレクトリにアクセス権限がないからです。 なので、apacheの設定でキャッシュディレクトリを以下のように設定してあげます。

<Location "/trac">
SetEnv TRAC_ENV "/home/trac"
SetEnv PYTHON_EGG_CACHE /tmp/traceggcache ★追加
</Location>

そして、以下を実行

# mkdir /tmp/traceggcache
# chown www-data:www-data /tmp/traceggcache
# /etc/init.d/apache reload

あと、デフォルトだとADMIN権限を持っていませんので、ADMIN権限を与えます。

# trac-admin /home/trac permission add ユーザ名 TRAC_ADMIN

これで正常にadminとう項目がTrac上に出てきます。

DBについて

デフォルトではSQLiteが使用されます。Debian etchのsqliteはバージョン2系で、sqliteコマンドでは以下のようなエラーになります。

Unable to open database "tracbak.db": file is encrypted or is not a database

3系をインストールしてアクセスしましょう。

# apt-get install sqlite3
# sqlite3 dbファイル名

mod_pythonの導入

デフォルトのcgiモードだと、だんだんと動作が鈍くなってきます。 以下の通りmod_pythonを入れると速くなります。

# apt-get install libapache2-mod-python

apacheの設定ファイル tracを編集

<Location "/trac">
#SetEnv TRAC_ENV "/home/trac"
SetEnv PYTHON_EGG_CACHE /tmp/traceggcache
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /home/trac
</Location>
このブログについて
プライバシーポリシー・お問い合わせ等
購読する(RSS)
記事検索
アーカイブ
カテゴリー
  • ライブドアブログ