lolipopにphpBB3をインストールする(3/3)

前回に引き続きphpBBのセットアップを行います。

下記作業のうち、1,2は前回終わったので今回は残りの3つを設定します。

1:"申し訳ありませんが、掲示板は現在使用できません"のメッセージが表示されている。
2:掲示板にフォーラムが作られていない。
3:ヘッダ領域がデフォルトのまま(画像・サイトタイトル)
4:時刻表示がJST(日本標準時)ではなくUTCになっている為、9時間ずれている。
5:デザインがデフォルトのままなのでちょっと野暮ったい。(好みの問題ですが...)




ヘッダ部の表示内容を変更する

前回と同様、管理者ページに移動します。
管理ページの左メニューより、掲示板の設定→掲示板の環境を選択します。



画面右の、サイト名、サイト説明を変更し、送信ボタンをクリックすると…

    ↓



トップページの表示が変わります。




時刻表示が9時間ずれているのを変更する


こちらも、掲示板の環境で変更できます。
タイムゾーンのUTCになっているので…


UTC+9の日本標準時に変更します。



掲示板に戻ると、表記が日本標準時に変わります。
(日付の表記方法も,ここで変更可能です)



デザインを変更する


phpbbのオフィシャルサイト上にスタイルが登録されています。
登録されているスタイルをダウンロードすることで、全体のレイアウトを簡単に変更できます。

http://www.phpbb.com/customise/db/styles-2/にアクセスし、好みのデザインを探します。


一覧から選択すると、スタイルのサマリー情報が表示されます。


左上にある”view demo”をクリックすることで、プレビューの表示が可能です。


好みのスタイルが見つかったら、downloadをクリックします。


ダウンロードしたzipを展開してphpBB3をインストールしたフォルダの/stylesにアップロードします。
phpBB管理画面の”スタイル”タブを選択すると、アップロードしたスタイルが登録されています。


“インストール”をクリックし掲示板に戻ると、スタイルが変更されています。


※うまく変更されない場合は、リロードするか、インストール済みのスタイルを一旦無効にしてから再度有効にすると反映されます。

lolipopにphpBB3をインストールする(2/3)

前回のエントリで、phpBBのインストールが完了しました。
次は、掲示板に書き込みが出来るよう環境づくりを行います。


掲示板を使用できるようにする

無事インストールできたphpBBですが、サイトにアクセスしてみると、以下の点でまだ利用可能な状況になっていません。

1:"申し訳ありませんが、掲示板は現在使用できません"のメッセージが表示されている。
2:掲示板にフォーラムが作られていない。
3:ヘッダ領域がデフォルトのまま(画像・サイトタイトル)
4:時刻表示がJST(日本標準時)ではなくUTCになっている為、9時間ずれている。
5:デザインがデフォルトのままなのでちょっと野暮ったい。(好みの問題ですが...)




これから上記の問題点を順に解消して行きます。


1:”申し訳ありませんが、掲示板は現在使用できません”のメッセージが表示されている。


掲示板のトップページにアクセスすると、以下のエラーが表示されています。
この原因は、管理メニューへログインしてみるとが分かるので、ログイン方法の検証も兼ねて、確認してみます。


トップ画面のログインをクリックします。



インストール時に指定したユーザ名、パスワードを入力し、ログインをクリックします。



ログイン後の画面に、以下のメッセージが表示されています。


掲示板を利用できるようにするには install ディレクトリを削除する必要があります。
install ディレクトリが存在している間は Administration Control Panel ( AdminCP ) 
だけしかアクセスできません。


AdminCPというのは、今見ている管理ページのことです。
というわけで、原因はインストールのウィザードで使用したプログラムを残したままにしていては駄目ということでした。
原因が分かったので、処置を行います。



指示に従い、installディレクトリを削除します。
ftpクライアント(filezilla)より,installディレクトリを削除します。



削除後、再度ページをリロードすると、以下のようにテスト用フォーラムが表示されます。



