Posts tagged log

OpenPNE 管理画面を別ディレクトリにする

1

OpenPNE の管理画面の URL は

http://www.example.com/?m=admin

という URL になります。
これは SNS の URL

http://www.example.com/?m=pc

などと同じ index.php を使用しています。

このため、管理画面だけ IP アドレス制限をしたいなどという場合に、.htaccess などで制限ができません。

OpenPNE のセットアップマニュアルには 「6-3. 管理画面を別ドメインで運用する (オプション)」という内容で別ドメインで運用する方法が紹介されています。

しかし、レンタルサーバなどでバーチャルドメインなどが使用できない場合に管理画面を別ディレクトリにして .htaccess などでIPアドレス制限や Basic 認証をかけられるようにする方法です。

- OPENPNE_DIR
  ├ bin
  ├ lib
  ├ var
  ├ webapp
  ├ webapp_ext
  ├ webapp_biz
  └ config.php
- public_html
  ├ config.inc.php
  ├ index.php

の public_html 以下のファイルを public_html/admin ディレクトリ以下にコピーする

-public_html
  ├  admin  (管理画面のディレクトリ名)
    ├ config.inc.php
    ├ index.php
   ・
   ・
   ・

コピーした public_html/admin/config.inc.php を書き換える

< ?php
/**
 * @copyright 2005-2007 OpenPNE Project
 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
 */

define('OPENPNE_DIR', realpath('../../'));        // ディレクトリ階層が違うので合わせるために変更する
require_once OPENPNE_DIR . '/config.php';

// 管理画面のベースURL設定
define('OPENPNE_ADMIN_URL', 'http://www.exmaple.com/admin/');

// 無効にするモジュール
$GLOBALS['_OPENPNE_DISABLE_MODULES'] = array('pc', 'ktai');

?>

これで、htt://www.exmple.com/admin/?m=admin でアクセスできるようになります。

注意点は ?m=admin をつけないとアクセスできません。
また、元の http://www.example.com/?m=admin でアクセスできないように

// 無効にするモジュール
$GLOBALS['_OPENPNE_DISABLE_MODULES'] = array('admin', 'setup');

を public_html/config.inc.php に追加してください。

また、前回のエントリで紹介した 「特定ページを SSL で接続する」 で管理画面を SSL で接続する設定をしている場合は

// 管理画面のベースURL設定
define('OPENPNE_ADMIN_URL', 'https://www.exmaple.com/admin/');

のように URL も忘れずに https にしておかないとアクセスできなくなります。

OpenPNE 特定ページを SSL で接続する

3

OpenPNE で個人情報などを送信するようなフォームや管理画面を SSL で接続する方法です。

SSL を使用するように設定を変更する

openpne/config.phpの以下の行を変更
特定ページを SSL で接続するように設定
define('OPENPNE_USE_SSL_PARAM', false);define('OPENPNE_USE_SSL_PARAM', true);に変更
これだけで特定ページが SSL で接続されるようになります。

SSL を使用したいアクションを追加する

デフォルトで SSL 接続されるようになっているページ以外も SSL 接続にしたい場合は

$GLOBALS['_OPENPNE_SSL_REQUIRED'] = array(
'pc' => array(
    'page_o_regist_prof',  'page_o_regist_prof_confirm', 'do_o_regist_prof',
    'page_o_regist_intro', 'page_o_ri', 'page_o_regist_end',
    'page_h_config_prof', 'page_h_config_prof_confirm', 'do_h_config_prof',
    'page_h_config_ktai', 'do_h_config_ktai_send',
),
'ktai' => array(
    'page_o_login', 'do_o_login', 'do_o_easy_login',
    'page_o_login2', 'do_o_update_ktai_address',
    'page_o_regist_pre', 'page_o_regist_input', 'do_o_insert_c_member',
    'page_o_regist_end',
    'page_o_password_query', 'do_o_password_query',
    'page_h_config_prof', 'do_h_config_prof_update_c_member',
    'page_h_config_easy_login', 'do_h_config_easy_login',
    'page_h_config_mail', 'do_h_config_mail_insert_c_ktai_address_pre',
    'page_h_pc_send', 'page_h_pc_send_confirm', 'do_h_pc_send_insert_c_pc_address_pre',
    'page_h_config_password_query', 'do_h_config_password_query_update_password_query',
    'page_h_config_password', 'do_h_config_password_update_password',
));

となっているところに SSL 接続したいアクションを追加していく。
例えば、携帯ではリマインダーは SSL 接続になりますが PC では SSL 接続ではありません。
そこで PC でも SSL にしたい場合は上の pc の配列にリマインダーのアクションの “page_o_password_query” を追加します。
これで http://www.example.com/?m=pc&a=page_o_password_query という URL は自動的に
https://www.example.com/?m=pc&a=page_o_password_query へリダイレクトされます。

注意点は上記の URL からフォームが送信される ?m=pc&a=do_o_password_query というURL も SSL にする必要があります。
これをしないとフォームの画面は SSL でも送信先が SSL ではなくなってしまいます。

PC 用のリマインダーを SSL にする場合は “page_o_password_query” と “do_o_password_query” の2つを追加する必要があるということです。

確認画面が入るフォームなどではフォーム画面表示アクション、確認画面表示アクション、実行アクションと3つ追加する必要があります。

ユーザに SSL を使用するか選択させるアクションの追加

ユーザが SSL を使用するか選択できるリストというのもあります。

$GLOBALS['_OPENPNE_SSL_SELECTABLE'] = array(
'pc' => array(
    'page_h_config', 'do_h_config_1', 'do_h_config_2', 'do_h_config_3',
    'page_o_login', 'page_o_tologin', 'do_o_login',
),
'ktai' => array(
    'page_h_config',
));

