# -------------------------------------------------------------------------------
# サーバー管理ツールMRTGの設定
# -------------------------------------------------------------------------------


■MRTGインストールに必要なライブラリとツール

【インストールの条件】
・NET-SNMP
・GDライブラリ

【GDに必要なライブラリ】
・zlib
・libpng
・libjpeg

■MRTGインストールの手順

1.必要なライブラリのインストール
2.Net-SNMPのインストールと設定
3.MRTGのインストールと設定


Net-SNMP
(参考)
http://www.boreas.dti.ne.jp/~mishiro/index.html
http://blog.drecom.jp/gakkun/archive/70
http://home.netyou.jp/gg/ugpop/academy002-031.htm
http://www.stackasterisk.jp/tech/systemManagement/snmp01_03.jsp#4_1
http://www.marronkun.net/linux/other/snmp_1.html

Net-SNMP&MRTG
(参考)
http://www.tomo.ac/goodstream/server/snmp/fc3-mrtg.html
http://www.stackasterisk.jp/tech/systemManagement/snmp02_01.jsp#1

MRTG
(参考)
http://www.mirrors.wiretapped.net/security/network-monitoring/mrtg/
http://www.iin.gr.jp/~taka/server/mrtg.html


# ----------------------------------------------------------------------
# Net-SNMP インストール
# ----------------------------------------------------------------------

wget http://keihanna.dl.sourceforge.net/sourceforge/net-snmp/net-snmp-5.1.3.1.tar.gz
tar zxf net-snmp-5.1.3.1.tar.gz
cd net-snmp-5.1.3.1
./configure

※質問は全てエンターで問題し

make
make install

#/usr/local/sbin/にインストールされます


# ------------
# 設定
# ------------

# 設定ファイル※設定内容は別途添付
/etc/snmp/smpd.conf

snmpdを起動します。
# /etc/rc.d/init.d/snmpd start

設定を変えたら再起動
# /etc/rc.d/init.d/snmpd restart

起動しているか確認します。これが表示されればO
# ps -ax | grep snmpd
31218 ? S 0:00 /usr/sbin/snmpd -s -l /dev/null -P /var/run/snmpd -a
31222 pts/0 S 0:00 grep snmpd


# ----------------------------------------------------------------------
# MRTG インストール
# ----------------------------------------------------------------------


#/var/mrtgにインストール
# /home/httpd/html/mrtg に結果を表示

mkdir /var/mrtg

wget http://jaist.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.10.tar.gz
wget http://www.zlib.net/zlib-1.2.3.tar.gz
wget http://jaist.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.8-config.tar.gz
wget http://www.boutell.com/gd/http/gd-2.0.33.tar.gz
wget http://www.mirrors.wiretapped.net/security/network-monitoring/mrtg/mrtg-2.12.2.tar.gz

tar zxf freetype-2.1.10.tar.gz
cd freetype-2.1.10
./configure --prefix=/var/mrtg
make
make install
cd ../

tar zxf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure --prefix=/var/mrtg
make
make install
cd ../

tar zxf libpng-1.2.8-config.tar.gz
cd libpng-1.2.8-config
./configure --prefix=/var/mrtg
make
make install
cd ../

tar zxf gd-2.0.33.tar.gz
cd gd-2.0.33
./configure --prefix=/var/mrtg --with-png=/var/mrtg --with-freetype=/var/mrtg
make
make install
cd ../

tar zxf mrtg-2.12.2.tar.gz
cd mrtg-2.12.2
./configure --prefix=/var/mrtg --with-png-lib=/var/mrtg/lib --with-png-inc=/var/mrtg/include --with-gd-lib=/var/mrtg/lib --with-gd-inc=/var/mrtg/include --with-z-lib=/var/mrtg/lib --with-z-inc=/var/mrtg/include
make
make install
cd ../

rm -rf freetype-2.1.10
rm -rf zlib-1.2.3
rm -rf libpng-1.2.8-config
rm -rf gd-2.0.33
rm -rf mrtg-2.12.2

