無償CMS Geeklog導入ガイド

[表紙]無償CMS Geeklog導入ガイド

紙版発売

B5変形判/320ページ

定価3,058円(本体2,780円+税10%)

ISBN 978-4-7741-3049-1

ただいま弊社在庫はございません。

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

本書では,簡単にホームページをランクアップできるオープンソースCMS「Geeklog(ギークログ)」の紹介と導入・管理・運用方法を紹介しています。GeeklogはPC向けブログ機能付きCMSです。標準パッケージをインストールするだけでブログ機能を中心としたトラックバックなどを含むWeb 2.0,SEO,多言語サイト,そして携帯サイトまでも同時にできあがります。そのように大変高機能でありながらも運用は直感的で,しかも動作が軽いシステムです。拡張性にすぐれているので開発者にとって楽しいCMSで,さらに開発者だけでなくデザイナーやWeb運営者からも注目のCMSです。

こんな方におすすめ

  • Webデザイナー/ディレクター/プロデューサー全般
  • 企業・公共団体・各種団体のWebサイト担当者
  • SEO対策(Web 2.0対策)でシステムアップを検討されている方
  • 個人ブログユーザで,独自ドメインでもう一段階上のサイトを作りたい方
  • UTF-8対応CMSサイトを企画している方
  • 携帯サイト(モバイルサイト)を企画している方
  • 開発者(会社)に任せないで自分たちでサイトを運営したい方
  • 英語・韓国語・中国語・ドイツ語等,多言語切り替え表示システムを検討している方
  • さまざまな言語の参加者が参加するサイトを運営する方
  • 運用が簡単で手離れの良いCMSを提供したいWeb開発会社担当者
  • レンタルサーバ会社の自動インストールサービスを企画している方
  • セキュリティを重視する方

著者の一言

Geeklogを使ってPC向けサイトを設置するだけで,携帯(モバイル)サイトが同時に設置され,さらに更新も同時に行える他,多言語切り替え機能やUTF-8対応でグローバルなサイトがすぐにできあがります。さらに,SEOにも大変強いブログ機能をコアに持ったCMSです。 本書では,最新バージョンであるGeeklog 1.4.1の特徴・導入・管理・運用・カスタマイズ・開発者用データを詳しく紹介しています。Geeklogは元々セキュリティギークのために開発したブログCMS。Geeklogはじめての導入ガイド,ぜひご活用ください。また,オープンソース活動にご協力をお願いします。

問い合わせ先:http://www.geeklog.jp/

本書記載の内容に基づく運用結果について,著者および株式会社技術評論社はいかなる責任も負いかねます。あらかじめご承知おきください。

 UNIXはThe Open Groupの登録商標です。その他,本書に登場する商品名,会社名などは一般的に各社の登録商標または商標です。

 なお,本文中ではTM,C,Rなどのマークはとくに明記しておりません。

この書籍に関連する記事があります!

オープンソースのCMSを使おう Geeklogでワンランク上のWebサイト運用・管理を実現
CMS(Content Management System)とは,その名のとおりコンテンツを管理するシステムです。最近ではとくに,ECM(Enterprise Content Management)という包括的な括りのうち,とくにWebで利用できるWeb CMSをCMSとして表現することが多くなってきています。
Geeklogとの出会い
SOHO支援グループ「Ivy SOHO」を1998年に立ち上げ,その後SOHOに必要なSEOをテーマに毎月セミナーを開いていくうちにSEOにはブログが最適だという話題へ。セミナー終了後,参加者からCMSの講演の資料をもらったのが2004年の夏でした。

目次

