Installation

Instructions for Installing SyntaxCMS

Check Dependencies:

Apache

  • mod_rewrite
  • mod_php or php cgi

PHP4

  • PEAR::DB
  • PEAR::Cache
  • AdoDB
  • Smarty
  • MySQL support

MySQL

  • Version 3.23 or higher

Installation

1) Extract SyntaxCMS Distribution to your filesystem

Assuming you have Apache configured and waiting for requests at your domain. The entire SyntaxCMS distributable is not meant to be extracted to your public root. Only the public directory should be exposed as your site's document root.

NOTE: Your Apache configuration must at least allow you to override Options and FileInfo via htaccess files

* If your webserver is set up to handle PHP correctly, you can open public/admin/testing in a browser to view and verify critical Syntax settings.

2) Verify PEAR files are in your include_path

Make sure that the PHP include path has the directory where the PEAR classes are located.

If you need to, you can point the php_include path to your PEAR installation by editing public/.htaccess and add the path to PEAR on your filesystem to the php_include path.

3) Verify smarty symlink

SyntaxCMS expects a symbolic link named smarty in private/lib/ext/PxDB/resources pointing at the libs folder of the Smarty distributable. You will need to create it if necessary.

cd private/lib/ext/PxDB/resources
ln -s Smarty-2.6.1/libs smarty

3) Create Database and Database user

In MySQL, create your database and execute the private/dump.sql script. Create a user with access to just your database. This user should have at least SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER privileges at the mysql command line:

CREATE DATABASE syntaxdb
GRANT select,insert,update,delete,create,alter ON /syntaxdb/.* TO dbuser@localhost IDENTIFIED BY 'db_password';

4) Database Settings

Update private/config/db.conf.php to reflect the settings needed to connect to the MySQL server based on the user you created in step 3 above.

5) Load initial data dump

Run the database script dump.sql into your database. On MySQL it will be something like the following, assuming you are in the folder where the dump.sql file is.

mysql -r mydbuser -p mydatabase < dump.sql

6) File-system Permissions

The user Apache runs as will need write access to the following directories:

  • private/tmp (and all directories beneath)
  • private/files (and all directories beneath)
  • private/lib/ext/PxDB/templates/templates_c

The easiest way to do so is make your Apache user the owner of those directories.

chown -R www-data private/tmp

On Redhat distributions this user is named apache, Debian uses www-data.

7) Update preference keys, admin password

The DBasis tool should now be working on your site test by going to http://yoursite.com/admin/dbasis. Login as admin/secret.

In the data tab, select person as current datatype. Edit the admin user and change the password to something only you will know.

In the preferences tab, update the datastore.path value with the full path of your private/files directory.

You should now have a working SyntaxCMS installation.