cd /var/mrtg
mkdir html
cd bin


# インデックスファイルの作成
/var/mrtg/bin/indexmaker /var/mrtg/html/mrtg.conf > /home/httpd/html/mrtg/index.html
# 設定ファイルの作成
/var/mrtg/bin/cfgmaker --output=/var/mrtg/mrtg.cfg --global "WorkDir: /home/httpd/html/mrtg" public@192.168.40.23
# 設定の反映
/var/mrtg/bin/mrtg /var/mrtg/html/mrtg.conf

# ----------------------------------------------------------------------
# MRTG の設定
# ----------------------------------------------------------------------

# ※mrtg.confの設定は別途添付

# crontab -e で以下を追記
*/5 * * * * /var/mrtg/bin/mrtg /var/mrtg/html/mrtg.conf

SSI 
読み方 : エスエスアイ
フルスペル : Server Side Include

■SSIとは
SSIは、一群の異なったファイルに共通の内容を含めたい、という要求に応えて開発された気のです。
HTMLファイルの中に組み込みコマンドを書くことによって、ブラウザがそのファイルを要求した際、
サーバ側でコマンドを実行し、実行結果をその場所に挿入(Include)します。

■SSI利用のデメリット
通常webサーバが HTMLを返すときは、適切な応答ヘッダを生成した後、HTMLをそのままユーザに送り返します。
SSI機能を利用とした場合、ファイルの各行を読んで SSIコマンドの文法を解析しなければなりません。
より多くの SSIコマンドを処理しなければならない場合、サーバはさらに多くの負担がかかり、結果としてサーバの動作は遅くなります。

■SSIに伴うセキュリティの問題
SSI を用いる際のセキュリティー上の一般的な注意として、execコマンドを不用意に使わせない、といったことは挙げられます。
セキュリティー対応のため、同一ディレクトリかあるいはその配下のディレクトリにあるファイルしか実行できない処理を加えてある場合が多いです。

# ----------------
# execコマンド解説
# ----------------
下記のコマンドを組み込むと「実効命令」を実行します。

又は



■SSIに伴うセキュリティの問題対応
http://www.scollabo.com/banban/ssi/ssi_002.html

■終わりに
少量の動的なコンテンツを加えるにはすぐれた方法です。
しかし、アクセスの多いコンテンツやCMS化された大規模コンテンツではサーバーへの負荷およびセキュリティー対応を
考慮すると有効な手段とはならないでしょう。
SSIを使うことが悪いのではなくSSIを使うこと利点やデメリットを理解しておくことがより良いコンテンツの作成・管理につながると思います。

(備考)
裏で仕掛けられた CGIプログラムを見抜くことは至難のことです。私は頻繁に外国のサイトを閲覧します。
特に、企業サイトではスパイウェアをインストールしようとしています。それを裏で行っているのが SSIです。
そのサイトの HTMLソースを見ても、SSIが動いているのは分からないのです。
SSIは、プログラムの結果を表示させるため、ソースには現れない性質を持っています。
唯一、Webブラウザの URL欄に表示されるファイルの拡張子が「.shtml」だけが、SSIの動作を裏付けています。
ただし、最近では識別子を .shtml にしなくても、SSIを実行できるサーバもあります。

mysqlで言うところのLAST_INSERT_ID()を取得するためには

//データの保存後
$md_mailmagazine_reserve->save();
//オブジェクトにIDが保存されているのでget****で取得
//下記の例はプライマリーキーがidの場合
$id = $md_mailmagazine_reserve->getId();

//アドミンジェネレーターで作成した場合は
//cacheのなかから、actions.phpをコピーしてオーバーライドしてあげれば拾えます。


protected function saveMdMailmagazineReserve($md_mailmagazine_reserve)
{
$md_mailmagazine_reserve->save();
return $md_mailmagazine_reserve->getId();

}