# OpenPNE アップグレードガイド

最終更新日: 2009/08/10

## 目次

- 0. はじめに
- 1. 手順
- 2. 作業方法
  - 2-1. アップグレードSQLの実行
    - 2-1-1. MySQL 4.1 以降 (5.x 含む) の場合
    - 2-1-2. MySQL 4.0 の場合
    - 2-1-3. PostgreSQL 7.4.x (8.0.x, 8.1.x 含む) の場合
  - 2-2. ソースコードの設置
  - 2-3. 設定ファイルの変更
    - 2-3-1. OpenPNE2.14で追加された項目
    - 2-3-2. OpenPNE2.14で変更された項目
  - 2-4. メールサーバの設定
  - 2-5. アップグレードスクリプトの実行

## 0. はじめに

この文書は、OpenPNE バージョン2.12.x から バージョン2.14.x へのアップグレード手順を書いたものです。

アップグレード作業を始める前に、データベースのバックアップを保存しておくことを強くおすすめします。

## 1. 手順

アップグレードは以下のような手順で進めます。

1. アップグレードSQLの実行
2. ソースコードの設置
3. 設定ファイルの変更
4. メールサーバの設定

## 2. 作業方法

### 2-1. アップグレードSQLの実行

使用している RDBMS に合わせて、アップグレードSQLを実行します。

#### 2-1-1. MySQL 4.1 以降 (5.x 含む) の場合

- OPENPNE_DIR/setup/sql/mysql41/upgrade/upgrade-2.12to2.14.sql

[実行例]

    $ cd setup/sql/mysql41/upgrade/
    $ mysql -u username -p --default-character-set=utf8 DBNAME < upgrade-2.12to2.14.sql

#### 2-1-2. MySQL 4.0 の場合

- OPENPNE_DIR/setup/sql/mysql40/upgrade/upgrade-2.12to2.14.sql

[実行例]

    $ cd setup/sql/mysql40/upgrade/
    $ mysql -u username -p DBNAME < upgrade-2.12to2.14.sql

#### 2-1-3. PostgreSQL 7.4.x (8.0.x, 8.1.x 含む) の場合

- OPENPNE_DIR/setup/sql/postgres74/upgrade/upgrade-2.12to2.14.sql

[実行例]

    $ cd setup/sql/postgres74/upgrade
    $ psql DBNAME -U username -f upgrade-2.12to2.14.sql

### 2-2. ソースコードの設置

Webサーバ上に OpenPNE 2.14 のソースファイルを設置します。

新旧ソースファイル混在によるトラブルを防ぐため、上書きではなくソースコード全てを交換してください。 交換後は、OPENPNE_DIR/var ディレクトリの書き込み権限を適切なもの(例: 777)に変更してください。

OPENPNE_DIR/var 以下に新たなディレクトリが追加されたので、書き込み権限の変更には特に注意してください。

『OpenPNE セットアップガイド』も参考にしてください。

### 2-3. 設定ファイルの変更

OpenPNE 2.12 の設定ファイルを参考にして 2.14 用の設定ファイル(config.php)を作成します。

次表に掲げる設定ファイルの変更内容も参考にしてください。

#### 2-3-1. OpenPNE2.14で追加された項目

項目名 | 説明 | 備考
--- | --- | ---
_OPENPNE_MAINTENANCE_EXCLUDED_ACTION | メンテナンス中でも表示するモジュールの設定「OPENPNE_MAINTENANCE_MODULES」に指定されたモジュールの中で、例外的にメンテナンス画面を表示するアクションのリスト | デフォルト値: (portal)page_user_top (portal)page_portal_user_top_ktai
OPENPNE_SESSION_CHECK_PC_USER_AGENT | ログイン時のセッションにユーザーエージェント情報($_SERVER['HTTP_USER_AGENT'])を保存し、随時ユーザーエージェントをチェックをするかどうか(PC版) | true: セッションチェックする false: セッションチェックしない デフォルト値: false
OPENPNE_SESSION_CHECK_KTAI_USER_AGENT | ログイン時のセッションにユーザーエージェント情報($_SERVER['HTTP_USER_AGENT'])を保存し、随時ユーザーエージェントをチェックをするかどうか(携帯版) | true: セッションチェックする false: セッションチェックしない デフォルト値: false
OPENPNE_ONE_SESSION_PER_USER | ログイン時のセッションを1ユーザに対して1セッションに制限するかどうか | true: 制限する false: 制限しない デフォルト値: false
MAIL_ADDRESS_HASH_LENGTH | 宛先メールアドレスに付けるハッシュ文字列の長さ | デフォルト値: 12
AMAZON_ACCESS_KEY_ID | Amazon Web Service 公開アクセスキー | 詳細はこちらをご覧下さい。 Amazon Product Advertising API https://affiliate.amazon.co.jp/gp/advertising/api/detail/main.html
AMAZON_SECRET_ACCESS_KEY | Amazon Web Service 秘密キー | 詳細はこちらをご覧下さい。 Amazon Product Advertising API https://affiliate.amazon.co.jp/gp/advertising/api/detail/main.html
OPENPNE_DB_ERROR_LOG | DBエラーログ出力を出力するかどうか | true: 出力する false: 出力しない
_ALLOWED_IP_LIST_FOR_KANSHI | 監視モジュールアクセスIP制限 (m=kanshi へのアクセスを許可するIPのリスト) | デフォルト値: 指定なし
IS_PASSWORD_QUERY_ANSWER | 秘密の質問を使用するかどうか (0 ～ 2 の値) | 0: 使用しない 1: 使用する(未登録でも使用可能) 2: 使用する(未登録時に登録を強制する) デフォルト値: 2
CHECK_POST_ACTIONS | 投稿制限のチェック対象とするアクションのリスト | デフォルト値: 日記・トピック・イベントの投稿、メッセージの送信、フレンド申請のアクション
OPENPNE_POST_INTERVAL_UNFAIR_SECOND | 不正な連続投稿と判断する間隔 (秒単位) | 0 が指定された場合は不正な連続投稿をチェックしない デフォルト値: 10
OPENPNE_POST_INTERVAL_UNFAIR_COUNT | 不正な連続投稿が連続何回行われたら投稿制限するか | デフォルト値: 10
OPENPNE_POST_INTERVAL_UNFAIR_COUNT_RESET_SECOND | 前回投稿から何秒以上空いたら不正な連続投稿回数をリセットするか | 0 が指定された場合はリセットしない デフォルト値: 60*60
OPENPNE_POST_USE_DB | 前回投稿時刻と投稿回数の保存先にデータベースを使用するかどうか | false: セッションを使用 true: データベースを使用 デフォルト値: true

#### 2-3-2. OpenPNE2.14で変更された項目

項目名 | 説明 | 変更点 | 備考
--- | --- | --- | ---
_OPENPNE_SSL_REQUIRED | SSLを使用することが必須であるアクションのリスト | 'page_o_password_reset' と 'do_o_password_reset' が追加された | 'pc' と 'ktai' の両方に追加されている

### 2-4. メールサーバの設定

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

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

項目 | 新形式 | 旧形式
--- | --- | ---
アルバム投稿 | aXXX-YYY@MAIL_SERVER_DOMAIN | album@MAIL_SERVER_DOMAIN
アルバム画像投稿 | aiXXX-YYY@MAIL_SERVER_DOMAIN | aiXXX@MAIL_SERVER_DOMAIN
アルバム表紙投稿 | acXXX-YYY@MAIL_SERVER_DOMAIN | acXXX@MAIL_SERVER_DOMAIN

- XXX には数字。
- YYY には12バイトの英数字([0-9a-f]{12})。

設定方法は『OpenPNE セットアップガイド』を参考にしてください。

### 2-5. アップグレードスクリプトの実行

アップグレード用のPHPスクリプトを実行します。

スクリプト実行前に、必ず 2-3. 設定ファイルの変更 で config.php の設定を済ませてください。

#### 2-5-1. 実行するスクリプト

- OPENPNE_DIR/setup/script/upgrade/upgrade01.php

[実行例]

    $ cd setup/script/upgrade/
    $ php upgrade01.php

※スクリプトの実行は「setup/script/upgrade/」で行ってください。
「Complete!」と表示されたらスクリプト完了です。

以上でアップグレード作業は完了です。