Chapter1:Geeklogとは

  • 1.1 Geeklogの紹介
    •  Geeklogは,PHPとMySQLで動作するCMS
    •  Geeklogは汎用CMS
    •  開発の経緯
    • 1.1.1 直感操作
    •  サイト運営者へ権限移管
    • 1.1.2 軽快な表示
    • 1.1.3 高いSEO効果
    •  キーワード対策
    •  検索エンジン対策
    •  ページ対策
    •  Web 2.0対策
    • 1.1.4 アクセシビリティ
    • 1.1.5 ユーザビリティ
    • 1.1.6 多様なシステム拡張と開発環境
    •  プラグイン
    •  PHPブロック
    •  静的ページPHP
    •  カスタム関数
    •  アプリケーション
    • 1.1.7 ハイセキュリティ
    •  サイトを複数で管理できる
    •  セキュリティギーク
    •  重要なファイルは非公開領域で保護
    •  本体機能が充実
  • 1.2 オープンソースとは
    • 1.2.1 CMSはオープンソースで多く提供
    • 1.2.2 どのCMSを選ぶかは将来の運営の安定のためにも慎重に
    • 1.2.3 オープンソース型のメリットは,初期費用を抑えられ,進化していくこと
    • 1.2.4 オープンソースはハイセキュリティであることが必要条件
  • 1.3 CMSの種類
    • 1.3.1 汎用CMS
    •  一般サイトからグループウェア,ポータルサイトの構築まで
    • 1.3.2 ブログ
    •  日々更新される日記的なWebサイト
    • 1.3.3 Wiki
    •  ドキュメントを共同構築.履歴やタグ機能が強化
    • 1.3.4 SNS
    •  コミュニティ内における情報交換.グループウェアも
    • 1.3.5 Commerce
    •  物品販売やダウンロード販売
  • 1.4 Geeklogのしくみ
    • 1.4.1 データベース
    • 1.4.2 PHPプログラムファイル
    • 1.4.3 テーマファイル
    • 1.4.4 言語ファイル
  • 1.5 Geeklogの機能
    • 1.5.1 記事
    •  記事の例
    •  管理者がログインした場合の記事の表示
    •  記事を編集する編集画面
    • 1.5.2 検索機能
    •  機能を絞った単純な検索も多様に設置可能
    • 1.5.3 リンクシステム
    • 1.5.4 メール送信サービス
    • 1.5.5 メールマガジン
    • 1.5.6 掲示板
    • 1.5.7 イベントシステム
    • 1.5.8 ユーザシステム
    • 1.5.9 UTF-8対応
    •  多言語システム
    •  多言語切り替え
    • 1.5.10 RSS配信機能
    • 1.5.11 静的ページ機能
    •  静的ページPHP
    • 1.5.12 トラックバック,ピングバック,ピング
    •  トラックバックとは
    •  ピングバックとは
    •  ピング送信とは
    • 1.5.13 コメントシステム
    • 1.5.14 テーマシステム
    • 1.5.15 ブロックシステム
    •  ブロックの種類
    •  レイアウトの種類
    • 1.5.16 メール記事投稿
    • 1.5.17 コンテンツのパーミッション
    • 1.5.18 グループの管理権限設定
    • 1.5.19 プラグインシステム
    • 1.5.20 アクセス統計情報
    • 1.5.21 サイトマップ機能

Chapter2:サーバ別導入ガイド

  • 2.1 Geeklogをインストールしよう
    •  Geeklog Japanese提供Geeklog日本語版パッケージの内容
    • 2.1.1 インストールの概要
    •  設置条件を確認する
    •  データベースを準備する
    •  Geeklogをインストールする
    • 2.1.2 サーバ別 データベースを準備する:XREA編
    •  XREAの登録
    •  ドメインウェブ設定画面
    •  データベースの追加
    •  インストールのヒント
    •  インストールの応用形態
    • 2.1.3 サーバ別 データベースを準備する:SAKURA Internet編
    •  データベースの接続
    •  インストールのヒント
    • 2.1.4 本体をインストールする
    •  Geeklog標準パッケージをダウンロード
    •  lib-common.php,config.phpを編集
    •  ファイルをアップロードする
    •  パーミッション変更
    •  インストールプログラム実行
    •  データベース作成後の属性チェック
    •  インストールディレクトリ削除
    •  管理者ログイン
  • 2.2 標準提供の推奨プラグインをインストールしよう
    • 2.2.1 コンフィギュレーションエデイタプラグイン
    •  プラグインインストール
    • 2.2.2 テーマエディタプラグイン
    •  プラグインインストール
  • 2.3 サーバ環境を設定しよう
    • 2.3.1 .htaccessの設定
    •  UTF-8へ変更
    •  register_globals Off
    •  エラー表示を隠す
    •  グーグルサイトマップ対策
    •  拒否IPアドレス
    • 2.3.2 .robots.txtの設定
    •  標準提供ファイルの内容
    •  URLリライトONへ変更した場合の検索エンジンに対する注意
    •  印刷用ページをインデックスから削除する
    • 2.3.3 メールアカウントの設定
    •  代表メールアドレス
    •  システムのメールアドレス
  • 2.4 本体やプラグインをアップグレードしよう
    • 2.4.1 アップグレード方法
    •  アップグレード手順
    • 2.4.2 プラグインアップグレード方法

