Windows users may want to follow this install guide

This is a simple guide to get Smarty setup and running quickly. The online
documentation includes a very thorough explanation of a Smarty installation.
This guide is meant to be a quick and painless way of getting Smarty working,
and nothing more. The guide assumes you are familiar with the UNIX system
environment. Windows users will need to make adjustments where necessary or
you can switch to a UNIX hosting provider.

INSTALL SMARTY LIBRARY FILES

Copy the Smarty library files to your system. In our example, we place them in
/usr/local/lib/php/Smarty/
Code:
$> cd YOUR_DOWNLOAD_DIRECTORY
$> gtar -zxvf Smarty-2.6.7.tar.gz
$> mkdir /usr/local/lib/php/Smarty
$> cp -r Smarty-2.6.7/libs/* /usr/local/lib/php/Smarty
You should now have the following file structure:

Code:
/usr/local/lib/php/Smarty/
                          Config_File.class.php
                          debug.tpl
                          internals/
                          plugins/
                          Smarty.class.php
                          Smarty_Compiler.class.php
SETUP SMARTY DIRECTORIES

You will need four directories setup for Smarty to work. These files are for
templates, compiled templates, cached templates and config files. You may or
may not use caching or config files, but it is a good idea to set them up
anyways. It is also recommended to place them outside of the web server
document root. The web server PHP user will need write access to the cache and
compile directories as well.

In our example, the document root is /web/www.domain.com/docs and the
web server username is "nobody". We will keep our Smarty files under
/web/www.domain.com/smarty
Code:
$> cd /web/www.domain.com
$> mkdir smarty
$> mkdir smarty/templates
$> mkdir smarty/templates_c
$> mkdir smarty/cache
$> mkdir smarty/configs
$> chown nobody:nobody smarty/templates_c
$> chown nobody:nobody smarty/cache
$> chmod 775 smarty/templates_c
$> chmod 775 smarty/cache
SETUP SMARTY PHP SCRIPTS

Now we setup our application in the document root:

Code:
$> cd /web/www.domain.com/docs
$> mkdir myapp
$> cd myapp
$> vi index.php
Edit the index.php file to look like the following:

PHP Code:
<?php

// put full path to Smarty.class.php
require('/usr/local/lib/php/Smarty/Smarty.class.php');
$smarty = new Smarty();

$smarty->template_dir '/web/www.domain.com/smarty/templates';
$smarty->compile_dir '/web/www.domain.com/smarty/templates_c';
$smarty->cache_dir '/web/www.domain.com/smarty/cache';
$smarty->config_dir '/web/www.domain.com/smarty/configs';

$smarty->assign('name''Ned');
$smarty->display('index.tpl');

?>
SETUP SMARTY TEMPLATE

Code:
$> vi /web/www.domain.com/smarty/templates/index.tpl
Edit the index.tpl file with the following:

HTML Code:
<html>
<head>
<title>Smarty</title>
</head>
<body>
Hello, {$name}!
</body>
</html>
Now go to your new application through the web browser,
http://www.domain.com/myapp/index.php in our example. You should see the text
"Hello Ned!" in your browser.

Once you get this far, you can continue on to the Smarty Crash Course to learn
a few more simple things, or on to the documentation to learn it all.