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

最終更新日: 2008/09/10

## 目次

- 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.2.0 を基にして書かれています。

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

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

## 1. ファイルの設置

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

インストーラを利用してインストールする場合は、Web サーバ上への設置が完了したら、設置した URL にブラウザでアクセスし、インストーラの指示に従って下さい。

    - 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
      ├ config.inc.php (OPENPNE_DIR ディレクトリを指定)
      ├ index.php
         ...

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

また、OPENPNE_DIR/var 以下の全ディレクトリにウェブサーバからの書き込み権限(例えば 777)を与えてください。

    $ chmod -R 777 var/*

    -  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
      ├ conf [777]   <--- conf directry
      │ └ config.php ここに config.php.sample を編集して設置
      │    (インストーラを利用してインストールする場合は、インストーラが作成します)
      ├ webapp_ext   <--- OPENPNE_WEBAPP_EXT_DIR
      ├ 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] は例です。環境に合わせて適切な値に読み替えてください。

ウェブからの公開領域に置く必要のないファイルを非公開領域に置きたい場合は、以下のファイルとディレクトリを非公開領域に移動し、config.inc.php の OPENPNE_DIR のパスを調整して下さい。インストーラを利用してインストールする場合は、この作業はインストール完了後に実施して下さい。

    LICENSE
    THANKS.ja
    access.sh
    bin/
    conf/
    lib/
    setup/
    var/
    webapp/
    webapp_ext/

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

OPENPNE_DIR/conf/config.php.sample を OPENPNE_DIR/conf/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、Fedora Core 6 にて生成実行確認)

    $ mkpasswd -l 56
    kggqcorgrurylrQts}gpitoqnlqsxcishxdjrq24zjtpyausemhkxtxI

### メールのドメイン

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

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

### Google Maps API Key

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

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

### スキン設置ディレクトリ

スキンの変更は FTP などにより行います。
* OPENPNE_DIR/skin/[skin任意のディレクトリ名]/img/ 以下に、スキン素材を保存します。
(このディレクトリ内で足りない素材は、skin/default/img/ 以下のファイルが補完をします。)
* 設置ディレクトリおよび設置スキンのパーミッションを 777 に変更します。

    $ chmod -R 777  OPENPNE_DIR/skin/[skin任意のディレクトリ名]/img/

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

## 3. サーバ設定

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

### 3-1. Apacheの設定

httpd.conf を修正し、

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

[設定例]

バーチャルホストを使った httpd.conf の設定

    <VirtualHost *:80>
        ServerName        mynets.example.jp
        DocumentRoot      /home/username/OPENPNE_DIR/
        DirectoryIndex    index.html index.php
    </VirtualHost>

httpd.conf を修正したら、Apache を再起動してください。
設定は設置した環境に合わせて行ってください。

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

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

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

項目 | 新形式 | 旧形式
--- | --- | ---
新規登録 / ログインURL取得 | get@MAIL_SERVER_DOMAIN | 同左
プロフィール画像変更 | pXXX-YYY@MAIL_SERVER_DOMAIN | pXXX@MAIL_SERVER_DOMAIN
コミュニティトピックのメール投稿 | tXXX-YYY@MAIL_SERVER_DOMAIN | tXXX@MAIL_SERVER_DOMAIN
コミュニティトピックのメール作成 | eXXX-YYY@MAIL_SERVER_DOMAIN | eXXX@MAIL_SERVER_DOMAIN
コミュニティトピックのメール修正 | etXXX-YYY@MAIL_SERVER_DOMAIN | etXXX@MAIL_SERVER_DOMAIN
日記メール投稿 | bXXX-YYY@MAIL_SERVER_DOMAIN | blog@MAIL_SERVER_DOMAIN
日記コメントメール投稿 | cXXX-YYY@MAIL_SERVER_DOMAIN | cXXX@MAIL_SERVER_DOMAIN
日記画像の修正メール投稿 | dpicXXX-XXX-YYY@MAIL_SERVER_DOMAIN | dpicXXX-XXX@MAIL_SERVER_DOMAIN
コミュニティの管理者の携帯での画像変更投稿 | copicXXX-XXX-YYY@MAIL_SERVER_DOMAIN | copicXXX-XXX@MAIL_SERVER_DOMAIN
空メールによる携帯アドレス設定 | mbentry@MAIL_SERVER_DOMAIN | 同左
QRコードによるコミュニティ経由新規登録用アドレス(1.2.0Nigty で追加) | qrcXXX-XXX@MAIL_SERVER_DOMAIN | 同左
QRコードによるメンバー紹介新規登録用アドレス(1.2.0で追加;機能未実装) | qrm-XXX@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/MySQL4.1/install/install-mynets-create-mysql41.sql
2. OPENPNE_DIR/setup/sql/MySQL4.1/install/install-mynets-insert_data.sql

[実行例]

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

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

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

    CREATE DATABASE `DBNAME` ;

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

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

[実行例]

    $ mysql -u username -p DBNAME < install-mynets-create-mysql40.sql
    $ mysql -u username -p DBNAME < install-mynets-insert_data.sql

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

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

    OPENPNE_URL?m=setup
    (例) http://mynets.example.jp/?m=setup

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

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

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

    OPENPNE_URL?m=admin
    (例) http://mynets.example.jp/?m=admin

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

例えば、abcde に変更した場合、

    OPENPNE_URL?m=abcde
    (例) http://mynets.example.jp/?m=abcde

という URL から管理ページへアクセスすることができます。

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

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

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