ちなみに、フォーラム内には1つ記事が登録済みになっています。
内容を読んでみると、親切なことに次すべきことが書かれています。

フォーラム(掲示板のスレッド)の作り方が書いてあります。
初心者は、権限付与で躓きやすいようです。

要約すると、以下の2パターンの方法があるということです。

1:テスト用フォーラムを削除して、新しく作り直す場合(ちょっと難しい)
    フォーラムを作成する。
    作成後、特別グループに適切な権限(投稿権限など)を割当てる必要がある。
 
2:テスト用フォーラムを流用して掲示板を作る場合(簡単)
    テスト用カテゴリ・フォーラムの名前を変えて利用する。
    カテゴリ・フォーラムの追加時は、最初のフォーラムの権限をコピーできる。
    権限が希望のものと異なる際は、コピーしたフォーラムの権限をメンテする。



初めてなので、2:のやり方で一旦テスト用フォーラムを変更してみることにします。


テスト用カテゴリ、フォーラムをリネームする。


管理者ユーザでログインした状態で、トップページに戻ります。
画面下にAdministration Control Panelのリンクがあるのでこれをクリックします。
(この手順が通常、管理ページに入る方法です)


管理画面左メニューにある、”フォーラム管理”をクリックします。


先ほど確認したカテゴリが表示されているので、歯車のマークのアイコンをクリックします。


カテゴリ名の欄があるので…


変更します。(ここでは、管理者用ページを作りたかったので、”管理”という名前に変更しました)


変更を行い、”成功しました”表示が出ればOKです。
ちなみに、このページにある”パーミッションの設定”をクリックすると,書き込み権限などを変更可能です。
(最初からあるフォーラムは、管理者のみ書き込み可能となっているので、今回は変更しません)



再度、”フォーラム管理”をクリックし、カテゴリ名のリンクをクリックすると、フォーラム名も変更可能です。
同様に、歯車のマークのアイコンをクリック→名称変更を行います。


設定後に確認すると、以下のように設定内容が反映されています。

lolipopにphpBB3をインストールする(1/3)



レンタルサーバのlolipopに、オープンソース掲示板として有名なphpBB3をインストールする為の手順です。


ダウンロード


まずはhttp://www.phpbb.com/より、phpBB本体をダウンロードします。
画面右上にある、ダウンロードリンクの画像(STABLE RELEASE)をクリックします。
※本記事の作成時の最新は3.0.9でした。


遷移先画面の以下のリンクをクリックし、phpBB3の本体をダウンロードします。




本体をダウンロードしたら、ついでに日本語表示を行わせるためのLANGUAGE PACKSも入手します。
本体ダウンロードリンクのすぐ下にある画像をクリックすると、ダウンロードできます。



本体、LANGUAGE PACKSがダウンロードできたら、最初にLANGUAGE PACKSの適用を行います。
両方のファイルを展開し、LANGUAGE PACKSの内容を上書きコピーします。


上書き後、以下のようにbbs\languageの下にen,jaフォルダが出来ていれば正解です。




phpBBのインストール


次に、ダウンロードしたファイルをlolipopのサーバへFTPを使用してアップします。
FTPのソフトは何でもかまいませんが、今回はPortableApps.comで配布されている、インストール不要で使用可能なFileZilla Portableを使用しました。


まずは、FTPの設定を確認します。
lolipopにログインし、アカウント情報をクリックします。




サーバ情報の欄にFTP設定情報が記載されていますので、FTPサーバ、FTPアカウント、パスワードの情報を控えておきます。




この情報を元に、filezillaの設定を行います。
filezillaを起動し、ファイル->サイトマネージャで、先ほど確認した情報を入力し接続を行います。



メイン画面左側にローカル、右側にサーバのフォルダが表示されます。
左側を先ほどダウンロードしたフォルダを選択し、右クリック->アップロードをクリックします。
今回は,phpBBを/bbsフォルダにアップしました。

以下のように、ファイルがサーバへアップできていればOKです。



初期セットアップ(1)


アップが完了したら、一度phpBBにアクセスしてみます。


