もぐもぐ自宅サーバ(DNRH-001)

2009/04/26

DNRH-001 サーバ化計画(lighttpd(fastcgi)+geeklog)

DNRH-001のサーバ化計画。
xampp+geeklogでやったら、ローカルからのアクセスですら、1ページ表示に10秒くらい時間がかかった。何が遅いかの切り分けをしてないが、webサーバを軽いと評判のlighttpdにしてみた。また、どうせなのでfast-cgiにした。結果として、1ページ表示が2秒くらいになった。apacheが遅かったのか?(ホントはMySQLのverを変えているので、原因が確定できていない)

【参考URL】
Setting up PHP with Lighttpd
http://redmine.lighttpd.net/wiki/lighttpd/TutorialLighttpdAndPHP

【手順】
(1)lighttpd
1)以下からファイルをダウンロードし、インスコ。

http://en.wlmp-project.net/downloads.php?cat=lighty
LightTPD-1.4.22-1-Win32-SSL.exe

2)lighttpd-inc.confの編集

a)server.modulesにて、mod_fastcgiを有効に設定。(mod_fastcgiの先頭にある#を削除)
b)fastcgi.server  = ( ".php" =>( "localhost" =>("host" => "127.0.0.1","port" => 521 )))

(2)PHP

1)以下からファイルをダウンロード。

http://www.php.net/downloads.php
php-5.2.9-2-Win32.zip

2)解凍して、c:\phpに展開。

3)システムのプロパティ-詳細設定-環境変数に、c:\phpを追加。

4)php.ini.distをコピーして、php.iniとする。

5)php.iniを好きなように編集。ただ、最低限、以下はやる必要がある。

・extension_dir の右辺値を有効にする。 例えば extension_dir = "c:\php\ext\"
・extensionで、mbstring/mysql/mcryptをコメントアウト

・doc_rootは空にしておく。そうしないと、phpを開くと 「No input file specified.」 になる。

6)php-cgiを起動。
fastcgiにするため、以下のバッチファイルを作成し、スタートアップにいれておいた。

----
c:\php\php-cgi.exe -b 127.0.0.1:521
----

※参考URLでは、PHPプロセスとLighttpdを同時期に起動するために、以下のバッチファイルを用意している。

----
@ECHO OFF
ECHO Starting PHP FastCGI...
RunHiddenConsole.exe ..\PHP\php-cgi.exe -b 127.0.0.1:521
ECHO Starting LightTPD...
ECHO.
lighttpd.exe -v
ECHO.
lighttpd.exe -f conf\lighttpd-srv.conf -m lib
EXIT
----

なお、RunHiddenConsole.exeは、以下からダウンロード可能。
http://blogbuildingu.com/files/RunHiddenConsole.zip

(3)MySQL

 

1)以下からファイルをダウンロード。

http://dev.mysql.com/downloads/

2)インスコ

Setup Type  で Customを選択し、以下を設定してインスコ。

プログラム   c:\mysql\
データファイル c:\mysql\datafiles

Interface Configuration Wizard

・Detailed Configuration
・Server Machine
・Multifunctional Database
・InnoDB Tablespace Settings デフォルトのまま
・Decision Support (DSS)/OLAP
・Enable TCP/IP Networking
・Best Support For Multilingualism
・Install As Windows Service
  Include Bin Directory in Windows PATH
・Modfiy Security Setting

※何度か、インスコを繰り返していると、サービス登録エラーになる。その場合、コマンドプロンプトで、以下を実施。
sc delete mysql
http://dev.mysql.com/doc/refman/5.1/ja/windows-troubleshooting.html

(4)FileZilla

1)FileZilla サーバを以下からダウンロード

http://filezilla-project.org/

2)インスコ

FileZilla Server-FileZilla Server Interfaceを実行
Administration passwordを設定

メニュー Edit-Usersで、設定用ID/PWを設定
Directoryには、C:\Lighttpdを設定。

3)fileZillaの管理ツール起動。
ユーザgeekadminを作成し、デフォルトフォルダをc:\lighttpdにしておく。(geeklogインスコ時に使う)

(5)geeklog

