OpenPNE[Free SNS【ソーシャルネットワーキングサービス】]

更新日 2010-04-22 (木) 21:56:16

OpenPNEのインストール

OpenPNEはフリーのSNSでMySQL+PHPで実現でき携帯からもアクセスできるソフトである。そこでVine4.xにインストールしてみた。ここからDownloadしてくる。使用するソフトはApache,php,MySQLなので以下のものが入っているかCheckし、インストールされていないときはrpmでインストールを行う

事前準備

# apt-get install MySQL
# apt-get install MySQL-client
# apt-get install php5-apache2-5.2.5-0vl1

など

php.ini

[Vine]
output_buffering = Off
expose_php = Off
;;memory_limit = 32M  
memory_limit = 128M
variables_order = "GPCS"
;;default_charset = EUC-JP   <==コメントアウト
extension_dir = /usr/lib/php5
allow_url_include = Off
sendmail_path = /usr/sbin/sendmail -t -i
session.save_path = "/var/php5/session"
session.use_only_cookies = On
session.use_strict_mode = On
session.entropy_file = /dev/urandom
session.entropy_length = 32
session.hash_function = 1
;;mbstring.language = Japanese   <==コメントアウト
;;mbstring.internal_encoding = EUC-JP   <==コメントアウト
;;mbstring.http_input = auto     <==コメントアウト
;;mbstring.http_output = pass    <==コメントアウト
;;mbstring.encoding_translation = On    <==コメントアウト

とくに最後の5行をコメントアウトしないと日本語表示はできるが、日本語入力が繁栄されない

MySQLのデフォルトをUTF-8に変更

my.cnf

[client]
default-character-set = utf8
#password       = your_password
# The MySQL server
[mysqld]
default-character-set=utf8
port            = 3306
[mysql]
default-character-set = utf8
no-auto-rehash

インストール

# cd /var/www
# tar zxvf /usr/local/src/OpenPNE-2.10.4.tar.gz
# mv OpenPNE-2.10.4 OpenPNE
# chown -R apache.apache OpenPNE
# chmod -R 777 OpenPNE/var/

MySQLの設定

# mysql -u root -p
mysql> grant all privileges on openpne.* to openpne@localhost identified by '******';
Query OK, 0 rows affected (0.03 sec)

mysql> create database openpne CHARACTER SET UTF8;
Query OK, 1 row affected (0.00 sec)

openpneデータベース初期設定

# mysql -u openpne -p openpne \
< /var/www/OpenPNE/setup/sql/mysql41/install/install-2.10-create_tables.sql

# mysql -u openpne -p openpne \
< /var/www/OpenPNE/setup/sql/mysql41/install/install-2.10-insert_data.sql

OpenPNEの設定

# cd OpenPNE/
# cp config.php.sample config.php

ランダムな56桁の文字列を取得※OpenPNE設定ファイル編集で使用

# apt-get install expect  (mkpasswdコマンドがない場合)
# mkpasswd -l 56 
8ramMdfTxykhprvytrfliesxzoyqwqyxfpqefkt@imqoc0unipdtypfa

config.php

// Web上の絶対パス(URL)(最後にスラッシュを付ける)
define('OPENPNE_URL', 'http://192.168.1.1/openpne/');

// DBサーバ設定
$GLOBALS['_OPENPNE_DSN_LIST']['main'] = array(
'dsn'  => array(
    'phptype'  => 'mysql',
    'username' => 'openpne',   <==DB
    'password' => '******',
    'hostspec' => 'localhost',
    'database' => 'openpne',
    'new_link' => false,
    ),
);

// DB暗号化キー(56バイト以内のASCII文字列)
define ('ENCRYPT_KEY', '8ramMdfTxykhprvytrfliesxzoyqwqyxfpqefkt@imqoc0unipdtypfa'); ← ランダムな56桁の文字列を指定

// メールサーバードメイン
// 携帯メール投稿の宛先などのドメイン名に使われる
define('MAIL_SERVER_DOMAIN', 'mie-chukyo-u.ac.jp'); ← メールサーバードメイン名を指定

//--- オプション設定

