Smartyのインストール
Smarty を http://smarty.php.net/do_download.php?download_file=Smarty-2.6.6.tar.gz から入手します。
最新版は、 Smarty のホームページから入手します。
インストール
入手したアーカイブを /usr/local/src に置き展開します。
# tar zxvf Smarty-X.X.X.tar.bz2
展開されたファイルのうちlibs以下のファイルをコピー又は移動します。(phpがあらかじめインストールされている前提です。)
# cd Smarty-X.X.X
# mv libs /usr/local/lib/php/smarty
php.iniにSmartyのパスを追加します。
php.iniは、/usr/local/libにあります。
# vi php.ini
include_path = ".:/usr/local/lib/php/smarty"
以上で、インストールは終わりです。
Apacheを再起動し、変更を反映します。
動作確認
Smartを展開したファイルの中にdemoディレクトリが存在します。
このdemoディレクトリにあるファイルを使用して確認をしてみます。
私の場合、ApacheのDocumentRootをホームページの管理ユーザーのディレクトリに設定しているので、そこを利用したいと思います。
$ cp -r demo /home/管理ユーザー/htdocs/
$ mkdir cache
templates_cとcacheはApacheで使用するユーザーが書き込める必要があるのでオーナーを変更します。(ユーザーやグループを確認するには、Apacheのhttpd.confを確認します。)
$ cd /home/管理ユーザー/htdocs/demo/
$ chown nobody:nogroup templates_c
$ chown nobody:nogroup cache
よりセキュリティーを意識するならパーミッションを770に設定します。(注:実際の運用の場合、templates等のディレクトリはDocumentRootの外に配置するほうがセキュリティー上良いようです。)
例:/home/管理ユーザー/templates等
demoディレクトリのindex.phpを修正します。
$ vi index.php
require ‘../libs/Smarty.class.php’の部分をrequire ‘Smarty.class.php’へ変更します。
これで設定は終了です。ブラウザーで確認し以下のように表示されれば成功です。
Title: Welcome To Smarty!
The current date and time is 2005-01-19 19:09:26
Tooltip example: Move your mouse over the Help link to see an example of a tooltip using Smarty's popup function.
The value of global assigned variable $SCRIPT_NAME is /demo/index.php
Example of accessing server environment variable SERVER_NAME: air.tic.net
The value of {$Name} is Fred Irving Johnathan Bradley Peppergill
variable modifier example of {$Name|upper}
FRED IRVING JOHNATHAN BRADLEY PEPPERGILL
An example of a section loop:
1 * John Doe
2 * Mary Smith
3 . James Johnson
4 . Henry Case
An example of section looped key values:
phone: 1
fax: 2
cell: 3
phone: 555-4444
fax: 555-3333
cell: 760-1234
testing strip tags
This is a test