Home > OpenPNE > OpenPNEをインストールしてみよう

OpenPNEをインストールしてみよう

  • Posted by: daizo
  • 2007年5月 5日 21:55
  • OpenPNE

というわけで、SNSツールであるOpenPNEをインストールしてみよう。ロリポップとかさくらサーバーとかXREAの例はあったけど、エックスサーバーの例がなかったから手間取った。

いつかまたインストールするかもしれないから、覚え書きとしてインストールのやりかたを書いておきます。これで君もmixi気取りだぜ!

エックスサーバー専用のインストールガイドはこちら。
この記事があまりにも分かりにくいので新しきまた書きました。


まず、OpenPNEというものについてお話を。これはフリー(乱暴に言えば無料ってこと)のCMS(コンテンツマネジメントシステム)でSNSサイトが作れるツールです。

どういうものかといえば、mixiをぱくったものと考えてもらえればいいですね。あんなのを自分の思い通りに管理できるようにしたのがこのOpenPNE。

インストールはMovable TypeやWordPressより手間取って、なかなか難しかったです。というよりも、説明の仕方がそれぞれであいまいだし、バージョンが古いのばっかり。

というわけで僕がわかりやすく説明してやろう、と思いましたがたぶん無理なのでごめんなさい。

ではさっそくOpenPNEをダウンロードする前にサーバの確認とか参考URLとか。
僕のサーバーはエックスサーバーなので、これで説明します。ロリポップとかXREAならいろんなところでありますよ。

ロリポップの例

http://snsbox.web.fc2.com/openinstall.html

XRWEAの例
http://xtop.s163.xrea.com/test/060218/openpneinstall.htm

公式のインストールガイド
http://www.openpne.jp/wiki/SetupDocument

参考になるかもしれないURL
http://lacoocan.nifty.com/webapps/openpne/index.htm

僕が一番参考になったページ(比較的新しいバージョンでインストール方法を解説してくれているから)
http://www.shiftweb.net/material/openpne/install.html

エックスサーバー以外の人はこれらを参考にしてみてもいいかもしれない。

では、初心者の人もがんばれるように説明していきたいと思いますが、ある程度不親切なのでその辺はかんべんしてください。


◆OpenPNEをダウンロード
ではまずツールをダウンロードします。
公式サイトから最新バージョンをダウンロードしてください。
OpenPNE公式サイト

現在の最新バージョンがOpenPNE-2.6.6.2.zipなので、それをダウンロード。バージョンアップしているようだったら、とりあえず一番上のzipと名のついたもんをダウンロードしておけば安心です。

それと、バージョンアップするごとに時々フォルダが増えていくので、そのときは公式ガイドを参考にインストールしてくださいね。

僕のときもそれでどうやってインストールすればいいのか混乱しました。たまたまhttp://www.shiftweb.net/material/openpne/install.htmlのページが最新版に近かったので、僕はなんとかインストールできたんですけど。

現在2.8が開発されているので、また変わってくるかもしれないけどがんばってください。


では、ダウンロードしたら解凍してください。


◆中身確認
中身をみると、いろいろなファイルがありますよね。とりあえずそれらの大まかな役割を知っておくと理解しやすいので、ご説明させていただきます。

まず、


bin
lib
var
webapp
webapp_biz
webapp_ext

というフォルダがあると思いますが、これらは簡単にいうとOpnePNEの本体です。どんな役割をしているのかというと、僕もはっきりわかりません(笑)。とにかく本体なんです!そうやって覚えておけばOK。

次に、

public_html

ですが、これはこのまま使用するわけではなく、フォルダの中身をアップロードして使用します。このままアップロードしないように注意してくださいね。


それから、

setup

というフォルダについてですが、これはアップロードする必要はないのでほっといてください。といっても必要なフォルダなので、捨てたりしてもだめですよ。

これはデータベースにインポートするファイルなのです。WordPressやphpBBをインストールした人ならわかると思いますが、あれらは自動でデータベースにテーブルが作成されていましたよね?

OpenPNEはセットアップしても自動でテーブルが作成されないので、手動でインポートしなければいけないんです。

これらの意味がわからないという人はわからなくて大丈夫です^^


そして、

config.php.sample

ですが、これはconfig.phpという名前に変えて中身を修正する必要があるファイルです。とりあえず「修正するファイル」と覚えて置いてください。