1)mysqlにgeeklogで使用するDBを作っておく。今回は、"geeklog_db"とした。

  mysql>create database geeklog_db;

2) 1)で作ったDBにアクセスするためのユーザ"geekadmin"を作る。xxxxxxには、設定したいパスワードを入力。

mysql> grant all privileges on geeklog_db.* to geekadmin@localhost identified by 'xxxxxx' with grant option;

3)ここから、.netをダウンロードしてインスコ。(Geeklogインストーラで使用するので…)

4)ここから、wkyGeeklogインストーラをダウンロードして起動。設定値は以下のとおり。

・データベースの設定
DBホスト名:xxx.yyy.zzz
DB名: geeklog_db
テーブル接頭子: gl_
DBユーザ名、パスワード: 8)で作ったユーザ

※DBホストはddnsで設定したURL。DB名は7)で作成したデータベース名。

・パス設定
非公開領域の絶対パス: /lighty/geekmng
公開領域の絶対パス: /lighty/htdocs/geeklog

※非公開領域、公開領域の絶対パスにはローカルのパスを設定。"/lighty/geekmng"は"c:\lighty\geekmng"と同じ意味。

・サイト設定は適当

・FTP接続の設定
FTPホスト名:localhost
FTPユーザ名:geekadmin
非公開領域のFTP接続パス:/geekmng/
公開領域のFTP接続パス:/htdocs/geeklog/

※ここには2)で作ったユーザを設定。パスはFTPのデフォルトフォルダ"c:\lighty"からの相対パスを設定。

5)4)で、wkyGeeklogインストーラがuploadを完了すると、geeklogの初期設定画面が表示されるので、それに従って、設定。

これで、おしまい。

その他、DNRH-001サーバ化計画の記事は以下を参照。
http://poxy.cocolog-nifty.com/blog/dnrh001/index.html

| | コメント (0) | トラックバック (0)

2009/03/31

DNRH-001 サーバ化計画(xampp+geeklog)

DNRH-001のサーバ化計画。ログっておく。

【基本方針】
「適当にCMSツールが動けば良いや」、という基本方針。それこそ適当に見繕ったが、なんとなくgeeklogが良さそうに見えたので採用。あとは、Webサーバ、php、SQLを設定する必要があったので、xamppを使用。OSは再インスコが面倒なので、WinXP HEのままとした。

【事前準備】
・このマシン、なんか全体的に重い。前に使ってたサーバ機C3-500MHzより遅いかも。タスクマネージャみてたらUPS監視ツールが遅いっぽかったので、それをアンインスコすると速くなった。まあ、要らないし>UPS

・ついでに、BIOSを1.03→1.05にアップデート。
↓からBIOSとBIOS Flash Utility for Windows XPをダウンロード。Flash Utilitiyを起動して、BIOSをアップデート。
http://www.via.com.tw/en/products/mainboards/downloads.jsp?motherboard_id=241

清水 隆夫の「Good Job !」に詳しい。

【手順】
1)ここから、XAMPPのダウンロード。詳細は同ページの「よくある質問」を参照

2)XAMPPのインスコ。apache、mysql、FileZillaをサービス登録して、Windowsログオン時に自動起動したいので、インスコ途中の画面で全サービスをチェック。

3)XAMPPインスコ完了後、ブラウザで以下を開く。

    http://localhost

4)XAMPPの画面が開くので、左メニューから「セキュリティ」を選択し、画面に従って、表示された警告に対しての処理を行う。

5)XAMPPコントロールパネルから、fileZillaの管理ツール起動。
  ・newuserを削除。
 ・ユーザgeekadminを作成し、デフォルトフォルダをc:\xamppにしておく。(geeklogインスコ時に使う)

6)mysqlのデフォルト言語をUTF-8に変更。(デフォルト latin-1になってる)
  C:\xampp\mysql\bin\my.cnf を開いて、以下を追記 (エクスプローラ上、短縮ダイアル「my」になってる)。

------------
[mysql]
default-character-set=utf8

[mysqld]
default-character-set=utf8
character_set_server=utf8
skip-character-set-client-handshake
------------

その後、XAMPPコントロールパネル上から、MySQLを再起動。