Chapter3:管理方法〜導入後すぐに試せるカスタマイズ

  • 3.1 管理者が導入直後に運用環境を設定する
    • 3.1.1 管理運営者のユーザアカウントを設定
    • 3.1.2 コンフィギュレーションを設定する
    •  本体のコンフィギュレーションを設定する
    •  プラグインのコンフィギュレーションを設定する
    • 3.1.3 サイトのテーマを設定
  • 3.2 管理者が導入後すぐ試せる簡単カスタマイズ
    • 3.2.1 テーマをカスタマイズする
    •  テーマの構成とレイアウト
    •  レイアウト機能を拡張する
    •  テーマエディタでテーマを変更する
    •  推奨テーマ「ProfessionalCSS」
    •  カスタムテーマ「GeekFlower」
    •  携帯用テーマ「Mobile」
    •  新しいテーマをインストールする
    •  テーマの応用:スタイルシートを切り替える
    •  カスタムメンバーログイン
    •  話題ごとに異なるデザイン
    • 3.2.2 PHPブロックでブロックをカスタマイズする
    •  アクセスカウンタPHPブロック:phpblock_stats()
    •  サイトカレンダPHPブロック:phpblock_mycal()
    •  2階層メニュー:phpblock_nmoxmenu()
    •  テーマテスタPHPブロック:phpblock_themetester()
    •  サイトマップメニュー表示PHPブロック:phpblock_sitemapmenu()
    •  RSSアグリゲータ:phpblock_rssAggregator()
    •  ユーザ権限PHPブロック:phpblock_showrights()
    •  多言語切り替えPHPブロック:phpblock_switch_language()
    • 3.2.3 静的ページPHPでページを作成する
    •  問い合わせフォームページを設置する
    •  ミニショップページを設置する
    •  RSSフィードを表示する
    •  ブロックコンテンツを表示する
    • 3.2.4 カスタム関数を自由に記述する
    •  メール記事投稿カスタム関数:CUSTOM_photomail()
    •  定期的処理を記述するカスタム関数:CUSTOM_runScheduledTask()
    •  CUSTOM_runScheduledTask()内でグーグルサイトマップジェネレータ「phpblock_gsmap()」を実行
    •  テンプレート変数を追加するカスタム関数:CUSTOM_templatesetvars()
    •  カスタムメニューを設定するカスタム関数:CUSTOM_menuEntries()
    •  ユーザ登録時に入力項目を追加するカスタム関数群:custom_users.php
    • 3.2.5 アプリケーションを作成する
    •  サイトマップ:directory/sitemap.php
    •  トピックリスト:directory/topiclist.php
    • 3.2.6 プラグインをインストールする
    •  メディアギャラリプラグイン
    •  Bad Behaviorプラグイン
    •  GUSプラグイン
    •  Banプラグイン
    •  Admin Toolboxプラグイン
    •  Dbmanプラグイン
    •  MT2Geeklogプラグイン
    •  Zen CARTプラグイン(Zen CART on Geeklog)
    •  Flickrプラグイン
    •  テクノラティプラグイン
    • 3.2.7 本体ソースをハックする
    •  Geeklogを携帯対応させる
    •  タイトルをページタイトル-サイト名に変更する
    •  RSSフィード日付のツールチップ表示とXHTML対応