// デバッグモード
// 0: off ... エラー非表示、エラーログを記録する
// 1: on  ... エラー表示、エラーログを記録しない
// 2: on  ... 1 + Smartyデバッグコンソール
// define('OPENPNE_DEBUGGING', 1);
define('OPENPNE_DEBUGGING', 0);


///
// SSL設定
///

// 特定ページだけのSSLを使用するかどうか
//define('OPENPNE_USE_PARTIAL_SSL', false);
define('OPENPNE_USE_PARTIAL_SSL', true);


// SSL用URL (Cookieの値を引き継ぐため、OPENPNE_URL と同一ドメイン・パスである必要があります)
//define('OPENPNE_SSL_URL', 'https://sns.example.com/');
define('OPENPNE_SSL_URL', 'https://192.168.1.1/openpne/');


// SSLを使用することが必須であるアクションリスト
$GLOBALS['_OPENPNE_SSL_REQUIRED'] = array(
'admin' => array(     <==追加
    'page_login',     <==追加
),                    <==追加
'pc' => array(
    'page_o_regist_prof',  'page_o_regist_prof_confirm', 'do_o_regist_prof',

OpenPNE用CRON登録

# crontab -e
00   6 * * * /bin/sh /var/www/OpenPNE/bin/tool_send_dairy_news.cron     /var/www/OpenPNE/bin/ /usr/bin/php
00   6 * * * /bin/sh /var/www/OpenPNE/bin/tool_send_birthday_mail.cron  /var/www/OpenPNE/bin/ /usr/bin/php
00   6 * * * /bin/sh /var/www/OpenPNE/bin/tool_send_schedule_mail.cron  /var/www/OpenPNE/bin/ /usr/bin/php
*/20 * * * * /bin/sh /var/www/OpenPNE/bin/tool_rss_cache.cron           /var/www/OpenPNE/bin/ /usr/bin/php

SNS管理者宛メールの転送設定

/etc/postfix/aliases

sns: webmaster

メール投稿設定 携帯電話からのメール投稿を受け付けるように設定

/etc/postfix/aliases.regexpを作成

/^get(@.*)?$/ "|/usr/bin/php /var/www/OpenPNE/bin/mail.php"
/^p[0-9]+-[0-9a-z]{12}(@.*)?$/ "|/usr/bin/php /var/www/OpenPNE/bin/mail.php"
/^t[0-9]+-[0-9a-z]{12}(@.*)?$/ "|/usr/bin/php /var/www/OpenPNE/bin/mail.php"
/^b[0-9]+-[0-9a-z]{12}(@.*)?$/ "|/usr/bin/php /var/www/OpenPNE/bin/mail.php"

/etc/postfix/main.cf

alias_maps = hash:/etc/aliases, pcre:/etc/aliases.regexp
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^追加
# /etc/rc.d/init.d/postfix restart

cronから余計なメールを出さないようにする

# cd OpenPNE/bin

tool_send_dairy_news.cronを修正

#! /bin/sh
cd $1
2 -f tool_send_daily_news.php > /dev/null
                             ^^^^^^^^^^^^追加

Apache設定

以下のファイルを作成し、OpenPNEのアクセスパスを指定する
/etc/apache2/conf.d/openpne.conf

Alias /openpne /var/www/OpenPNE/public_html
# /etc/rc.d/init.d/apache2 reload

OpenPNE確認

セットアップ

http://サーバー名/openpne/?m=setupへアクセス 
必ず下記の設定をおこなってからセットアップを実行してください。

setup/sql/mysql4x/install-2.10-create_tables.sql の実行 
setup/sql/mysql4x/install-2.10-insert_data.sql の実行 
config.php の設定 
一度、セットアップを実行した後でこのページを表示することはできません。
セットアップをやり直したい場合はデータベースを空にしてからこのページへアクセスしてください。

というメッセージが出るがすでにopenpneデータベース初期設定を行っているのでOK

login画面
https://192.168.1.1/openpne/?m=pc

管理画面
https://192.168.1.1/openpne/?m=admin&a=page_login

あとはGUI上から設定

参考ページ


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS