Due to differences in Javascript the script update_db.php had to be changed.
[fa-stable.git] / install.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
3 <head>
4
5
6   <title>FrontAccounting</title>
7 </head>
8
9
10
11 <body>
12
13 <div><strong><span style="FONT-SIZE: 20pt"><span style="COLOR: rgb(204,102,0); FONT-STYLE: italic"  >Front</span>Accounting Installation</span></strong></div>
14
15 <h2>Pre-requisites</h2>
16
17
18 <ul style="MARGIN-TOP: 0pt" type="disc">
19
20
21   <li>A working HTTP web server eg. <em><strong>Apache, IIS</strong></em>.
22
23
24   <li><strong><em>PHP</em></strong> installed on the web server.
25
26
27   <li>A working <strong><em>MySQL</em></strong> server - with <strong><em>innodb</em></strong> tables
28   enabled (see notes below)
29
30
31   <li><strong><em>Adobe Acrobat Reader</em></strong> - for viewing the PDF reports before printing them out. </li>
32
33
34 </ul>
35
36
37 <h2>Important Notes</h2>
38
39
40 <ul>
41
42
43   <li>One critical aspect of the PHP installation is the setting of <strong><em>session.auto_start</em></strong> in the php.ini file. Some rpm distributions of PHP have the default setting of <strong><em>session.auto_start =   1</em></strong>.
44 This starts a new session at the beginning of each script. However,
45 this makes it impossible to instantiate any class objects that the
46 system relies on. Classes are used extensively by this system. When
47 sessions are required they are started by the system and this setting
48 of <strong><em>session.auto_start</em></strong>
49   can and should be set to 0.
50
51
52   <li><strong><em>Innodb</em></strong> tables must be enabled in the MySQL
53   server. These tables allow database transactions which are a critical
54   component of the software. This is enabled by default in the newer versions of
55   MySQL. If you need to enable it yourself, consult the MySQL manual.
56
57
58   <li>FrontAccounting is implemented and tested with MySQL. Generally
59 it should work with other databases, but this is not supported in any
60 way at the moment. </li>
61
62
63 </ul>
64
65
66 <h2>Copying all the project files to the correct directory</h2>
67
68
69 <ul>
70
71
72   <li>You must obviously have downloaded the project
73   archive to be reading this file.
74
75
76   <li>All the files inside this archive should be copied to
77   a directory under the web server root directory.
78
79
80   <li>For example, create a folder called <strong>/account</strong>, and extract the archive into this folder. </li>
81
82
83 </ul>
84
85
86 <h2>Installation Steps (automatic, recommended)</h2>
87
88
89 <ol>
90
91
92   <li>If you have the option to create multiple databases on your host, create one, fi. <strong>frontacc</strong>,
93   otherwise write down the database name for your account. At the same time look
94   up the username and password for the database. You will need these
95   informations during the wizard install.
96
97
98   <li>Enter <strong><em>your_url/account/install</em></strong> (or whatever
99   directory you entered). This will run the install wizard, setup a drill
100   company and populating with initial data. You can later on create your own
101   real company. It is a good idea to get familiar with the system before
102   starting your own company.&nbsp;
103   <li>After successfully install, remove or rename your install directory for safety reasons. You don't need it any more.</li>
104
105
106 </ol>
107
108
109 <h2>Installation Steps (manuel, for advanced users, not recommended)</h2>
110
111
112 <p><br >
113
114 </p>
115
116
117 <ol>
118
119
120   <li>
121
122     <h3>Creating the Database</h3>
123
124
125
126     <ol>
127
128
129       <li>NOTE : As FrontAccounting is still heavily under
130     development, the database structure will ALWAYS change between releases, so
131     if you have a database that you created for a previous release of
132     FrontAccounting, it WILL NOT WORK after installing a new release. You may
133     run the script, update_db.php and select the appropriate script, f.i.
134     alter.sql (from release 1.XX to release 2.0).
135
136
137       <li>We strongly suggest using a GUI to manage your database(s) and database users. If you don\92t have any, download <a href="http://www.phpmyadmin.net/"><strong>phpMyAdmin</strong></a>.
138
139
140       <li>Create a database with a name of your choice. The default in config_db.php is \91<strong><em>frontacc</em></strong>\92, but of course you can select
141     whatever name you desire.
142
143
144       <li>Populate the database you have created. There are two scripts
145 are provided to populate the database (both inside the folder /sql) :
146
147
148         <ol>
149
150
151           <li><strong><em>en_US-demo.sql</em></strong>. This has a minimal
152       amount of demonstration data set up so that transactions can be tried to
153       see how the system works.
154
155
156           <li><strong><em>en_US-new.sql</em></strong>. This script has
157 only the basic data necessary to start a new company system off. If you
158 wish to set up your company on FrontAccounting then this is the script
159 to use. </li>
160
161
162
163         </ol>
164
165
166       <li>Now that the database is created you will need to
167     set up a database user to access this database. DO NOT USE THE USER \91ROOT\92.
168     Set up a new user and give that user full privileges over the database
169     \91frontacc\92.
170       <li>After successfully install, remove or rename your install directory <strong><em>your_url/account/install</em></strong> (or
171 whatever directory you entered) for safety reasons. You don't need it any more.</li>
172
173
174
175     </ol>
176
177
178   <li>
179
180     <h3>Editing config_db.php</h3>
181
182
183
184     <ol>
185
186
187       <li><strong><em>config_db.php</em></strong> contains connection
188     information for the database. These must be set to your local settings or
189     you will not be able to access FrontAccounting.
190
191
192       <li>FrontAccounting allows multiple connections, you
193     can enter as many connections as you have separate entities (most people
194     will use only one).
195
196
197       <li><strong>$db_connections</strong> is an array of connections \96
198     for each connection :
199
200
201       <li>\93<strong>name</strong>\94 is the
202     name of the connection, this is the name that will be displayed to the user
203
204
205       <li>\93<strong>host</strong>\94 is the
206     computer IP address or name where the database is. The default is localhost
207     assuming that the web server is also the sql server.
208
209
210       <li>\93<strong>dbuse</strong>r\94 is
211     the user name under which the database should be accessed. NB, again, do not
212     use the user ROOT. A user with appropriate privileges must be set up.
213
214
215       <li>\93<strong>dbpassword</strong>\94
216     is the password for \93dbuser\94. You would have entered this when you created
217     \93dbuser\94.
218
219
220       <li>\93<strong>dbname</strong>\94 is
221     the name of the database. The provided scripts use the name OpenAccounting.
222
223
224       <li>\93<strong>tbpref</strong>\94 is the table prefix for
225 the tables. If you only have access to one database, you must use table
226 prefix to separate the companies. Table prefix is set by a table prefix
227 counter inside config_db.php, fi. 0_ for the first company.</li>
228
229
230
231     </ol>
232
233
234   </li>
235
236
237 </ol>
238
239
240 <h2>&nbsp;Logging In For the First Time</h2>
241
242
243 <ol>
244
245
246   <li>Pleae ensure that the folder <strong>/company/0</strong> on the server is <strong>writable</strong>.
247
248
249   <li>Open a browser and enter the URL for the web server
250   directory where FrontAccounting is installed.
251
252
253   <li>Enter the user name:&nbsp; '<strong>admin</strong>'
254
255
256   <li>Enter the password: '<strong>password</strong>'
257
258
259   <li>(NB : enter without quotation marks).
260
261
262   <li>
263
264     <div>You can set up additional user accounts from the System Setup
265 tab. Be careful not to delete the demonstration user until a new user
266 has been set up. If there are no users defined the next time you try to
267 login you won't be able to. The only way then to create a user to login
268 with is to manually edit the SQL table "users" to insert a user.</div>
269
270
271   </li>
272
273
274 </ol>
275
276
277 <h2>Setting Up Company Specific Data</h2>
278
279
280 <ol>
281
282
283   <li>All the standing configuration data is defined from the Setup tab
284 and each link should be reviewed to enter appropriate data for the
285 business. Setup wizards that guide you through this process has been
286 implemented and we strongly recommend you to use this approach, see <strong><em>Installation steps (automatic, recommended)</em></strong> . </li>
287
288
289 </ol>
290
291
292 <h2>Troubleshooting</h2>
293
294
295 <ol>
296
297
298   <li>If FrontAccounting is installed locally, you may have the <strong><em>session save path</em></strong> not set correctly. Normally this is set in your php.ini (for Windows). The entry is called <strong><em>session.save_path</em></strong>. Make sure this is set to
299   a directory that actually exists. The default is set to /tmp, which may not be
300   valid.
301
302
303   <li>If you are installing FrontAccounting onto a shared
304   server, you may have to set the session save path within FrontAccounting. At
305   the top of config.php (in release 2.0 this has moved to /includes/session.inc)
306   you will find this line :
307
308
309   <li>Uncomment this line and set the path to a directory that exists
310 on your server. Make sure that you have read/write privileges on this
311 directory. </li>
312
313
314 </ol>
315
316
317 <p>&nbsp;</p>
318
319 </body>
320 </html>