正常にアップが出来ていれば、日本語で以下の画面が表示されます。




“はじめに”の画面が確認できたらインストールタブを選択し、画面下の”次のステップへ”をクリックします。




インストールの診断ページが表示されます。
各項目が”はい”になっていることを確認します。(データベースのサポートは、MySQLが”利用できます”になっていれば,他の項目が”利用できません”の状態でOKです)
問題なければ”インストール開始”をクリックします。



DBの環境設定画面が表示されます。
まだ、DBのセットアップを行っていないため、phpBBのセットアップは一旦この状態で中断しておき、先にDBのセットアップに入ります。





DBの作成


再度lolipopの管理画面に入り、Webツール->データベースを選択します。
作成ボタンをクリックし、DBを作成します。
DBのが作成できたら、データベース一覧に表示された内容を控えておきます



初期セットアップ(2)


phpBBのセットアップ画面に戻ります。
先ほど控えた情報を入力し、次へをクリックします。



入力に問題が無ければ、以下のメッセージが表示されます。
エラーが出る場合は、ユーザ・パスワードを再確認してください。





管理者の情報を入力し、次へをクリックします。



ここも、入力に問題が無ければ、以下のメッセージが表示されます。




詳細な環境設定画面が表示されます。
お好みで設定を行ってください(デフォルトのままでもかまいません)



ここまでの入力で問題が無ければ、”おめでとうございます”のメッセージが表示されます。



以上で、インストール作業は完了です。


動作の確認


