# Usagi Project MyNETS 1.0.0 セットアップガイド

最終更新日: 2007/02/28

## 目次

- 0. はじめに
- 1. ファイルの設置
- 2. 設定ファイルの変更
- 3. サーバ設定
  - 3-1. Apacheの設定
  - 3-2. メールサーバの設定
  - 3-3. cronの設定
- 4. MyNETS用データベースの作成
  - 4-1. MySQL 4.1 の場合
  - 4-2. MySQL 4.0 の場合
- 5. セットアップモジュールの実行
- 6. 管理ページへのアクセス

## 0. はじめに

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

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

- Apache 1.3.*/2.0.* 以上
- PHP 4.3.*/5.0.* (ASPI版を推奨)
  - PHP の mbstring 拡張モジュールを使用可能
  - PHP から GD ライブラリを使用可能 (JPEG/GIF/PNG サポート)
  - PHP の mcrypt 拡張モジュールの使用を推奨
- MySQL 4.0/4.1
- メールサーバ(携帯からメール投稿する場合)
  - Postfix 2.1.* を推奨

## 1. ファイルの設置

MyNETSに含まれるディレクトリ、ファイルを以下のようにWebサーバ上に設置してください。

    - OPENPNE_DIR
      ├ bin-- *.cron[755]
      ├ 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_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/*

画像のキャッシュディレクトリを public_html 以下に置き、Apache から直接読み込みを行うようにすることもできます。 (OpenPNE Usagiの設定ファイル 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_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]
      │ │ ├ w36_h36 [777]
      │ │ ├ w76_h76 [777]
      │ │ ├ w120_h120 [777]
      │ │ └ w180_h180 [777]
      │ ├ jpg [777]
      │ │ ├ w_h [777]
      │ │    ... [777]
      │ └ png [777]
      │    ├ w_h [777]
      │       ... [777]
      ├ skin  ... [777]
         ├ default  ... [777]
         │ └ img [777]
         ├ ume      ... [777]
         │ └ img [777]
         └ [任意のスキンフォルダー名]  ... [777]
            └ img [777]
         ...

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

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

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

### SNSのURL

28行目　Web上の絶対パス(URL)
http://sns.example.com/の部分を、SNSを設置するURLに変更してください。最後にスラッシュを付けてください

    define('OPENPNE_URL', 'http://sns.example.com/');

### データベースの設定

30行目

    $GLOBALS['_OPENPNE_DSN_LIST']['main'] = array(
    'dsn'  => array(
    'phptype'  => 'mysql',
    'username' => 'MYSQLサーバのユーザー名',
    'password' => 'パスワード',
    'hostspec' => 'localhost',
    'database' => 'SNS用に作成したデータベースの名前',
    'new_link' => false,
    ),
    );

### DB暗号化キー(56バイト以内のASCII文字列)

42行目 暗号を記入（好きな英数字を入れても大丈夫です）

    // DB暗号化キー(56バイト以内のASCII文字列)
    define('ENCRYPT_KEY', '');

サーバで暗号を生成する場合は以下のコマンドで生成ください（CentOS　FedoraCore6 にて生成実行確認）

    $ mkpasswd -l 56
    kggqcorgrurylrQts}gpitoqnlqsxcishxdjrq24zjtpyausemhkxtxI

### メールのドメイン

45行目　mail.example.comの部分を、使用するメールドメインに変更ください。

    // メールサーバードメイン
    // 携帯メール投稿の宛先などのドメイン名に使われる
    define('MAIL_SERVER_DOMAIN', 'mail.example.com');

### GoogleMap API KEY

設置するサイト用のGoogleMapKeyを取得してください。
* 申請先URL:http://www.google.com/apis/maps/signup.html
401行目に取得したキーを記入してください。

    // Google Maps API key
    ///
    define('GOOGLE_MAPS_API_KEY', '取得したKEYをここに記入してください');

### スキン設置フォルダ

スキンの変更はFTPにより行います。
設置したフォルダの設定をconfig.phpにて指定ください。
スキンフォルダの設置場所について
* OPENPNE_DIR/public_html/skin/[skin任意のフォルダ名]/img/以下に、スキン素材を保存します。
(このフォルダ内で足りない素材は、/public_html/skin/default/img/以下のファイルが補完をします。)
* 設置フォルダおよび設置スキンのパーミッションを777に変更します。

    $ chmod -R 777  OPENPNE_DIR/public_html/skin/[skin任意のフォルダ名]/img/

438行目 defaultの部分を、任意のフォルダ名に変更ください。

    // SKIN Folder Path
    define('SKIN_FOLDER','default');

例）umeフォルダーに変更する場合

    // SKIN Folder Path
    define('SKIN_FOLDER','ume');

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

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

## 3. サーバ設定

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

### 3-1. Apacheの設定

httpd.confを修正し、

- DirectoryIndex に index.php を追加します。
- public_html にアクセスできるようにドキュメントパスを通します。

[設定例]

バーチャルホストを使った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_DOMAIN | get@MAIL_SERVER_DOMAIN
プロフィール画像変更 | pXXX-YYY@MAIL_SERVER_DOMAIN | pXXX@MAIL_SERVER_DOMAIN
コミュニティTOPICのメール投稿 | tXXX-YYY@MAIL_SERVER_DOMAIN | tXXX@MAIL_SERVER_DOMAIN
コミュニティTOPICのメール作成 | eXXX-YYY@MAIL_SERVER_DOMAIN | eXXX@MAIL_SERVER_DOMAIN
コミュニティTOPICのメール修正 | etXXX-YYY@MAIL_SERVER_DOMAIN | etXXX@MAIL_SERVER_DOMAIN
コミュニティ画像のメール投稿 | copicXXX-XXX-YYY@MAIL_SERVER_DOMAIN | copicXXX-YYY@MAIL_SERVER_DOMAIN
日記メール投稿 | bXXX-YYY@MAIL_SERVER_DOMAIN | blog@MAIL_SERVER_DOMAIN
日記コメントメール投稿 | cXXX-YYY@MAIL_SERVER_DOMAIN | cXXX@MAIL_SERVER_DOMAIN

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

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

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

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

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

### 3-3. 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. MyNETS 用データベースの作成

### 4-1. MySQL 4.1 の場合

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

    CREATE DATABASE `DBNAME` DEFAULT CHARACTER SET utf8 ;

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

1. OPENPNE_DIR/setup/sql/install/install-mynets1-0-0-create-mysql41.sql
2. OPENPNE_DIR/setup/sql/install/install-mynets1-0-0-insert_data.sql

[実行例]

    $ mysql -u username -p --default-character-set=utf8 DBNAME < install-mynets1-0-0-create-mysql41.sql
    $ mysql -u username -p --default-character-set=utf8 DBNAME < install-mynets1-0-0-insert_data.sql

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

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

    CREATE DATABASE `DBNAME` ;

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

1. OPENPNE_DIR/setup/sql/install/install-mynets1-0-0-create-mysql40.sql
2. OPENPNE_DIR/setup/sql/install/install-mynets1-0-0-insert_data.sql

[実行例]

    $ mysql -u username -p DBNAME < install-mynets1-0-0-create-mysql40.sql
    $ mysql -u username -p DBNAME < install-mynets1-0-0-insert_data.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から管理ページへアクセスすることができます。

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

これでセットアップは完了です。

OpenPNEは株式会社手嶋屋の開発しているオープンソースソフトウェアの名称です。
MyNETSは、ネットを使って多くの開発者が共同で開発しているUsagiProjectのオープンソースソフトウェアの名称です。
プロジェクト管理者、開発者、開発協力者の情報はプロジェクトホームページをご覧ください。
UsagiProject | SourceForge.jp UsagiProject