FAQ
提供: GeeklogJpWiki
FAQ( インストール前|インストール時|インストール後|構築時|運営時|Tips|その他)
目次 |
その他のFAQ
Q.Geeklog に貢献するには?
<回答>
Geeklog に貢献するには様々な方法があります。PHP の達人でなくても構いません。
プログラマでなくても,掲示板やメーリングリストで他のユーザーを助けることができるし,Wiki を使うドキュメントプロジェクトもあるし,テーマを提供することもできるでしょう。
コーディングやアドオン、テーマの開発をするのなら、Geeklog Japanese(http://www.geeklog.jp)や、Geeklog Japaneseが運営するGeeklog開発者用SNS(http://biz.geeklog.jp)に参加して、開発に参加してください。
Q.Geeklog のバージョン番号
<回答>
Geeklog のバージョン番号がふつう,どんな形式になっているか, 'sr1' や 'rc2' などの接尾子にどんな意味があるのか説明します。
「リリース候補版(Release Candidates)」
Geeklog の新バージョン開発が,予定されていた全ての新機能を網羅した段階に達すると,そのバージョンをリリース候補版として発表します。
リリース候補版は,バージョン番号の後に続く "rc" とその後の数字によって区別されます。
リリース候補版をダウンロードする前に,より新しいバージョン(たとえば,正式リリース版)がないか確認しましょう。
例: 1.4.0rc3
メモ: リリース候補版は「製品」サイト,つまり,Web 上で実際に稼働しているサイトでは使わない方がよいでしょう。バグがあるかもしれないし,リリース候補版から後の正式リリース版へとアップグレードする方法もないのが普通だからです。リリース候補版の段階では,データベースの変更はしないようにしますが,問題を解決するためには変更が必要になる時もあります。その場合,データベースの変更は手動で行う必要があるでしょう。Geeklog のインストール用スクリプトは,正式リリース版どうしのデータベースの変更しか処理しないからです。
「正式リリース版(Official Releases)」
リリース候補版の段階が終わると,完成されたバージョンがリリースされ,バージョン番号から接尾辞が消えます。
例: 1.4.0, 1.4.1
「バグ修正リリース版(Bugfix Releases)」
ふつう,バグは次期リリース版になってからしか修正されません(セキュリティ上の問題がなければ,ですが。下記をご覧ください),しかしながら,時に,重大なバグや嫌なバグに対処するために新バージョンをリリースすることがあります。バグ修正リリース版は,ベースとなるバージョン番号の後にハイフンと数字がつくことで区別されます。
例: 1.4.0-1
「セキュリティリリース版(Security Releases)」
私たちはセキュリティを重視しているので,セキュリティの問題に気づいたら(そして解決策が見つかったら),できるだけ早く修正版をリリースします。セキュリティリリース版は "sr" と後に続く数字で区別されます。
経験則: 'sr' がついたバージョンがリリースされたら,できるだけ早くそれをインストールした方がよいでしょう。
例: 1.4.0sr5
「Geeklog のバージョン番号を知る」
Geeklog はどこにもバージョン番号を記録していません。config.php 中の定数として定義されているだけです。
define(VERSION, '1.4.0sr2');
したがって, Geeklog をアップグレードした時には,必ずこの定義も変更してしてください。
Geeklog のバージョン番号は, moderation ページ(管理者ブロックの「投稿」)だけでなく,管理者ブロック中の "GL Version Test" の後ろにも現れます。時にはこのリンクをクリックして,使っている Geeklog のバージョンが最新のものか確認してください。更に良いのは, geeklog-announce メーリングリストを購読して,新バージョンがリリースされたらその情報をできるだけ早く知ることでしょう。
注意すべき点として,もし Geeklog のバージョン番号をサイトのフッタに表示するテーマを使っているなら,バージョン番号を削除することをお勧めします。さもないと,攻撃者が既知の脆弱性のあるバージョンを使っているサイトを見つけやすくなります。
バージョン番号を削除するには, footer.thtml を開いて {geeklog_version} 変数を検索し,波カッコ({})ともども削除してください。
Q.php.ini はどこにありますか?
<回答>
PHP が php.ini を探すパスはコンパイル時に PHP に設定されています。そのパスを知るには,phpinfo() を呼び出すスクリプトを使ってください。PHP の設定の一覧が表示されます。 php.ini のパスはページの先頭付近にある表の最初の部分にあります。
Geeklog は /path/to/geeklog/admin/install/info.php に phpinfo() を使用するスクリプトを同梱しています。あるいは次の 1 行を含むファイルを新たに作成してもよいでしょう(たとえば,phpinfo.php と名付けます)。
<?php phpinfo(); ?>
このファイルをサイトのどこかにアップロードし,ブラウザから呼び出します。
Q.register_globals = on の問題点
<回答>
バージョン 1.4.0 以降,Geeklog 本体は register_globals = off で動作します。プラグインもoffで動くよう作業をすすめています。ただし、旧パッケージ、旧プラグインはoffで動かないので注意が必要です。
register_globals = on にすること自体にセキュリティ上問題はありませんが,コードを書くときには,更に慎重になる必要があります。
register_globals = on の状態では,たとえば,URL を somescript.php?myvar=42 とすることで myvar の値を 42 と定義し,PHPスクリプト中の変数を上書きすることができます。スクリプトの動作にもよりますが,これを悪用することも可能でしょう。PHP 4.1.0 のリリースノートにその一例が書かれています。
でもこの例は単に悪いコードの見本でしかありません。単純な解決策としては,スクリプトの最初で変数にデフォルト値を設定することです(こうすることで URL 経由で注入された値が逆に上書きされます)
一般論としては, register_globals = on で安全なスクリプトを書くことも, register_globals = off で危険なコードを書くこともできます。register_globals の設定だけでスクリプトが安全なものになったり,危険なものになったりするわけではないのでregister_globals = offであっても注意が必要です。
寄付をお願いします。
<回答>
Geeklog が役に立つと思っていただけたら,寄付をお願いします。Geeklog Japanese へは、お問合せフォームでご連絡ください。その他、Geeklog 本家、次世代CMSであるGeeklog2の開発グループ、サイトで使用しているプラグインの作者に寄付することもご検討ください。
Geeklog Japaneseキャラクターグッズ購入による寄付も可能です。