ここの情報は古いです。ご理解頂いた上でお取り扱いください。

source: OpenPNE/trunk/setup/OpenPNE_Setup.html @ 4933

Last change on this file since 4933 was 4933, checked in by ogawa, 12 years ago

#1777:ソースコード内のcopyright表記の年を2008に変更する

File size: 18.8 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html>
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5<meta http-equiv="Content-Style-Type" content="text/css">
6<title>OpenPNE セットアップガイド</title>
7<style type="text/css">
8<!--
9body {
10  background-color: #fff;
11  color: #000;
12  margin: 0px;
13  padding: 1em;
14  padding-right: 2em;
15}
16h2 {
17  margin: 2em 0 1em;
18}
19p.caution {
20  margin: 1em;
21  padding: 0.8em;
22  border: solid 1px #f63;
23}
24pre {
25  margin: 0.5em;
26  padding: 1em 2em;
27  background-color: #eee;
28}
29dl {
30  margin: 1em 2em;
31}
32dt {
33  font-weight: bold;
34}
35dd {
36  margin: 0 0 0.5em 3em;
37}
38table {
39  margin: 1em;
40  border-collapse: collapse;
41}
42th {
43  background-color: #ddd;
44}
45th, td {
46  padding: 5px 10px;
47  border: solid 1px #000;
48}
49var {
50  color: #922;
51}
52em {
53  font-weight: bold;
54  font-style: normal;
55}
56-->
57</style>
58</head>
59
60<body>
61
62<h1>OpenPNE セットアップガイド</h1>
63
64<p>最終更新日: 2007/12/20</p>
65
66<h2>目次</h2>
67<ul>
68<li><a href="#section0">0. はじめに</a></li>
69<li><a href="#section1">1. ファイルの設置</a></li>
70<li><a href="#section2">2. 設定ファイルの変更</a></li>
71<li><a href="#section3">3. データベースの設定</a>
72  <ul>
73  <li><a href="#section3-1">3-1. MySQL 4.1 (5.x 含む) の場合</a></li>
74  <li><a href="#section3-2">3-2. MySQL 4.0 の場合</a></li>
75  </ul></li>
76<li><a href="#section4">4. サーバ設定</a>
77  <ul>
78  <li><a href="#section4-1">4-1. Apacheの設定</a></li>
79  <li><a href="#section4-2">4-2. メールサーバの設定</a></li>
80  <li><a href="#section4-3">4-3. cronの設定</a></li>
81  </ul></li>
82<li><a href="#section5">5. セットアップモジュールの実行</a></li>
83<li><a href="#section6">6. 管理画面の設定</a>
84  <ul>
85  <li><a href="#section6-1">6-1. 管理画面へのアクセス</a></li>
86  <li><a href="#section6-2">6-2. 管理画面のモジュール名を変更</a></li>
87  <li><a href="#section6-3">6-3. 管理画面を別ドメインで運用</a></li>
88  </ul></li>
89</ul>
90
91<hr>
92
93<h2 id="section0">0. はじめに</h2>
94
95<p>この文書は、OpenPNE バージョン2.10 を基にして書かれています。</p>
96<p>OpenPNE は以下のようなサーバ環境で動作させることを想定しています。</p>
97<dl>
98<dt>Webサーバ</dt>
99<dd>Apache を推奨</dd>
100<dt>PHP</dt>
101<dd>PHP 4.3.x / 5.0.x 以降
102        <ul>
103        <li>PHP の mbstring 拡張モジュールを使用可能</li>
104        <li>PHP から GD ライブラリを使用可能 (JPEG/GIF/PNG サポート)</li>
105        <li>PHP の mcrypt 拡張モジュールの使用を推奨</li>
106        </ul></dd>
107<dt>データベースサーバ</dt>
108<dd>MySQL 4.0 以降 (4.1 以降を推奨)</dd>
109<dt>メールサーバ (携帯からメール投稿する場合)</dt>
110<dd>Postfix 2.1.x 以降を推奨 (Postfix 以外のメールサーバでも動作報告あり)</dd>
111</dl>
112
113<h2 id="section1">1. ファイルの設置</h2>
114
115<p>OpenPNE に含まれるディレクトリ、ファイルを以下のようにWebサーバ上に設置してください。</p>
116
117<pre>
118- <var>OPENPNE_DIR</var>
119  ├ bin
120  ├ lib          &lt;--- <var>OPENPNE_LIB_DIR</var>
121  ├ var          &lt;--- <var>OPENPNE_VAR_DIR</var>
122  │ ├ img_cache
123  │ │ ├ gif [777]
124  │ │ │ ├ w_h [777]
125  │ │ │ ├ w_h_raw [777]
126  │ │ │ ├ w76_h76 [777]
127  │ │ │ ├ w120_h120 [777]
128  │ │ │ ├ w180_h180 [777]
129  │ │ │ └ w240_h320 [777]
130  │ │ ├ jpg [777]
131  │ │ │ ├ w_h [777] 
132  │ │ │    ... [777]
133  │ │ └ png [777]
134  │ │    ├ w_h [777]
135  │ │       ... [777]
136  │ ├ log [777]
137  │ ├ rss_cache [777]
138  │ ├ templates_c [777]
139  │ └ tmp [777]
140  ├ webapp       &lt;--- <var>OPENPNE_WEBAPP_DIR</var>
141  ├ webapp_biz   &lt;--- <var>OPENPNE_WEBAPP_BIZ_DIR</var>
142  └ webapp_ext   &lt;--- <var>OPENPNE_WEBAPP_EXT_DIR</var>
143
144(ブラウザから閲覧可能)
145- <var>public_html</var> (ディレクトリ名は変更可能)
146  ├ config.inc.php (<var>OPENPNE_DIR</var> ディレクトリを指定)
147  ├ index.php
148     ...
149
150※[777]は例です。環境に合わせて適切な値に読み替えてください。
151</pre>
152
153<p><var>public_html</var> のパスとディレクトリ名は変更することができます。</p>
154<p><var>public_html</var> のパスを <var>OPENPNE_DIR</var> ディレクトリの直下(デフォルト配置)以外に変更した場合は、
155<var>public_html</var> 直下にある config.inc.php の内容を書き換えてください。</p>
156<p><var>public_html</var> のディレクトリ名を変更した場合は、後の「2. 設定ファイルの変更」で、
157<em>OPENPNE_PUBLIC_HTML_DIR</em> の内容を書き換えてください。</p>
158
159<p>また、<var>OPENPNE_DIR</var>/var 以下の<strong>全ディレクトリ</strong>にウェブサーバからの書き込み権限(例えば 777)を与えてください。</p>
160<pre>
161$ chmod -R 0777 var/*
162</pre>
163
164<hr>
165
166<p>OpenPNE 2.2 からは画像のキャッシュディレクトリを <var>public_html</var> 以下に置き、Apache から直接読み込みを行うようにすることもできます。
167(OpenPNE の設定ファイル config.php で、<em>OPENPNE_IMG_CACHE_PUBLIC</em> を true にしてください)</p>
168
169<p>この機能を有効にする場合、Apache の設定で mod_rewrite を有効にし、.htaccess を使用可能にするかもしくは同様の内容を httpd.conf に記述する必要があります。</p>
170
171<pre>
172- <var>OPENPNE_DIR</var>
173  ├ bin
174  ├ lib          &lt;--- <var>OPENPNE_LIB_DIR</var>
175  ├ var          &lt;--- <var>OPENPNE_VAR_DIR</var>
176  │ ├ log [777]
177  │ ├ rss_cache [777]
178  │ ├ templates_c [777]
179  │ └ tmp [777]
180  ├ webapp       &lt;--- <var>OPENPNE_WEBAPP_DIR</var>
181  ├ webapp_biz   &lt;--- <var>OPENPNE_WEBAPP_BIZ_DIR</var>
182  └ webapp_ext   &lt;--- <var>OPENPNE_WEBAPP_EXT_DIR</var>
183
184(ブラウザから閲覧可能)
185- <var>public_html</var> (ディレクトリ名は変更可能)
186  ├ config.inc.php (<var>OPENPNE_DIR</var> ディレクトリを指定)
187  ├ index.php
188  ├ img
189  │ ├ .htaccess
190  │ ├ index.php
191  │ ├ gif [777]
192  │ │ ├ w_h [777]
193  │ │ ├ w_h_raw [777]
194  │ │ ├ w76_h76 [777]
195  │ │ ├ w120_h120 [777]
196  │ │ ├ w180_h180 [777]
197  │ │ └ w240_h320 [777]
198  │ ├ jpg [777]
199  │ │ ├ w_h [777]
200  │ │    ... [777]
201  │ └ png [777]
202  │    ├ w_h [777]
203  │       ... [777]
204     ...
205
206※[777]は例です。環境に合わせて適切な値に読み替えてください。
207</pre>
208
209
210<h2 id="section2">2. 設定ファイルの変更</h2>
211
212<p>
213<var>OPENPNE_DIR</var>/config.php.sample を
214<var>OPENPNE_DIR</var>/config.php にコピーして config.php の方を環境に合わせて編集します。</p>
215
216<dl>
217<dt>OPENPNE_URL</dt>
218        <dd>ベースURL(絶対パス)</dd>
219<dt>DSN</dt>
220        <dd>(MySQLの)データベースへ接続するための情報です。<br>
221        接続用ユーザー名、パスワード、サーバホスト名、データベース名を設定します。</dd>
222<dt>ENCRYPT_KEY</dt>
223        <dd>メンバーのログイン情報を暗号化する際に使用するキー(56バイト以内のASCII文字)<br>
224        他人に推測されにくい文字列にしてください。</dd>
225<dt>MAIL_SERVER_DOMAIN</dt>
226        <dd>メールサーバのドメイン名(携帯版でメール投稿をする場合に使います)</dd>
227</dl>
228
229<p>必要に応じて、その他の設定も書き換えてください。
230デバッグモードの設定(<em>OPENPNE_DEBUGGING</em>)は、本番運用に移行する際には 0 にしておくことをおすすめします。</p>
231
232<p><var>public_html</var> のディレクトリ名を変更した場合は、 <em>OPENPNE_PUBLIC_HTML_DIR</em> を変更したディレクトリ名に書き換えてください。</p>
233
234<p class="caution">PHPの設定でセーフモードが有効な場合は、<em>MAIL_SET_ENVFROM</em> を false に設定してください。</p>
235
236
237<h2 id="section3">3. データベースの設定</h2>
238
239<h3 id="section3-1">3-1. MySQL 4.1 以降 (5.x 含む) の場合</h3>
240
241<p>新しくデータベースを作成する場合、以下のようなSQLクエリを実行してデータベースを作成します。
242(※レンタルサーバ等で既にデータベースが用意されている場合は実行する必要はありません)</p>
243
244<pre>
245CREATE DATABASE `DBNAME` DEFAULT CHARACTER SET utf8;
246</pre>
247
248<p>準備したデータベース(例:DBNAME)上で、以下のSQL文を順番に実行します。</p>
249<ol>
250<li><var>OPENPNE_DIR</var>/setup/sql/mysql41/install/install-2.10-create_tables.sql</li>
251<li><var>OPENPNE_DIR</var>/setup/sql/mysql41/install/install-2.10-insert_data.sql</li>
252</ol>
253
254<p>PNEBIZを使用する場合は上記に加えて、以下のSQL文を実行してください。</p>
255<ul>
256<li><var>OPENPNE_DIR</var>/setup/sql/mysql41/option/pnebiz-header.sql</li>
257</ul>
258
259<div>
260<em>[実行例]</em>
261<pre>
262(1) データベース作成 (省略可)
263    $ mysql -u username -p
264    mysql&gt; CREATE DATABASE `DBNAME` DEFAULT CHARACTER SET utf8;
265    mysql&gt; exit;
266
267(2) OpenPNEセットアップ用SQL実行
268    $ cd setup/sql/mysql41/install/
269    $ mysql -u username -p --default-character-set=utf8 DBNAME &lt; install-2.10-create_tables.sql
270    $ mysql -u username -p --default-character-set=utf8 DBNAME &lt; install-2.10-insert_data.sql
271
272(3) PNEBIZ用SQL実行 (オプション)
273    $ cd ../option
274    $ mysql -u username -p --default-character-set=utf8 DBNAME &lt; pnebiz-header.sql
275</pre>
276</div>
277
278<h3 id="section3-2">3-2. MySQL 4.0 の場合</h3>
279<p>新しくデータベースを作成する場合、以下のようなSQLクエリを実行してデータベースを作成します。
280(※レンタルサーバ等で既にデータベースが用意されている場合は実行する必要はありません)</p>
281
282<pre>
283CREATE DATABASE `DBNAME`;
284</pre>
285
286<p>準備したデータベース(例:DBNAME)上で、以下のSQL文を順番に実行します。</p>
287<ol>
288<li><var>OPENPNE_DIR</var>/setup/sql/mysql40/install/install-2.10-create_tables.sql</li>
289<li><var>OPENPNE_DIR</var>/setup/sql/mysql40/install/install-2.10-insert_data.sql</li>
290</ol>
291
292<p>PNEBIZを使用する場合は上記に加えて、以下のSQL文を実行してください。</p>
293<ul>
294<li><var>OPENPNE_DIR</var>/setup/sql/mysql40/option/pnebiz-header.sql</li>
295</ul>
296
297
298<div>
299<em>[実行例]</em>
300<pre>
301(1) データベース作成 (省略可)
302    $ mysql -u username -p
303    mysql&gt; CREATE DATABASE `DBNAME`;
304    mysql&gt; exit;
305
306(2) OpenPNEセットアップ用SQL実行
307    $ cd setup/sql/mysql40/install/
308    $ mysql -u username -p DBNAME &lt; install-2.10-create_tables.sql
309    $ mysql -u username -p DBNAME &lt; install-2.10-insert_data.sql
310
311(3) PNEBIZ用SQL実行 (オプション)
312    $ cd ../option
313    $ mysql -u username -p DBNAME &lt; pnebiz-header.sql
314</pre>
315</div>
316
317
318<h2 id="section4">4. サーバ設定</h2>
319
320<p>レンタルサーバ等で設定済みの場合は読み飛ばしてください。</p>
321
322<h3 id="section4-1">4-1. Apacheの設定</h3>
323
324<p>httpd.confを修正し、</p>
325<ul>
326<li>DirectoryIndex に index.php を追加します。</li>
327<li><var>public_html</var> にアクセスできるようにドキュメントパスを通します。</li>
328</ul>
329
330<p><em>[設定例]</em></p>
331<div>
332バーチャルホストを使ったhttpd.confの設定例
333<pre>
334&lt;VirtualHost *:80&gt;
335    ServerName        openpne.example.com
336    DocumentRoot      /home/username/OpenPNE/public_html/
337    DirectoryIndex    index.html index.php
338&lt;/VirtualHost&gt;
339</pre>
340</div>
341
342<p>httpd.confを修正したら、Apacheを再起動してください。</p>
343
344<h3 id="section4-2">4-2. メールサーバの設定</h3>
345
346<p>携帯版を使用しない場合は以下の設定は不要です。</p>
347
348<p>MAIL_SERVER_DOMAIN に届くメールで、以下のメールアドレスはシステムで利用されます。</p>
349
350<table>
351<tr><th>項目</th><th>新形式</th><th>旧形式</th></tr>
352<tr><td>新規登録 / ログインURL取得</td><td>get@MAIL_SERVER_DOMAIN</td><td>get@MAIL_SERVER_DOMAIN</td></tr>
353<tr><td>プロフィール写真変更</td><td>p<var>XXX</var>-<var>YYY</var>@MAIL_SERVER_DOMAIN</td><td>p<var>XXX</var>@MAIL_SERVER_DOMAIN</td></tr>
354<tr><td>コミュニティ掲示板メール投稿</td><td>t<var>XXX</var>-<var>YYY</var>@MAIL_SERVER_DOMAIN</td><td>t<var>XXX</var>@MAIL_SERVER_DOMAIN</td></tr>
355<tr><td>日記メール投稿</td><td>b<var>XXX</var>-<var>YYY</var>@MAIL_SERVER_DOMAIN</td><td>blog@MAIL_SERVER_DOMAIN</td></tr>
356<tr><td>日記写真変更</td><td>bi<var>XXX</var>-<var>YYY</var>@MAIL_SERVER_DOMAIN</td><td>bi<var>XXX</var>@MAIL_SERVER_DOMAIN</td></tr>
357<tr><td>コミュニティ写真変更</td><td>ci<var>XXX</var>-<var>YYY</var>@MAIL_SERVER_DOMAIN</td><td>ci<var>XXX</var>@MAIL_SERVER_DOMAIN</td></tr>
358<tr><td>トピック・イベント写真変更</td><td>ti<var>XXX</var>-<var>YYY</var>@MAIL_SERVER_DOMAIN</td><td>ti<var>XXX</var>@MAIL_SERVER_DOMAIN</td></tr>
359</table>
360<ul>
361<li><var>XXX</var> には数字。</li>
362<li><var>YYY</var> には12バイトの英数字([0-9a-f]{12})。</li>
363</ul>
364
365<p>新形式、旧形式のどちらのメールアドレスで受け付けるかは config.phpの設定(MAIL_ADDRESS_HASHED)によって切り替えることができます。</p>
366<p>新形式はメール投稿の際のFromメールアドレス偽装へのセキュリティ対策のために導入されたものです。
367From偽装対策を(IP制限等により)メールサーバ側で行っている場合には旧形式での運用も問題ありません。</p>
368
369<p>メールサーバの転送設定を利用して、これらのメールアドレスへのメールが、以下のコマンドにわたるように設定します。</p>
370<pre>
371"|/usr/bin/php <var>OPENPNE_DIR</var>/bin/mail.php"
372</pre>
373
374<h3 id="section4-3">4-3. cronの設定</h3>
375
376<p><em>[設定例]</em></p>
377
378<p>cronファイルに実行権限の付加。</p>
379<pre>
380$ chmod 0755 bin/*.cron
381</pre>
382
383<p>/etc/crontab に以下を記述。</p>
384<div>
385<pre>
386# 6時にメールを送信&20分毎にRSS更新
38700   6 * * * root sh <var>OPENPNE_DIR</var>/bin/tool_send_daily_news.cron     <var>OPENPNE_DIR</var>/bin/ [bin_path]/php
38800   6 * * * root sh <var>OPENPNE_DIR</var>/bin/tool_send_birthday_mail.cron  <var>OPENPNE_DIR</var>/bin/ [bin_path]/php
38900   6 * * * root sh <var>OPENPNE_DIR</var>/bin/tool_send_schedule_mail.cron  <var>OPENPNE_DIR</var>/bin/ [bin_path]/php
390*/20 * * * * root sh <var>OPENPNE_DIR</var>/bin/tool_rss_cache.cron           <var>OPENPNE_DIR</var>/bin/ [bin_path]/php
391</pre>
392[bin_path]は、PHP の実行ファイルがインストールされているディレクトリ(例えば、/usr/bin)です。
393</div>
394
395<p>また、デイリーニュース送信用スクリプトは、デイリーニュース送信結果通知ログを出力します。/etc/crontabを以下のように記述し、メールで受け取れるようにすると便利です。</p>
396<div>
397<pre>
39800   6 * * * root sh <var>OPENPNE_DIR</var>/bin/tool_send_daily_mail.cron  <var>OPENPNE_DIR</var>/bin/ [bin_path]/php | mail -s "daily news log" example@example.com
399</pre>
400</div>
401
402<h2 id="section5">5. セットアップモジュールの実行</h2>
403
404<p>ブラウザから以下のURLへアクセスしてください。(セットアップ完了後はアクセスすることができません)</p>
405
406<pre>
407<var>OPENPNE_URL</var>?m=setup
408(例) http://openpne.example.com/?m=setup
409</pre>
410
411<p>ここでSNS名、初期メンバー、管理用アカウントを設定します。</p>
412
413
414<h2 id="section6">6. 管理画面へのアクセス</h2>
415
416<h3 id="section6-1">6-1. 管理画面へのアクセス</h3>
417
418<p>以下のURLへアクセスし、セットアップモジュールで設定した管理用アカウント名、パスワードを入力してログインしてください。ログイン後、管理メニューの「SNS設定」からSNSの基本情報の設定をすることができます。</p>
419
420<pre>
421<var>OPENPNE_URL</var>?m=admin
422(例) http://openpne.example.com/?m=admin
423</pre>
424
425<p>また、管理メニューの「管理画面設定 > ページ名ランダム生成」でランダム生成を実行すると管理画面内のページ名を変更することができるので、セキュリティ向上のためセットアップ後に必ず実行しておくことをおすすめします。</p>
426
427<h3 id="section6-2">6-2. 管理画面のモジュール名を変更する (オプション)</h3>
428
429<p>管理画面のURLを変更する場合は、設定ファイル config.php 内にある <em>ADMIN_MODULE_NAME</em> の値を変更してください。</p>
430<div>例えば、abcde に変更した場合、
431<pre>
432<var>OPENPNE_URL</var>?m=abcde
433(例) http://openpne.example.com/?m=abcde
434</pre>
435というURLから管理画面へアクセスすることができます。</div>
436
437<h3 id="section6-3">6-3. 管理画面を別ドメインで運用する (オプション)</h3>
438
439<p>管理画面を通常とは別のドメインで運用したい場合やBasic認証を使用してアクセス制限したい場合など、
440Webサーバから読み込まれる公開ディレクトリを分けて運用したい場合があります。</p>
441
442<p>OpenPNEでは、public_html 以下のファイルを管理画面用の公開ディレクトリにコピーし、config.inc.php の内容を書き換えることによりこれを実現することができます。</p>
443
444<div>
445ディレクトリ構成
446<pre>
447- <var>OPENPNE_DIR</var>
448  ├ bin
449  ├ lib
450  ├ var
451  ├ webapp
452  ├ webapp_ext
453  ├ webapp_biz
454  └ config.php
455
456[http://sns.example.com/]
457- <var>public_html </var>(ディレクトリ名は変更可能)
458  ├ config.inc.php
459  ├ index.php
460     ...
461    <em>↓コピー</em>
462
463[http://admin.example.com/]
464- <var>admin_public_html</var> (ディレクトリ名は変更可能)
465  ├ <em>config.inc.php (←このファイルを書き換える)</em>
466  ├ index.php
467     ...
468</pre>
469</div>
470
471<div>
472config.inc.php (<em>強調部分</em>の2項目を追加します)
473<pre>
474&lt;?php
475/**
476 * @copyright 2005-2008 OpenPNE Project
477 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
478 */
479
480define('OPENPNE_DIR', realpath('../'));
481require_once OPENPNE_DIR . '/config.php';
482
483// 管理画面のベースURL設定
484<em>define('OPENPNE_ADMIN_URL', 'http://admin.example.com/');</em>
485
486// 無効にするモジュール
487<em>$GLOBALS['_OPENPNE_DISABLE_MODULES'] = array('pc', 'ktai');</em>
488?&gt;
489</pre>
490</div>
491
492<p>以上で、管理画面用のURL(例:http://admin.example.com/) でアクセスするための設定は完了です。</p>
493
494<p>一方、通常のURL(例:http://sns.example.com/?m=admin) では管理画面へのアクセスができないようにするために、
495config.php で以下の設定をしておきます。</p>
496
497<div>
498config.php
499<pre>
500// 無効にするモジュール
501$GLOBALS['_OPENPNE_DISABLE_MODULES'] = array('admin', 'setup');
502</pre>
503</div>
504
505<hr>
506
507<p>これでセットアップは完了です。友達を招待してみたり、日記を書いたり、あなただけのSNSを作り上げてください!</p>
508
509</body>
510</html>
Note: See TracBrowser for help on using the repository browser.