Chapter4:運用方法〜毎日のGeeklog運用方法とユーザの参加方法

  • 4.1 管理者がサイトを運用する
    • 4.1.1 承認待ちリストで承認作業を行う
    • 4.1.2 ユーザとグループの管理
    •  ユーザ登録制の設定と承認作業
    •  ユーザの新規登録を許可しない設定
    •  ユーザ一括登録
    •  グループ管理
    • 4.1.3 ブロックを運用する
    •  話題ブロック
    •  管理者専用ブロック
    •  ログインブロックとユーザ情報ブロック
    •  新着情報ブロック
    •  アンケートブロック
    •  イベントブロック
    • 4.1.4 記事を運用する
    •  記事の追加
    •  コンフィギュレーション
    •  話題(記事カテゴリ)を作る
    •  記事と話題の関係
    •  メール記事投稿で記事を投稿する
    • 4.1.5 静的ページプラグインを運用する
    •  静的ページプラグインのコンフィギュレーション
    • 4.1.6 リンクプラグインを運用する
    •  リンクプラグインのコンフィギュレーション
    • 4.1.7 カレンダプラグインを運用する
    •  カレンダプラグインのコンフィギュレーション
    • 4.1.8 アンケートプラグインを運用する
    •  アンケートプラグインのコンフィギュレーション
    • 4.1.9 掲示板プラグインを運用する
    •  掲示板プラグインのコンフィギュレーション
    • 4.1.10 ファイル管理プラグインを運用する
    •  ファイル管理プラグインのコンフィギュレーション
    • 4.1.11 テーマエディタプラグインを運用する
    •  テーマエディタプラグインのコンフィギュレーション
    • 4.1.12 コンフィギュレーションエディタを運用する
    •  投稿許可ドメイン設定
    •  投稿時のパーミッションのデフォルト
    •  管理者の承認制度
    •  管理者宛メール通知
    •  記事新規投稿コメント許可初期設定
    •  トラックバック,ピングの許可
    •  記事新規投稿トラックバック許可初期設定
    •  トラックバックスパム対策
    • 4.1.13 Geeklogのパーミッションシステム
    • 4.1.14 トラックバック,ピングバック,ピング
    •  トラックバック
    •  ピングバックとは
    •  トラックバックとピングバック
    •  トラックバックやピングバックの受け付け
    •  トラックバックを無効にする方法
    •  トラックバックを送る
    •  ピングを送信する
    • 4.1.15 RSS配信
    •  RSSファイルの作成方法
    • 4.1.16 Spam-Xプラグイン
    •  他のプラグイン
    •  他の方法
    •  情報源
    • 4.1.17 クイックハウツー
    •  データベースのバックアップとリストア
    •  ユーザ新規登録のウェルカムメールをカスタマイズする
  • 4.2 ユーザがサイトを利用する
    • 4.2.1 Geeklog操作画面インターフェース
    • 4.2.2 パスワードを忘れたら
    • 4.2.3 記事投稿
    • 4.2.4 コメント
    • 4.2.5 リンク登録申請
    • 4.2.6 イベント登録申請
    • 4.2.7 アンケートに投票する

Chapter5 初めてのGeeklogカスタマイズ

  • 5.1 カスタマイズ方法
    • 5.1.1 初めてのGeeklog
    •  コンフィギュレーションエディタプラグイン
    •  テーマエディタ
    •  メール記事投稿
    •  サイトマップメニューPHPブロック
    •  記事と静的ページ
    •  トップページデザイン
    •  話題(記事カテゴリ)別のページデザイン
    • 5.1.2 開発者向けカスタマイズ方法
    •  コンフィギュレーション
    •  言語ファイル
    •  テーマ
    •  PHPブロック
    •  静的ページPHP
    •  PHPブロック関数
    •  プラグイン
    •  ハック
  • 5.2 カスタマイズ事例研究
    • 5.2.1 Geeklog日本語サポートサイト
    •  Geeklog Japanese
    • 5.2.2 SOHO支援サイト
    •  IvySOHO
    • 5.2.3 企業サイト
    •  アイビー・ウィー
    • 5.2.4 大学同窓会サイト
    •  大阪市立大学学友会・各同窓会
    • 5.2.5 中学校PTAサイト
    •  とよなかイレブンネット
    • 5.2.6 医師会サイト
    •  平野区歯科医師会

