最終更新日: 2007/11/01
この文書は、OpenPNE バージョン2.10beta1 を基にして書かれています。
OpenPNE は以下のようなサーバ環境で動作させることを想定しています。
OpenPNE に含まれるディレクトリ、ファイルを以下のようにWebサーバ上に設置してください。
- OPENPNE_DIR ├ bin ├ lib <--- OPENPNE_LIB_DIR ├ var <--- OPENPNE_VAR_DIR │ ├ img_cache │ │ ├ gif [777] │ │ │ ├ w_h [777] │ │ │ ├ w_h_raw [777] │ │ │ ├ w76_h76 [777] │ │ │ ├ w120_h120 [777] │ │ │ ├ w180_h180 [777] │ │ │ └ w240_h320 [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 (ブラウザから閲覧可能) - public_html (ディレクトリ名は変更可能) ├ config.inc.php (OPENPNE_DIR ディレクトリを指定) ├ index.php ... ※[777]は例です。環境に合わせて適切な値に読み替えてください。
public_html のパスとディレクトリ名は変更することができます。
public_html のパスを OPENPNE_DIR ディレクトリの直下(デフォルト配置)以外に変更した場合は、 public_html 直下にある config.inc.php の内容を書き換えてください。
また、OPENPNE_DIR/var 以下の全ディレクトリにウェブサーバからの書き込み権限(例えば 777)を与えてください。
$ chmod -R 0777 var/*
OpenPNE 2.2 からは画像のキャッシュディレクトリを public_html 以下に置き、Apache から直接読み込みを行うようにすることもできます。 (OpenPNE の設定ファイル config.php で、OPENPNE_IMG_CACHE_PUBLIC を true にしてください)
この機能を有効にする場合、Apache の設定で mod_rewrite を有効にし、.htaccess を使用可能にするかもしくは同様の内容を httpd.conf に記述する必要があります。
- OPENPNE_DIR ├ bin ├ lib <--- OPENPNE_LIB_DIR ├ var <--- OPENPNE_VAR_DIR │ ├ 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 (ブラウザから閲覧可能) - public_html (ディレクトリ名は変更可能) ├ config.inc.php (OPENPNE_DIR ディレクトリを指定) ├ index.php ├ img │ ├ .htaccess │ ├ index.php │ ├ gif [777] │ │ ├ w_h [777] │ │ ├ w_h_raw [777] │ │ ├ w76_h76 [777] │ │ ├ w120_h120 [777] │ │ ├ w180_h180 [777] │ │ └ w240_h320 [777] │ ├ jpg [777] │ │ ├ w_h [777] │ │ ... [777] │ └ png [777] │ ├ w_h [777] │ ... [777] ... ※[777]は例です。環境に合わせて適切な値に読み替えてください。
OPENPNE_DIR/config.php.sample を OPENPNE_DIR/config.php にコピーして config.php の方を環境に合わせて編集します。
// 使用するデータベースにPostgreSQLを指定。 'phptype' => 'pgsql'
必要に応じて、その他の設定も書き換えてください。 デバッグモードの設定(OPENPNE_DEBUGGING)は、本番運用に移行する際には 0 にしておくことをおすすめします。
PHPの設定でセーフモードが有効な場合は、MAIL_SET_ENVFROM を false に設定してください。
新しくデータベースを作成する場合、以下のようなコマンドを実行してデータベースを作成します。 (※レンタルサーバ等で既にデータベースが用意されている場合は実行する必要はありません)
$ createdb -U username DBNAME -E 'UTF-8'
準備したデータベース(例:DBNAME)上で、以下のSQL文を順番に実行します。
PNEBIZを使用する場合は上記に加えて、以下のSQL文を実行してください。
(1) データベース作成 (省略可) $ createdb -U username DBNAME -E 'UTF-8' (2) OpenPNEセットアップ用SQL実行 $ cd setup/sql/postgres74/install/ $ psql DBNAME -U username -f install-2.10-create_tables.sql $ psql DBNAME -U username -f install-2.10-insert_data.sql (3) PNEBIZ用SQL実行 (オプション) $ cd ../option $ psql DBNAME -U username -f pnebiz-header.sql
レンタルサーバ等で設定済みの場合は読み飛ばしてください。
httpd.confを修正し、
[設定例]
<VirtualHost *:80> ServerName openpne.example.com DocumentRoot /home/username/OpenPNE/public_html/ DirectoryIndex index.html index.php </VirtualHost>
httpd.confを修正したら、Apacheを再起動してください。
携帯版を使用しない場合は以下の設定は不要です。
MAIL_SERVER_DOMAIN に届くメールで、以下のメールアドレスはシステムで利用されます。
項目 | 新形式 | 旧形式 |
---|---|---|
新規登録 / ログインURL取得 | get@MAIL_SERVER_DOMAIN | get@MAIL_SERVER_DOMAIN |
プロフィール写真変更 | pXXX-YYY@MAIL_SERVER_DOMAIN | pXXX@MAIL_SERVER_DOMAIN |
コミュニティ掲示板メール投稿 | tXXX-YYY@MAIL_SERVER_DOMAIN | tXXX@MAIL_SERVER_DOMAIN |
日記メール投稿 | bXXX-YYY@MAIL_SERVER_DOMAIN | blog@MAIL_SERVER_DOMAIN |
日記写真変更 | biXXX-YYY@MAIL_SERVER_DOMAIN | biXXX@MAIL_SERVER_DOMAIN |
コミュニティ写真変更 | ciXXX-YYY@MAIL_SERVER_DOMAIN | ciXXX@MAIL_SERVER_DOMAIN |
トピック・イベント写真変更 | tiXXX-YYY@MAIL_SERVER_DOMAIN | tiXXX@MAIL_SERVER_DOMAIN |
新形式、旧形式のどちらのメールアドレスで受け付けるかは config.phpの設定(MAIL_ADDRESS_HASHED)によって切り替えることができます。
新形式はメール投稿の際のFromメールアドレス偽装へのセキュリティ対策のために導入されたものです。 From偽装対策を(IP制限等により)メールサーバ側で行っている場合には旧形式での運用も問題ありません。
メールサーバの転送設定を利用して、これらのメールアドレスへのメールが、以下のコマンドにわたるように設定します。
"|/usr/bin/php OPENPNE_DIR/bin/mail.php"
[設定例]
cronファイルに実行権限の付加。
$ chmod 0755 bin/*.cron
/etc/crontab に以下を記述。
# 6時にメールを送信&20分毎にRSS更新&5時にvacuum処理 00 6 * * * root sh OPENPNE_DIR/bin/tool_send_daily_news.cron OPENPNE_DIR/bin/ [bin_path]/php 00 6 * * * root sh OPENPNE_DIR/bin/tool_send_birthday_mail.cron OPENPNE_DIR/bin/ [bin_path]/php 00 6 * * * root sh OPENPNE_DIR/bin/tool_send_schedule_mail.cron OPENPNE_DIR/bin/ [bin_path]/php */20 * * * * root sh OPENPNE_DIR/bin/tool_rss_cache.cron OPENPNE_DIR/bin/ [bin_path]/php 00 5 * * * root sh OPENPNE_DIR/bin/tool_vacuum_exec.cron OPENPNE_DIR/bin/ [bin_path]/php[bin_path]は、PHP の実行ファイルがインストールされているディレクトリ(例えば、/usr/bin)です。
また、デイリーニュース送信用スクリプトは、デイリーニュース送信結果通知ログを出力します。/etc/crontabを以下のように記述し、メールで受け取れるようにすると便利です。
00 6 * * * root sh OPENPNE_DIR/bin/tool_send_daily_mail.cron OPENPNE_DIR/bin/ [bin_path]/php | mail -s "daily news log" example@example.com
ブラウザから以下のURLへアクセスしてください。(セットアップ完了後はアクセスすることができません)
OPENPNE_URL?m=setup (例) http://openpne.example.com/?m=setup
ここでSNS名、初期メンバー、管理用アカウントを設定します。
以下のURLへアクセスし、セットアップモジュールで設定した管理用アカウント名、パスワードを入力してログインしてください。ログイン後、管理メニューの「SNS設定」からSNSの基本情報の設定をすることができます。
OPENPNE_URL?m=admin (例) http://openpne.example.com/?m=admin
また、管理メニューの「管理画面設定 > ページ名ランダム生成」でランダム生成を実行すると管理画面内のページ名を変更することができるので、セキュリティ向上のためセットアップ後に必ず実行しておくことをおすすめします。
管理画面のURLを変更する場合は、設定ファイル config.php 内にある ADMIN_MODULE_NAME の値を変更してください。
OPENPNE_URL?m=abcde (例) http://openpne.example.com/?m=abcdeというURLから管理画面へアクセスすることができます。
管理画面を通常とは別のドメインで運用したい場合やBasic認証を使用してアクセス制限したい場合など、 Webサーバから読み込まれる公開ディレクトリを分けて運用したい場合があります。
OpenPNEでは、public_html 以下のファイルを管理画面用の公開ディレクトリにコピーし、config.inc.php の内容を書き換えることによりこれを実現することができます。
- OPENPNE_DIR ├ bin ├ lib ├ var ├ webapp ├ webapp_ext ├ webapp_biz └ config.php [http://sns.example.com/] - public_html (ディレクトリ名は変更可能) ├ config.inc.php ├ index.php ... ↓コピー [http://admin.example.com/] - admin_public_html (ディレクトリ名は変更可能) ├ config.inc.php (←このファイルを書き換える) ├ index.php ...
<?php /** * @copyright 2005-2007 OpenPNE Project * @license http://www.php.net/license/3_01.txt PHP License 3.01 */ define('OPENPNE_DIR', realpath('../')); require_once OPENPNE_DIR . '/config.php'; // 管理画面のベースURL設定 define('OPENPNE_ADMIN_URL', 'http://admin.example.com/'); // 無効にするモジュール $GLOBALS['_OPENPNE_DISABLE_MODULES'] = array('pc', 'ktai'); ?>
以上で、管理画面用のURL(例:http://admin.example.com/) でアクセスするための設定は完了です。
一方、通常のURL(例:http://sns.example.com/?m=admin) では管理画面へのアクセスができないようにするために、 config.php で以下の設定をしておきます。
// 無効にするモジュール $GLOBALS['_OPENPNE_DISABLE_MODULES'] = array('admin', 'setup');
これでセットアップは完了です。友達を招待してみたり、日記を書いたり、あなただけのSNSを作り上げてください!