OpenPNE
Debian GNU/Linux testingでのインストール_
先にインストールすべきソフトウェア_
- Apache 1.3.*/2.0.* 以上
- PHP 4.3.*/5.0.* (ASPI版を推奨)
- PHP の mbstring 拡張モジュールを使用可能
- PHP から GD ライブラリを使用可能 (JPEG/GIF/PNG サポート)
- PHP の mcrypt 拡張モジュールの使用を推奨
- MySQL 4.0/4.1
- メールサーバ(携帯からメール投稿する場合)
- Postfix 2.1.* を推奨
なので、とりあえず以下をインストール。
% apt-get install apache2 % apt-get install php5 % apt-get install libapache2-mod-php5 % apt-get install php5-mcrypt % apt-get install php5-gd % apt-get install php-pear % apt-get install postfix % apt-get install mysql-common mysql-server mysql-admin
postfixとapache2の設定は、Googleを検索して設定のこと(運用方針によって全く異なるので)。ただし、apacheでは、php5を組み込んで置くこと。
% a2enmod php5
次に、インストールされたMySQLの文字コードをutf8に固定する。 /etc/mysql/my.cnfの[mysqld]という項目のすぐ下に以下の項目を書き込む。
default-character-set=utf8 skip-character-set-client-handshake
OpenPNEをダウンロードしてきてインストールをする。今回は、本体を/home/OpenPNEとし、Apacheから参照する部分を/var/www/OpenPNESNSと置くことにする。
% cd /home % tar xvfj OpenPNE-2.4.3.tar.bz2 % cd OpenPNE % cp -R public_html /var/www/OpenPNESNS % cp setup/*.html /var/www/OpenPNESNS % cp config.php.sample config.php
/var/www/OpenPNESNS/OpenPNE_Setup.htmlに従いながら、/home/OpenPNE/config.phpと/var/www/OpenPNESNS/config.inc.phpを編集する。なお、これらのファイルはUTF-8エンコーディングであるのでエディタで編集する際は注意のこと。
ファイルの編集が終わったらデータベースの構築を行う。今回はデータベース名をsns_db、そのユーザ名をsns、パスワードをsns_pwとする。
% mysqladmin -u root -p create sns_db % mysql -u root -p sns_db \\ < /home/OpenPNE/setup/sql/install/install-2.4-create_tables-mysql41.sql % mysql -u root -p sns_db \\ < /home/OpenPNE/setup/sql/install/install-2.4-insert_data.sql
次に、データベースのアクセス権限を設定する。
mysql -u root -p > GRANT ALL ON sns_db.* TO sns@localhost IDENTIFIED BY 'sns_pw'; > flush privilege; > quite
これでデータベースの設定は終わり。
/var/www/OpenPNESNS/OpenPNE_Setup.htmlに従い、Webブラウザから設定を行う。
注意:
- PHPファイルの許可権限は604でよい。701などにすると動かない(PHP初心者だったのでこれを知らず、すごくはまった)
PNEBIZを使う_
データベースの作成をする。
% cd /home/OpenPNE/setup/sql/install % mysql -u root -p sns_db < option-pnebiz-mysql41.sql
次に/home/OpenPNE/config.phpの下記の部分を
define('USE_BIZ_DIR', false);
を
define('USE_BIZ_DIR', true);
に変える。これでおしまい。
2.4.X から2.6へのアップグレード_
まずは、mysqldumpにてデータを読み出す。mysqldumpの文字化け問題は以下にしたがい回避する。
% mysqldump -u root -p DBNAME > DBNAME_YYMMDD.sql
次にソースをダウンロードしてくる。OpenPNE配布元 仮にOpenPNE本体を/var/OpenPNE/においてあるとするとき、元のソースを一応とっておく。
# mv /var/OpenPNE /var/2.4.X # mkdir /var/OpenPNE # mv /var/2.4.X /var/OpenPNE/ # cd /var/OpenPNE # tar xvfj /tmp/OpenPNE-2.6.5.tar.bz2 # cd /tmp/2.6.5
OpenPNEのpublic_html以下が/var/www/SNSとして展開されているとする。2.6.5のpublic_htmlに置き換える。
# mv /var/www/SNS /var/www/SNS.2.4.X # cp -R /var/OpenPNE/2.6.5/public_html /var/www/SNS
そして、/var/www/SNS/config.inc.phpのOPENPNE_DIRを編集する
define('OPENPNE_DIR', realpath('/var/OpenPNE/2.6.5'));
/var/OpenPNE/setup/以下にあるOpenPNE_Upgrade.htmlファイルを読みつつ、データベースのテーブルの変更を行う。Webブラウザから閲覧できるところに移しておくと便利。
# cp /var/OpenPNE/2.6.5/setup/*.html /var/www/SNS
元のソースで書き換えたところがあったら、それを新しい方にも反映させる。
OpenPNEのカスタマイズ_
トラブルシューティング_
ユーザ間でマイフレンドを承認しあうのが面倒_
koshigoe prototype:Jinrui Mina Kyodaiというスクリプトを使うと閉じた研究室で使うときに利用者にいらぬ手間を省かせることができる。
これをダウンロードする場合にはまず、Subversionをインストールしておくこと。
% svn co http://svn2.cvsdude.com/koshigoe/prototype/mod_openpne/bin/ % cd bin
EUC-JPでかかれているのでUTF-8に変換する。
% iconv -f EUC-JP -t UTF-8 tool_jinrui_mina_kyodai.php > /home/OpenPNE/bin/tool_jinrui_mina_kyodai.php % cd /home/OpenPNE/bin
OpenPNEの2.4.3であると、ディレクトリ構成が違うのでうまく動かない。よって、パスの部分を修正する。 この部分を
define('PEAR_DIR' , OPENPNE_LIB_DIR . '/pear/');
このようにする
define('PEAR_DIR' , OPENPNE_LIB_DIR . '/include/');
その後、実行。
% php5 tool_jinrui_mina_kyodai.php
2.6.5にしたらtool_jinrui_mina_kyodai.phpが使えなくなった(解決)_
エラーがでる
Fatal error: Call to undefined function cache_drop_c_member() in /var/OpenPNE/2.6.5/webapp/lib/db/friend.php on line 647 rook:/home/OpenPNE/2.6.5/bin# cd ../../2.4.5
とりあえず、昔の2.4.Xで使う。問題無くデータベースは更新される。
追記:ある方から解決法を教えていただいた。
require_once './config.inc.php'; の次の行に require_once '../webapp/lib/util/cache.php'; を付け加える。
このようにするとちゃんと動く。ご教示ありがとうございました。
自動ログイン機能が使えない_
以下のようにすると使える。
- Cookieを有効にする
- 「次回から自動ログインする」をチェックしてログイン
- OpenPNEへのブックマークをhttp://****/OpenPNE/ にする。
なお、ログアウトすると次回自動ログインしません。
詳しくはここを参照
- OpenPNEではじめる自作SNS入門 - 自動ログインできない-自動ログインできない
参考_
- docs.openpne.jp
- ヽ( ・∀・)ノくまくまー(2006-10-11):文字化け問題を本気で直す
- 逆襲のニート OpenPNEのカスタマイズ
- 必須のプロフィール項目を消す
- OpenPNEをオープンに使う
- TRANS - OpenPNEのデザインを大幅に変更する
- .Nat Zone - .Nat Zone : OpenPNEをインストールしてみた
- OpenPNE(Hiki風入力支援ツールなどがある)
- OpenPNEではじめる自作SNS入門