このリストに追加するとフォームの右上やリンクの下に SSL 用のリンクが表示されユーザが SSL の使用をするか選択することができます。

ドラゴンベアード DX810 購入

1

Dragon Beard DX810

久しぶりに靴を購入。ドラゴンベアードの DX810 というやつです。

ドラゴンベアードの靴を探す

CakePHP 携帯でセションを有効にする

2

CakePHP で携帯サイトの開発をしています。
ドコモなどはクッキーが使用できないのでセションID を URL で引き継がないといけないのですが、PC サイトではクッキーでセションID を保持したいところです。

携帯サイトと PC サイトが共存しているときの携帯用のビューを表示させる方法は下記が参考になります。
CakePHP 携帯用ビューを表示する | Shin x blog

また、携帯でのアクセス時にクッキーを使用せずにセション を保持するのは下記が参考になります。
Docomoとセッション フォーラム – CakePHP Users in Japan

私は上記の方法に
ini_set('session.use_trans_sid', 1);を入れて使用しています。

全てのリンク、フォームにセションID が付加されるので便利です。
ただリダイレクトするときだけ、
$this->redirect('/controller/action/'.session_name().'='.session_id());のようにセションIDを入れました。

あとビューを書くときに覚えておくとよいのが、ini_set(‘session.use_trans_sid’, 1); を指定したときにリンクを http:// から始まる URL を書くとセションID は当然ですが付加されません。相対パス、絶対パスなどの自サイト内へのリンクのみセションIDが付加されます。
自サイト内のリンクに http:// から書くとセションID が付かないのではまらないように。

X02HT 購入

0

X02HT

体育の日にヨドバシカメラで X02HT を購入。
まだ設定しただけであまり使用していません。

購入して帰ったら袋の中になぜかマクドナルドのコーヒー無料券が20数枚入っていました。
これはサービス?それとも間違って大量にいれちゃったのかな?

OpenPNE コンテンツをセンター寄せにする

0

OpenPNE のデザインは左寄せなのですが、これをセンター寄せに変更したいという要望がありました。
最初は CSS に
.ext_sub_container { width: 720px;margin: 0px auto; }を追加してみたのですが、やはり IE ではうまく表示できません。
そこでテンプレートを見直すと
inc_header.tpl 339行目
<div align="left">というを
<div align="center">に変更したらうまく行きました。

ちなみに OpenPNE テンプレートのカスタマイズ でも書きましたが
/openpne/webapp/modules/pc/templates/inc_header.tpl
/opnepne/webapp_ext/modules/pc/templates/inc_header.tpl
コピーしてからカスタマイズすると元のファイルを残したままカスタマイズできるのでお勧めです。
その場合は /openpne/config.php
define('USE_EXT_DIR', false);
define('USE_EXT_DIR', true)に変更するのをお忘れなく。

北海道旅行 その4 スープカレー Massarra (マッサーラ)

0

旭山動物園の帰りに札幌でスープカレーを食べました。
カリー専門店 Massarra (マッサーラ)というお店です。
女性のオーナーがやっているお店で店員さんもすごく感じのいい方でした。

スープカレーは初めて食べたのですがすごくおいしく気に入りました!
ご飯のおかわりは自由なのもうれしいサービスですね。

ご飯の上に卵がのっている「かきたま」とトッピング
スープカレー

店内も落ち着いたカフェのような雰囲気
店内2

壁にはフェルトが貼ってあった
店内

北海道旅行 その3 札幌ドーム展望台

1

最終日は天候が大荒れだったので札幌ドームの展望台へ行ってみました。
時間が合えばドームツアーに参加しようと思っていたのですが間に合わなかったので展望台のみです。
チケットを購入後エレベータで3階に行くともう既に外野席よりも上に着いていました。
そこから2つエスカレータを上がると展望台です。

また、展望台以外にもセンターの後方にはキッズルームがあり、無料で子供が遊べます。
行った日は天候が悪かったためかお母さん達がお弁当持参で子供連れてたくさん遊びに来ていました。
キッズルームは無料なので駐車場代だけでかなり遊べるので近所にあれば行っちゃいますね。

このエスカレータを上がると展望台
札幌ドーム

展望台から見るグランド
札幌ドーム

展望台
札幌ドーム展望台

北海道旅行 その2 旭山動物園

0

2日目は大人気の旭山動物園へ。
キロロに泊まったので片道3時間半から4時間かかるとホテルの方に言われたので行くのを迷いましたが、覚悟を決めて出発。
結局休憩を入れて3時間くらいで着きました。(高速道路は決して飛ばしていませんよ)

昼前に着いた時にはすごい混雑でしたね。お弁当は売り切れていてちょっと残念。
旭山動物園は見せ方がすごくうまいのは有名ですが、いたるところにある手書きの看板やポスターがいい味出してます!

ペンギン
入り口に近いこともあるのか、入るのに10分ほど待つ列が出来ていました。
ペンギン

アザラシ。
ものすごい人の数。パイプの中をアザラシが通ると大歓声が。
アザラシ

オリがオーバーハングしていてヒョウが頭上に!(オシッコかけられそう。。。)
ヒョウ

シロクマ
シロクマ

ゴミ箱もゴリラの手になってる!
ゴミ箱

北海道旅行 その1 モエレ沼公園

1

イサム・ノグチが設計したモエレ沼公園
新千歳空港からレンタカーで1時間弱くらいで着きました。駐車場は広大で無料でした。
園内もかなり広く1日使ってゆっくりするのがいいかもしれません。
うちの子供は遊具に大興奮して遊んでいました。

ガラスのピラミッド
ガラスのピラミッド

海の噴水
海の噴水

テトラマウンド
テトラマウンド

ブランコなど
遊具

Go to Top