OpenPNEで携帯電話から投稿できるようにする設置方法

OpenPNEの設置から、携帯電話から投稿できるようにするまでのメモです。

バージョン:OpenPNE2.14.1.1

■目的
OpenPNEで携帯電話から投稿できるようにする

■備考
※catch all対応のサーバーで利用する方法です。(xrea、E-server など。)
今回のメモはe-serverでの構築したメモです。過去にxrea、coreserverで構築した経験を元にしています。

もっとシンプルな方法もあると思いますが、汎用性が高そうだし、とりあえず動いていますので、このやり方をメモしておきます。
十分ではありませんが、xrea・coreserverでも対応できるようなメモもできるだけ残しておきます。

———————————————————————————————-
目次
1.OpenPNEのダウンロード(この設置メモはOpenPNE2.14.1.1を元にしています)
2.データベースを準備する
3.config.phpの作成
4.config.inc.phpを修正する
5.FTPでファイルを階層毎にアップロードする
6.ドメインのメールアドレスをcatch all に対応させる
7.snsmail.shを作成、アップロードする
8.メールチェック用PHPを作成、binにアップロードする
9.cron(クーロン)の設定をする。その1
10.cron(クーロン)の設定をする。その2
———————————————————————————————-

———————————————–
1.OpenPNEのダウンロード
———————————————–

こちらから最新版をダウンロード
http://www.openpne.jp/pne-downloads/openpne2/

———————————————–
2.データベースを準備する
———————————————–

1.サーバーにデータベースを作成する
2・データベースの文字コードは「UTF-8」にする。
3・データベースにテーブルをインポートする

インポートの順番は、先に
setup/sql/mysql41/install/install-2.14-create_tables.sql

次に、
setup/sql/mysql41/install/install-2.14-insert_data.sql

※install-2.14-create_tables.sqlを先にインポートする
※4.1より新しいバージョンはmysql41をインポート
※4.0はmysql40をインポート

———————————————–
3.config.phpの作成
———————————————–

1.config.php.sample を複製コピーして、config.phpにファイル名を変更する。
2.config.phpをエディタで開いて編集する。編集内容は次の通り。

■6行目 公開するドメインURLを入力

■12行目 データベースの情報を入力

■21行目 半角英数字で適当な文字列を入れる

■24行目 利用するメールアドレスのドメインを入力する

■266行目 セッション・クッキー設定を甘くする(自分の場合)
// セッション・クッキー設定

それぞれの数字をいじります。

■487行目 Google Maps API keyを入力する (利用する場合)
// Google Maps API key

■Google AJAX Search API keyを入力する (利用する場合)
// Google AJAX Search API key

■499行目 Amazon Product Advertising API を入力する。(レビュー機能を利用する場合)
// Amazon Product Advertising API

———————————————–
4.public_html/config.inc.phpを修正する
———————————————–

public_html/config.inc.phpを修正する

※openpneフォルダを作る場合の書き方です。

———————————————–
5.FTPでファイルを階層毎にアップロードする
———————————————–

以下のようなファイル構造でアップロードします。
アップロードしたら、パーミッションを必ず変更すること。

アップロードのイメージとしては
1.public_htmlの中身は全てindexにアップロードする。
2.indexの階層に「openpne」というフォルダを作成する
3.残りのファイルをopenpneフォルダの中に入れる。
※ setupフォルダ・config.php.sample・LICENSEはアップロードしなくても大丈夫です。

– public_html (ディレクトリ名は変更可能)
├ config.inc.php (OPENPNE_DIR ディレクトリを指定)
├ index.php
… (その他public_htmlの中身)

└ openpne (フォルダを作成する)
├ bin
├ lib
├ var
│ ├ function_cache [777]
│ ├ img_cache
│ │ ├ gif [777]
│ │ │ ├ w_h [777]
│ │ │ ├ w_h_raw [777]
│ │ │ ├ w76_h76 [777]
│ │ │ ├ w120_h120 [777]
│ │ │ ├ w180_h180 [777]
│ │ │ ├ w240_h320 [777]
│ │ │ └ w600_h600 [777]
│ │ ├ jpg [777]
│ │ │ ├ w_h [777]
│ │ │ … [777]
│ │ └ png [777]
│ │ ├ w_h [777]
│ │ … [777]
│ ├ log [777]
│ ├ rss_cache [777]
│ ├ templates_c [777]
│ └ tmp [777]
├ webapp <— OPENPNE_WEBAPP_DIR
├ webapp_biz <— OPENPNE_WEBAPP_BIZ_DIR
└ webapp_ext <— OPENPNE_WEBAPP_EXT_DIR