最後に「LICENSE」といものがありますが、アップロードもしないし修正もしません。オブジェとしてデスクトップにおいておくと、ライセンス気取りになれますぜ。意味がわからない。

とりあえずそれは無視してください。


フォルダやらファイルの説明は以上です。なんとなく大まかに説明しましたが、訳がわからなかったらごめんなさい。


◆ファイル修正をする
公式ガイドや、他の参考URLでは先にファイルをサーバにアップロードしているかもしれませんが、それだと面倒なので先に修正すべきファイルに加筆してから一気にアップロードしたいと思います。


それで、手を加えるべきファイルは全部で2つ。この作業をしないとアップロードしても作動しないので注意してください。

それで修正すべきファイルはどれかというと、トップディレクトリにある「config.php.sample」と、「public_html」ディレクトリにある「config.inc.php」です。

中身は訳のわからない英語がたくさんありますが、あまり難しいことはしないので安心してください。ちょっとデータベース名とかユーザー名で戸惑うかもしれませんが…。


では、修正作業に入る前に、これらのファイルを修正するときにphpエディタがあると便利です。こちらでダウンロードしてください。関連付けしておくと、phpの拡張子のついたファイルはクリックするだけで開けるので、便利ですよ。

インストールが面倒な人はテキストエディタでも大丈夫だと思いますが、メモ帳は避けてください。大変見づらいです。

それでは、修正作業に入りましょう。まず「config.php.sample」から。


◆config.php.sampleの修正
これはファイル名を変えなければいけません。「config.php.sample」のファイル名の「.sample」という部分を削除して、「config.php」というファイル名に直してください。

次に中身の修正にとりかかります。「config.php」となったファイルをクリックしましょう。たくさん英語がならんでいますが、一番上から26行目までしか手は加えないので下の方は無視してください。

まず、

// Web上の絶対パス(URL)(最後にスラッシュを付けてください)
define('OPENPNE_URL', 'http://sns.example.com/');

という部分が上の方にあるはずです。修正するべき部分は黒字のとこ。ここには公開したいURLを記入します。例えば、「http://www.yahooo.co.jp/」というURLでサイトを公開したいときは、
// Web上の絶対パス(URL)(最後にスラッシュを付けてください)
define('OPENPNE_URL', 'http://www.yahooo.co.jp/');

となります。そんな感じで、公開したいURLを入れましょう。ちなみにサブドメインでもできますけど、ディレクトリの設定でちょっと手間取るかもしれません。僕は手間取りました(笑)


さて、次はデータベースの設定をします。この作業は、データベースとOpenPNEがつながるように設定するために行いますので、正しく記入しないと作動しません。

手を加える部分は黒字の部分です。場所は上で修正した部分のすぐ下にあります。

// DBサーバ設定
$GLOBALS['_OPENPNE_DSN_LIST']['main'] = array(
'dsn' => array(
'phptype' => 'mysql(MySQLじゃない場合は変える必要がある)',
'username' => 'ユーザー名を書く',
'password' => 'パスワードを書く',
'hostspec' => 'localhost(だいたいはそのままでOK。)',
'database' => 'データベースの名前',
'new_link' => false,
),
);

では記入例を。
// DBサーバ設定
$GLOBALS['_OPENPNE_DSN_LIST']['main'] = array(
'dsn' => array(
'phptype' => 'mysql',
'username' => 'nameda',
'password' => '12345678',
'hostspec' => 'localhost',
'database' => 'yahooo_111',
'new_link' => false,
),
);

補足説明をお話しておきます。
'phptype' => 'mysql(MySQLじゃない場合は変える必要がある)',

これはデータベースの種類を記入する部分です。普通だとmysqlとなっていますが、ロリポップやさくらサーバーならmysqlのままで結構です。とにかくmysql以外なら、そのデータベース名を記入してください。

エックスサーバーはそのままで大丈夫です。

'username' => 'ユーザー名を書く',

これはデータベースのユーザー名を黒字の部分に記入します。ユーザー名とはどういうものなのかというと、phpMyAdminにログインするときに使うユーザー名と覚えておきましょう。ロリポップでもさくらもたぶん一緒です。

エックスサーバーの人は「MySQLユーザの一覧」で使用するユーザを記入します。まだユーザを作ってない人は作成しましょう。ちなみにこれがログインするときに使用するユーザー名にもなります。

