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

Changes between Version 14 and Version 15 of pne-book-9-1


Ignore:
Timestamp:
Mar 31, 2008, 4:14:28 PM (13 years ago)
Author:
ebihara
Comment:

とりあえず ルートディレクトリまで書き換え

Legend:

Unmodified
Added
Removed
Modified
  • pne-book-9-1

    v14 v15  
    66
    77== 概要 ==
    8 現在のOpenPNE2.0系は独自のフレームワークを採用しています。[[BR]]
    9 この独自のフレームワークはディレクトリ構造も独自の構成をしています。
    10 そこで今回はこのディレクトリ構造を、trac.openpne.jpのtrunkを参照しながら解説を行っていきます。
    11 解説するディレクトリはアルファベット順に解説していきます。
    12 
    13 それでは、主要なディレクトリを網羅しながら、OpenPNEのディレクトリ構造を見ていきましょう。
    14 
    15 {{{
    16 OpenPNE trunk
    17 http://trac.openpne.jp/browser/OpenPNE/trunk
    18 }}}
    19 
    20 
    21 == root ==
    22 
    23 {{{
    24 root/
    25 
     8ここでは、OpenPNEのディレクトリのうち、特に主要なものをアルファベット順に解説していきます。[[BR]]
     9SourceForge.netなどからダウンロードできるOpenPNEの圧縮ファイルを解凍したり、trac.openpne.jpでOpenPNEのtrunkを見てみると、以下のような構造になっているのがわかると思います。
     10
     11{{{
    2612bin/
    2713lib/
     
    3622}}}
    3723
    38 まずはじめに、rootディレクトリです。[[BR]]
    39 このrootディレクトリはOpenPNEのディレクトリの中で一番上の階層です。[[BR]]
    40 OpenPNEをダウンロードして解凍したり、trac.openpne.jpのtrunkをみるとこのような構造になっています。[[BR]]
    41 このrootにあるディレクトリは、後ほど詳しく解説します。[[BR]]
    42 
    43 このrootディレクトリにはディレクトリの他に、二つのファイルがあります。一つがconfig.php.sampleという設定ファイルと、LICENSEというライセンスが記述されたファイルです。
    44 
    45 簡単に2つのファイルについて解説します。
    46 config.php.sampleファイルは通常config.phpとリネームしてOpenPNEの設定ファイルとして使用します。この設定ファイルには、データベースの設定から、OpenPNEのAPI設定までさまざまな設定項目があります。設定項目の詳細は、実際にconfig.php.sampleのコメントを参照してください。
    47 LICENSEファイルはPHP Licenseの詳細について記述しているファイルです。
    48 
    49 
    50 
    51 {{{
    52 config.php.sample
    53 
    54 
    55 <?php
    56 //// サーバー管理設定 ////
    57 
    58 //--- 必須設定
    59 
    60 // Web上の絶対パス(URL)(最後にスラッシュを付けてください)
    61 define('OPENPNE_URL', 'http://sns.example.com/');
    62 
    63 // DBサーバ設定
    64 $GLOBALS['_OPENPNE_DSN_LIST']['main'] = array(
    65 'dsn'  => array(
    66     'phptype'  => 'mysql',
    67     'username' => '',
    68     'password' => '',
    69     'hostspec' => 'localhost',
    70     'database' => '',
    71     'new_link' => false,
    72     ),
    73 );
    74 
    75 // DB暗号化キー(56バイト以内のASCII文字列)
    76 define('ENCRYPT_KEY', '');
    77 
    78 // メールサーバードメイン
    79 // 携帯メール投稿の宛先などのドメイン名に使われる
    80 define('MAIL_SERVER_DOMAIN', 'mail.example.com');
    81 
    82 
    83 //--- オプション設定
    84 
    85 // デバッグモード
    86 // 0: off ... エラー非表示、エラーログを記録する
    87 // 1: on  ... エラー表示、エラーログを記録しない
    88 // 2: on  ... 1 + Smartyデバッグコンソール
    89 define('OPENPNE_DEBUGGING', 1);
    90 
    91 // 無効にするモジュール
    92 //$GLOBALS['_OPENPNE_DISABLE_MODULES'] = array('admin', 'setup');
    93 
    94 // メンテナンスモード
    95 // メンテナンスモードではデイリーメール配信やメール投稿機能も無効になります
    96 // true: ユーザーにメンテナンス画面を表示
    97 define('OPENPNE_UNDER_MAINTENANCE', false);
    98 
    99 // メンテナンス画面に表示させるテキスト
    100 // HTMLが使用できます
    101 // 未入力の場合は、標準のテキストが表示されます
    102 define('OPENPNE_MAINTENANCE_TEXT', '');
    103 
    104 // メンテナンス中でも表示するモジュール名
    105 $GLOBALS['_OPENPNE_MAINTENANCE_MODULES'] = array('admin');
    106 
    107 // Crypt_Blowfish ライブラリの旧バージョン使用設定
    108 // 2.2以前からのアップグレードでログインできないなどの
    109 //暗号化まわりの不具合が起こった場合はtrueに設定してください
    110 define('OPENPNE_USE_OLD_CRYPT_BLOWFISH', false);
    111 
    112 // ファンクションキャッシュ使用設定
    113 //有効にした場合は、最新情報の表示に遅延が起こることがあります
    114 define('OPENPNE_USE_FUNCTION_CACHE', false);
    115 
    116 // このオプションを有効にするためにはOPENPNE_USE_FUNCTION_CACHEをtrueにする必要があります。
    117 // ファンクションキャッシュのキャッシュを保存するストレージにmemcacheを使用
    118 define('OPENPNE_USE_FUNCTION_CACHE_MEMCACHE', false);
    119 
    120 // OPENPNE_USE_FUNCTION_CACHE_MEMCACHEがtrueの場合の
    121 // ファンクションキャッシュ用memcacheサーバ設定
    122 $GLOBALS['_OPENPNE_MEMCACHE_LIST']['func_cache'] = array(
    123 'dsn' => array(
    124     'hostspec' => '127.0.0.1',
    125     ),
    126 );
    127 
    128 // MySQL ヒント使用設定
    129 define('OPENPNE_USE_MYSQL_HINT', true);
    130 
    131 // セッション情報を保存するストレージ
    132 // 0:ファイル
    133 // 1:データベース
    134 // 2:memcache(要PECL::memcache)
    135 define('SESSION_STORAGE', 0);
    136 
    137 // 確認画面用の一時画像をDBに保存するかどうか
    138 define('OPENPNE_TMP_IMAGE_DB', false);
    139 
    140 // 確認画面用の一時ファイルをDBに保存するかどうか
    141 define('OPENPNE_TMP_FILE_DB', false);
    142 
    143 ///
    144 // DBサーバ設定
    145 ///
    146 
    147 // メインデータ読み込み用DB(オプション)
    148 //$GLOBALS['_OPENPNE_DSN_LIST']['main_reader'][] = array(
    149 //'priority' => 1,
    150 //'dsn' => array(
    151 //    'phptype'  => 'mysql',
    152 //    'username' => '',
    153 //    'password' => '',
    154 //    'hostspec' => 'localhost',
    155 //    'database' => '',
    156 //    'new_link' => false,
    157 //    ),
    158 //);
    159 //$GLOBALS['_OPENPNE_DSN_LIST']['main_reader'][] = array(
    160 //'priority' => 1,
    161 //'dsn' => array(
    162 //    'phptype'  => 'mysql',
    163 //    'username' => '',
    164 //    'password' => '',
    165 //    'hostspec' => 'localhost',
    166 //    'database' => '',
    167 //    'new_link' => false,
    168 //    ),
    169 //);
    170 
    171 // セッションデータ保存用DB(オプション)
    172 //$GLOBALS['_OPENPNE_DSN_LIST']['session'] = array(
    173 //'dsn' => array(
    174 //    'phptype'  => 'mysql',
    175 //    'username' => '',
    176 //    'password' => '',
    177 //    'hostspec' => 'localhost',
    178 //    'database' => '',
    179 //    'new_link' => false,
    180 //    ),
    181 //);
    182 
    183 // セッションデータ保存用Memcache(オプション)
    184 $GLOBALS['_OPENPNE_MEMCACHE_LIST']['session'] = array(
    185 'dsn' => array(
    186     'hostspec' => '127.0.0.1',
    187     ),
    188 );
    189 
    190 // 画像データ保存用DB(オプション)
    191 //$GLOBALS['_OPENPNE_DSN_LIST']['image'] = array(
    192 //'dsn' => array(
    193 //    'phptype'  => 'mysql',
    194 //    'username' => '',
    195 //    'password' => '',
    196 //    'hostspec' => 'localhost',
    197 //    'database' => '',
    198 //    ),
    199 //);
    200 
    201 ///
    202 // SSL設定
    203 ///
    204 
    205 // 特定ページだけのSSLを使用するかどうか
    206 define('OPENPNE_USE_PARTIAL_SSL', false);
    207 
    208 // SSL使用状況をリクエストパラメータから取得するかどうか
    209 define('OPENPNE_USE_SSL_PARAM', false);
    210 
    211 // SSL用URL (Cookieの値を引き継ぐため、OPENPNE_URL と同一ドメイン・パスである必要があります)
    212 define('OPENPNE_SSL_URL', 'https://sns.example.com/');
    213 
    214 // SSLを使用することが必須であるモジュールリスト
    215 $GLOBALS['_OPENPNE_SSL_REQUIRED_MODULES'] = array('admin');
    216 
    217 // SSLを使用することが必須であるアクションリスト
    218 $GLOBALS['_OPENPNE_SSL_REQUIRED'] = array(
    219 'pc' => array(
    220     'page_o_regist_prof',  'page_o_regist_prof_confirm', 'do_o_regist_prof',
    221     'page_o_regist_intro', 'page_o_ri', 'page_o_regist_end',
    222     'page_h_config_prof', 'page_h_config_prof_confirm', 'do_h_config_prof',
    223     'page_h_config_ktai', 'do_h_config_ktai_send',
    224     'page_h_config', 'do_h_config_1', 'do_h_config_2', 'do_h_config_3',
    225     'page_o_login', 'page_o_tologin', 'do_o_login',
    226     'page_o_public_invite','do_o_public_invite',
    227     'page_h_invite','page_h_invite_confirm','do_h_invite_insert_c_invite',
    228     'page_o_password_query','do_o_password_query',
    229 ),
    230 'ktai' => array(
    231     'page_o_login', 'do_o_login', 'do_o_easy_login',
    232     'page_o_login2', 'do_o_update_ktai_address',
    233     'page_o_regist_pre', 'page_o_regist_input', 'do_o_insert_c_member',
    234     'page_o_regist_end',
    235     'page_o_password_query', 'do_o_password_query',
    236     'page_h_config_prof', 'do_h_config_prof_update_c_member',
    237     'page_h_config_easy_login', 'do_h_config_easy_login',
    238     'page_h_config_mail', 'do_h_config_mail_insert_c_ktai_address_pre',
    239     'page_h_pc_send', 'page_h_pc_send_confirm', 'do_h_pc_send_insert_c_pc_address_pre',
    240     'page_h_config_password_query', 'do_h_config_password_query_update_password_query',
    241     'page_h_config_password', 'do_h_config_password_update_password',
    242     'page_h_config', 'page_h_invite', 'do_h_invite_insert_c_invite',
    243 ));
    244 
    245 // SSLを使用するかどうかをユーザーが選択できるアクションリスト
    246 $GLOBALS['_OPENPNE_SSL_SELECTABLE'] = array(
    247 'pc' => array(
    248 ),
    249 'ktai' => array(
    250 ));
    251 
    252 ///
    253 // パス設定
    254 ///
    255 
    256 define('OPENPNE_LIB_DIR'    , OPENPNE_DIR . '/lib');
    257 define('OPENPNE_VAR_DIR'    , OPENPNE_DIR . '/var');
    258 define('OPENPNE_WEBAPP_DIR' , OPENPNE_DIR . '/webapp');
    259 define('OPENPNE_MODULES_DIR', OPENPNE_WEBAPP_DIR . '/modules');
    260 define('OPENPNE_RSS_CACHE_DIR', OPENPNE_VAR_DIR . '/rss_cache');
    261 define('OPENPNE_PUBLIC_HTML_DIR', OPENPNE_DIR . '/public_html');
    262 
    263 ///
    264 // webapp_ext ディレクトリ使用設定
    265 ///
    266 
    267 define('USE_EXT_DIR', false);
    268 define('OPENPNE_WEBAPP_EXT_DIR' , OPENPNE_DIR . '/webapp_ext');
    269 define('OPENPNE_MODULES_EXT_DIR', OPENPNE_WEBAPP_EXT_DIR . '/modules');
    270 
    271 ///
    272 // webapp_biz ディレクトリ使用設定
    273 //
    274 // BIZ使用設定は管理画面に移動しました
    275 // define('USE_EXT_DIR', false);
    276 define('OPENPNE_WEBAPP_BIZ_DIR' , OPENPNE_DIR . '/webapp_biz');
    277 define('OPENPNE_MODULES_BIZ_DIR', OPENPNE_WEBAPP_BIZ_DIR . '/modules');
    278 
    279 ///
    280 // デバッグ、エラーハンドリング、ログ設定
    281 ///
    282 
    283 error_reporting(E_ALL ^ E_NOTICE);
    284 
    285 switch(OPENPNE_DEBUGGING) {
    286 // テスト開発環境
    287 case 2:
    288     $GLOBALS['SMARTY']['debugging'] = true;
    289 case 1:
    290     ini_set('display_errors', true);
    291     ini_set('log_errors', false);
    292     break;
    293 // 本番運用環境
    294 case 0:
    295 default:
    296     ini_set('display_errors', false);
    297     ini_set('log_errors', true);
    298     ini_set('error_log', OPENPNE_VAR_DIR . '/log/php_errors.log');
    299     break;
    300 }
    301 
    302 // アクセスログを取得するかどうか(c_access_log)
    303 define('LOG_C_ACCESS_LOG', true);
    304 
    305 // カスタムログ用の関数名を指定します
    306 define('OPENPNE_LOG_FUNCTION', '');
    307 
    308 ///
    309 // セッション・クッキー設定
    310 ///
    311 
    312 ini_set('session.gc_probability',1);
    313 ini_set('session.gc_divisor',10000);
    314 
    315 ini_set('session.gc_maxlifetime', 432000); // 5 days
    316 //session_save_path('/tmp');
    317 
    318 // PC版
    319 // セッション生成時からの有効期限(秒) (0 の場合は無期限)
    320 $GLOBALS['OpenPNE']['common']['session_lifetime'] = 0;
    321 // セッションの有効期限(秒)
    322 $GLOBALS['OpenPNE']['common']['session_idletime'] = 432000; // 5 days
    323 
    324 // 携帯版
    325 // セッション生成時からの有効期限(秒) (0 の場合は無限)
    326 $GLOBALS['OpenPNE']['ktai']['session_lifetime'] = 0;
    327 // セッションの有効期限(秒)
    328 $GLOBALS['OpenPNE']['ktai']['session_idletime'] = 3600; // 1 hour
    329 
    330 // 管理画面版
    331 // セッション生成時からの有効期限(秒) (0 の場合は無限)
    332 $GLOBALS['OpenPNE']['admin']['session_lifetime'] = 0;
    333 // セッションの有効期限(秒)
    334 $GLOBALS['OpenPNE']['admin']['session_idletime'] = 86400; // 1 day
    335 
    336 // セッションにOPENPNE_URLを保存しておく
    337 // 同一サーバ上で複数のSNSを運用する場合のセッションの混同を防ぐ
    338 // falseからtrueにした場合、または2.4RC1以前のバージョンからアップデートした場合
    339 // それまでのセッションが無効になりログアウトされます
    340 define('OPENPNE_SESSION_CHECK_URL', true);
    341 
    342 ///
    343 // 画像
    344 ///
    345 
    346 // 画像を別サーバに設定する場合に指定する
    347 //define('OPENPNE_IMG_URL', 'http://img.example.com/');
    348 
    349 //// 画像サーバ用設定 ////
    350 //define('OPENPNE_IS_IMG_SERVER', false);
    351 
    352 // 画像キャッシュをpublic_html以下に置くかどうか(要mod_rewrite)
    353 define('OPENPNE_IMG_CACHE_PUBLIC', false);
    354 
    355 // 画像キャッシュディレクトリ(要書き込み権限)
    356 if (OPENPNE_IMG_CACHE_PUBLIC) {
    357     define('OPENPNE_IMG_CACHE_DIR', OPENPNE_PUBLIC_HTML_DIR . '/img');
    358 } else {
    359     define('OPENPNE_IMG_CACHE_DIR', OPENPNE_VAR_DIR . '/img_cache');
    360 }
    361 
    362 // 画像変換時に許可する解像度のリスト (幅x高さ)
    363 // (空の配列を指定すると無制限になります)
    364 $GLOBALS['_OPENPNE_IMG_ALLOWED_SIZE'] = array('76x76', '120x120', '180x180', '240x320');
    365 
    366 // 画像キャッシュのファイル名のprefix
    367 define('OPENPNE_IMG_CACHE_PREFIX', 'img_cache_');
    368 
    369 // 画像変換後のJPEGのQUALITY値
    370 define('OPENPNE_IMG_JPEG_QUALITY', 75);
    371 
    372 // ImageMagick使用設定
    373 // 0: off ... ImageMagickを使わない
    374 // 1: on  ... GIFのみImageMagickを使う
    375 // 2: on  ... JEPG,PNG,GIFにImageMagickを使う(ただし、GDも必要)
    376 define('USE_IMAGEMAGICK', 0);
    377 
    378 // ImageMagick の convertコマンドのパス
    379 define('IMGMAGICK_APP', '/usr/bin/convert');
    380 //define('IMGMAGICK_APP', '"C:\Program Files\ImageMagick-6.2.5-Q16\convert"');
    381 
    382 // ImageMagick のオプション(デフォルトは -resize)
    383 //define('IMGMAGICK_OPT', '-thumbnail');
    384 
    385 // アップロード画像のファイルサイズ制限(KB)
    386 define('IMAGE_MAX_FILESIZE', 300);
    387 
    388 // アップロード画像の大きさ制限(ピクセル)
    389 // 0 を指定した場合は無制限
    390 define('IMAGE_MAX_WIDTH', 0);
    391 define('IMAGE_MAX_HEIGHT', 0);
    392 
    393 // 携帯版「大」サイズ画像表示時の解像度制限
    394 // ($GLOBALS['_OPENPNE_IMG_ALLOWED_SIZE'] で許可された解像度を指定してください)
    395 define('OPENPNE_IMG_KTAI_MAX_WIDTH', 240);
    396 define('OPENPNE_IMG_KTAI_MAX_HEIGHT', 320);
    397 
    398 ///
    399 // ファイルアップロード機能
    400 ///
    401 
    402 // ファイルアップロード機能を使用するかどうか
    403 define('OPENPNE_USE_FILEUPLOAD', false);
    404 
    405 // アップロードファイルのファイルサイズ制限(KB)
    406 define('FILE_MAX_FILESIZE', 300);
    407 
    408 // 許可する拡張子のリスト(カンマ(,)区切り)
    409 // 未指定の場合は全て許可
    410 //define('FILE_ALLOWED_EXTENTIONS', 'pdf,xls,ppt,zip');
    411 define('FILE_ALLOWED_EXTENTIONS', '');
    412 
    413 ///
    414 // 外部RSS取得
    415 ///
    416 
    417 // 一度に取得するRSSの件数
    418 define('RSS_CACHE_LIMIT', 100);
    419 
    420 ///
    421 // 携帯メール投稿
    422 ///
    423 
    424 // 宛先メールアドレスのprefix
    425 //define('MAIL_ADDRESS_PREFIX', 'sns_');
    426 
    427 // 宛先メールアドレスをハッシュにするか
    428 define('MAIL_ADDRESS_HASHED', true);
    429 
    430 // 受信メールの文字コード(Content-Typeから取得できない場合に使う)
    431 //define('MAIL_FROM_ENCODING', 'JIS');
    432 define('MAIL_FROM_ENCODING', 'auto');
    433 
    434 // メールログを取るかどうか(var/log/mail.log)
    435 define('MAIL_DEBUG_LOG', false);
    436 
    437 ///
    438 // メール送信設定
    439 ///
    440 
    441 // 半角カタカナを全角カタカナに変換して送信する
    442 define('MAIL_HAN2ZEN', true);
    443 
    444 // MTAに渡すヘッダの改行コード(LF->CRLF の自動変換が行われることへの対策)
    445 //define('MAIL_HEADER_SEP', 'CRLF');
    446 define('MAIL_HEADER_SEP', 'LF');
    447 
    448 // Envelope-From ヘッダを設定するかどうか(safe_mode の場合は false に設定してください)
    449 define('MAIL_SET_ENVFROM', true);
    450 
    451 // Envelope-From で設定するメールアドレス
    452 //(指定しない場合は、管理者メールアドレス(Fromと同じ))
    453 //define('MAIL_ENVFROM', 'system@example.com');
    454 
    455 ///
    456 // mbstring設定
    457 ///
    458 
    459 mb_language('Japanese');
    460 ini_set('mbstring.detect_order', 'auto');
    461 ini_set('mbstring.http_input'  , 'auto');
    462 ini_set('mbstring.http_output' , 'pass');
    463 ini_set('mbstring.internal_encoding', 'UTF-8');
    464 ini_set('mbstring.script_encoding'  , 'UTF-8');
    465 ini_set('mbstring.substitute_character', 'none');
    466 mb_regex_encoding('UTF-8');
    467 mb_substitute_character("long");
    468 mb_substitute_character(0x3013);
    469 
    470 // Validatorで全角スペースを削除するかどうか
    471 // mb_ereg_replace でエラーが出る場合は false にしてください
    472 define('OPENPNE_TRIM_DOUBLEBYTE_SPACE', true);
    473 
    474 ///
    475 // API通信設定
    476 ///
    477 
    478 // API通信使用設定
    479 define('OPENPNE_USE_API', false);
    480 
    481 // セッション鍵生成用文字列(適当な文字列に変更してください)
    482 define('OPENPNE_API_TOKEN', 'OpenPNE');
    483 
    484 // クライアントのIPアドレスのあるサーバ変数名($_SERVER['REMOTE_ADDR'])
    485 //define('SERVER_IP_KEY', 'HTTP_X_FORWARDED_FOR');
    486 define('SERVER_IP_KEY', 'REMOTE_ADDR');
    487 
    488 ///
    489 // HTTPプロキシ設定
    490 ///
    491 
    492 // HTTPプロキシ使用設定
    493 define('OPENPNE_USE_HTTP_PROXY', false);
    494 
    495 // プロキシのホスト名
    496 define('OPENPNE_HTTP_PROXY_HOST', 'proxy.example.com');
    497 
    498 // プロキシのポート番号
    499 define('OPENPNE_HTTP_PROXY_PORT', 8080);
    500 
    501 ///
    502 // memory_limit設定
    503 ///
    504 // ini_set('memory_limit','32M');
    505 
    506 ///
    507 // umask設定
    508 ///
    509 
    510 umask(0);
    511 
    512 ///
    513 // Google Maps API key
    514 // http://www.google.com/apis/maps/ から取得
    515 ///
    516 define('GOOGLE_MAPS_API_KEY', '');
    517 
    518 ///
    519 // Google AJAX Search API key
    520 // http://code.google.com/apis/ajaxsearch/signup.html  から取得
    521 ///
    522 define('GOOGLE_AJAX_SEARCH_API_KEY', '');
    523 
    524 //// SNSアプリケーション設定 ////
    525 
    526 // 管理画面のURL設定
    527 //(OPENPNE_URL)?m=ADMIN_MODULE_NAME (例. http://sns.example.com/?m=admin)
    528 define('ADMIN_MODULE_NAME', 'admin');
    529 
    530 // 管理画面にバージョン情報を表示するかどうか
    531 define('DISPLAY_VERSION', true);
    532 
    533 // ダッシュボードで表示するOpenPNE情報のURL設定
    534 // URLを空にするとダッシュボードが非表示になります
    535 define('OPENPNE_DASHBOARD_URL', 'http://ad.pne.jp/dashboard/');
    536 
    537 // 天気予報ページのURL設定
    538 define('OPENPNE_WEATHER_URL', 'http://weather.yahoo.co.jp/weather/');
    539 
    540 // 携帯版でUser-Agentのチェックをするかどうか
    541 define('CHECK_KTAI_UA', true);
    542 
    543 // 携帯版でIP制限機能を使用するかどうか
    544 // IPリストは webapp/lib/ktaiIP.php
    545 define('CHECK_KTAI_IP', false);
    546 
    547 // メール一斉送信のメールキューの使用
    548 define('OPENPNE_MAIL_QUEUE', false);
    549 // メールキューで一度に送信するメールの数
    550 define('SEND_MAIL_QUEUE_NUM', 10);
    551 
    552 // メッセージ一斉送信のメッセージキューの使用
    553 define('OPENPNE_MESSAGE_QUEUE', false);
    554 // メッセージキューで一度に送信するメッセージの数
    555 define('SEND_MESSAGE_QUEUE_NUM', 10);
    556 
    557 // CAPTCHA(画像のなかの文字列をメンバーに入力させる認証方式)を使用するかどうか
    558 define('OPENPNE_USE_CAPTCHA', true);
    559 
    560 // 認証モード設定
    561 //  email    : メールアドレスとパスワードによるログイン
    562 //  pneid    : IDとパスワードによるログイン
    563 //  slavepne : 外部認証(SlavePNE機能)を使ったログイン
    564 define('OPENPNE_AUTH_MODE', 'email');
    565 
    566 // 外部認証時にメールアドレス登録を必須にするかどうか
    567 define('IS_SLAVEPNE_EMAIL_REGIST', true);
    568 
    569 // 招待メールに記載するURL
    570 define('SLAVEPNE_SYOUTAI_URL_PC', '');
    571 define('SLAVEPNE_SYOUTAI_URL_KTAI', '');
    572 
    573 // OPENPNE_AUTH_MODE がslavepneの場合のauthオプション
    574 $GLOBALS['_OPENPNE_AUTH_CONFIG'] =
    575 array(
    576 'storage'=>"DB",
    577 'options'=>array(
    578     'dsn'         => array(
    579         'phptype'  => 'mysql',
    580         'username' => 'root',
    581         'password' => '',
    582         'hostspec' => 'localhost',
    583         'database' => '',
    584         'new_link' => true,
    585         ),
    586     'table'       => '',
    587     'usernamecol' => 'username',
    588     'passwordcol' => 'password',
    589     'cryptType'   => 'none',
    590     ),
    591 );
    592 
    593 //画像へのアクセスをSNS認証する
    594 //※画像静的化機能を用いている場合は利用できません
    595 define('CHECK_IMG_AUTH', false);
    596 
    597 // PC表示時にau/SoftBankの絵文字をDoCoMo絵文字に変換するかどうか
    598 // au/SoftBankの絵文字を使用するには、 public_html/skin/default/img/emoji/{e|s} に画像を用意する必要があります
    599 define('OPENPNE_EMOJI_DOCOMO_FOR_PC', true);
    600 
    601 // ページのキャッシュをさせないヘッダを送信するかどうか
    602 // ただしau端末の場合はこの設定にかかわらず、常に「ページのキャッシュをさせないヘッダ」が送信されます
    603 define('OPENPNE_SEND_NO_CACHE_HEADER', false);
    604 
    605 // 管理画面でURL・小窓変換機能を使用するかどうか
    606 define('OPENPNE_ADMIN_CONVERT_URL', true);
    607 
    608 //OpenIDのプロバイダとなるかどうか
    609 define('IS_OPENID_PROVIDER', false);
    610 
    611 //OpenIDの乱数用定義
    612 define('Auth_OpenID_RAND_SOURCE', NULL);
    613 
    614 ?>
    615 
    616 }}}
    617 
    618 
    619 このrootディレクトリの特徴としては、WordPressやXOOPSのように、rootディレクトリにあるphpファイルが多くないことが特徴です。また、index.phpがこのディレクトリにないのも特徴です。これは、公開ディレクトリを、後ほど説明するpubic_htmlだけに限定しているため、このrootディレクトリはWebサーバの公開範囲外なので、index.phpがないという特徴を持っています。
    620 それではまず、binディレクトリから詳しく見ていこうと思います。
     24
     25今回は、これらのディレクトリをひとつひとつ見て回ることにします。
     26
     27== ルートディレクトリ ==
     28
     29各ディレクトリを見る前に、ルートディレクトリ(一番上の階層)について見ていきましょう。[[BR]]
     30 * LICENSE - OpenPNEは現在PHPLicenseを採用しています。そのライセンス事項が書かれているのが、このファイルです
     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スクリプトにアクセスされてしまうなど、セキュリティ上好ましくありません)。
    62133
    62234{{{
     
    62941
    63042
    631 == bin ==
    632 
    633 {{{
    634 root/bin/
    635 
     43== binディレクトリ(bin/) ==
     44
     45{{{
    63646config.inc.php
    63747mail.php