インストールしたURL(http://xxx/bbs)へアクセスしてみます。
以下の画面が表示されれば、問題なくインストールは完了しています。


[C#]PCのサスペンド、レジュームをプログラムから検出する

概要

ノートPCでは、バッテリー消費を抑える為に、よくPCのサスペンド・レジュームが使用されます。
C#でPCのサスペンド・レジュームが行われたことを検出する為には、Microsoft.Win32.SystemEventsクラスのPowerModeChangedイベントにハンドラを登録します。


手順


動作確認用に、画面にTextBoxを1つ貼り付けます。




PowerModeChangedイベントを使用するために、まず、以下の形でイベントハンドラの登録・解除処理を作ります。
イベントハンドラはMicrosoft.Win32.SystemEventsクラスに登録します。

//********************************************************************************
/// <summary>コンストラクタ
/// </summary>
//********************************************************************************
public FormMain() {
    InitializeComponent();
 
    //---------------------
    // イベントを登録する
    //---------------------
    Microsoft.Win32.SystemEvents.PowerModeChanged += 
              new Microsoft.Win32.PowerModeChangedEventHandler( SystemEvents_PowerModeChanged );
}
 
//********************************************************************************
/// <summary>画面クローズ時のハンドラ
/// </summary>
//********************************************************************************
private void FormMain_FormClosed( object sender, FormClosedEventArgs e ) {
    //---------------------
    // イベントを解除する
    //---------------------
    Microsoft.Win32.SystemEvents.PowerModeChanged -= 
              new Microsoft.Win32.PowerModeChangedEventHandler( SystemEvents_PowerModeChanged );
}




その上で、イベントハンドラの中身(上記の例ではSystemEvents_PowerModeChanged()メソッド)を実装します。第二引数で、サスペンド・レジュームのどちらが行われたかを取得できます。

//********************************************************************************
/// <summary>電源状態変更時のハンドラ
/// </summary>
//********************************************************************************
private void SystemEvents_PowerModeChanged(object sender, 
                                             Microsoft.Win32.PowerModeChangedEventArgs e) {
    //----------------------
    // 現在時刻を取得
    //----------------------
    String sysdate = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
 
 
    //----------------------
    // 電源状態を画面に表示
    //----------------------
    switch (e.Mode) {
        case Microsoft.Win32.PowerModes.Suspend:
            txtLog.Text += sysdate + " サスペンドされました。" + Environment.NewLine;
            break;
        case Microsoft.Win32.PowerModes.Resume:
            txtLog.Text += sysdate + " レジュームされました。" + Environment.NewLine;
            break;
    }
}



プログラムを実行させ、実際にサスペンド・レジュームを行うと画面にログが表示されます。


補足

Win32.SystemEvents.PowerModeChangedのイベントハンドラで取得できる状態は、以下の3つです。

Resume:
オペレーティング システムが中断状態から再開されます。

StatusChange:
電源モードのステータス通知がオペレーティング システムで発生しました。
これは、バッテリ電力が低下した、バッテリの充電中、AC 電源とバッテリの間で移行しているなど、
システム電源のステータスが変化したことを示している可能性があります。

Suspend:
オペレーティング システムが中断されます。

参考文献

電源、バッテリーに関する情報を取得する
PowerModeChangedで取得可能な状態一覧
休止状態復帰を検知しスクリプトを実行したい。


WordPressでblog作成時の初期設定

本ブログの初期セットアップとして実施した内容です。
備忘録としてのメモです。

1. WordPress自体を最新に更新しておく

最近のレンタルサーバでは、有名なソフト(wiki/blogなど)は”簡単セットアップ”の機能でインストールできる事が多いです。
この機能を利用すると面倒な手間をかけずに欲しいサービスを追加できるので便利なのですが、大抵の場合は最新版が提供されていないです。

この為、”簡単セットアップ”でWordPressをインストールした場合、最初にWordPress自体のアップデートを行う必要があります。(WordPressを自前で1からセットアップする場合は、通常最新版をインストールするので必要ありません)

真っ先にコレを行う必要がある理由は、プラグインやテーマのバージョンと対応しているWordPress本体のバージョンに組み合わせがあるので、バージョンアップを最初にしておかないとセットアップ作業が二度手間になってしまうからです。
また、後になってからだとアップデートが億劫になってしまい、セキュリティホール等が残った旧バージョンを使い続けてしまうリスクもあります。

WordPress本体に加えてプラグインもプレインストールされている場合は、これらも最新にしておきます。



2. pingサーバの設定を行う

せっかくエントリーを書いても、検索されなければ、その記事は存在していないものと同じです。
書いたエントリーを外部に公開するための仕組みがpingです。

沢山のpingサーバを登録しすぎてもサーバに負荷がかかってしまうので、とりあえず以下のものだけ登録しておきます。

http://api.my.yahoo.co.jp/RPC2
http://blogsearch.google.co.jp/ping/RPC2
http://blog.goo.ne.jp/XMLRPC
http://rpc.reader.livedoor.com/ping
http://ping.fc2.com
http://ping.blogoon.net/
http://rpc.weblogs.com/RPC2
http://ping.bloggers.jp/rpc/
http://www.blogoole.com/ping/
http://jugem.jp/?mode=NEWENTRY


pingサーバは、管理画面の”設定->投稿設定”からセットアップ可能です。



3. シンタックスハイライトのプラグインを入れる

技術系のblogを書く場合は、エントリー中にソースコードを記載することが多くなるため、シンタックスのハイライト処理が欲しくなってきます。

シンタックスのハイライト処理とは、ソースコードのコメントや予約語を色分けしてくれる機能です。

WordPressには、幾つかシンタックスのハイライトのプラグインがあるため、インストールをしておきます。

よく使用されるプラグインとして、WP-Syntax・SyntaxHighlighter・iG:Syntax Hiliterなどがあります。

http://wordpress.org/extend/plugins/wp-syntax/
http://wordpress.org/extend/plugins/syntaxhighlighter/
http://blog.igeek.info/wp-plugins/igsyntax-hiliter/


どれでも問題ないのですが、普及率や対応言語の多さから、今回はWP-Syntaxを選択しておきます。

プラグインのセットアップは、管理画面のプラグインをクリックし、WP-Syntaxで検索すると出てくるプラグインをインストールするだけです。
インストール後preタグでくくると、以下のような感じで色分けしてくれます。

#include <stdio.h>
 
int main(void){
    /* 世界に挨拶 */
    printf("Hello, World!");
    return 0;
}