———————————————–
6.ドメインのメールアドレスをcatch all に対応させる
———————————————–

■E-serverの場合 (Sendmail利用の場合)

1.catch allで転送されるアドレス(ユーザ)を作成する。
2.webmin に接続、ログインする。

お客様 webmin に接続、ログインしまして、
[ サーバ ] → [ Sendmail の設定 ] → [ アドレス マッピング ] と進み、
下記条件にて [ 作成 ] いたします。

メール宛先 : ● ドメイン にチェックしまして、テキスト欄へと
設定するドメインをご入力ください。( example.com )

送信先   : ● アドレス にチェックしまして、テキスト欄へと
配送先ユーザ名をご入力ください。( tech )

これで、catch all でメールアドレスのないアドレスに来たメールが全てtech@example.comで受け取ることが可能になります。

PROXのヘルプ参考
http://www.prox.ne.jp/faq/19_233_ja.html?highlight=prox

■xrea、coreserverの場合
※ CATCH ALL機能対応アカウント名「default」を指定されますと、アカウント名の存在しない外部メールをすべて受信可能になります。

例えば、
default@example.com
を、[ 転送のみ ] にして mailexample.com に飛ばす。

これで、catch all でメールアドレスを設定していないアドレスに来たメールが全てmail@example.comで受け取ることが可能です。

———————————————–
7.snsmail.shを作成、アップロードする
———————————————–

以下のコードをテキストファイルにコピーして「snsmail.sh」という名前で保存する。
文字コードは「UTF-8」改行コードは「LF」にしてください。【重要】

「■■■■■」の部分は利用するOPENPNEまでのディレクトリ階層を書いてください。

作成したsnsmail.shを
「openpen」フォルダの中 (bin、lib、varと同じ階層)にアップロードする。
snsmail.shのパーミッションを755に変更する。

■xrea、coreserverの場合

———————————————–
8.メールチェック用PHPを作成、binにアップロードする
———————————————–

作成するphpファイルは全部で4つ

chkmail.php
chkmail_ini.php
chkmailimg.php
cpmail.php

OpenPNE携帯投稿用PHP

上記のリンクから4つのコードをテキストファイルにコピーして、それぞれのファイル名で保存してください。

「■■■■■」の部分は利用するOPENPNEまでのディレクトリ階層を書いてください。
「●●●●●」の部分は [ 6.ドメインのメールアドレスをcatch all に対応させる ] で作成した、メールアドレスの情報を入力してください。

保存と編集ができたら、ファイルをopenpne/bin/の中にアップロードします。
パーミッションは4つのファイル共に755に設定してください。

参考にしたサイト
http://www.itsup.net/a02/article.php?story=20060830150102507

———————————————–
9.cron(クーロン)の設定をする。その1
———————————————–

■E-serverの場合

▼cronジョブを実行するユーザ
cronの実行失敗などのメールを受けとるユーザです

▼コマンド

※「■■■■■」の部分は利用するOPENPNEまでのディレクトリ階層を書いてください。

▼以下で選択された時刻に実行する
実行する時刻を選択します。全部すべてを選択

■xrea、coreserverの場合

分時日月曜日
0 * * * * *
[ public_html/OPENPNE_DIR/openpne/snsmail.sh>/dev/null 2>&1 ]

分時日月曜日
30 * * * * *
[ public_html/OPENPNE_DIR/openpne/snsmail.sh>/dev/null 2>&1 ]

これで、30分おきに携帯から投稿されたメールを読みに行くことができます。

※ジョブの最大実行時間は3分のようです。それを超えるものは強制停止されます。
上記cronの記述を参考に編集してください。

———————————————–
10.cron(クーロン)の設定をする。その2
———————————————–

メール投稿以外のcronの設定

RSS取得

デイリーニュース

バーステーメール

あしあとメール

それぞれの最後に以下を足すと、エラーメールが来なくなります。

以下のファイルについて、アップロードしてあるファイルを一度ダウンロードして、
文字コードは、shift-jisのLFでアスキーで保存しなおします。
パーミッションは755にすること。

tool_rss_cache.cron
tool_rss_cache.php

tool_ashiato_update_log.cron
tool_ashiato_update_log.php

tool_send_birthday_mail.php
tool_send_birthday_mail.cron

tool_send_daily_news.cron
tool_send_daily_news.php