Geeklog Documentation

Geeklogの設定方法

設定用ファイル

旧バージョンのGeeklogでは、config.phpという主要な設定を網羅した巨大なファイルを使用していました。Geeklog 1.5.0では、設定の大部分はデータベースに記録され、管理者機能内のコンフィギュレーション(Configuration)からアクセスできるようになりました。

技術上の理由で、依然としてファイルに保存する必要のある設定もあります。そのような設定ファイルは次の2つです:

この2つのファイルはGeeklogをインストールするときに更新されるだけなので、通常、手動で編集する必要はありません。

設定オプション

Geeklogの設定オプションは以下のようにグループ分けされています。

サイト

サイト: サイト

項目 初期値 説明
サイトURL(site_url) http://www.example.com サイトのURL(最後にスラッシュ '/' をつけない)
管理画面のURL(site_admin_url) http://www.example.com/admin サイトの管理画面のURL(最後にスラッシュ '/' をつけない)。手動で設定する必要はないが、一部のWebホスティングサービスでは(Geeklog以外の用途で)"admin"ディレクトリが決められている場合がある。このような場合には、Geeklogのadminディレクトリの名前を変更して、それに応じて管理画面のURLを変えることで、ディレクトリ名の衝突を防ぐことができる。
サイト名(site_name) Geeklog Site サイトの名前
スローガン(site_slogan) Another Nifty Geeklog Site サイトのスローガン。HTMLの<title>フィールドに追加される。
マイクロサマリの短縮形(microsummary_short) GL: マイクロサマリ(microsummary)用の接頭子。
サイト閉鎖用メッセージ(site_disabled_msg) 'Geeklog Site is down. Please come back soon.' Geeklogのサイトを一時的に閉鎖するときに表示するメッセージ。メッセージが"http:"で始まる場合、サイトの訪問者はそのURLへリダイレクトされる。
注:実際にサイトを閉鎖するかどうかを決める設定は、siteconfig.phpファイルにある。
コピーライトの年(copyrightyear) (無効) サイトのフッタに表示するcopyrightの年を設定する。設定しない場合、現在の年が使われる。
URLリライト(url_rewrite) いいえ(false) はい(true)でURLリライトを行う、いいえ(false)で行わない。
下記のURLリライトのセクションを参照のこと。

サイト: メール

項目 初期値 説明
サイトのメールアドレス(site_mail) admin@example.com サイト管理者のメールアドレス
No-Replyメールアドレス(noreply_mail) noreply@example.com ユーザ登録時などにGeeklogがメールを送るときの送信元アドレス。サイトのメールアドレスと同じにするか、スパム送信者がサイトに登録することで管理者のメールアドレスを知るのを防ぐために送信専用のアドレスにする(スパム送信者がこのアドレスにメールを送ってもエラーメールが返るだけ)。このアドレスがサイト管理者のメールアドレスと同じでない場合、送信するメッセージに「このメールは自動送信されたものです。返信しないでください。」というメッセージが追加される。
メール送信方法(backend) mail メールの送信方法を選択。'smtp'(SMTPプロトコルでメールサーバと直接交信), 'sendmail'(オペレーティングシステムにインストールされているsendmailプログラム経由), 'mail'(PHPのmail()関数使用)のどれか。
sendmailのパス(sendmail_path) /usr/bin/sendmail 送信方法で'sendmail'を選択した場合に、sendmailバイナリへの完全なパスを指定する。
sendmailの引数(sendmail_args) '' (空白) 送信方法で'sendmail'を選択した場合に、sendmailに与える引数を指定する。
ホスト(host) smtp.example.com 送信方法で'smtp'を選択した場合に、SMTPサーバを指定する。
ポート(port) 25 送信方法で'smtp'を選択した場合に、SMTPサーバのポート番号を指定する。
認証(auth) 0 送信方法で'smtp'を選択した場合に、SMTPサーバが認証を必要とするなら 1 に、必要としないなら、 0 (あるいは空白のまま)にする
ユーザ名(username) smtp-username 送信方法で'smtp'を選択した場合に、SMTPサーバのアカウント名を指定する。
パスワード(password) smtp-password 送信方法で'smtp'を選択した場合に、SMTPアカウントのパスワードを指定する。

サイト: フィード

Geeklogでは、記事の見出しを様々なフォーマット(RSS, RDF, Atom)でフィードとして出力できます。これにより、他のサイトと記事を共有できます。(ヒント:Geeklogサイトで他のサイトの記事のフィードを読み込むために、管理者のブロックメニューでポータルブロックを作成してください。)

Geeklog 1.3.9以降、フィードは管理者メニュー(フィード)から作成・設定できます。以下の設定は、管理者メニューからフィードを新規作成するときの 初期値 としてのみ使用されます。

