OpenPNE セットアップガイド

最終更新日: 2006/12/31

目次


0. はじめに

この文書は、OpenPNE バージョン2.6 を基にして書かれています。

OpenPNE は以下のようなサーバ環境で動作させることを想定しています。

1. ファイルの設置

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]
  │ │ ├ 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 777 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]
  │ ├ jpg [777]
  │ │ ├ w_h [777]
  │ │    ... [777]
  │ └ png [777]
  │    ├ w_h [777]
  │       ... [777]
     ...

※[777]は例です。環境に合わせて適切な値に読み替えてください。

2. 設定ファイルの変更

OPENPNE_DIR/config.php.sample を OPENPNE_DIR/config.php にコピーして config.php の方を環境に合わせて編集します。

OPENPNE_URL
ベースURL(絶対パス)
DSN
(MySQLの)データベースへ接続するための情報です。
接続用ユーザ、パスワード、サーバホスト名、データベース名を設定します。
ENCRYPT_KEY
会員ログイン情報の暗号キー(56バイト以内のASCII文字)
他人に推測されにくい文字列にしてください。
MAIL_SERVER_DOMAIN
メールサーバのドメイン名(携帯版でメール投稿をする場合に使います)

必要に応じて、オプション設定も書き換えてください。 デバッグモードの設定は、本番運用に移行する際には 0 にしておくことをおすすめします。

PHPの設定でセーフモードが有効な場合は、MAIL_SET_ENVFROM を false に設定してください。

3. サーバ設定

レンタルサーバ等で設定済みの場合は読み飛ばしてください。

3-1. Apacheの設定

httpd.confを修正し、

[設定例]

バーチャルホストを使ったhttpd.confの設定
<VirtualHost *:80>
    ServerName        openpne.example.com
    DocumentRoot      /home/username/OpenPNE/public_html/
    DirectoryIndex    index.html index.php
</VirtualHost>

httpd.confを修正したら、Apacheを再起動してください。

3-2. メールサーバの設定

携帯版を使用しない場合は以下の設定は不要です。

MAIL_SERVER_DOMAIN に届くメールで、以下のアドレスはシステムで利用されます。

項目新形式旧形式
新規登録 / ログインURL取得get@MAIL_SERVER_DOMAINget@MAIL_SERVER_DOMAIN
プロフィール画像変更pXXX-YYY@MAIL_SERVER_DOMAINpXXX@MAIL_SERVER_DOMAIN
コミュニティ掲示板メール投稿tXXX-YYY@MAIL_SERVER_DOMAINtXXX@MAIL_SERVER_DOMAIN
日記メール投稿bXXX-YYY@MAIL_SERVER_DOMAINblog@MAIL_SERVER_DOMAIN

新形式、旧形式のどちらのアドレスで受け付けるかは config.phpの設定(MAIL_ADDRESS_HASHED)によって切り替えることができます。

新形式はメール投稿の際のFromアドレス偽装へのセキュリティ対策のために導入されたものです。 From偽装対策を(IP制限等により)メールサーバ側で行っている場合には旧形式での運用も問題ありません。

メールサーバの転送設定を利用して、これらのアドレスへのメールが、以下のコマンドにわたるように設定します。

"|/usr/local/bin/php OPENPNE_DIR/bin/mail.php"

3-3. cronの設定

[設定例]

cronファイルに実行権限の付加。

chmod 755 bin/*.cron

/etc/crontab に以下を記述。

# 6時にメールを送信&20分毎にRSS更新
00   6 * * * root sh OPENPNE_DIR/bin/tool_send_dairy_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
[bin_path]はphpをインストールしたbinディレクトリ(例えば、/usr/local/bin)です。

4. OpenPNE用データベースの作成

4-1. MySQL 4.1 の場合

新しくデータベースを作成する場合、以下のようなSQLクエリを実行してデータベースを作成します。

CREATE DATABASE `DBNAME` DEFAULT CHARACTER SET utf8 ;

準備したデータベース(例:DBNAME)上で、以下のSQL文を順番に実行してください。

  1. OPENPNE_DIR/setup/sql/install/install-2.6-create_tables-mysql41.sql
  2. OPENPNE_DIR/setup/sql/install/install-2.6-insert_data.sql
[実行例]
$ mysql -u username -p --default-character-set=utf8 DBNAME < install-2.6-create_tables-mysql41.sql
$ mysql -u username -p --default-character-set=utf8 DBNAME < install-2.6-insert_data.sql

4-2. MySQL 4.0 の場合

新しくデータベースを作成する場合、以下のようなSQLクエリを実行してデータベースを作成します。

CREATE DATABASE `DBNAME` ;

準備したデータベース(例:DBNAME)上で、以下のSQL文を順番に実行してください。

  1. OPENPNE_DIR/setup/sql/install/install-2.6-create_tables-mysql40.sql
  2. OPENPNE_DIR/setup/sql/install/install-2.6-insert_data.sql
[実行例]
$ mysql -u username -p DBNAME < install-2.6-create_tables-mysql40.sql
$ mysql -u username -p DBNAME < install-2.6-insert_data.sql

4-3. PNEBIZを使用する場合

PNEBIZを使用する場合は4-1(または4-2)実行後、以下のSQL文を実行してください。

  1. OPENPNE_DIR/setup/sql/install/option-2.6-pnebiz-header.sql
[実行例]
$ mysql -u username -p DBNAME < option-2.6-pnebiz-header.sql

5. セットアップモジュールの実行

ブラウザから以下のアドレスへアクセスしてください。(セットアップ完了後はアクセスすることができません)

OPENPNE_URL?m=setup
(例) http://openpne.example.com/?m=setup

ここでSNS名、管理用アカウント、初期ユーザの設定を行うことができます。

6. 管理ページへのアクセス

セットアップ時に設定した管理用アカウントのユーザ名、パスワードを入力してログインしてください。ログイン後、管理メニューの「SNS設定変更」からSNSの基本情報の設定をすることができます。

OPENPNE_URL?m=admin
(例) http://openpne.example.com/?m=admin

管理ページのURLを変更する場合は、設定ファイル config.php 内にある ADMIN_MODULE_NAME の値を変更してください。

例えば、abcde に変更した場合、
OPENPNE_URL?m=abcde
(例) http://openpne.example.com/?m=abcde
というURLから管理ページへアクセスすることができます。

また、管理メニューの「管理用ページ名をランダム生成」でページ名置換を実行すると管理ページ内部のページ名を変更することができるので、セキュリティ向上のためセットアップ後に必ず実行しておくことをおすすめします。


これでセットアップは完了です。友達を招待してみたり、日記を書いたり、あなただけのSNSを作り上げてください!