目次 |
OpenPNEでSNS(ソーシャルネットワーキングサイト)を構築する。~
※Webサーバー+PHP、Webサーバー間通信内容暗号化、MySQLデータベース、メールサーバー(qmail編)が構築済であること。~ ただし、メールサーバーは携帯からメール投稿する場合のみ。~
※最新版は[[ダウンロードページ>http://www.openpne.jp/pne-downloads]]で確認すること
OpenPNEダウンロード
[root@host1 ~]# wget http://downloads.sourceforge.net/openpne/OpenPNE-2.10.13.tar.bz2
OpenPNE展開
[root@host1 ~]# tar jxvf OpenPNE-2.10.13.tar.bz2
OpenPNE展開先ディレクトリを所定の場所へリネーム移動
[root@host1 ~]# mv OpenPNE-2.10.13/ /var/www/OpenPNE
OpenPNEディレクトリ所有者をsysopに変更
[root@host1 ~]# chown -R sysop:sysop /var/www/OpenPNE/
OpenPNEvarディレクトリのパーミションを変更
[root@host1 ~]# chmod -R 777 /var/www/OpenPNE/var/
ダウンロードしたファイルを削除
[root@host1 ~]# rm -f OpenPNE-2.10.13.tar.bz2
MySQLへrootでログイン
[root@host1 ~]# mysql -u root -p Enter password: ← MySQLのrootパスワード応答
openpneユーザ作成
mysql> grant all privileges on openpne.* to openpne@localhost identified by 'v2EcT8vS'; Query OK, 0 rows affected (0.08 sec)
openpneデータベース作成
mysql> create database openpne; Query OK, 1 row affected (0.00 sec) mysql> exit Bye [root@host1 ~]# mysql -u openpne -p openpne < /var/www/OpenPNE/setup/sql/mysql41/install/install-2.10-create_tables.sql Enter password: ← openpneユーザのパスワード応答 [root@host1 ~]# mysql -u openpne -p openpne < /var/www/OpenPNE/setup/sql/mysql41/install/install-2.10-insert_data.sql Enter password: ← openpneユーザのパスワード応答
[root@host1 ~]# cp /var/www/OpenPNE/config.php.sample /var/www/OpenPNE/config.php ← 設定ファイルをサンプルよりコピー
[root@host1 ~]# mkpasswd -l 56 ← ランダムな56桁の文字列を取得※OpenPNE設定ファイル編集で使用する
nlzrpfgkclbdxhh3Rkxktyowxxxxxiagtasrfu>ymslvgfnnm8faKgo
[root@host1 ~]# vi /var/www/OpenPNE/config.php ← OpenPNE設定ファイル編集
// Web上の絶対パス(URL)(最後にスラッシュを付けてください)
define('OPENPNE_URL', 'http://www.sudachi.jp/sns/'); ← 変更
// DBサーバ設定
$GLOBALS['_OPENPNE_DSN_LIST']['main'] = array(
'dsn' => array(
'phptype' => 'mysql',
'username' => 'openpne', ← MySQLに登録したopenpneデータベースアクセスユーザ名を指定
'password' => 'xxxxxxxx', ← 上記ユーザのパスワードを指定
'hostspec' => 'localhost',
'database' => 'openpne', ← MySQLに登録したopenpneデータベース名を指定
'new_link' => false,
),
);
// DB暗号化キー(56バイト以内のASCII文字列)
define('ENCRYPT_KEY', 'nlzrpfgkclbdxhh3Rkxktyowxxxxxiagtasrfu>ymslvgfnnm8faKgo' ); ← ランダムな56桁の文字列を指定
// メールサーバードメイン
// 携帯メール投稿の宛先などのドメイン名に使われる
define('MAIL_SERVER_DOMAIN', 'centossrv.com'); ← メールサーバードメイン名を 指定
// デバッグモード
// 0: off ... エラー非表示、エラーログを記録する
// 1: on ... エラー表示、エラーログを記録しない
// 2: on ... 1 + Smartyデバッグコンソール
define('OPENPNE_DEBUGGING', 0); ← デバッグモードをoffにする
// 特定ページだけのSSLを使用するかどうか
define('OPENPNE_USE_PARTIAL_SSL', true); ← trueに変更
// SSL用URL (Cookieの値を引き継ぐため、OPENPNE_URL と同一ドメイン・パスである必要があります)
define('OPENPNE_SSL_URL', 'https://www.sudachi.jp/sns/'); ← 変更
// SSLを使用することが必須であるアクションリスト
$GLOBALS['_OPENPNE_SSL_REQUIRED'] = array(
追加(ここから)管理ページへSSL(https)でアクセスするようにする
'admin' => array(
'page_login',
),
追加(ここまで)
'ktai' => array(
削除(ここから)証明書が信頼できないと警告が出て携帯からSSLでアクセスできない。
'page_o_login', 'do_o_login', 'do_o_easy_login',
'page_o_login2', 'do_o_update_ktai_address',
'page_o_regist_pre', 'page_o_regist_input', 'do_o_insert_c_member',
'page_o_regist_end',
'page_o_password_query', 'do_o_password_query',
'page_h_config_prof', 'do_h_config_prof_update_c_member',
'page_h_config_easy_login', 'do_h_config_easy_login',
'page_h_config_mail', 'do_h_config_mail_insert_c_ktai_address_pre',
'page_h_pc_send', 'page_h_pc_send_confirm', 'do_h_pc_send_insert_c_pc_address_pre',
'page_h_config_password_query', 'do_h_config_password_query_update_password_query',
'page_h_config_password', 'do_h_config_password_update_password',
'page_h_config', 'page_h_invite', 'do_h_invite_insert_c_invite',
削除(ここまで)
));
[root@host1 ~]# cd /var/spool/cron [root@host1 ~]# vi sysop 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 [root@host1 ~]# chown -R sysop:sysop sysop
-当サイトのメールサーバー --メールサーバー構築(qmail+Dovecot) --メールサーバー間通信内容暗号化(ucspi-tcp-ssl) --メールサーバーでウィルス&スパムチェック(Qmail-Scanner+Clam AntiVirus+SpamAssassin+maildrop) --バーチャルドメイン設定(vpopmail) --vpopmail用メールアカウント&メーリングリスト管理システム導入(qmailadmin)
メールアカウント&メーリングリスト管理システムで投稿用メールアドレス「sns_xxxxxx」をこしらえる。
[root@host1 ~]# vi /home/vpopmail/domains/sudachi.jp/sns_xxxxxx/.qmail |/usr/bin/php /var/www/OpenPNE/bin/mail.php [root@host1 ~]# vi /home/vpopmail/domains/sudachi.jp/.qmail-default | /home/vpopmail/bin/vdelivermail delete ↓ | /home/vpopmail/bin/vdelivermail /home/vpopmail/domains/sudachi.jp/sns_xxxxxx chmod 755 /var/www/OpenPNE/bin/mail.php ← 実行できるようにパーミッション変更
※テストで携帯アクセス、携帯メール投稿は正常に動作しています。
ここに設置されている「すだちネットSNS」について書いています。 安定版 OpenPNE2.14.1.1 が公開されていたので、パッチファイルを当てようと思ったのですが、ちょっと手こずったのでメモしておきます。~
OpenPNEをインストールしたディレクトリに行く
cd /var/www/OpenPNE
wgetでパッチをダウンロード
wget http://trac.openpne.jp/browser/OpenPNE_specification/patch/OpenPNE_2_14_1_to_OpenPNE_2_14_1_1.patch
パッチファイルを当てる。
patch -p0 < ./OpenPNE_2_14_1_to_OpenPNE_2_14_1_1.patch
パッチを当てるのに失敗。~ ブラウザで見ると、htmlでした。~ 仕方なく、後始末(パッチファイルの削除)
rm -f *.patch
http://downloads.sourceforge.net/openpne/OpenPNE-2.14.1.1.zip よりフルセットをダウンロードし解凍。~ http://trac.openpne.jp/browser/OpenPNE_specification/patch/OpenPNE_2_14_1_to_OpenPNE_2_14_1_1.patch のページを参考に、必要ファイルのみ上書き。~ 以上で完了。
ここ>に設置されている「すだちネットSNS」について書いています。 安定版 OpenPNE2.14.1 が公開されていたので、パッチファイルを当てようと思ったのですが、ちょっと手こずったのでメモしておきます。~
OpenPNEをインストールしたディレクトリに行く
cd /var/www/OpenPNE
wgetでパッチをダウンロード
wget http://trac.openpne.jp/browser/OpenPNE_specification/patch/OpenPNE_2_14_0_to_OpenPNE_2_14_1.patch
パッチファイルを当てる。
patch -p0 < ./OpenPNE_2_14_0_to_OpenPNE_2_14_1.patch
(今回の例です。パッチのバージョンに置き換えてください)
後始末(パッチファイルの削除)
rm -f *.patch
以上で完了です。