項目 初期値 説明
フィードを有効にする(backend) はい(1) 記事のRSSフィードをRDFファイルとして作成する(0=いいえ, 1=はい)
出力ファイル(rdf_file) 公開ディレクトリのパス + "/backend/geeklog.rss" RSSフィードファイルを置くファイルシステムのパス。このファイルを通じて、自分のサイトの記事を他人と共有できる。このファイルはPHPから書込可能でなければならない。
フィード制限(rdf_limit) 10 RSSフィードに出力する記事の数を制限する。数字を設定すると、その数だけ記事が出力される。数字の後に小文字のhをつけると(たとえば、24h)、公開後それだけの時間が経っていない記事しか出力しない(たとえば、24hにすると、公開後25時間経った記事は出力されない。)。
フィード中の記事の長さ(rdf_storytext) 0 1 にすると、記事の冒頭文全部がRSSフィードに出力される。1 より大きな数字を指定すると、その字数分だけ冒頭文が出力される(たとえば、80 と指定すると、冒頭文の最初の80文字だけがRSSフィードに出力される。)。0 にすると、冒頭文はRSSフィードに出力されない。
フィードの言語(rdf_language) en-gb RSSフィードの言語の設定。サイトの言語とオペレーティングシステムにより、この値はロケールの設定(下記参照)と異なる値になることもある。
例: PHPでドイツ語のロケールは'de_DE'であるが、ドイツ語のRSSフィードを表す正しい設定は'de-DE'であろう(アンダースコア("_"の代わりにダッシュ"-"を使う点に注意)。
インポートする記事の最大数(syndication_max_headlines) 0 記事を(ポータルブロックに)インポートするときの最大文字数。ブロックメニューでポータルブロックごとに設定することもできる
0 にするとすべての記事がインポートされる。

サイト: パス

項目 初期値 説明
HTMLパス(path_html) /path/to/geeklog/public_html/ Geeklogの公開領域のパス(最後のスラッシュ '/'が必要)。このディレクトリ内にGeeklogが使用するWebページがすべて格納される。
ログ(path_log) /path/to/geeklog/logs/ ログファイルを保存するパス
言語(path_language) /path/to/geeklog/language/ Geeklogの言語ファイルのパス
バックアップ(backup_path) /path/to/geeklog/backups/ mysqldump(下記参照)がデータベースのバックアップを保存するパス。
データ(path_data) /path/to/geeklog/data/ データディレクトリのパス。
画像(path_images) /path/to/geeklog/public_html/images/ ユーザの写真や記事の写真を含めて、画像ファイルを置くディレクトリのパス。

サイト: PEAR

項目 初期値 説明
PEARがある(have_pear) いいえ(false) PEARをサーバにインストールしているかどうか。いいえ(false)にすると、Geeklogは$_CONF['path_pear'](下記参照)にインストールされているPEARパッケージを使用する。
PEARのパス(path_pear) /path/to/geeklog/system/pear/ 上記の「PEARがある」がいいえ(false)のとき、Geeklogが必要とするPEARパッケージ(メール送信時のPEAR::Mailなど)を探すパス。

サイト: MySQL

名前が示すように、以下の設定は、サイトがMySQLで運営されているときしか意味を持ちません。MS SQLで運営しているときには無視されます。

項目 初期値 説明
MySQLのダンプを許可する (allow_mysqldump) はい(1) 管理者によるバックアップを有効(1)/無効(0)にする。
mysqldump のパス(_DB_mysqldump_path) /usr/bin/mysqldump データベースのバックアップを取るためのmysqldump(.exe)ユーティリティ(MySQLに含まれている)の完全なパス。Microsoft Windowsの場合は、c:/mysql/bin/mysqldump.exeのように、パスに.exeを含める必要がある。
mysqldump のオプション(mysqldump_options) -Q データベースのバックアップを取るために、mysqldump を呼び出す時、オプションの引数を指定する。

サイト: 検索

項目 初期値 説明
検索結果表示数(num_search_results) 10 ページごと(とタイプごと)に検索結果を表示する件数。

記事とトラックバック

記事とトラックバック: 記事

項目 初期値 説明
記事に配置する画像の最大数(maximagesperarticle) 5 1つの記事に配置することができる画像の最大数。
1ページあたりの記事の表示数(limitnews) 10 インデックスページに表示される記事の件数。過去の記事ブロックにも同数の記事が表示される。
記事の最小数(minnews) 1 話題のページに表示される記事の最小数。
所有者名を表示する(contributedbyline) はい(1) 記事を書いた人のユーザ名を表示し、そのユーザ名による検索を許可するかどうか(0=いいえ(no), 1=はい(yes))を設定する。
閲覧回数を表示しない(hideviewscount) いいえ(0) 記事の閲覧数を表示する(= 0)か表示しない(= 1)か。
メールアイコンを表示しない(hideemailicon) いいえ(0) はい(1)にすると、メールで記事を送る機能が無効になり、記事のメールアイコンと、記事オプションの「友だちに記事をメールする」リンク表示されなくなる。
プリントアイコンを表示しない(hideprintericon) いいえ(0) はい(1)にすると、記事を印刷用のフォーマットで表示する機能が無効になり、記事のプリンタアイコンと記事オプションの「印刷フォームページ」リンクが表示されなくなる。
改ページを許可する(allow_page_breaks) はい(1) はい(1)にすると、記事中で [page_break] タグが使えるようになり、記事を複数ページに分けることができる。
改ページ時のコメント表示位置(page_break_comments) 最後のページ(last) 記事中の [page_break] タグが許可されている場合(上記参照)、記事のコメントをどこに表示するかを指定する。「最後のページ(last)」は、記事の最後のページのみに表示、「最初のページ(first)」は、最初のページのみに表示、「全ページ(all)」は、すべてのページに表示。
話題アイコンの表示位置(article_image_align) 右(right) 記事のどちら側に話題アイコンを表示するかを指定。
話題アイコン表示設定の初期値(show_topic_icon) はい(1) 新規記事とユーザによる投稿の際の初期値を設定する。はい(1)なら表示、いいえ(0)なら表示しない。
ドラフト設定の初期値(draft_flag) いいえ(0) Story Adminが作成する新規記事の初期値。はい(1)なら記事のドラフト(草稿)フラグをセットし、いいえ(0)ならセットしない。
トップページ配置の初期値(frontpage) いいえ(0) 新規記事とユーザによる投稿の際の初期値を設定する。はい(1)なら記事をサイトのトップページに表示、いいえ(0)なら表示しない(話題のページのみ)。この設定はアーカイブに投稿された記事には適用されず、記事がトップページに表示されることはない
記事がない場合のメッセージ表示(hide_no_news_msg) いいえ(0) はい(1)なら「記事がありません」を表示しない。(記事がまだ投稿されていない話題を選んだときなど)
ページナビゲーションを表示しない (hide_main_page_navigation) いいえ(0) はい(1)にすると、index.php、つまり、サイトのトップページとすべての話題でページナビゲーションが表示されなくなる。この動作はより高度なレイアウトを実現するのに役立つが、訪問者が古い記事を読むのが難しくなる。
Rootユーザのみ注目記事を設定(onlyrootfeatures) いいえ(0) この機能を使うとRootユーザしか注目記事を設定できなくなる。Story Adminが複数いて、他のStory Adminには見えない記事を注目記事にした場合、他のStory Adminにはその記事が見えないため、自分の記事を注目記事しても大丈夫と思ってしまう。Story Adminによるこのような注目記事の取り合いを防ぐため、すべての記事を見ることができるユーザ、つまり、Rootユーザのみが注目記事を設定できるようにした方がよい。
記事保存後の画面遷移(aftersave_story) 記事一覧を表示する(list) 記事を保存した後、どのページに移動するかを指定する。
  • 作成した項目を表示する(item): 作成した記事を表示する
  • 項目一覧を表示する(list)(初期値): 記事一覧を表示する
  • サイトのトップページを表示する(home)
  • 管理画面TOPを表示する(admin)

記事とトラックバック: トラックバック

項目 初期値 説明
トラックバックを有効にする(trackback_enabled) はい(true) はい(true)にすると、トラックバックが有効になる。この設定はトラックバックの送信・受信の両方に適用される。
新規記事のトラックバック初期値(trackback_code) トラックバック有効(0) 新規記事の初期値。0 ならトラックバック許可、-1 ならトラックバック停止。
トラックバック速度制限(trackbackspeedlimit) 300(秒) 同一IPから2回目のトラックバック/ピングバックを受け取りが可能になるまでの時間(単位:秒)。
トラックバックのリンクをチェック(check_trackback_link) 2 トラックバックの有効性をチェックする設定。トラックバック中に含まれるURLが自分のサイトへのバックリンクを実際に含んでいるかチェックできる(含んでいない場合はスパムであろう)。また、トラックバックが適切なIPアドレス、すなわち、トラックバックURL中のサイトのIPアドレスから送信されたものかどうかチェックできる(IPアドレスが一致しない場合は、スパムであろう)。下記の数値を足し合わせることによって複数項目のチェックができる(とはいえ、1 と 2 を同時にに使うのは無意味であり、2 しか指定していないものとして処理される)。
  • ノーチェック(0) = チェックを行わない
  • URLリンクをチェックする(1) = サイトのベースURLしかチェックしない
  • フルURLをチェックする(2) = サイトのアイテム(たとえば、記事)の完全なURLが含まれているかチェックする
  • IPとURLリンクをチェックする(4) = トラックバック送信者のIPアドレスとトラックバックURLで参照されているサイトのIPアドレスを照合する
例: $_CONF['check_trackback_link'] = 6; // URLの厳密なチェック(2)とIPアドレスのチェック(4)
マルチプルトラックバック(multiple_trackbacks) 拒否する(0) 同一発信元から複数のトラックバックとピングバックを受け取った場合の処理を指定する。
  • 拒否する(0) = 最初のトラックバック/ピングバックのみを保存し、残りは無視する
  • 最新ポストのみ保存する(1) = 上書きする、つまり、最新のトラックバック/ピングバックのみを保存する
  • マルチポストを許可する(2) = すべて許可する

記事とトラックバック: ピングバック

項目 初期値 説明
ピングバックを有効にする(pingback_enabled) はい(true) はい(true)ならピングバックを有効にし、いいえ(false)なら無効にする。この設定はピングバックの送信・受信の両方に適用される。
ピングバックを要約する(pingback_excerpt) はい(true) トラックバックと違い、ピングバックにはリンク元サイトの記事の要約を含んでいない。この設定を有効にすると、Geeklogはピングバックを送信してきたサイトのバックリンクを探し、リンク近くの文章を抜き出してピングバックの要約として使用する。
自身へピングバックする(pingback_self) スキップする(0) ピングバックは記事内でリンクされているすべての URLに自動的に送信される。このURLには自分のサイトも含まれる。この設定は自分のサイトへのピングバックの処理法を指定する。
  • スキップする(0) = ピングバックをスキップする、つまり、自分のサイトへはピングバックを送信しない
  • 許可する(速度制限あり)(1) = ピングバックを許可するが、速度制限に従う
  • 許可する(速度制限なし)(2) = ピングバックを許可し、速度制限を無視する

記事の中に自分のサイトの他の記事に対する複数のリンクがある場合、「許可する(速度制限あり)(1)」はあまり役に立たないであろう。1番目のリンクへはピングバックを送信できるが、残りは速度制限に引っかかるからである。
ピングを有効にする(ping_enabled) はい(true) はい(true)にすると、Technoratiなどのブログディレクトリサービスに更新ピングを送る機能が有効になり、いいえ(false)にすると無効になる。

テーマ

テーマ: テーマ

項目 初期値 説明
テーマ(theme) professional サイトで使用するテーマの初期値。
メニュー項目(menu_elements) array('contribute', 'calendar', 'search', 'stats', 'directory', 'plugins') どのメニュー項目をサイトのメニューバー(グローバルメニュー)に表示するかを指定する(使用するテーマにメニューバーを表示するための{menu_elements}テンプレート変数が使用されている場合)。'home'(トップページ), 'contribute'(記事投稿), 'calendar'(カレンダ), 'search'(検索), 'directory'(記事一覧), 'prefs'(マイアカウント), 'plugins'(プラグイン), 'custom'(カスタム)を好きな数だけ好きな順序で組み合わせてよい。'plugins'(プラグイン)は{plg_menu_elements}テンプレート変数と同じで、各プラグインが提供するメニュー項目である。'custom'(カスタム)はCUSTOM_menuEntriesカスタム関数が返すメニュー項目である(詳細はlib-custom.phpを参照)。
テーマパス(path_themes) /path/to/geeklog/public_html/layout/ テーマデータのあるディレクトリ

テーマ: テーマの拡張設定

項目 初期値 説明
右ブロックを常時表示する(show_right_blocks) いいえ(false) はい(true)にすると、トップページだけでなくすべて のページで右ブロックが表示される。
最初の記事を注目記事にする(showfirstasfeatured) いいえ(0) はい(1) にすると、どの ページであれ、注目記事にされているかどうかにかかわらず、最初の記事を注目記事にする。たとえば、ある話題を選択したときの2ページであっても、この設定は適用される。

ブロック

ブロック: 管理者ブロック

項目 初期値 説明
リンクをソートする(sort_admin) いいえ(false) はい(true)にすると、管理者ブロック中の項目と管理画面(moderation.php)のアイコンがアルファベット順にソートされる。
ドキュメントをリンクする(link_documentation) はい(1) はい(1)にすると、管理者ブロックにGeeklog「ドキュメント」へのリンクを追加される。いいえ(0)にすると、追加されない。
バージョンチェッカーをリンクする(link_versionchecker) はい(1) はい(1)にすると、管理者ブロックに「GLバージョンテスト」へのリンクが追加され、最新のGeeklogをインストールしているかどうかを簡単にチェックできるようになる。いいえ(0)にすると、追加されない。
注: このリンクはRootユーザにしか表示されない。

ブロック: 話題ブロック

項目 初期値 説明
ソート方法(sortmethod) 番号順(sortnum) アルファベット順(alpha) = 話題をアルファベット順にソート
番号順(sortnum) = 話題をソート番号順にソート
記事数を表示する(showstorycount) はい(1) はい(1)にすると、セクションブロックに記事数を表示する。
記事投稿数を表示する (showsubmissioncount) はい(1) はい(1)にすると、セクションブロックに記事投稿数を表示する。
Homeへのリンクを表示しない(hide_home_link) いいえ(0) はい(1)にすると、セクションブロックに"Home"(トップページ)へのリンクが表示されなくなる。

ブロック: オンラインメンバーブロック

項目 初期値 説明
セッションのしきい値(whosonline_threshold) 300(秒) オンラインメンバーブロックに表示された後、ユーザがどれくらいの間操作をしないとオンラインメンバーブロックに表示されなくなるかを決める数値(単位:秒)。
ゲストユーザには表示しない(whosonline_anonymous) いいえ(0) はい(1)にすると、ゲストユーザに見えるのはオンライン中の登録メンバーの数だけであり、名前は表示されない。ログインしたユーザだけがオンライン中の他のユーザの名前を見ることができる。

ブロック: 新着情報ブロック

項目 初期値 説明
記事の"新着"の期間(newstoriesinterval) 86400(= 24時間) 記事が"新着"として表示される秒数。
コメントの"新着"の期間(newcommentsinterval) 172800(= 48時間) コメントが"新着"として表示される秒数。
トラックバックの"新着"の期間(newtrackbackinterval) 172800(= 48時間) トラックバックが"新着"として表示される秒数。
新着記事を表示しない(hidenewstories) いいえ(0) はい(1)にすると、新着情報ブロックに新着記事が表示されなくなる。
新着コメントを表示しない(hidenewcomments) いいえ(0) はい(1)にすると、新着情報ブロックに新着コメントが表示されなくなる。
新着トラックバックを表示しない(hidenewtrackbacks) いいえ(0) はい(1)にすると、新着情報ブロックに新着トラックバックが表示されなくなる。
プラグインの新着データを表示しない(hidenewplugins) いいえ(0) はい(1)にすると、新着情報ブロックにプラグインから渡される新着データが表示されなくなる。
タイトル最大長(title_trim_length) 20 新着情報ブロックに表示されるタイトルの長さの最大値。

ユーザと投稿

ユーザと投稿: ユーザ

項目 初期値 説明
新規ユーザ登録を拒否する(disable_new_user_registration) いいえ(false) はい(true)にすると、新規ユーザとして登録することが一切できなくなる。
テーマ選択を許可する(allow_user_themes) はい(1)またはいいえ(0) はい(1)にすると、ユーザはサイトのテーマを選択できる。
言語選択を許可する(allow_user_language) はい(1)またはいいえ(0) はい(1)にすると、ユーザはサイトのナビゲーションに使う言語を選択できる。
写真登録を許可する(allow_user_photo) はい(1)またはいいえ(0) はい(1)にすると、ユーザは自分のプロフィール用に写真をアップロードできる。
ユーザ名変更を許可する(allow_username_change) いいえ(0) はい(1)にすると、ユーザはユーザ名(ログイン名)を変更できる。古いユーザ名で投稿された記事やコメントは自動的に新しいユーザ名で表示される。
アカウント削除を許可する(allow_account_delete) いいえ(0) はい(1)にすると、ユーザは自分のアカウントを削除できる。削除しても、以前に投稿した記事とコメントは残されるが、「ゲストユーザ(Anonymous)」と表示されるようになる。
所有者を表示しない(hide_author_exclusion) はい(1)またはいいえ(0) はい(1)にすると、マイアカウントのコンテンツ設定で「投稿者の除外」が表示されなくなる。
フルネームを表示する(show_fullname) いいえ(0) はい(1)にするとユーザのフルネームを表示し、いいえ(0)にするとユーザ名しか表示しない。フルネームを入力していない場合は常にユーザ名が表示される。
サービス名を表示する(show_servicename) はい(true) はい(true)にすると、LDAPやLiveJournalなどのリモートサービスのアカウントでログインを許可している場合、ローカルアカウントとの混同を避けるため、ユーザ名にサービス名が付加されて表示される。いいえ(false)にすると、サービス名が付加されなくなる。
カスタム登録を有効にする(custom_registration) いいえ(false) はい(true)にすると、新規ユーザ登録の際、管理者が用意した独自のフォームが表示される。フォームの具体例は、Geeklogに同梱されているlib-custom.phpを参照のこと。
ユーザログイン方法[standard] はい(true) 通常のログイン方法、つまり、サイトのデータベースにしか登録されてないユーザアカウントでログインを許可するかどうか。
ユーザログイン方法[openid] いいえ(false) OpenIDを使用したログインを許可するかどうか。通常のログイン入力欄の下に特別なOpenIDログイン用の入力欄が表示される。
注: 現在サポートされているのは、OpenID 1.1だけである。
ログイン方法[3rdparty] いいえ(false) はい(true)にすると、外部サービスに既にアカウントを持っているユーザがそのアカウント使ってGeeklogにログインできるようになる。現在サポートされているのは、LDAPとLiveJournalである。
特定のサービスを使ってログインできるようにするには、そのサービス用の認証クラスがsystem/classes/authenticationに必要である。だから、LDAPを用いたログインは許可するがLiveJournalを用いたログインは禁止したいという場合、単に不要なサービスの認証クラスを削除すればよい。詳細は、Geeklogにおけるリモート認証(Remote Authentication in Geeklog)を参照のこと。
ユーザ保存後の画面遷移(aftersave_user) 作成した項目を表示する(item) ユーザのデータが保存された後、どのページに移動するか。
  • 作成した項目を表示する(item): ユーザのプロフィーを表示する
  • 項目一覧を表示する(list)(初期値): ユーザ一覧を表示する
  • サイトのトップページを表示する(home)
  • 管理画面TOPを表示する(admin)

ユーザと投稿: Spam-X

項目 初期値 説明
spamx 128 スパムを検出した場合のSpam-Xプラグインの動作を指定する。実行するSpam-Xモジュールを表すユニーク値の和を指定する。たとえば、「スパム削除」は128、「管理者にメールで通知」は8なので、両方の動作を行わせるには 128 + 8 = 136 を指定する。

ユーザと投稿: ログイン

項目 初期値 説明
最終のログインを記録する(lastlogin) はい(true) はい(true)にすると、ユーザが前回ログインした時間をシステムに記録する。
すべてにログインを要求する(loginrequired) いいえ(0) はい(1)にすると、以下の設定すべてよりも優先され、サイトのどの 部分にアクセスするにもログインが必要になる。特定の部分しかアクセス制御が必要でないなら、いいえ(0)にして、以下の設定で調節するとよい。
投稿[ログイン要求](submitloginrequired) いいえ(0) はい(1)にすると、登録ユーザしか記事や(リンク・カレンダなどの)プラグインが管理する項目を投稿できない。
コメント投稿[ログイン要求](commentsloginrequired) いいえ(0) はい(1)にすると、登録ユーザしかコメントを投稿できない。
統計の参照[ログイン要求](statsloginrequired) いいえ(0) はい(1)にすると、登録ユーザしかサイト情報にアクセスできない。
検索[ログイン要求](searchloginrequired) ログイン不要(0) 1 にすると、登録ユーザしか高度な検索を行えない。2 にすると、ゲストユーザは一切検索できなくなる。
プロフィール閲覧[ログイン要求](profileloginrequired) いいえ(0) はい(1)にすると、登録ユーザしか他のユーザのプロフィールを閲覧できない。
メール送信[ログイン要求](emailuserloginrequired) いいえ(0) はい(1)にすると、登録ユーザしか他のユーザにメールを送信できない。
記事メール送信[ログイン要求](emailstoryloginrequired) いいえ(0) はい(1)にすると、登録ユーザしか「友だちに記事を送信する」機能を使用できない。
記事一覧表示[ログイン要求](directoryloginrequired) いいえ(0) はい(1)にすると、登録ユーザしか「記事一覧」機能を使用できない。
パスワード入力間隔制限(passwordspeedlimit) 300(秒) 新しいパスワードを要求する間隔の最小値(単位:秒)。
ログイン試行回数制限(login_attempts) 3 下記のログイン試行間隔制限が発動してログインが一時的に不可能になるまでのログイン試行回数の最大値。
ログイン試行間隔制限(login_speedlimit) 300(秒) 上記のログイン試行回数の制限を超えてログインに失敗した場合、次にログインが可能になるまでの待ち時間。

ユーザと投稿: ユーザによる投稿

項目 初期値 説明
管理者の承認が必要(usersubmission) いいえ(0) はい(1)にすると、ユーザの登録申請は管理者による承認待ちの状態になる。いいえ(0)にすると、即座に登録される。
自動的に許可するドメイン(allow_domains) ''(空白) 上記の承認待ちを有効にした場合でも、このドメインリスト(コンマで区切る)から登録申請したときには承認待ちの状態にならず、即座に承認される。ドメイン名に正規表現も使える。
例: 'mycompany.com,myothercompany.com'
自動的に拒否するドメイン(disallow_domains) ''(空白) 上記の「自動的に許可するドメイン」の逆で、このリストに含まれるドメインのユーザは、上記の「管理者の承認が必要」の設定にかかわらず、自動的に拒否される。ドメイン名に正規表現も使える。
例: あるドメインと".edu"ドメインのすべてを拒否する。 'somebaddomain.com,\.edu$'

ユーザと投稿: 投稿設定

項目 初期値 説明
管理者が承認する(storysubmission) はい(1) はい(1)にすると、ユーザが投稿した記事は管理者による承認待ちの状態になる。いいえ(0)にすると、すぐに掲載される。
ドラフト記事の一覧を表示する(listdraftstories) いいえ(0) はい(1)にすると、管理者画面(moderation.php)にドラフト記事の一覧が表示されるようになる。
デフォルトの投稿モード(postmode) テキスト(plaintext) 投稿モードの初期値をHTML(html)かテキスト(plaintext)に設定する。
投稿間隔制限(speedlimit) 45(秒) 投稿と投稿の間に最小限空けなければならない間隔(単位:秒)。サービス不能攻撃(DoS)を防ぐのに役立つ。
プレビューしないで投稿する(skip_preview) いいえ(0) はい(1)にすると、記事やコメントをプレビューなしで投稿することが可能になる。
アドバンストエディタを使う(advanced_editor) いいえ(false) はい(true)にすると、記事・コメント・静的ページを編集するときにWYSIWYGエディタを使えるようになる。GeeklogにはFCKeditorが同梱されている。
ウィキテキストエディタを使う(wikitext_editor) いいえ(false) はい(true)にすると、記事編集時にwiki構文を使えるようになり、記事エディタの投稿モードにWiki構文(Wiki-style format)が追加される。この機能は、PEAR::Text_Wikiパッケージを用いて実装されている。

ユーザと投稿: コメント

項目 初期値 説明
コメント投稿間隔制限(commentspeedlimit) 45(秒) ユーザがコメントを連続して投稿する際に最低限空けなければならない間隔(単位:秒)。
コメント表示件数(comment_limit) 100 一度に表現するコメントの最大数。
コメント表示モード(comment_mode) ツリー(threaded) コメントの表示方法として、「一覧」(flat)、「入れ子」(nested)、「ツリー」(threaded)、「表示しない」(表示しない)のうちのどれかを指定する。
コメント許可の初期値(comment_code) はい(0) 新規記事に対する初期値。はい(0)なら許可し、いいえ(-1)なら許可しない。

画像

画像: 画像ライブラリ

項目 初期値 説明
画像ライブラリ(image_lib) なし(None) 画像ライブラリを「ImageMagick」、「Netpbm」、「GDライブラリ」から選ぶ。画像アップロード時にリサイズしたくない場合や、画像ライブラリを使えない場合は「なし(None)」にする。
Mogrifyへのパス(path_to_mogrify) (無効) 上記の「画像ライブラリ」にimagemagickを選んだ場合、mogrifyバイナリの完全なパスを '/usr/bin/mogrify' のように指定する。
かなり新しいバージョンのImageMagickが必要(バージョン5.4.9以降推奨)。
Netpbmへのパス(path_to_netpbm) (無効) 上記の「画像ライブラリ」にnetpbmを選んだ場合、Netpbmのバイナリがあるディレクトリの完全なパスを '/usr/bin/netpbm/' のように指定する。パスの最後はスラッシュ'/'でなければならない。
様々なプラットフォーム用にコンパイルされたバイナリのパッケージは、Netpbm homepageからダウンロードできる。

画像: アップロード

項目 初期値 説明
元画像を保存する(keep_unscaled_image) いいえ(0) はい(1)にすると、アップロード後にリサイズされていない元画像が保存される。その場合には、元画像より小さなサムネイル画像が作成され、元画像へのリンクが張られる。画像サイズにもよるが、大量のディスクスペースを消費する可能性があることに注意。
ユーザに画像サイズ変更を許可(allow_user_scaling) はい(1) はい(1)にすると、上記のように元画像を保存する場合、記事の中でリサイズされた画像を使えるようになる。言い換えると、記事中で([imageX] に加えて)[unscaledX] タグを使えるようになる。
画像アップロードのデバッグを行う(debug_image_upload) いいえ(false) はい(true)にすると、画像のアップロード中にデバッグ情報がGeeklogのerror.logに書き込まれる。画像アップロード時の問題を解明する際に役立つ。

画像: 記事の画像

項目 初期値 説明
幅の最大値(max_image_width) 160 画像の幅の最大値(単位:ピクセル)。この数値を超えた場合、画像は拒否されるかリサイズされる(上記の画像ライブラリの設定による)。
高さの最大値(max_image_height) 160 画像の高さの最大値(単位:ピクセル)。この数値を超えた場合、画像は拒否されるかリサイズされる(上記の画像ライブラリの設定による)。
ファイルサイズの最大値(max_image_size) 1048576 (= 1 MB) ファイルサイズの最大値。この数値を超えた場合は、リサイズ用の画像ライブラリを使っていても、その画像ファイルは拒否される。

画像: 話題アイコン

項目 初期値 説明
幅の最大値(max_topicicon_width) 48 話題アイコンの幅の最大値(単位:ピクセル)。この数値を超えた場合、画像は拒否されるかリサイズされる(上記の画像ライブラリの設定による)。
高さの最大値(max_topicicon_height) 48 話題アイコンの高さの最大値(単位:ピクセル)。この数値を超えた場合、画像は拒否されるかリサイズされる(上記の画像ライブラリの設定による)。
ファイルサイズの最大値(max_topicicon_size) 65536 (= 64 KB) ファイルサイズの最大値。この数値を超えた場合は、リサイズ用の画像ライブラリを使っていても、その画像ファイルは拒否される。

画像: ユーザの写真

項目 初期値 説明
幅の最大値(max_photo_width) 128 写真の幅の最大値(単位:ピクセル)。この数値を超えた場合、画像は拒否されるかリサイズされる(上記の画像ライブラリの設定による)。
高さの最大値(max_photo_height) 128 写真の高さの最大値(単位:ピクセル)。この数値を超えた場合、画像は拒否されるかリサイズされる(上記の画像ライブラリの設定による)。
ファイルサイズの最大値(max_photo_size) 65536 (= 64 KB) ファイルサイズの最大値。この数値を超えた場合は、リサイズ用の画像ライブラリを使っていても、その画像ファイルは拒否される。
幅を固定する(force_photo_width) (無効) この設定を有効にしても、ユーザの写真を表示するときにしか適用されない。写真表示用の <img>タグがここで指定されたサイズで出力される。つまり、実際の写真のサイズはより大きなものかもしれないが、小さな(ここで指定された)サイズでしか表示されないということである。(掲示板などで)奇妙な形をしたユーザの写真がページのレイアウトを台無しにするのを防ぎたい場合に役に立つ。
デフォルトの写真(default_photo) (無効) 有効にする場合には、画像ファイルの完全なURLを指定する。写真のないユーザの場合、このデフォルトの写真が表示される。この設定が無効でユーザが写真もアバターを持っていない場合、何も表示されない。

画像: Gravatar

項目 初期値 説明
Gravatarを使用する(use_gravatar) いいえ(false) はい(true)にすると、ユーザが写真をアップロードしていない場合、アバター用の画像がgravatar.comにリクエストされる(つまり、アップロードされた写真の方が常に優先される)。
このオプションを有効にすると、(掲示板のスレッドなどの)複数ユーザの多数の写真を表示するページでは、スピードダウンする可能性があることに注意。
Gravatar評価を許可(gravatar_rating) (無効) gravatar.comへ投稿されたアバターは、(米国で)映画鑑賞用に使われている評価システム
  • G = General:一般向け
  • PG = Parental Guidance:保護者の指導が望ましい
  • R = Restriced:保護者同伴で入場可
  • X = Banned:17歳未満入場禁止
を用いて評価される。このオプションは表示されるアバターの最も厳しいランクを設定する。たとえばRと設定すると、G、PG、Rランクのアバターは表示されるが、Xランクのアバターは一切表示されなくなる。

言語とロケール

言語とロケール: 言語

項目 初期値 説明
言語(language) english 言語ファイル名。追加の言語ファイルはhttp://www.geeklog.netでダウンロードできる。言語ファイルを翻訳した場合は、送ってください。下記のローカリゼーションも参照してください。
言語ファイル[多言語モード](language_files) (無効) 多言語サイト用。言語の短縮形('en'、'de'、'ja'など)と言語ファイルの対応関係を指定する。
言語名[多言語モード](languages) (無効) 多言語サイト用。言語の短縮形('en'、'de'、'ja'など)と言語名("English"、"Deutsch"、"Japanese"など)の対応関係を指定する。

Geeklog Wikiの多言語サポート(Multi-Language Support)も参照してください。

言語とロケール: ロケール

項目 初期値 説明
ロケール(locale) en_GB Geeklogが使用するロケール(Locale)。これによって、月名などのローカライズされた情報の表示法を決めるときにPHPが使用する言語と国の両方が決まる。
日付(date) %A, %B %d %Y @ %I:%M %p %Z 記事も含めて、サイトのほとんどの場所で使用される日付のフォーマット。下記の時間のフォーマットを参照のこと。
日時(daytime) %m/%d %I:%M%p 短い日付が必要なときのフォーマット。下記の時間のフォーマットを参照のこと。
日付短表記(shortdate) %x 一番短い日付フォーマット。下記の時間のフォーマットを参照のこと。
日付のみ(dateonly) %d-%b 短い日付のフォーマット(日付のみ)で、「これからの予定」と「過去の記事」のブロックで使用される。下記の時間のフォーマットを参照のこと。
時間のみ(timeonly) %I:%M %p %Z 時間だけを表すフォーマット。「イベントの詳細」などのページで使われる。下記の時間のフォーマットを参照のこと。
週のはじまり(week_start) 日曜日(Sun) カレンダの週の始まり。日曜日('Sun')か月曜日('Mon')のどちらか。
時間制(hour_mode) 12 (記事の公開時刻などの)時間設定のあるアイテムを投稿したり編集したりするときに使う時間のフォーマット。12(12時間制。am/pmを使用する)か24(24時間制)のどちらか。
千単位の区切り文字(thousand_separator) , 数字を3桁ごとに区切るときに使う文字
小数点(decimal_separator) . 小数点として使う文字
小数点以下の桁数(decimal_count) 2 小数点以下で表示する桁数
タイムゾーン(timezone) (無効) サーバが異なるタイムゾーンに配置されている場合、時刻が正しく表示されるようにローカルのタイムゾーンを設定する。この設定は、タイムゾーンハック(timezone hack)という名前で知られており、サーバによっては機能しない場合がある。

その他

その他: クッキー

以下の設定では、Geeklogが使用するクッキー名を指定します。他のソフトウェアが使用するクッキーと名前が重複する場合は簡単に変更できます。

項目 初期値 説明
セッションのクッキー名(cookie_session) gl_session セッションIDを保存するクッキーの名前
長期保存クッキー名(cookie_name) geeklog 長期間保存されるクッキーの名前
パスワードのクッキー名(cookie_password) password パスワードを保存するクッキーの名前
テーマのクッキー名(cookie_theme) theme テーマ名を保存するクッキーの名前
言語のクッキー名(cookie_language) language 言語名を保存するクッキーの名前
タイムゾーンのクッキー名(cookie_tzid) timezone タイムゾーンを保存するクッキーの名前
クッキーにIPを埋め込む(cookie_ip) いいえ(0) はい(1)にすると、セッションIDにランダムな数字だけでなくユーザのIPも埋め込む。こうすることで、安全性は高まるが、ダイアルアップユーザが毎回ログインしなければならなくなる可能性が高まる。
長期保存クッキーの有効期限(default_perm_cookie_timeout) 28800(秒) 長期保存クッキーの有効期限(単位:秒)。初期値は 28800秒 = 8時間。
セッションの有効期限(session_cookie_timeout) 7200(秒) セッションの有効期限(単位:秒)。初期値は 7200秒 = 2時間。
クッキーのパス(cookie_path) / クッキーが有効となるサーバ上ののパス(詳細は、PHPマニュアルを参照)。
クッキーのドメイン(cookiedomain) (空白) クッキーが有効となるドメイン。GeeklogはサイトのURLに基づき、正しいドメインを推測しようとする(詳細は、PHPマニュアルを参照)。
セキュア(HTTPS)なクッキー(cookiesecure) いいえ(0) サイトがHTTPSプロトコルを使用している場合に限り、はい(1)にすること(詳細は、PHPマニュアルを参照)。

その他: その他

項目 初期値 説明
PDFを有効にする(pdf_enabled) いいえ(0) 記事をPDFに変換する機能はまだ実装が完了していない。サイトに未完成の機能が表示されないよう、この設定はいいえ(0)にしておくこと。
通知(notification) 空リスト(登録なし) 新規の記事・コメントが投稿された場合、トラックバック・ピングバックを受信した場合、新規ユーザが登録された場合に、サイトのメールアドレスに通知メールを送信するリスト。このリストに登録できるのは、
  • story
  • comment
  • trackback
  • pingback
  • user
である。必要なものを組み合わせて登録する。
例: story と user とすると、新規記事が投稿された場合とユーザが登録された場合に通知される。たとえば、新規コメントが投稿された場合には、通知は来ない。
Cronスケジュール間隔(cron_schedule_interval) 86400(秒) Geeklogはcronjob、つまり、一定の間隔で行う作業を擬似的に行うことができる。実行されるPHPのコードは、プラグインかlib-custom.php中のCUSTOM_runScheduledTask 関数で与える。ここで設定する値は、作業が行われる間隔を秒単位で与える。初期値は 86400秒 = 24時間である。
この作業が行われるには、予定の時刻付近で誰かがサイトを訪問する必要があることに注意。訪問者がほとんどいないサイトでは、作業の開始がかなり遅れる可能性がある。
この機能を無効にするには、0を指定する。
自動リンクを無効にする(disable_autolinks) いいえ(0) はい(1)にすると、自動リンク、つまり、[story:] 形式の自動リンクが無効になる。

その他: デバッグ

項目 初期値 説明
Rootデバッグ(rootdebug) いいえ(false) PHPのエラーが発生したとき、(重要な情報の漏洩を防ぐため)GeeklogのエラーハンドラはRootグループに属するメンバーにしか実際のエラー情報を表示しない。はい(true)にすると、この情報がすべての ユーザに表示されるようになる。デバッグ目的にのみ使用すること!

その他: デイリーダイジェスト

項目 初期値 説明
デイリーダイジェストを送信する(emailstories) いいえ(0) はい(1)にすると、ユーザに記事をEメールで配布するデイリーダイジェスト機能が有効になる。この機能を使用するには、Cron機能とPHPをシェルスクリプトとして使用する機能(CLI版PHP)が必要になる。
記事の長さ(emailstorieslength) 1 上記の機能を有効にした場合、この設定値を 0 にすると、新規記事のタイトルとリンクのみが送信され、1 にすると冒頭文全体が送信され、2 以上にすると、冒頭文の最初からその文字数分だけが送信される。
新規ユーザのデフォルト(emailstoriesperdefault) いいえ(0) はい(1)にすると、ユーザが新規登録したとき、自動的にデイリーダイジェストが有効になる。

その他: HTMLフィルタ

項目 初期値 説明
ユーザHTML(user_html) <p>, <b>, <i>, <a>, <em>, <br>, <tt>, <hr>, <ol>, <ul>, <li>, <code>, <pre> ふつうのユーザが記事やコメントを投稿するときに使用できるHTMLタグのリスト。
管理者HTML(admin_html) テーブル用などの追加のHTMLタグ 管理者が使用できるHTMLタグと属性のリスト。管理者は上記のユーザHTMLも使える。ユーザHTMLに登録されているHTMLタグに属性を追加して再定義した場合、管理者HTMLの方が有効になる。たとえば、ユーザHTMLでは<p>タグのstyle属性を使用できないが(JavaScriptを使えないようにするため)、管理者HTMLではstyle属性を有効にする、など。
RootユーザはHTMLフィルタを無効にする(skip_html_filter_for_root) いいえ(0) はい(1)にすると、Rootグループのユーザは投稿時にすべての HTMLタグを使えるようになる。自己責任で使用すること!
許可されたプロトコル(allowed_protocols) array ('http', 'https', 'ftp'); リンク(つまりHTMLの<a>タグ)で有効なプロトコル。

その他: バッドワードチェック(Censoring)

項目 初期値 説明
チェックする(censormode) チェックする(完全一致)(1) ユーザの投稿とコメントに関して、「チェックしない(0)」、「チェックする(完全一致)(1)」はバッドワード完全に一致するもののみチェックし、「チェックする(前方一致)(2)」はバッドワードで始まるものをすべてチェックし、「チェックする(部分一致)(3)」はバッドワードを含むものをすべてチェックする。
(訳注)日本語に関しては、「チェックする(前方一致)」と「チェックする(部分一致)」は誤動作する可能性あり。
置き換え(censorreplace) *censored* バッドワードと判定された語句を置き換える語句。
バッドワード(censorlist) (バッドワードのリスト) バッドワードのリスト

その他: IP検索

項目 初期値 説明
IP検索(ip_lookup) 設定されていない コメントを投稿した人のIPアドレスは記録され、管理者には表示される。IPアドレス検索サービスを設定した場合、表示されたIPアドレスをクリックするとそのIPの所有者を調べることが可能になり、不正使用をインターネットサービスプロバイダーに通報しやすくなる。
設定値には、IP検索サービスの完全なURLを指定する。IPアドレスが入る部分は '*' にする。Tom WilletのNetToolsパッケージを使うこともできる。この場合は、/nettools/whois.php?domain=*
と設定する。

その他: Webサービス

項目 初期値 説明
無効にする(disable_webservices) いいえ(false) はい(true)にすると、Webサービスが無効になる。
制限する(restrict_webservices) いいえ(false) はい(true)にすると、webservices.atompub権限を持ったユーザ(たとえば、"Webservices Users"グループなど)しかWebサービスを使用できなくなる。
フィードの最大記事数(atom_max_stories) 10 WebサービスAPIでAtomフィードをリクエストする場合の記事の最大数。

Geeklog WikiのWebサービスを使用する(Using the Webservices)も参照してください。

db-config.php

その名が示すように、db-config.phpファイルには、データベースの設定が記述されています。この情報はインストール時に書き込まれるので、ふつう、手動で編集する必要はありません。

項目 初期値 説明
_DB_host localhost データベースサーバ(ホスト名:ポート番号:Unixソケット の形式で入力)。ほとんどの場合、初期値を変更する必要はない。
_DB_name geeklog データベース名。
_DB_user root データベースユーザのアカウント名。
_DB_pass null データベースユーザのパスワード。
_DB_table_prefix gl_ Geeklogが使用するすべてのテーブル名の前につける接頭子(データベースを使用する他のアップリケーションとの衝突を避けるため)。
_DB_dbms mysql Geeklogが使用するデータベースシステムの種類。
  • mysql (MySQL)
  • mssql (Microsoft SQL Server)
のいずれかを指定する。

siteconfig.php

siteconfig.phpファイルには、データベースに保存できない設定が記述されています。設定の大半はインストール時に書き込まれるので、ふつう、このファイルを手動で編集する必要はありません。

項目 初期値 説明
path /path/to/geeklog/ Geeklogの基本パス(最後にスラッシュ '/' が必要)。
path_system /path/to/geeklog/system/ Geeklogのシステムライブラリのパス(最後にスラッシュ '/' が必要)。このディレクトリにはGeeklogが使用するライブラリが格納されている。
site_enabled true falseにするとGeeklogのサイトを閉鎖できる(メンテナンス作業中など)。
サイト閉鎖用メッセージ(site_disabled_msg)も参照のこと。
default_charset iso-8859-1 HTMLページやEメールを送信するときにGeeklogが使用する文字セットのエンコーディング。言語ファイルによってエンコーディングが設定されていない場合にのみ、この設定値が使用される。
多言語サポート(multi-language)を行うサイトの場合、 utf-8 を初期値として使用することが推奨されている。

URLリライト

Geeklogには、単純でありながら役に立つURLリライト機能が含まれており、クローラに適した(つまり、検索エンジンのインデックス作成用ボットがサイトを訪問しやすくなる)URLを出力できます。この機能は、記事・静的ページ・記事一覧・リンクプラグインのURLでサポートされています。

URL書き換えにより、たとえば

http://www.geeklog.net/article.php?story=20021022234959146

というURLは、

http://www.geeklog.net/article.php/20021022234959146

となります。1番目の形式のURLを解釈する検索エンジンもありますが、Googleは2番目の形式を好み、1番目の形式を無視するようです。

注意:この機能はすべてのWebサーバで機能するとは限りません。Apache(全バージョン)では機能しますが、IIS(の少なくとも一部のバージョン)では動作しない ことが知られています。サイトを公開する前に検証してください。

ローカリゼーション(Localization)

Geeklogをローカライズするのは簡単です。文字列はすべて言語ファイルに格納されています。Geeklogに最初から同梱されているのはenglish.phpです。他の言語への翻訳に関心のある方はGeeklog翻訳(geeklog-translations)メーリングリストへの加入をお勧めします。Geeklogの翻訳に関する重要な情報はみなこのメーリングリストに投稿されます。

ロケールと時間のフォーマット

ロケールと時間フォーマットの設定はコンフィギュレーションで行えます。ロケールを設定するには、適切な文字列を設定するか空白のままにしておきます。後者の場合は、オペレーティングシステムのロケールの既定値が使用されます。時間フォーマットはロケールによって処理が決まります。ロケール名はオペレーティングシステムに依存します。ほとんどのUNIX系のホストでは、ロケールコードは/usr/share/locale/locale.alias ファイルに記述されており、locale -a コマンドで利用可能なロケールすべてを表示できるシステムもあります。ロケールが存在しない場合は、localedef コマンドで作成できます。

ロケールに関する詳細は、http://www.opengroup.org/onlinepubs/7908799/xbd/locale.html
localdef コマンドに関する詳細は、http://www.opengroup.org/onlinepubs/7908799/xcu/localedef.html
を参照のこと、

時間のフォーマット

(訳注:以下の表現は、PHPマニュアルの表現を使用、一部改変しています。)