Meet Sitellite's successor: Elefant CMS
A modern PHP framework and content management system based on the improved features of PHP 5.3+. Elefant is an extremely fast and easy to use CMS that inherits all the best of Sitellite, without the fat. Learn more »
Installing Sitellite
Prerequisites
Apache 1.3 or 2.0
The differences between the two versions are that some compiling and configuration options have changed. The one specifically related to Sitellite is that Apache 2 requires a new "AcceptPathInfo" setting set to "On".
The other setting that can affect Sitellite is the "AllowOverride" setting. Usually, we simply recommend it be set to "All", which gives us more options in the .htaccess files used by Sitellite. However, we'll also be looking at the possibility of inlining the .htaccess settings into the main Apache configuration and turning .htaccess off completely, which I've seen improve the performance of Apache by up to 20%.
PHP 4.3
We recommend new sites use PHP 5 wherever possible, because PHP 4 will be officially unsupported by the PHP development team by the end of 2008. If PHP 4 is your only option, Sitellite runs just fine in PHP 4.3 or greater.
The key to the PHP installation is that it be installed as both an Apache module (ie. mod_php) not as a CGI binary, and also as a command-line utility. FastCGI is also supported in the latest Sitellite releases. This last option is the default since 4.3, so we shouldn't have to worry about that. Usually all we need to do is add the following switch to the "configure" line when compiling PHP:
./configure --with-apxs=/usr/local/apache/bin/apxs
MySQL 3.23 or greater
As of this writing, MySQL 5.0 is the latest stable version of MySQL. Sitellite works with all versions of MySQL from 3.23 on, however I do recommend keeping up to date with MySQL upgrades for the best performance and security.
Configuring Sitellite
Basic installation
A basic Sitellite installation begins with unzipping the Sitellite tarball into the document root of the web site, and copying its contents, including the .htaccess file (which is often missed), into the document root.
mysql -p -u root (enter password) mysql> create database DBNAME; mysql> grant all on DBNAME.* to USER@localhost identified by 'PASS'; mysql> flush privileges; mysql> quitThe Sitellite web installer will create the necessary database tables, however make sure you save your database connection info, which you'll need to provide during the Sitellite installation.
chmod -R 777 cache chmod -R 777 inc/app/cms/conf/services chmod -R 777 inc/app/*/conf chmod -R 777 inc/app/*/data chmod -R 777 inc/app/*/lang chmod -R 777 inc/conf chmod -R 777 inc/data chmod -R 777 inc/html chmod -R 777 inc/lang chmod -R 777 install chmod -R 777 pix chmod 777 inc/app/*
After setting the folder permissions, you're now ready to launch the Sitellite Web Installer by pointing your website to "/install/" at your website, for example:
- http://www.example.com/install/
The Task Scheduler
Sitellite has a "scheduler" utility that can be used in conjunction with cron, or called manually, to run tasks in Sitellite from the command-line.cd /PATH/TO/SITELLITE php -f index scheduler-app
Sitellite Scheduler
Abstract:
Provides a command-line interface to execute scheduled actions in
Sitellite. Relies on Cron, At, or other system schedulers to
provide the timing capabilities. This scheduler simply provides
the entry point, security wrappers for scripts, and error logging
capabilities.
Usage:
From the command-line:
bash$ cd /PATH/TO/SITELLITE; php -f index scheduler-app help
From a Cron script:
0 0 * * * cd /PATH/TO/SITELLITE; php -f index scheduler-app all
Options:
NONE Prints this help info
help Prints this help info
TASK Execute the specified task
all Execute all of the tasks in succession
Tasks:
documents
flushqueue
googlesitemap
jabbercheck
mailcheck
scanner
siteinvoice
sitesearch
Examples:
Print this help:
php -f index scheduler-app
Execute the sitesearch task:
php -f index scheduler-app sitesearch
Execute all tasks:
php -f index scheduler-app all
0 0 * * * cd /PATH/TO/SITE; /usr/bin/php -f index scheduler-app documents 0 1 * * * cd /PATH/TO/SITE; /usr/bin/php -f index scheduler-app flushqueue 0 2 * * * cd /PATH/TO/SITE; /usr/bin/php -f index scheduler-app sitesearch
The Scheduler Log
2008-07-26 19:15:46 (documents) Error: Error message here.
