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

最終更新日: 2007/08/07

## 目次

- 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.1.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　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により行います。
スキンディレクトリの設置場所について
* 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        openpne.example.com
        DocumentRoot      /home/username/OPENPNE_DIR/
        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
日記画像の修正メール投稿 | dpicXXX-XXX-YYY@MAIL_SERVER_DOMAIN | cXXX-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-mynets1-1-0-create-mysql41.sql
2. OPENPNE_DIR/setup/sql/MySQL4.1/install/install-mynets1-1-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/MySQL4.0/install/install-mynets1-1-0-create-mysql40.sql
2. OPENPNE_DIR/setup/sql/MySQL4.0/install/install-mynets1-1-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