'password' => 'パスワードを書く',

これはパスワードを黒字の部分に記入する部分です。phpMyAdminにログインするときに使うパスワードを記入します。phpMyAdminにログインするときに使うパスワードと覚えておきましょう。

エックスサーバーの人も一緒です。ちなみにログインするときのパスワードは、ユーザを作成したときに指定したパスワードを使用してください。

'hostspec' => 'localhost(だいたいはそのままでOK。)',

だいたいの人は何もしなくて結構です。エックスサーバーもlocalhostのままでも運営できています。レンタルサーバ以外の、例えば自宅サーバの人なんかは手を加えなきゃいけないかもしれませんね。

'database' => 'データベースの名前',

これはデータベースの名前を黒字のとこに記入する部分です。ロリポップならば「データべース名」というのもを記入すればOKですね。確かロリポップはデータベース名とユーザー名が一緒だったと思うので、ユーザー名を書く部分と一緒になるはず。

さくらサーバーはわかりませんが…。


エックスサーバーは「MySQLの一覧」から選んでください。無い場合は、「MySQLを追加」 で作成してください。作成した名前通りのものを記入すればOKです。

次は、

// DB暗号化キー(56バイト以内のASCII文字列)
define('ENCRYPT_KEY', 'ここになんかパスワードを記入');

適当に何でも良いので、パスワードを記入してください。データベースの暗号化キーというものですが、初心者にはどうでもいいことです。


次に、

// メールサーバードメイン
// 携帯メール投稿の宛先などのドメイン名に使われる
define('MAIL_SERVER_DOMAIN', 'mail.example.com');

これは携帯メール投稿のあて先に使うドメイン名で、メールのドメインを黒字の部分に記入してください。例えば、「http://www.yahooo.co.jp/」のドメインで公開するんだったら、
// メールサーバードメイン
// 携帯メール投稿の宛先などのドメイン名に使われる
define('MAIL_SERVER_DOMAIN', 'mail.yahooo.co.jp');

みたいな感じです。たぶんmailという部分はいらないと思うので、「yahooo.co.jp」みたいな感じでも大丈夫だと思います。

分かっていると思いますが、記入するべきは「yahooo.co.jp」ではなくて、あなたのドメインですからね。yahooo.co.jpを記入しても何もなりませんよ。


config.php.sampleの修正箇所は以上です。ちょっと文章が雑でわからないところがあるかもしれませんが、そこまで修正箇所が多いというわけでもなかったでしょう。

分かってしまえばそう思えるのですが僕のときは結構悩みました(笑)。エックスサーバーだとどうすればいいのか、よくわかんなかったんです。ユーザー名でもデータベース名でも。なんとかできてよかったけど…。


では、次のファイルの修正作業に入ります。


◆config.inc.phpの修正
このファイルは、「public_html」フォルダの中にあります。中身はほとんどなくて、修正箇所は一箇所だけなので楽です。

修正前だとこちら。黒字が修正部分にあたります。

define('OPENPNE_DIR', realpath('../'));
require_once OPENPNE_DIR . '/config.php';

修正後の記入例を。
define('OPENPNE_DIR', realpath('./openpne'));
require_once OPENPNE_DIR . '/config.php';

つまりこれは何をしているのかといえば、先ほど修正した「config.php」の場所を指定しているのです。黒字の「openpne」という部分は名前を変えても結構ですが、変える方法となると話がややこしくなるので仕組みを理解したあとに試してみてください。

ちなみに「./」の部分も必要なので、しっかりと「./openpne」と記入してくださいね。


これでファイルの修正作業は終了です。さて、あとはこれらのファイルをアップロードし、sqlにsetupファイルをインポートさせればインストール作業が完了します^^

もうちょっとなのでがんばりましょう。


◆ファイルアップロード
今度はそれらのファイルをサーバにアップロードする作業に移ります。僕はここの作業がマニュアルではよくわからなかったので手間取ったんです。

それでたまたま良いページをみつけたので、それを参考にアップロードの作業を行うと良いですよ^^

http://www.shiftweb.net/material/openpne/install.html

とりあえず上記を見ても意味がわからなかったへこちらでも説明をします。


◆public_html以下のアップロード
解凍したOpenPNEのフォルダの中に、public_htmlというものがありますよね。それをアップロードする作業を行います。