Chapter6:開発者用ドキュメント

  • 6.1 開発者用データ
    •  Geeklog 1.4.1新機能
    •  セキュリティ
    •  スパム防御
    • 6.1.1 config.php
    • 6.1.2 Geeklogのファイル構成とパーミッション
    •  非公開領域
    •  公開領域
    • 6.1.3 テーマの変数
    •  変数について
    •  テンプレート変数を自由に追加する
    •  サイトヘッダ
    •  記事
    •  サイトフッタ
    • 6.1.4 テーブル一覧
    • 6.1.5 日本語UTF-8版言語ファイル1.4.1版
    • 6.1.6 lib-custom.php
    • 6.1.7 lib-common.php
  • 6.2 アプリケーション開発
    • 6.2.1 開発の基本
    •  Hello, World
    •  セキュリティ
    •  どこに置くか
    •  プラグインにすべきか
    •  いくつかの注意点
    •  他の関数
    •  COM_siteHeader()とCOM_siteFooter()
    •  COM_startBlock()とCOM_endBlock()
    •  データベースの使用
    •  $_TABLESへ追加
    •  まとめ
    • 6.2.2 関数を定義する
    • 6.2.3 サポートなど
  • 6.3 プラグイン開発
    • 6.3.1 はじめに
    • 6.3.2 プラグインを記述する関数
    •  モデレーション関数
    •  管理者/ユーザメニュー関数
    •  検索関数
    •  コメント関数
    •  統計関数
    •  アンインストール関数
    •  ユーザ関数
    •  個人情報(profile)関数
    •  その他の(Misc)関数
    • 6.3.3 管理者インターフェースの実装
    • 6.3.4 プラグイン配布の準備
    •  プラグインのtar形式の圧縮ファイル
    •  説明
    • 6.3.5 プラグインインストール方法
    • 6.3.6 プラグインの配布
    • 6.3.7 プラグインAPI
    •  統計
    •  コメント
    •  検索API
    •  モデレーションAPI
    •  RSS API
    •  管理者とユーザのAPI
  • 6.4 セキュリティと対策
    • 6.4.1 COM_applyFilterを使用する
    •  概要
    •  パラメータをフィルタリングする理由
    •  COM_applyFilter
    •  register_globalsについて
    •  悪い例と良い例
    •  COM_applyFilterを使わないほうが良いとき
    •  データベースに保存する前の準備
    •  現在のユーザを確実に識別する方法
    •  要約
    • 6.4.2 register_globalsの問題
    •  register_globalsをオフにする
    •  register_long_arrays
    • 6.4.3 lib-common.phpを使用する
    • 6.4.4 ログの取り扱いについて
    • 6.4.5 ファイルのパス

Appendix FAQ・用語解説

  • App.1 インストール前のFAQ
    • Q:非公開領域が使えないサーバにもインストールできますか?
    • Q:MySQL5以上,PHP5,register_globals = offで動きますか?
    • Q:Geeklogの管理操作を試すことができますか?
    • Q:どうやってパスを見つけたら良いですか?
  • App.2 インストール時のFAQ
    •  ・全般的によくある問題
    • Q:ファイルの展開やFTPソフトはどれを使ったら良いでしょうか?
  • App.3 インストール後のFAQ
    • Q:ログインできない
    • Q:URLリライトが機能しない
    • Q:ゲストユーザの記事投稿を,ルート管理者でなく,記事管理者が編集したい
    • Q:ゲストユーザがGeeklogを編集できない設定にする
    • Q:ログインブロックを隠したい
    • Q:管理者ブロック表示をまちがって削除したのを復活したい
    • Q:サイトの管理などをSSLで行いたい
    • Q:簡単なステップでできる検索ページを作成したい
    • Q:トラブル解決のコツは?
  • App.4 用語解説