InstallBefore
提供: GeeklogJpWiki
FAQ( インストール前|インストール時|インストール後|構築時|運営時|Tips|その他)
目次 |
インストール前のFAQ
Q.非公開領域が使えないサーバにもインストールできますか?
<回答>
インストールできますが、注意が必要です。
Geeklog の本体ソース(public_htmlディレクトリの外にあるもの全て)は セキュリティ上の理由からURL 経由でアクセスできないよう、非公開領域にインストールするべきです。しかしながら,中には 公開領域以外の領域にファイルをインストールすることを認めていないホスティングサービスも、無料ないし安価なサービスではよくあります。
そのような場合でも,サイトのディレクトリをパスワードで保護する方法があれば,Geeklog をインストールできます。保護には通常、 .htaccess と htpasswd ファイルを使います
次に手順を説明します。
- Geeklog の public_html ディレクトリの中にあるものを全てサイトにアップロードします。
- 一番上のディレクトリにディレクトリを新たに作成します(見え見えの名前を付けないでください。たとえば,単に geeklog 等はディレクトリ名を推測されてしまうので絶対に避けてください)。
- そのディレクトリの中に Geeklog の 本体パッケージの圧縮ファイルに含まれているpublic_htmlディレクトリ以外の全てのファイルとディレクトリをコピーします。
- そのディレクトリをパスワードで保護します。
- インストールマニュアルに従って, config.php を編集します。
- $_CONF['path_html'] が 公開領域のトップディレクトリ,つまり,public_html の内容をコピーしたディレクトリを指すようにします。$_CONF['path'] からの相対パスを指定する代わりに完全パスを指定してください。次のように見えるはずです(パスが / で始まる)。
$_CONF['path_html'] = '/path/to/your/public_html/';
- $_CONF['path'] が上で作成したディレクトリ,つまり, config.php のあるディレクトリを指すようにします。
- インストールマニュアルに従って,インストールを続行します。
そのディレクトリをパスワードで保護できなくても,Geeklog をインストールして運用することはできますが,あまり安全なインストールとは言えません。他のホスティングサービス会社に乗り換えた方がよいでしょう。
Q. MySQL5以上、PHP5、register_globals = offで動きますか?
<回答>
MySQLのバージョン5.0以上でもUTF-8で本体の設置は可能ですが、 lib-database.phpの最後に次の1行を追加してください。
DB_query ("SET NAMES 'utf8'" );
※対策しないでインストールすると、初期に作成される日本語の記事が文字化けしたり、画面より入力する記事が文字化けします。
PHP5, register_globals = off で現在動作が確認されているプラグインは、アマゾン,bad_behavior,dbman, ファイル管理,flickr, 掲示板,GUS, links, polls, spamx, staticpages, technorati, themedit です。
XREA(UTF-8),ファーストサーバ(EUC)で多くの導入事例があります。文字コードは、UTF-8を強く推奨します。
Geeklog を PHP 5 で使っていて問題が起こっているなら,
- php.ini で register_long_arrays = on にしてください。古い PHP 4 との互換性のために,Geeklog は「旧式の」入力配列 $HTTP_POST_VARS と $HTTP_GET_VARS を当てています。
- register_globals = on にしてください。バージョン 1.4.0 以降,Geeklog 本体やGeeklog Japaneseで提供しているアドオンは register_globals = off で動作しますが,その他で配布されているプラグインやアドオンの中にはそうでないものもあります。
Q.Geeklogの管理操作を試すことができますか?
<回答>
デモサイト http://demo.geeklog.net/を試してください。
ここでは,管理者(ユーザー名: Admin, パスワード: password)としてログインすることもできるし,一般ユーザーとして登録することもできます。なお、デモサイトは、一定時間ごとに内容が初期化されています。
日本語の環境で管理操作を試すには、Geeklog Japaneseデモサイトで試してください。ユーザ管理など一部の管理作業を除いて様々な管理操作を行えます。
Q.Geeklog を動かすのに必要なものは?
<回答>
Geeklog は PHP と MySQL,それとこの両者が動く Web サーバーが必要です。
- PHP: 必要な最低バージョンは PHP 4.1.0 ですが,このバージョンは相当古いものでセキュリティ上の問題も抱えているので,最低でも PHP 4.1.2 を使うことをお勧めします。更に良いのは,常に最新版の PHP を使うことです。
Geeklog は PHP 5 でも正常に動きます。#MySQL: バージョン 3.22 にまで遡って互換性を保つように努めていますが,最新版を使うことをお勧めします。 - Web サーバー: Geeklog は Apache, Zeus, Microsoft IIS Web サーバで動くことがわかっています。他のコンポーネントと同様,最新版を使うようお勧めします。
- バージョン1.4.1以後は、Microsoft SQL Server をサポートします。
Q.どうやってパスを見つけたらよいですか?
<回答>
まず、http://yourgeeklogsite/admin/install/install.php を実行してください。そのページの一番下にインストール用スクリプトの完全なパスがヒントとして表示されています。設定にもよりますが,それで geeklog のパス($_CONF['path'])として設定する必要のあるパスもわかるでしょう。これらのヒントからパスを見つけることができるはずです。
Q.メールの設定
<回答>
バージョン 1.3.9 以降,Geeklog ではメールを送るのに PEAR::Mail クラスを使用し,次のような送信方法を提供しています。
- 'smtp', つまり,SMTP サーバーを使用する
- 'mail', つまり,PHP に組み込まれているメール関数を使用する
- 'sendmail', つまり,Unix の sendmail アプリケーションを使用する
次のような設定が config.php に見つかるでしょう。
SMTP メールを送るのに必ず SMTP サーバーを使うようにするには, 'backend' に 'smtp' を設定し,サーバーへ接続するのに必要な情報を入力します。
'host' => 'smtp サーバー名', 'port' => '25', 'auth' => false, 'username' => 'smtp ユーザー名', 'password' => 'smtp パスワード'
これらの設定値はISPから教えてもらっているはずです。smtp サーバー名はふつう,'smtp.your-domain.com' の形をしていますが,単に 'localhost' となっている場合もあるでしょう。ポート番号はふつう 25 です。'auth' オプションは Geeklog に認証を使うかどうかを指示します(認証するには true に設定してください)。
mail 'backend' を 'mail' に設定すると(これがデフォルトです),Geeklog は PHP に組み込まれている mail() 関数を使用します。この場合,他の $_CONF['mail_settings'] オプションを変更する必要はありません。
これはバージョン 1.3.9 より前の Geeklog が用いてきた方法とほぼ同じです。しかしながら,PEAR::Mail での実装方法が少し異なっているため,Web サーバーで safe_mode が on になっていると, 'mail' オプションを使うことができません。その場合は,他のオプションを使わなくてはならいでしょう。
sendmail ほとんどの場合,このオプションを使うメリットは全くありません。もっぱら実装を完全なものにするためにこのオプションは提供されています。sendmail バイナリのパスをを設定し,さらに 'sendmail_args' を sendmail に渡すことで余分な引数を渡すことができます。
どの方法を使えばよいでしょうか? 可能ならばですが,たぶん SMTP が最良でしょう。SMTP サーバー経由でメールが送信されることが保証され,メールが厳格なフィルタによってスパムと認識される可能性が低くなるからです。
'mail' は 2 番目に良い方法ですが,上述の通り, safe_mode が on の場合は作動しません。
4 番目のオプション 上述の方法がどれもうまくいかないなら,4 番目の選択肢があります。自分でメールを送る関数を実装するのです。PHP のメール関数を無効にしている無料ホスティングサービスでは必要になるでしょう。
この関数は CUSTOM_mail という名前でなければなりません。サンプルの実装が Geeklong に同梱されている lib-custom.php の中にあります。このコードはバージョン 1.3.9 よりも前の Geeklog がメールを送信するのに使っていたコードを実装し直したものです。このコードでは PHP のメール関数も使いますが,safe_mode が on の状態でも作動するようになっています。
日本語標準パッケージでは、日本語のメールが文字化けしないよう、このCUSTOM_mail関数を提供しています。