無料レンタルサーバは、無料で気軽に使えて便利!なのはいいのだが、環境状態が結構な申告な問題だったりする。
『容量が少ない』のは、もはや当たり前。
更には『接続時間が短く、すぐタイムリミットになる』なかなかの悪環境。
今回は例として『ぶっとびねっと(buttobi.net)』を使う。
このぶっとびねっと、一定の負荷がかかると『High load CGI detected.』と出て処理を停止するのだが、この処理停止ボーダーがかなり低い。
インストール・使用共に、この状態がネックになってくる。
公式に『WordPressが使える』と書いてるのだけども……「嘘だろ!?」というレベル。
buttobi.net自体の管理画面で、インストール処理をしても、途中で止まってしまう。
意地でも使うための手順を、下記に記載しておく。
※2012年現在の状況。自己責任でどうぞ。
『mod_rewrite使えないサーバでWordPressのパーマリンク構造モドキ』もよろしく
事前準備
DBを用意
buttobi.net管理画面に『マイデータベース(MySQL)』を作成ツールがあるので、それを使って作成する。
作ったら試しにログインしてみる。
ID・DB名:『u_』+管理画面のログインID
PASS:管理画面のログインPASS
ところが管理画面から『phpMyAdmin』から何度ログインしようと出来ない!
どうしてコレを見逃せるのか…開発側で確認して欲しかった…
まぁ、phpからは接続出来るので、安心してください…。
WordPressを設置
buttobi.net管理画面の『WordPress / phpBB3 簡単インストール』という自動インストール機能を使ってインストールする。
任せると、環境に適しているのであろうと思われる『WordPress2.7.1』が設置される。
FTPで確認すると、インストール時に指定したフォルダがあるのが、確認出来る。
そうrootディレクトリには作ってくれない。
複数入れられるほど、容量のないくせにねぇ…
そして何故か設置途中でエラーが起きて、設置が完了出来ない場合がある。
その際はFTPで接続して、直接サーバにUPする。
buttobi.netはPHP5なんだけど、PHP4でも使える『WordPress2.7.1』を推奨し設置したことには、きっと意味があるんじゃないかな…?と思うので、無難に『2.7.1』を入れる。
冒険するにしても『2.7系』がいいと思う。
もしかしたら、他のバージョンだとWordPress管理画面のインストーラー自体が、動かないかもしれない…
それくらい公式の管理画面を信じちゃいけないのが、無料フリーサーバというものである。
WordPressをrootディレクトリに移動
ここの項目は個人の判断に任せるのだけど、WordPressをrootディレクトリに移動する。
階層を直すには、FTPツールを使う。
host:XXX.buttobi.net
port:21
protocol:FTP
※XXXは自分のサーバ環境に合わせる
※IDとPASSは管理画面のログインと同じ
※FTPでなければ繋がらない
合わせて『wp-config.php』を修正。
define ('WP_SITEURL', 'http://xxx.XXX.buttobi.net/【WordPressインストール時の設定ディレクトリ】');
となっているので、
define ('WP_SITEURL', 'http://xxx.XXX.buttobi.net');
ついでにリビジョンを停止しておく。
define('AUTOSAVE_INTERVAL', 43200 ); define('WP_POST_REVISIONS', false);
因みにDBのテーブル名は、先頭に『wpup_』とつく名前になっている。(通常は『wp_』)
なので『wp-config.php』も下記のように指定されている。
$table_prefix = 'wpup_';
直してもいいが、それはそれで手間がかかるので、今回は直さない。
WordPressをインストール
http://xxx.XXX.buttobi.net/wp-admin/install.php
にアクセスし、インストールを起動する。
すると
『High load CGI detected.』
と出て、全てのテーブルを作成し切る前に、矯正終了する。
不足分のテーブルを追加しなくてはいけないが、管理画面から『phpMyAdmin』から何度ログインしようと出来ない!
公式のお知らせブログに『修整した』とあるが直っていない…
ローカルIPだけ通してる様子だから、もしかしたら気付いていないのかも知れない…
もう一度、下記インストールアドレスにアクセスする。
http://xxx.XXX.buttobi.net/wp-admin/install.php
するとインストール済みになる。
これでテーブル作成自体は成功。
ユーザとパスワードの設定に間違いはなく、PHPからDBにアクセス出来たという証明になる。
管理画面にログインしてみる。
http://xxx.XXX.buttobi.net/wp-admin/
出来ればラッキー! この時点で完了! おめでとう!
しかし、恐らくこの時点では、ログインできないと思う…
データが上手く入っていないのだもの…
PHPからMySQLにデータを登録する
管理画面にログインできないのは、ログインを始めユーザデータの一切が、満足に入っていないから!
なので、PHPでプログラムを組んで、必要な内容をMySQLのテーブルに登録する。
『phpMyAdmin』が使えれば問題ないのに…。
データ追加用PHPファイルを作成する
『_settingdata.php』等、テキトウな名前のphpファイルを作成。
内容は下記。
<?php //////// ↓※この部分は都度変更※↓ //////// $table = '【テーブル名】'; $sql = "【実行するSQL】"; //////// ↑※この部分は都度変更※↑ //////// // DBへ接続(HOST,USER:PASS //MySQL に接続する。 if( !$db = mysql_connect("localhost","【DBログインID】","【ログインPASS】") ){ print "MYSQL接続失敗"; exit; } // 使用DB指定 mysql_select_db("【DBログインID】",$db); // SQL実行 $result = mysql_query("show tables;",$db); show_me($result); // SQL実行 if($sql) { $result = mysql_query($sql,$db); show_me($result); } // SQL実行 if($table) { $result = mysql_query("SELECT * FROM ".$table."",$db); show_me($result); } // 結果を保持するリソースを開放 mysql_free_result($result); // DB接続切断 mssql_close($db); function show_me($result) { // テーブルの中身を表示 print("<pre>"); while($row = mysql_fetch_array($result)){ print_r($row); } print("</pre>"); // 件数 print(mysql_num_rows($result)."件"); } ?>
『※この部分は都度変更※』
この部分で実行して欲しいSQLは下記2点。
実行すれば管理画面にログイン可能となる。
慎重に1個ずつ実行をオススメする。
実行SQL、1個目
$pass = '【wordpressログインPASS】'; $table = 'wpup_users'; $sql = "INSERT INTO ".$table." VALUES (1, '【wordpressログインID】', MD5('".$pass."'), 'admin', 'you@example.com', '', now(), '', 0, 'master');";
実行SQL、2個目
$table = 'wpup_usermeta'; $sql = "INSERT INTO ".$table." VALUES (1, 1, 'nickname', 'mastar'), (2, 1, 'rich_editing', 'true'), (3, 1, 'comment_shortcuts', 'false'), (4, 1, 'admin_color', 'fresh'), (5, 1, 'wpup_capabilities', 'a:1:{s:13:\"administrator\";b:1;}'), (7, 1, 'plugins_last_view', 'active');";
※既にある場合、ID5の内容が『wp_capabilities』となっている可能性があるので『wpup_capabilities』になっているかチェックする。
もしログイン出来ない旨のエラーが出た場合
上記2つを実行したのに、ログインが出来ない場合は、書きを実行する。
$table = 'wpup_options'; $log = 'a:5:{s:13:"administrator";a:2:{s:4:"name";s:9:"管理人";s:12:"capabilities";a:30:{s:13:"switch_themes";b:1;s:11:"edit_themes";b:1;s:16:"activate_plugins";b:1;s:12:"edit_plugins";b:1;s:10:"edit_users";b:1;s:10:"edit_files";b:1;s:14:"manage_options";b:1;s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:6:"import";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:8:"level_10";b:1;s:7:"level_9";b:1;s:7:"level_8";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;}}s:6:"editor";a:2:{s:4:"name";s:9:"編集者";s:12:"capabilities";a:19:{s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;}}s:6:"author";a:2:{s:4:"name";s:6:"作者";s:12:"capabilities";a:8:{s:12:"upload_files";b:1;s:10:"edit_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:4:"read";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;}}s:11:"contributor";a:2:{s:4:"name";s:9:"寄稿者";s:12:"capabilities";a:4:{s:10:"edit_posts";b:1;s:4:"read";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;}}s:10:"subscriber";a:2:{s:4:"name";s:9:"協力者";s:12:"capabilities";a:2:{s:4:"read";b:1;s:7:"level_0";b:1;}}}'; $sql = "INSERT INTO ".$table." (option_id, blog_id, option_name, option_value, autoload) VALUES (105, 0, 'wpup_capabilities', '".$log."', 'no');";
作成完了
編集する場合、腹立たしいことに、記事一覧を見るだけで『High load CGI detected.』が出ることがある。
記事へは記事IDを使い、URLを直接指定して、編集画面へ直接飛ぶことをオススメする。
http://xxx.XXX.buttobi.net/wp-admin/post.php?action=edit&post=【記事ID】
※post_typeがpageがページ、postが記事。
因みに
携帯対応(ガラケー対応)には、負荷と古var対応的に『mobile_eye』をオススメする。
※使い方はリンク先を参照してください。
コメント