c:/inetpub/wwwroot/
)で始まり、*nix系列のパスは /var/www/
のようにルート(/
)から始まる。http://www.foo.com/
などの、Web上での情報のありかを示すもの。Geeklogをインストールして使用するには、ApacheやMicrosoft IISなどのWebサーバとPHPのバージョン4.1.0以降が必要です(訳注:PHPの4.x系列はほぼメンテナンスが終了していますので、今さら選択する理由はありません。5.x系列のできるだけ新しいバージョンを選ぶとよいでしょう。2008年6月16日の時点では、最新バージョンは5.2.6です)。また、データベースとして、MySQL 3.23.2以降か、Microsoft SQL Server 2000以降が必要です。
はじめてGeeklogをインストールするなら、次のことを確認しましょう。
Geeklogの現バージョンのターボール(圧縮ファイル)をGeeklog.netやGeeklog.jpからダウンロードします。
次のコマンドを実行して、ダウンロードしたターボールを伸張(解凍)します。
tar -zxvf geeklog-1.5.0.tar.gz
注意: WinZipを使用すると、そのバージョンによっては、ファイルが壊れると報告しているユーザがいます。こうなるとインストールの最中にエラーになるので、ローカルでファイルを解凍する必要がある場合は、WinZipの代わりに7-ZipやWinRARを使うことを強くお勧めします。
MySQLやMicrosoft SQLを使用し、空のデータベースと変更権限のあるユーザを作成します。ホスティング会社がデータベースを作成してアカウントを作成している場合もあるので、必要ならホスティング会社に尋ねてみてください。
geeklog-1.5.0/public_html/
ディレクトリの中身をWebサーバのドキュメントルートに転送します。ドキュメントルートには、"public_html"や"htdocs"、"www"などの名前がつけられていることが多いです。
次に、geeklog-1.5.0/
ディレクトリの中身の残りをドキュメントルートの親ディレクトリ(お勧め!)かWebからアクセスできないディレクトリに転送します。インストールウィザードはこれらの場所を自動的に検出しようとします。検出できない場合は、インストールの過程でパスを入力するよう要求されます。インターネットからのアクセスを防ぐセキュリティ対策としてこのような仕様になっています。
注意: ホスティング会社がドキュメントツリーの外にファイルを置くことを許可していない場合は、
Webブラウザを起動し、Geeklogのインストールウィザードを実行します(http://サイトのURL/admin/install/index.php
をアドレス欄に入力します)。Geeklogのファイルをサブドメインに置いた場合は、http://サイトのURL/サブドメイン名/admin/install/index.php
などとなります。
Geeklogのインストールウィザードは自動的にインストールを行うので、単に表示される手順に従ってください。
インストールが終了したら、必ず、 admin/install
ディレクトリを削除してください。サイトに最初に表示される記事を読んで、管理者としてのログイン情報を知り、初期値として設定されているパスワードを速やかに変更してください。
データベースが既に存在していて更新する必要があるということを除けば、アップグレードは新規インストールと全く同じです。
現在インストールしているGeeklogの中で自分で変更したカスタムコードがあれば(特に lib-custom.php
。カスタマイズしたコードはすべてこのファイルの中に入れることをお勧めします)、必ずバックアップを取っておいてください。修正したテーマ、画像、静的ページのバックアップを必ず取っておいてください。
また、データベースのバックアップも必ず取っておいてください。ファイル類とデータベースをバックアップする重要性はいくら強調してもし足りないくらいです。
警告しましたよ!
Geeklogの現バージョンのターボール(圧縮ファイル)をGeeklog.netやGeeklog.jpからダウンロードします。
次のコマンドを実行して、ダウンロードしたターボールを伸張(解凍)します。
tar -zxvf geeklog-1.5.0.tar.gz
注意: WinZipを使用すると、そのバージョンによっては、ファイルが壊れると報告しているユーザがいます。こうなるとインストールの最中にエラーになるので、ローカルでファイルを解凍する必要がある場合は、WinZipの代わりに7-ZipやWinRARを使うことを強くお勧めします。
geeklog-1.5.0/
ディレクトリの中身を、現在インストールしているバージョンの同じディレクトリに転送します。たとえば、現在のバージョンを /usr/home/www/geeklog/
にインストールしているなら、新しいバージョンも /usr/home/www/geeklog/
に転送します。
Geeklog 1.4.1及びそれ以前のバージョンからアップグレードする場合は、 config.php ファイル(メインの config.php
と各プラグインの config.php
)をバックアップしておき、新しいバージョンを転送した後で、コピーをそれぞれの場所に戻してください。インストールウィザードはアップグレードの最中にこれらの設定ファイルからデータを読み取り、新しいコンフィギュレーション用に値を設定します。このステップを省くと、Geeklogとインストール済みプラグインの初期値に戻されてしまいます。
Webブラウザを起動し、Geeklogのインストールウィザードを実行します(http://サイトのURL/admin/install/index.php
をアドレス欄に入力します)。Geeklogのファイルをサブドメインに置いた場合は、http://サイトのURL/サブドメイン名/admin/install/index.php
などとなります。
Geeklogのインストールウィザードは自動的にインストールを行うので、単に表示される手順に従ってください。
インストールが終了したら、必ず、 admin/install
ディレクトリを削除してください。
必要なら lib-custom.php
などのバックアップしておいたコードやテーマなどのファイル類を戻します。
先に進む前に、 siteconfig.php
を開き、パスを確認してください。パスが不正であったり、間違いがあったりすると、様々な種類のエラーが発生します。
エラーメッセージが出たら、それを注意深く読んでください。PHPに詳しくなくても、エラーに関するヒントは得られます。エラーメッセージに含まれるパス情報に特に注意してください。上述の通り、パスの間違いは最もよく見られる原因です。
複数のエラーメッセージが表示される場合は、必ず最初のエラーメッセージから手をつけてください。最初のエラーを解決したら、残りのエラーが消えることもよくあります。
エラー: Parse error: parse error in /path/to/your/siteconfig.php on line 20
答え: Parse errorは、自分のtypo(綴り間違い)が原因で起こることが多いです。表示された行やその直前の行をチェックしてください。
よくある間違いは:
Joe¥'s Site
と書かなければならないのに、 Joe's Site
と書いている)
エラー: Warning: main(some/path/to/system/databases/mysql.class.php): failed to open stream: No such file or directory in /path/to/your/system/lib-database.php on line 100
Fatal error: main(): Failed opening required 'some/path/to/system/databases/mysql.class.php' (include_path='.:/some/other/path/') in /some/path/to/system/lib-database.php on line 100
答え: siteconfig.php
中の $_CONF['path']
(Geeklogのシステムファイルのパス)の値が正しくありません。また、 絶対 パス、つまり、ファイルシステムのルートから始まるパスを指定しているか確認してください(Unix/Linux系のOSなら / 、Windowsならドライブ文字から始まります)。
エラー: 1050: Table 'gl_access' already exists
答え: 以前インストールを実行したことがあります(たぶん、失敗しているはずです)。念のために、既存のデータベースを削除してから新しく空のデータベースを作り直し、インストールし直した方がよいです。
エラー: Parse error: parse error in ../../lib-common.php on line 2231
Fatal error: Cannot instantiate non-existent class: template in ../../lib-common.php on line 335
または:
Parse error: parse error in /path/to/geeklog/public_html/lib-common.php on line 3036
Fatal error: Call to undefined function: plg_showcenterblock() in /path/to/geeklog/public_html/index.php on line 67
または:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /path/to/geeklog/public_html/lib-common.php on line 3815
Fatal error: Cannot instantiate non-existent class: template in /path/to/geeklog/public_html/lib-common.php on line 709
答え: 上記の例はすべて(また、 lib-common.php
で発生する "parse error" で、エラーが発生した行番号が特に3000から4000台の場合)、 lib-common.php
が破損していることを示しています。
このドキュメントの冒頭に示したとおり、このエラーの原因は普通、次のうちの1つです:
エラー: Warning: mysql_connect(): Access denied for user: 'username@localhost' (Using password: YES) in /path/to/geeklog/system/databases/mysql.class.php on line 104
Cannnot connect to DB server
答え: まず最初に、 siteconfig.php
中のデータベースの設定が正しいか確認してください。特にMySQLユーザのアカウント名とパスワード、データベース名、MySQLサーバ名。
自分でサーバを運営しているなら、MySQLのユーザに適切な権限を与える必要があるかもしれません。その場合は、管理者としてMySQLサーバにログインし、次のコマンドを発行してください:
GRANT ALL PRIVILEGES ON [database_name] TO [user@host] IDENTIFIED BY '[password]';
FLUSH PRIVILEGES;
[小文字] の部分は適切な値に置き換えてください。
データベースの権限をもっと制限したい、あるいは制限する必要がある場合でも、少なくとも ALTER, CREATE, DELETE, INSERT, SELECT, UPDATE 権限をデータベースユーザに与える必要があります。ALTER と CREATE 権限は、Geeklogのインストールとアップグレード、プラグインやアッドオン(add-ons)のインストールを行うときしか必要ではありません。
エラー: Warning: fopen("/some/path/logs/error.log", "a") - Permission denied in /some/path/public_html/lib-common.php on line 1440
答え: logsディレクトリとその中に含まれるファイルの両方に少なくとも 775 のパーミッションがあることを確認します。775 でうまくいかないなら、777 にする必要があるでしょう。同様に、 public_html/backend
ディレクトリとその中に含まれるファイル(geeklog.rssなど)にも 775 または 777 のパーミッションが必要です。
ヒント: http://自分のサイトのURL/admin/install/check.php
を利用して、パーミッションがすべて適切に設定されているか確認するとよいでしょう。
誰かがログイン・ログアウトするたびに、次のエラーが発生する:
Cannot add header information - headers already sent by (output started at /usr###/home/<userid>/public_html/geeklog/siteconfig.php:589) in /usr###/home/<userid>/public_html/geeklog/system/lib-sessions.php on line 133
答え: siteconfig.php
末尾の ?>
の後に余分なホワイトスペース(スペース、タブ、改行コードなど)が含まれていないか確認してください。(訳注:ファイル末尾の ?>
がなくてもPHPの動作に支障はないので、取り除くとよいでしょう。)
これでも問題が生じるなら、次のことを試してみましょう。
http://www.geeklog.net を訪問して、「サポート(Support)」のセクションを調べてみましょう。サポートセクションには、 よくある質問(FAQ) と 検索(Search)システムがあります。表示されたエラーメッセージを(行番号を除いて)検索してみるとよいでしょう。
http://lists.geeklog.net/pipermail/geeklog-users/ に保存されているメーリングリストの過去ログを読みましょう。このメーリングリストを購読し、Geeklogコミュニティに(英語で)質問を投稿してもよいでしょう。
irc.freenode.net, channel #geeklog
のIRCを試しましょう。siteconfig.php
に含まれるパス情報と lib-common.php
を手元に用意しておいてください。
エラーメッセージをGoogleで検索してみましょう。他の人が同じ問題に遭遇し、解決している可能性があります。Googleで検索していると、同じエラーが発生している壊れたページが表示されることもあります。