ここの情報は古いです。ご理解頂いた上でお取り扱いください。
- Timestamp:
-
Mar 31, 2008, 4:34:54 PM (14 years ago)
- Author:
-
ebihara
- Comment:
-
binディレクトリなど変更(間に合うか?)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v15
|
v16
|
|
30 | 30 | * LICENSE - OpenPNEは現在PHPLicenseを採用しています。そのライセンス事項が書かれているのが、このファイルです |
31 | 31 | * config.php.sample - 設定ファイル(config.php)の編集前のファイルです。OpenPNEをセットアップするには、このconfig.php.sampleからconfig.phpをコピーし、config.phpのほうをコメントの内容に従って書き換える必要があります |
32 | | ところで、WordPressやXOOPSなど、ほかの一般的なWEBアプリケーションのように、このディレクトリにはindex.phpがルートディレクトリに存在しません。これは、OpenPNEでは後ほど解説するpublic_htmlディレクトリのみをWEBサーバの公開領域に設置することを推奨しているためです(config.phpなどのファイルをWEBサーバの公開領域に設置してしまうと、サーバの設定などによってはファイルの中身(config.phpであればデータベースの接続情報など)が見られてしまったり、想定外のPHPスクリプトにアクセスされてしまうなど、セキュリティ上好ましくありません)。 |
| 32 | ところで、WordPressやXOOPSなど、ほかの一般的なWEBアプリケーションのように、このディレクトリにはindex.phpがルートディレクトリに存在しません。これは、OpenPNEでは後ほど解説するpublic_htmlディレクトリのみをWEBサーバの公開領域に設置することを推奨しているためです(注:config.phpなどのファイルをWEBサーバの公開領域に設置してしまうと、サーバの設定などによってはファイルの中身(config.phpであればデータベースの接続情報など)が見られてしまったり、想定外のPHPスクリプトにアクセスされてしまうなど、セキュリティ上好ましくありません)。 |
33 | 33 | |
34 | 34 | {{{ |
… |
… |
|
41 | 41 | |
42 | 42 | |
43 | | == binディレクトリ(bin/) == |
| 43 | == binディレクトリ == |
44 | 44 | |
45 | 45 | {{{ |
… |
… |
|
65 | 65 | }}} |
66 | 66 | |
67 | | このbinディレクトリはアプリケーションの動作には依存していなく、単体で動作するスクリプトが入っています。 |
68 | | binディレクトリの中には2種類のファイルタイプがあります。一つはcronで、もう一つはPHPです。 |
69 | | 基本的にこのcronファイルは同名のPHPファイルと対になって存在しています。 |
70 | | PHPファイルは、実際に携帯の写メール投稿や、RSSの取得などの処理を行うファイルです。 |
71 | | |
72 | | このbinディレクトの中に、cronファイルとPHPファイルが対でない二つのファイルがあります。その二つのファイルとはconfig.inc.phpとmail.phpです。簡単にこの二つのファイルについて解説します。 |
73 | | |
74 | | まず、config.inc.phpのソースコードを見てみましょう。 |
75 | | ソースコードを見ると非常にシンプルで、root以下にある設定ファイルのconfig.phpを読み込む処理が書かれています。 |
76 | | |
77 | | {{{ |
78 | | config.inc.php |
79 | | |
80 | | <?php |
81 | | /** |
82 | | * @copyright 2005-2008 OpenPNE Project |
83 | | * @license http://www.php.net/license/3_01.txt PHP License 3.01 |
84 | | */ |
85 | | |
86 | | define('OPENPNE_DIR', realpath('../')); |
87 | | require_once OPENPNE_DIR . '/config.php'; |
88 | | |
89 | | ?> |
90 | | }}} |
91 | | |
92 | | |
93 | | 次に、mail.phpを解説します。 |
94 | | mail.phpはcatch allというメールサーバの機能を利用してこのmail.phpにメールの本文を渡すことで動作しています。 |
95 | | mail.phpがメールの本文などを受け取ったら、mail.phpでメール本文を読み込み、それぞれの処理を判断しています。 |
96 | | このmail.phpはメールを受信したときに動作するので、対のcronファイルがありません。 |
97 | | |
98 | | |
99 | | == lib == |
| 67 | |
| 68 | binディレクトリにあるファイルは、他のディレクトリにあったファイルとは違い、OpenPNEからではなく、cronやPostfixなどから実行されるスクリプトです。[[BR]] |
| 69 | *.cron という拡張子を持つファイルは、対になった同名のPHPファイルを実行するためのスクリプトとなっています。RSSの取得や、デイリーニュースの送信など、定期的におこなう処理については、これらのファイルを実行することで実現します。[[BR]] |
| 70 | mail.phpは、catch all機能を使ってPostfixがメールを受信した際に実行されるスクリプトです。受信したメールがmail.phpに渡され、日記のメール投稿処理などをおこないます。[[BR]] |
| 71 | (注:config.inc.phpファイルは、config.phpファイルを読み込むためのファイルです。OpenPNEの設定を取得する必要のあるディレクトリに置かれています) |
| 72 | |
| 73 | == libディレクトリ == |
100 | 74 | |
101 | 75 | {{{ |
… |
… |
|
107 | 81 | }}} |
108 | 82 | |
109 | | それでは次に、rootディレクトリ直下にあるlibディレクトリを見ていきましょう。[[BR]] |
110 | 83 | このlibディレクトリの中には、includeディレクトリとsmarty_pluginsディレクトリがあります。このlibディレクトリには外部のライブラリが入っています。具体的にはPEARのライブラリなどが入っています。 |
111 | 84 | |