FrontAccounting Installation

## Pre-requisites

- A working HTTP web server eg. Apache, IIS.
- PHP installed on the web server.
- A working MySQL server - with innodb tables enabled (see notes below)
- Adobe Acrobat Reader - or another PDF reader for viewing the PDF reports before printing them out.

## Important Notes

- One critical aspect of the PHP installation is the setting of session.auto_start in the php.ini file. Some rpm distributions of PHP have the default setting of session.auto_start = 1. This starts a new session at the beginning of each script. However, this makes it impossible to instantiate any class objects that the system relies on. Classes are used extensively by this system. When sessions are required they are started by the system and this setting of session.auto_start can and should be set to 0.
- For security reasons both Register Globals and Magic Quotes php settings should be set to Off. When FrontAccounting is used with www server running php as Apache module, respective flags are set in .htaccess file. When your server uses CGI interface to PHP you should set magic_quotes_gpc = 0 and register_globals = 0 in php.ini file.
- Innodb tables must be enabled in the MySQL server. These tables allow database transactions which are a critical component of the software. This is enabled by default in the newer versions of MySQL. If you need to enable it yourself, consult the MySQL manual.
- FrontAccounting is implemented and tested with MySQL. Generally it should work with other databases, but this is not supported in any way at the moment.

## Copying all the project files to the correct directory

- You must obviously have downloaded the project archive to be reading this file.
- All the files inside this archive should be copied to a directory under the web server root directory.
- For example, create a folder called /account, and extract the archive into this folder.

## Installation Steps

1. If you have the option to create multiple databases on your host, create one, fi. frontacc, otherwise write down the database name for your account. At the same time look up the username and password for the database. You will need these informations during the wizard install.
2. Enter your_url/account (or whatever directory you entered). This will run the install wizard if this is the first time you run FrontAccounting, setup a drill company and optional populating with initial demo data. You can later on create your own real company. It is a good idea to get familiar with the system before starting your own company.
3. After successfully install, remove or rename your install directory for safety reasons. You don't need it any more.

## Logging In For the First Time

1. Pleae ensure that the folder /company/0 on the server is writable.
2. Open a browser and enter the URL for the web server directory where FrontAccounting is installed.
3. Enter the user name: 'admin'
4. Enter the password you created during install.
5. (NB : enter without quotation marks).
6. You can set up additional user accounts from the System Setup tab. Be careful not to delete the demonstration user until a new user has been set up. If there are no users defined the next time you try to login you won't be able to. The only way then to create a user to login with is to manually edit the SQL table "users" to insert a user.

## Setting Up Company Specific Data

1. All the standing configuration data is defined from the Setup tab and each link should be reviewed to enter appropriate data for the business.

## Troubleshooting

1. If FrontAccounting is installed locally, you may have the session save path not set correctly. Normally this is set in your php.ini (for Windows). The entry is called session.save_path. Make sure this is set to a directory that actually exists. The default is set to /tmp, which may not be valid.
2. If you are installing FrontAccounting onto a shared server, you may have to set the session save path within FrontAccounting. At the top of /includes/session.inc you will find this line :
3. Uncomment this line and set the path to a directory that exists on your server. Make sure that you have read/write privileges on this directory.