I have worked with Smarty before and I strongly suggest not doing it that way.
Instead implement smarty into each website as just as a php engine. Dont bother making it global otherwise you will run into issues of customization and so on. I enjoy having each application be seperate on its own space. While it sounds dumb and unclean programming for a person who single-handedly manages several sites, I find it easier both for me and my clients.
Just define the smarty dir like so (assume the path of the acutal public html is /home/www/web1/web/)
// put full path to Smarty.class.php
require(SMARTY_DIR . 'Smarty.class.php');
$smarty = new Smarty();
$smarty->template_dir = 'backend/templates';
$smarty->compile_dir = 'backend/templates_c';
$smarty->cache_dir = 'backend/cache';
$smarty->config_dir = 'backend/configs';
Note the backend folder is RELATIVE TO THE CALLER FILE! The backend folder is not located in /libs/ of the smarty folder. If index.php calls for baseincludes.php all relative paths defined in baseincludes.php are relative to the caller file in this case index.php NOT baseincludes.php.
So basically Index.php goes up a level to fetch the libs files and then goes back to the location of index.php and fetches the info from /backend/x.
I know its a little rant but hope it helps.