ブログ

2012/05/10 OpenPNE テクニカルガイド更新情報

OpenPNE 技術サポートの豊岡です。

2012年5月10日、新たに追加されたテクニカルガイドをご紹介していきます。

先月4月27日にリリースされました、OpenPNE3.8に関するガイドを3つ追加いたしました。
追加した記事の中から「OpenPNE3.8のセットアップ手順」は、全文を以下にご紹介いたしますので、よろしければご覧ください。

OpenPNE3.8 以降の対応済み・対応予定プラグイン一覧

こちらの記事にはOpenPNE3.8にバンドルされているプラグインや、今後スマートフォン対応される予定のプラグインなどについてご紹介しています。

スマートフォン対応プラグインの作り方

OpenPNE3.8系のスマートフォン対応のプラグインを作成する方法について紹介しています。
OpenPNE3 Wikiにも情報がございますので、こちらもご参考になさってください。
スマートフォン対応プラグインの作り方
スマートフォン対応プラグインの作り方/

OpenpNE3.8セットアップ手順

はじめに

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

Webサーバ

Apache
  * mod_rewrite を使用可能

PHP

PHP5.2.3 以降
  * PHP の mbstring 拡張モジュールを使用可能
  * PHP の XML 拡張モジュールを使用可能
  * PHP の PCRE 拡張モジュールを使用可能 (UTF-8 サポート)
  * PHP の PDO 拡張モジュールを使用可能 (利用する DBMS のドライバも含む)
  * PHP の JSON 拡張モジュールを使用可能
  * PHP から GD ライブラリを使用可能 (JPEG/GIF/PNG サポート)
  * PHP の mcrypt 拡張モジュールの使用を推奨
  * PHP の APC 拡張モジュールの使用を推奨

データベースサーバ

MySQL4.1以降(5.1 以降を推奨)

PostgreSQL, SQLite は現時点で未サポート(将来的にサポート予定)

セットアップ方法

OpenPNE3のソースコードを入手する

以下の URL に記載されている情報に従って、 OpenPNE 3 のソースコードをダウンロードしてください。

http://www.openpne.jp/pne-downloads/

ファイルの設置

以下のような構造になるようにサーバ上にファイルを設置してください。

./
+-- LICENSE
+-- NOTICE
+-- apps/
+-- config/
+-- data/
+-- doc/
+-- lib/
+-- log/
+-- plugins/
+-- symfony
+-- test/

(ブラウザから閲覧可能)
+-- web/ (ディレクトリ名は変更可能)
    +-- index.php
    +-- js/
    +-- mobile_frontend.php
    +-- pc_backend.php

設定ファイルをコピー

以下のようにして設定ファイルをコピーしてください。

cd OpenPNE3
cp config/ProjectConfiguration.class.php.sample config/ProjectConfiguration.class.php
cp config/OpenPNE.yml.sample config/OpenPNE.yml

その後、 OpenPNE.yml の設定値を環境に合わせて変更してください。特に base_url と mail_domain はメール投稿、メール配信の際に利用されるので必ず設定をおこなってください。

インストールコマンドの実行

OpenPNE 3.8 以降のインストールコマンドは従来のものと挙動が異なりますので、ご注意ください。

以下のコマンドを実行し、インストール作業をおこなってください。

./symfony openpne:install

このコマンドはデータベースを削除し、作り直します。
但し、以上のコマンドはバンドルプラグインがダウンロード・インストールされないため、バンドルプラグインをダウンロード・インストールする場合は、以下の --internet オプションを付けてコマンドを実行してください。

./symfony openpne:install --internet

他のシステムとデータベースを共有する場合などで、データベース自体の削除がおこなわれては都合が悪い場合、以下のオプションを付けてコマンドを実行してください。

./symfony openpne:install --non-recreate-db

-&#45non-recreate-db オプションを付けて実行する場合、 OpenPNE はこれから作成しようとしているテーブル名と同名のテーブルを外部キーなどを考慮して適切な順序で削除しようとします。他システムのテーブルが予期せず削除されてしまったり、 OpenPNE の想定の外で外部キー制約などによりテーブルの削除に失敗したりといった危険を避けるため、OpenPNE.yml の設定で OpenPNEが使用するテーブルにプレフィックスを付けておくことを強く推奨します。

このプレフィックスは同一 DB に対して複数の OpenPNE をインストールするためのものではなく、DB を共有している他システムとテーブル名がバッティングするのを避けるためのものであることに注意してください。

  table_prefix: "op_"

openpne:install コマンドを実行すると、はじめに、以下の事項の入力を求められます。

* 使用する DBMS (mysql, pgsql, sqlite から選択。ただし mysql 以外は未サポート)
* データベース名
* データベースへの接続用ユーザ名
* データベースへの接続用パスワード(未入力可)
* データベースサーバのホスト名(localhost など)
* データベースサーバのポート番号(未入力可)
* (DBMS に MySQL を選択し、サーバホスト名に localhost
* を指定した場合)使用するソケットへのパス(未入力可)

以上の事項について入力をおこなうと、インストール作業が自動でおこなわれます。

また、これらの入力事項をコマンドの引数としてデータベースの設定値を指定してインストールすることも可能です。以下は使用例ですので、設定値は適宜変更してください。

./symfony openpne:fast-install --dbms=mysql --dbuser=username --dbpassword=password --dbhost=localhost --dbport=10 --dbname=databasename --dbsock=/tmp/mysql.sock

但し、以上のコマンドはバンドルプラグインがダウンロード・インストールされないため、バンドルプラグインをダウンロード・インストールする場合は、-&#45internet オプションを付けてコマンドを実行してください。

開発環境用ファイルを削除

./symfony project:clear-controllers

mod_rewrite の設定

web/.htaccess の RewriteBase を各自の環境にあわせて編集してください(必要でない場合もあります)。

RewriteBase / # もしくは /web など

RewriteBase には URL の絶対パスを指定してください。

メール配信設定

メールを配信するための設定をおこないます。メールの配信をおこなわない場合はスキップして構いません。
【設定例】
cron ファイルに設定権限を付加します。

chmod -R 0755 bin/*.cron

/etc/crontab に以下を記述します。
■ 6 時に /path/to/OpenPNE3/bin/send_daily_news.cron というスクリプトを /path/to/php で実行することで /path/to/OpenPNE3 のデイリー・ニュースを配信する

00 6 * * * root sh /path/to/OpenPNE3/bin/send_daily_news.cron /path/to/OpenPNE3 /path/to/php

■ 6 時に /path/to/OpenPNE3/bin/birthday_mail.cron というスクリプトを /path/to/php で実行することで /path/to/OpenPNE3 の誕生日通知メールを配信する

00 6 * * * root sh /path/to/OpenPNE3/bin/birthday_mail.cron /path/to/OpenPNE3 /path/to/php

なお、デイリー・ニュースはデフォルトの状態ではコンテンツがありません。

管理画面のガジェット設定から、デイリー・ニュースに対応したプラグインが提供するコンテンツを選択して使用してください。

メール投稿設定

メール投稿のための設定をおこないます。メール投稿をおこなわない場合はスキップして構いません。
【設定例】(Postfixを使用する場合)
/etc/postfix/virtual を以下のように設定します

  example.com anything
  @example.com openpne_user

/etc/aliases を以下のように設定します

openpne_user: "| php /path/to/openpne/symfony openpne:execute-mail-action"

セットアップ手順については以上です。

今回新たに追加した記事は、以上です。

「OpenPNE テクニカルガイド」とは?

お客さまからこれまでいただきましたお問い合わせの中で、特に多く寄せられるお問い合わせや、OpenPNE 開発元ならではの様々なノウハウなどを”ガイド”という形でお客さまにいつでも閲覧いただける目的で作られた、新しいサービスです。

これからも随時テクニカルガイドの更新を行い、更新情報をブログでお知らせしていく予定です。