以下で、確認可能。
------------

c:\>mysql -u root -p

Enter password:******

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 218
Server version: 5.1.30-community MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> SHOW VARIABLES LIKE 'character\_set\_%';  <---UTF8確認用
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| character_set_client     | utf8  |
| character_set_connection | utf8  |
| character_set_database   | utf8  |
| character_set_results    | utf8  |
| character_set_server     | utf8  |
| character_set_system     | utf8  |
+--------------------------+-------+

7)mysqlにgeeklogで使用するDBを作っておく。今回は、"geeklog_db"とした。

  mysql>create database geeklog_db;

8) 7)で作ったDBにアクセスするためのユーザ"geekadmin"を作る。xxxxxxには、設定したいパスワードを入力。

mysql> grant all privileges on geeklog_db.* to geekadmin@localhost identified by 'xxxxxx' with grant option;

9)ここから、.netをダウンロードしてインスコ。(Geeklogインストーラで使用するので…)

10)ここから、wkyGeeklogインストーラをダウンロードして起動。設定値は以下のとおり。

・データベースの設定
DBホスト名:localhost
DB名: geeklog_db
テーブル接頭子: gl_
DBユーザ名、パスワード: 8)で作ったユーザ

※DBホストは自宅サーバなので、まずはlocalhostにしておく。DB名は7)で作成したデータベース名。

・パス設定
非公開領域の絶対パス: /xampp/geekmng
公開領域の絶対パス: /xampp/htdocs/geeklog

※非公開領域、公開領域の絶対パスにはローカルのパスを設定。"/xampp/geekmng"は"c:\xampp\geekmng"と同じ意味。

・サイト設定は適当

・FTP接続の設定
FTPホスト名:localhost
FTPユーザ名:geekadmin
非公開領域のFTP接続パス:/geekmng/
公開領域のFTP接続パス:/htdocs/geeklog/

※ここには5)で作ったユーザを設定。パスはFTPのデフォルトフォルダ"c:\xampp"からの相対パスを設定。

11)なんか途中でアプリが落ちたのだけど、FTPにはちゃんとアップできているようなので、あんまり気にせずに、以下のURLを開き、画面にしたがって設定。

    http://localhost/geeklog

12)最後に、geeklogにログインして、管理者メニュー「コンフィギュレーション」のサイトで、「localhost」→DynamicDNS等で設定したURLに変更。

これで、おしまい。

その他、DNRH-001サーバ化計画の記事は以下を参照。
http://poxy.cocolog-nifty.com/blog/dnrh001/index.html

| | コメント (0) | トラックバック (0)

2009/03/26

DNRH-001 ネジ山弱し

皆がWBC決勝で盛り上がっているところ、僕も、自宅サーバ用マシンDNRH-001の256MBしかないRAMを増設することで盛り上がっていた。

1GBのRAMを買ってきて、マシンのフタを外そうと、ドライバでネジをまわしたところ、完全にネジ山を潰した。この喪失感。もう、二度と開けない。

DNRH-001サーバ化計画の記事は以下を参照。
http://poxy.cocolog-nifty.com/blog/dnrh001/index.html

| | コメント (0) | トラックバック (0)

2009/03/21

DNRH-001メモリ増設

コネタマ参加中: 定額給付金、もらったら何に使う?

決めていないが、とりあえずメモリでも買うかな、と。
サーバ機でも作ろうかと思って2万円程度でDNRH-001を買い、そのまま放置してたのだけれど、最近、やっと稼働させた。当初考えていたLinuxを入れるのが面倒くさくなって、Winのままにしたら、メモリが256MBしかなくて、ウィルスバスターがインスコできなかったから。

小さくて結構おもろいですよ。>DNRH-001。FANレス機で静音を狙ってたのに、ディスクアクセス音がうるさすぎなのは玉に瑕だけれど。VIA C3(Nehemiah) 1GHzだし、低電力かなと思ったけれど、実際は40Wくらい使ってるらしいけど。

DNRH-001サーバ化計画の記事は以下を参照。
http://poxy.cocolog-nifty.com/blog/dnrh001/index.html

| | コメント (0) | トラックバック (0)