例として「yahooo.co.jp」というドメインで公開するとしましょう。

エックスサーバーなら、yahooo.co.jpフォルダの「public_html」の中に、解凍したOpenPNEフォルダの、public_htmlの中身を全部アップロードしてください。普通にアップロードするだけで結構です。

ロリポップの場合もトップディレクトリに普通にアップロードしましょう。

もしサブドメインを使用してサイトを公開するならば、そのサブドメインフォルダのトップディレクトリにアップロードしてください。ロリポップも同じくサブドメインフォルダの中です。


以上で第一段階は終了です。今回アップロードしたのは「サイトにアクセスするためのファイル」です。次にアップロードするのは、「サイトの本体を管理するファイル」をアップロードします。


◆本体のアップロード
先ほどアップロードしたディレクトリ(フォルダ)の中に、openpneというフォルダを作成してください。

エックスサーバーならyahooo.co.jpフォルダの「public_html」の中にopenpneのフォルダを作成します。ロリポップでいうとトップディレクトリの部分、つまりファイルマネージャーの一番最初の場所にopenpneというフォルダを作成してください。

そうするとエックスサーバーは、

/yahooo.co.jp/public_html/openpne

となります。ちなみにサブドメインで公開したいときは、サブドメインフォルダの中にopenpneフォルダを作成してください。

ロリポップならば、

/openpne

です。サブドメインで公開したいときはエックスサーバーと同様そのフォルダの中にopenpneフォルダを作成しましょう。

サブドメインを知らないという人は、そんな説明は無視してトップディレクトリの中にopenpneというフォルダを作ってください。


OpenPNEは、「OpenPNEの本体」と「OpenPNEへアクセスするためのページ」に分かれているんです。本体は主に管理ページなどで、アクセスするためのページはみんながみるページのことです。

とにかく2種類の役割を持つファイルがあると覚えてください。


そしてそのopenpneというフォルダにアップロードするファイルですが、


bin
lib
var
webapp
webapp_biz
webapp_ext

です。これらを今すぐアップロードしてください。次に、この中にある「varフォルダ内にある全フォルダ」のパーミッションを777か707に変更してください。確かロリポップだと777はエラーになるよな気がしたので707にしましょう。エックスサーバーはどちらでも良いです。

もう1度いいますが、「varフォルダ内の全フォルダ」に777か707にパーミッションを変更します。ファイルではなくフォルダのパーミッションだというとこに注意してください。これを行うのは、書き込み権限を管理者だけでなくユーザにも与えるために行います。

あとアップロードしていないのは、「setupフォルダ」と「config.php」と「LICENSEファイル」です。LICENSE以外は使うのでまだ削除しないでくださいね。


残っている中であとアップロードするべきものは、

config.php

です。これを先ほど作成した「openpneフォルダ」の中に入れてください。つまり、varとかbinといったフォルダがある場所と同じフォルダにアップロードするということです。

これでアップロード作業は終了しました^^


上記の通りのフォルダ構成でないとOpenPNEはうまく作動しないので注意してくださいね。

作動しない場合は、config.phpのデータベースの設定が間違っているか、「config.inc.php」の修正の仕方が間違っているかのどちらかです。作動しない場合はいろいろ試してみてください。

ちなみにconfig.inc.phpの部分でミスをしていたので、うまく作動せず苦労しました。

「/openpne」とか「/yahooo.co.jp/pablic_html/openpne」とかやってもうまくいかなくて、結局「./openpne」で作動するようになったんです。こんな簡単なことなんですが、時間は結構かかりましたよ(汗)


これで難しいと思われる作業は終りました!あとは簡単なので、気楽にやっていきましょう。それでは今度はデータベースのインポートの作業を行いたいと思います。


◆sqlのインポート
phpBBやWrodPressをインストールした人ならわかると思いますが、あれって自動でデータベースのテーブルが作成されてインストールできましたよね。

でもOpenPNEの場合はそれを手動でやらなければいけないんです。だからちょっと難しく思えるんです。といっても、インポートするファイルはもうあるので簡単ですよ。

ではインポートする手順をご紹介します。

データベースのphpmyadminにログイン

データベースと書かれている部分をクリック

データベースの一覧がでてくるので使用するデータベースをクリック

ページ上部から「インポート」というリンクをクリック


