CakePHPのお勉強 2回目 お問い合わせ内容の保存
前回に引き続き「お問い合わせ」のサンプルを使って勉強する。
前回のサンプルではただ入力を受け取り表示を行っているのみの為、そもそも何のお問い合わせが行われたわからない。
そこで今回は、入力された内容をデータベースに保存する事にする。
(1) モデルの作成
今回はデータベースに接続する必要があるのでそれに対応したモデルを作成する。
<?php class Contact extends AppModel{ }
今回は特に特別な処理は実装しないので空のままで進む。
「Contact.php」は「Model」フォルダの中に配置。
(2) 保存先テーブルの作成
今回は問い合わせ内容をデータベースに保存するので保存先のテーブルを作成。
続きを読むCakePHPのお勉強 1回目 お問い合わせサンプル
取りあえずCakePHPで何か書いてみる。
CakePHPの公式サイトには簡易Blogのようなチュートリアルがある、が、まぁ自分でやってみる。
非常にシンプルなサンプルからということでよくある「お問い合わせ」を作成してみる。
(1) 最初の画面(入力フォーム)を表示する
CakePHPではデフォルトではコントローラ内の「index」アクションが呼び出される。
まずは「ContactsController.php」と「index.ctp」を以下の内容で準備する。
<?php class ContactsController extends AppController { // indexアクション public function index() {} }続きを読む
nginxの覚書
これはCakePHPをお勉強する上でのメモ書きです。
導入&設定関連
バージョン情報の非表示
HTTPコンテキスト内の「server_tokens」ディレクティブで設定。
http / { server_tokens off; }
なおyumで導入した場合、HTTPコンテキストは「/etc/nginx/nginx.conf」に記述。
BASIC認証の導入
LOCATIONコンテキスト内の「auth_basic」及び「auth_basic_user_file」ディレクティブで設定。
「auth_basic」はBASIC認証を行う事の宣言でパラメータとしてメッセージボックス内に表示するメッセージ内容を記述する。
「auth_basic_user_file」は実際に認証するユーザ及びパスワードのリストファイルの場所を設定する。ファイルそのものはApacheにてBASIC認証する際に準備するものと同じ。
location / { auth_basic "Please input user and password."; auth_basic_user_file /path/to/.htpasswd; }
SSH転送を使ったバックエンドサーバへの接続
さくらのVPSでインターネットへの接続のないサーバ、つまり、バックエンドサーバへの接続をする方法についての覚書。
方法としてはTeraTermのSSH転送機能を使う。
(1) 踏み台となるサーバに接続
まず踏み台となるサーバにSSHで接続します。
踏み台とは外部から接続可能で、且つ、バックエンドサーバに接続可能なサーバの事。
この接続そものは普通に接続してOK。
(2) ポート転送の設定
踏み台となるサーバに接続した状態のまま、ポート転送の設定を実施。
TeraTermのメニューから「設定」内の「SSH転送」を選択。
「SSHポート転送」の画面が開くため「追加」ボタンを押す。
新しく画面が開くので、ローカルのポートに未使用の適当なポート番号(例えば「12345」等)を入力。
リモート側のホストとポートに接続したいバックエンドサーバのIPアドレスとポート番号を入力。
入力を終えたら「OK」を押す。
(3) バックエンドサーバへ接続
踏み台となるサーバに接続した状態のTeraTermはそのままで、もうひとつTeraTermを起動。
ホスト名には「127.0.0.1」を入力、TCPポートには先ほど転送の設定で入力したポート番号(例えば「12345」等)を入力。
あとは「OK」を押すといつも通りに接続される。
なお、この方法でSFTP等も接続可能。
さくらのVPSでローカルネットワークを利用する
さくらのVPSでローカルネットワークを利用する場合の覚書。
(1) ローカルセグメントの追加
あらかじめVPSコントロールパネル内のサーバ一覧からローカルネットワーク等を管理する新コントロールパネルを起動しローカルネットワークの追加を行う。
(2) 対象サーバへのNICの追加
次に新コントロールパネルのサーバ一覧から該当サーバの停止を行う。
サーバが停止したら接続設定ボタンからネットワークインターフェース画面を呼び出す。
ネットワークインターフェース画面ではeth0~eth2までの3枚分のNICのマックアドレスの確認が可能。 CentOS上でNICへのIPアドレスの設定の際にマックアドレスが必要となるので予め控える。
あとは対象のNIC(ethX)の接続先欄にあるボタン(「インターネット」「未接続」又は自身が作成したローカルネットワーク名)を押し接続したいネットワークを選択する。
なお、設定上の注意点が1つ。
続きを読む