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. INSTALL SMARTY LIBRARY FILES Copy the Smarty library files to your system. In our example, we place them in /usr/local/lib/php/Smarty/ $> cd YOUR_DOWNLOAD_DIRECTORY $> gtar -ztvf 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: /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 $> 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: $> cd /web/www.domain.com/docs $> mkdir myapp $> cd myapp $> vi index.php Edit the index.php file to look like the following: 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 $> vi /web/www.domain.com/smarty/templates/index.tpl Edit the index.tpl file with the following: