Installation14
提供: GeeklogJpWiki
FAQ( インストール前|インストール時|インストール後|構築時|運営時|Tips|その他)
インストール時のFAQ
全般的によくある問題
- 先に、config.php を開いてよくチェックしてください。不良なパスやパスのタイプミスで、Geeklogのあらゆる種類のエラーが生じることがよくあります。
- エラーメッセージが出たら、注意してそれを読んでくさい。PHPに慣れていなくても、何が悪いかヒントがあるものです。エラーメッセージに含まれるパスに特に注意してください。間違ったパスが、トラブルをよく起こす原因になります。
- 複数のエラーメッセージが出たら、常に最初のエラーから初めてください。他のエラーは、一度最初のエラーを修正すれば自動的になくなります。
Q.Parse error in config.php
次のようなエラーが出ました。
Parse error: parse error in /path/to/your/config.php on line 76
※(行番号は変わることがあります。)
<回答>
文法エラーは、通常あなたが作成したタイポにヒントがあります。所定の行のファイルをチェックしてください。(実際のエラーは、エラーメッセージに記述されたエラーの前の行にある場合があります。)
よくあるトラブルは:
* ひとつの引用符に適切にパスが入っていない。 * 行の最後にセミコロンがない。 * ひとつの文字列の中にひとつの引用符を使っている。 (余分な引用符を避けるため、Joe's SiteをJoe\'s Siteと書かなくてはいけません。)
Q.Warning:failed to open stream
次のようなエラーが出ました。
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 110
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 110
(行番号は変わる場合があります。)
<回答>
config.phpの$_CONF['path']変数に入力したパスが正しくありません。正しく打ち込んだか確認してください。また、絶対パスが使われているかも確認してください。たとえば、ファイルシステムのルートで始まっているパスです。(または / under Unix/Linuxか、Windowsではドライブ名で始まっています。)
Q.already exists
次のようなエラーが出ました。
1050: Table 'gl_access' already exists.
<回答>
以前インストールスクリプトを実行したはずです。(おそらく失敗しています。)念のために、インストールのスクリプトを再び実行する前に、データベースをドロップして新しく空のデータベースを作成してください。
Q.Parse error in lib-common.php
インストール中に次のようなエラーが出ました。
ケース1:
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
ケース 2:
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
ケース 3:
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
(行番号は変わる場合があります。)
<回答>
上記のような、一般的に3000か4000の範囲の行番号が付いているlib-common.phpの文法エラーメッセージが出るケースはすべてlib-common.phpが元のファイルから変換されてしまっていることで発生します。
これはたいてい次のようなことから生じています。
* WinZipのあるバージョンでtarballを解凍すると発生することがあります。代わりにExpLZHを使ってください。 * WYSIWYG HTMLエディタでlib-common.phpを編集すると発生することがあります。代わりにテキストエディタを使ってください。 * Cpanelのようなツールに搭載されているオンサイトテキストエディタでlib-common.phpを編集するすると発生することがあります。代わりにテキストエディタを使ってください。
lib-common.phpは、必ずテキスト・エディタを使って編集してください。
Q.Template Error
次のようなエラーが出ました。
Template Error: set_root: /some/path/to/public_html/layout/XSilver is not a directory. Halted.
<回答>
これはパスのトラブルです。$_CONF['path_html']の設定をチェックしてください。Geeklogのpublic_htmlディレクトリを変更しなかったり、リネームしなかった場合は、その設定を変更する必要はまったくありません。(オリジナルのコンテンツに行を戻してください。)あるいは、config.phpの行の上のコメントをもう一度注意して読んで、その行を修正してください。
Q.Warning:mysql_connect(): Access denied for user
次のようなエラーが出ました。
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
(行番号は変わる場合があります。)
<回答>
最初に、config.phpのデータベースの設定が正しいか確認してください。特に、MySQLユーザーの名前とパスワード、データベースの名前、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のインストールとアップグレードには必要です。
Q.ユーザーに対するアクセス拒否(MySQL)
次のようなエラーメッセージが出ました。
<回答>
この場合、Geeklog はデータベースにアクセスできていません。理由はいくつか考えられます。
まず最初に, config.php のデータベースの設定が正しいことを確認してください。特に,MySQL ユーザーの名前とパスワード,データベース名,MySQL サーバーの名前,です。
自分でサーバーを動かしているのなら,MySQL ユーザーに適切なパーミッションを与える必要があるかもしれません。MySQL サーバーに root ユーザーとしてログインし,次のコマンドを実行します。
GRANT ALL PRIVILEGES ON database_name TO user@host IDENTIFIED BY 'password';<br> FLUSH PRIVILEGES;
当然ですが,小文字の文字列は実際の値に置き換えてください。
データベースのパーミッションを制限したい,または,そうする必要がある場合でも,最低限のパーミッションとして, ALTER, CREATE, DELETE, INSERT, SELECT, UPDATE 権限をデータベースユーザーに与える必要があります。 ALTER 権限と CREATE 権限が必要になるのは,Geeklog のインストールと更新,プラグインやアドオンのインストール時だけです。
上記の場合に加え, MySQL 4.x で Geeklog 1.3.10 以降のバージョンを動かしている場合には,データベースユーザーに LOCK TABLES 権限を与える必要もあるでしょう。
Q.ファイルの展開やFTPソフトはどれを使ったらよいでしょうか?
ファイルの展開が正常にできない場合があります。展開ソフトはどれを利用すればよいでしょうか。また、Windows環境の場合、FTPソフトはどれが良いでしょうか。また、FTPで情報が漏洩することがあるのでしょうか。
<回答>
ファイル展開では、「ExpLZH」があります。WinZIPのあるバージョンで、展開時に不具合があることが確認されているので注意してください。
FTPでは、FTPSが可能な「NextFTP4」があります。暗号化通信を行えるので、セキュアにデータを通信できます。通常のFTPでは平文で送受信するので、情報が漏洩する危険があります。
Q.プラグインのインストールやコンフィギュレーション等編集が一切できません
プラグインのインストールやコンフィギュレーション等編集が一切できません。記事、ページ追加もできません。
<回答>
/admin/install/info.php を実行して Hostname:Port を確認してください。表示させたいドメインが記述されているでしょうか。もし違うのであれば、ラビッドサイトの場合は、テンポラリードメイン を削除してください。
Q.インストールが途中で中断されエラーが表示
インストールが中断されます。一応インストールできているようですが、ブロックのタイトル部分が文字化けしています。 error.logを確認すると以下のように、記述されています。
Wed Oct 27 02:37:08 2010 - 1267: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='. SQL in question: SELECT COUNT(*) FROM gl_pingservice WHERE name = 'ドリコムRSS' Wed Oct 27 02:37:08 2010 - 2 - Invalid argument supplied for foreach() @ /var/www/virtual/private/system/lib-plugins.php line 1524 Wed Oct 27 02:38:08 2010 - Unable to unserialize a:13:{i:0;s:9:"???";i:1;s:6:"??";i:2;s:9:"???";i:3;s:15:"?????";i:4;s:12:"????";i:5;s:6:"??";i:6;s:6:"??";i:7;s:6:"??";i:8;s:15:"?????";i:9;s:6:"??";i:10;s:15:"?????";i:11;s:6:"??";i:12;s:6:"??";} for calendar:event_types
<回答>
データベースがutf-8で作成されていない可能性があります。データベースをutf-8でつくり直してください。