OpenPNEをXREAにインストールする手順

公式サイト






OpenPNEとは


OpenPNEは手嶋屋さんが主体となってつくっているGPLのSNSです。機能はほぼmixiと同じで、デザインも同じです。もともとmixiのデザインを真似てつくられたものです。
商用版もありデュアルライセンス形式となっています。

OpenPNE関係のリンクをhttp://xtop.s163.xrea.com/test/webshot/webshot.phpにあげておきますので、ごらんください。

基本は管理者権限のあるサーバにインストールして利用するのが前提で、実際にレンタルサーバにインストールする記事はあまりないかと思います。

最新バージョンは1.8.2で今月中にも2.0がでる予定です。実際の運用は2.0からでいいかと思います。
2.0であれば、utf-8対応になっていますので、Geeklogなどとの共有がより現実的になります。そうなればCMS+SNSという使い方ができて、ソリューションとしては、大きな意味があると思います。
ログインの部分を変えれば、Geeklogにログインしていればリンクから、SNS側にそのままはいれるといった使い方ができるでしょう。もう少ししたら、ここらへんを触ってみたいと思います。

最初にサイトの名前やXREAでどこにファイルを置くかきめておく必要があります。
OpenPNEのファイルの中には、OpenPNE本体と公開フォルダに置くpublic_htmlフォルダ以下のファイルがあります。
ここでは、XREAのホームディレクトリ(FTPでアクセスできる一番上の階層)にOpenPNEの本体を置き、openpneというディレクトリ名にしておくことにします。
public_htmlディレクトリはsnsの名前で/public_html/test/の下に置きます。
/openpne/
/public_html/test/sns/
snsの下にあるファイルからみると、openpneは「../../../openpne/」という関係になる点を理解しておきます。

今回はhttp://xtop.s163.xrea.com/にインストールしますので、アクセスhttp://xtop.s163.xrea.com/test/sns/
となります。

それでは、早速手順の説明にうつります

ファイルのダウンロードと解凍

http://docs.openpne.jp/から最新安定版1.8.2 (zip)をダウンロードします。
ダウンロードしたファイルを解凍すると次のような構成になっています。
setupフォルダの中にあるOpenPNE1.8-Setup.htmlファイルがインストールの説明書になります。



XREAではpublic_html以下のみを公開ディレクトリに置く構成にするのでフォルダを別々にしておきます。
そのためpublic_htmlフォルダをひとつ上にあげておきます。



configファイルなどの変更

FTPでファイルを自分のサーバにアップロードする前にサーバの環境に合わせていくつかファイルを変更しておく必要があります。
ここでは、OpenPNEフォルダの中のconfig.inc.phpと


public_htmlフォルダにあるconfig.incを変更します。



OpenPNEフォルダにあるconfig.inc.sampleをコピーしてconfig.incを作り、以下の部分(★の部分)を変更します。



FTPによるファイルのアップロード

変更が終わったら、FTPを使ってファイルをアップロードします。
OpenPNEフォルダは / にアップロードしてopenpneと名前を変えます。
また、varディレクトリ以下は全てパーミッションを「777」にします。
public_htmlフォルダは/public_html/test/にアップロードしてsnsと名前を変えます。

データベースの作成

XREAの管理画面に接続してデータベースを作成し、パスワードを設定します。
また、phpMyAdminの自動インストールも行っておきます。
XREAでは5つまでデータベースが作成できるので、ここでは4番目のデータベースを作成して使うことにします。「データベース名を選択」でxtop_4 (私のIDがxtopなので、xtop, xtop_2, xtop3, xtop_4, xtop_5から選べるようになっています)を選択してパスワードを設定し、作成ボタンを押します。
くれぐれも、稼動中のデータベースではないことを確認しておいてください。

「今までデータベースでいいのでは」と思われるかもしれませんが、他のデータベースとテーブル名が重なってしまわないように、また思わぬデータの損失を避けるために別にしておいたほうがいいでしょう。

MySQL 4.1 以上の場合は、データベースのキャラクターセットを sjis (collation: sjis_japanese_ci) に設定してください。データベースを作るときに、
CREATE DATABASE `DBNAME` DEFAULT CHARACTER SET sjis ;
というSQLを実行するとよいようです。



データベースのパスワードを変えても、次アクセスしたときにパスワードの確認リンクをクリックしてみても、変更が反映されていなかったりしますので、忘れないように設定したときにすぐ下記のconfigファイルを書き込んでおくとよいでしょう。

phpMyAdminにアクセスする

phpMyAdminはWebブラウザを使ってデータベースを管理するためのPHPで書かれたアプリケーションです。

▼phpMyAdminを使う時にはまるかもしれないところ
phpMyAdminにアクセスしても最初設定されているデータベースであるxtopという名前のデータベースしか表示されないサーバがあります。そのと きは、さっき作ったxtop_4用に/public_html/log/phpmyadmin/config.inc.phpを次のように書き換えてやる必要があります。

user, password, only_dbのところを各データベース用に変えます。