そして「インポートするファイル」のところの参照を選びましょう。自分のパソコン内が参照できるので、OpnePNEを解凍してできたフォルダの中から「setupフォルダ」を選び、そこからまた「sqlフォルダ」を選んでください。

sqlフォルダの中は、2.6のバージョンの場合4つファイルがあります。それぞれのファイル名を書き出すと、

install-2.6-create_tables-mysql40.sql
install-2.6-create_tables-mysql41.sql
install-2.6-insert_data.sql
option-2.6-pnebiz-header.sql

です。

ファイル名の中の「2.6」というのはOpenPNEのバージョンを表しているものであり、もし2.8だったらそれはOpenPNEのバージョンが2.8だということを表します。

ここで確認してほしいことは、あなたのサーバのデータベース環境のバージョンを調べてください。

エックスサーバーの場合は現在MySQL 4.0.2xです。
ロリポップの場合はMySQL4.3.1×ですね。

もしMySQLのバージョンが4.0.××ならば、

install-2.6-create_tables-mysql40.sql
install-2.6-insert_data.sql

これらをインポートしてください。

もしMySQLのバージョンが4.1.××以上ならば、

install-2.6-create_tables-mysql41.sql
install-2.6-insert_data.sql

をインポートします。


なので、エックスサーバーなら、

install-2.6-create_tables-mysql40.sql
install-2.6-insert_data.sql

の順番でインポートします。

ロリポップならば、

install-2.6-create_tables-mysql41.sql
install-2.6-insert_data.sql

の順番でインポートするわけですね。


インポートするには参照して目的のファイルを探し、みつけたら開くのボタンをしてください。そしてページの下の方にある「実行する」のボタンを押します。これでインポートは完了ですが、順番は守ってインポートしてくださいね。


これでややこしい作業は終了しました^^
次はセットアップの設定を行います。


◆セットアップ設定
ブラウザからサイトの公開予定となるURLに「?m=setup」をつけて表示してください。
もしyahoo.co.jpならば、

http://www.yahooo.co.jp/?m=setup

です。

そこでもし表示されないようであれば「config.inc.php」の記述方法が間違っていることになりますので、自分でディレクトリ構成をやった人は構成をもとに変更してください。


僕の言ったとおりにやれば大方表示されるはずです。


それで、ブラウザでそのURLが表示できるならば、SNSのサイト名を決めることができたり、ユーザ情報を登録することができます。

自分好みの設定にして、セットアップ実行ボタンを押してください。うまくセットアップできれば、「セットアップは完了しました」と表示されるはずです。

表示されないようならば、config.phpの記述方法が間違っていることになります。データベースの名前やパスワードを確認して修正しましょう。

以上でOpenPNEのインストールガイドは終わりです!お疲れ様でした^^
商用で利用するならばセキュリティに不安が残るかもしれませんが、個人で利用するならば安心して誤使用ください。あとログインしてみるとわかると思いますがmixiそっくりです。

それにしても長い文章でした。分けるのもめんどくせえ。


◆補足事項とかトラブルシューティング

【SNSサイトの管理画面を閲覧したい場合】

http://www.yahooo.co.jp/?m=admin

と入力してください。そしてログインすると、いろいろ設定の変更が可能となります。ただ、このままだと他人にもログイン画面が閲覧ができてしまうので
http://www.openpne.jp/wiki/SetupDocument

の下部を読んで変更するといいでしょう。


【サイトが文字化けする場合】
僕がインストールを行って管理画面から利用規約を変更しようとすると、文字化けが発生して□ばっかりになっちゃいました。きっとエックスサーバーの人はみんなそうなるかもしれません。

というわけでそれを修正する方法です。
まずSNSサイトのトップディレクトリにphp.iniというファイルを作成してください。もしサブドメインであるならば、サブドメインフォルダのトップにお願いします。独自ドメインのpablic_htmlのトップに入れると他のサイトに影響を及ぼしてしまいますから、注意してください。

それでそのファイル名のファイルを作成したら、選択し編集ボタンして、

[PHP]
default_charset = "UTF-8"

[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = auto
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 0
mbstring.encoding_translation = Off


をコピー&ペーストして保存をしてください。これで文字化けは解消されるはずです^^

この方法は

http://whooms.com/main/blog/howto-install-openpne.html

にてのっています。とても助かりました。

Home > OpenPNE > OpenPNEをインストールしてみよう

Search
Feeds
Access

Return to page top