これをいちいちやるのは大変なのでconfig.inc.phpファイルを各データベース用につくっておいて(config_2.inc.php、 config_3.phpなどなど)phpMyAdminを使う前にconfig.inc.phpと名前をかえて使うのが現実的でしょうか。

▼phpMyAdminにアクセスしたところです。
最初に右側の上にあるLanguageをJapanese (ja-sjis)としておきます。
「空」のデータベースが左側に見えますので、これをクリックします。(ここではxtop_4)




左側のデータベース名(ここではxtop_4)をクリックしますと以下のような表示になります。今はまだ、なにもこのデータベースには「まっさら」な状態です。
OpenPNE用のテーブルをここにつくらないといけませんので、ダウンロードしたファイルに含まれているsqlファイルを実行する必要があります。
この画面からSQLというタブをクリックします。



SQLタブをおして表示される画面の下の所に「またはテキストファイルの場所」というのが表示されますので、参照ボタンを押して、OpenPNEフォルダの中のsqlフォルダにあるsqlファイルを選びます。
最初「001」を指定して「実行する」ボタンをクリックします。つぎに「002」を指定して「」ボタンをクリックします。
「001」で必要なテーブルが作成されて、「002」で初期データが設定されます。



問題がなければSQLが実行されて実行されましたという表示と左側にデータベース名がリストアップされます。



以上でデータベースの設定が完了します。

セットアップの実行

データベースができれば、セットアップを実行します。
「セットアップの実行」というのは、つぎのアドレスにアクセスして、「セットアップ実行」ボタンをクリックするということになります。
http://xtop.s163.xrea.com/test/sns/?m=setup

初期ユーザと管理用アカウントを設定します。
PCアドレスというのはPCで使っているメールのアドレスです。紛らわしいですね^^;



セットアップ実行ボタンをクリックしたら、完了画面が表示されますので、
「管理ページへ」のリンクを押します。



サイトの管理


SNS管理ページに移動しますと、次のように表示されますので、先ほど設定した管理者名とパスワードを入力してください。



ログインしますと管理メニューが表示されます。



初期設定の部分と管理メニューの部分があります。管理メニューは日々の運用でよく使うものもあります。
初期設定だけは、最初にしておく必要があります。
随時、情報を補足していく予定です。

■初期設定

1.SNS設定変更





2.プロフィール項目変更



3.コミュニティカテゴリの変更



管理用パスワード変更



管理用ページをランダム生成



■管理メニュー

1.メンバーリスト(メッセージ送信/強制退会)


2.お知らせ、利用規約変更、HTML挿入


3.新規ユーザー招待メール送信



招待メール送信の確認画面



「送信」ボタンをクリックすると無事送信しましたというメッセージが表示されます。



これが実際に送られてきたメールです。SNS設定変更で設定されたものが、メールの内容となって現れます。



「参加する」というリンクをクリックすると、「アクティベーション」(登録作業の実行)ができて、プロファイルの設定画面がでてきますので、プロファイルを設定して登録が完了すると、次のような画面になります。
プロフィルの設定画面は、別のHTMLで紹介します。



4.画像管理(画像一覧&削除)



画像一覧をクリックしたときに表示されます。



5.デザインスキン・色変更



色の変更



カスタムCSSをWebから追加することができます。



6.バナー管理
ええと、、、あとで追加します^^;

7.書き込み管理



最初は管理画面に行くリンクがありましたが、直接管理画面にアクセスする時は次のようにアクセスします。
これでは、危険なのでランダムな名前にしておくのがよいでしょう。
http://xtop.s163.xrea.com/test/sns/?m=admin

文字化けチェックと対策

現在のOpenPNE(1.8.2)ではShift-JISが基準になります。
Shift-JISではうまく処理ができないと「表」という文字が文字化けするので、「表」がはいった短い日記を書いてチェックします。
実際の表示とデータベース側を較べることで、どこに原因があるか追求しやすくなりますのでphpMyAdminを「駆使」して、データベースの中を覗きつつ、表示と見比べます。
XREA s163サーバ例ですが、OpenPNEの標準設定では最初、どちらも(phpMyAdminでデータを表示させた画面でも、OpenPNEの画面でも)文字化け状態でした。

(日記に「表」という文字が含まれるデータを書き込んでc_diaryテーブルの内容を表示させたところ。最初は化けてました)

openpneの直下のconfig.incの次のところを1=>0に変更して、OKになりました。(最初は1でした)
// ★SQL内でのエスケープの仕方
// (DBに登録したデータが文字化けする場合はこの設定を変えてみてください)
// 0 : mysql_real_escape_string
// 1 : mbstring の関数で置換
define('DB_ESCAPE_TYPE', 0);

▼magic_quotes_gpcについて
Shift-JISをPHPで扱うときによく問題になるのは、magic_quotes_gpcがonになっている時に文字化けするアプリケーションがありますので、その場合はこのフラグを変更してみてどうなるか見てみます。
XREAではもともとオフになっています。
セキュリティは別途気をつけていただくとして、これをオフにすると文字化けが直る可能性があります。
オフにするには.htaccessファイルに次の一文を追加してみましょう。
php_flag magic_quotes_gpc off