Removed the content of function header2 in pdf_report.inc to a separate file, header2...
[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<img height="16" alt="gylle" 
123   hspace=0 src="themes/default/images/cal.gif" width=16 border=0>  </h3>
124
125
126
127     <ol>
128
129
130       <li>NOTE : As FrontAccounting is still heavily under 
131     development, the database structure will ALWAYS change between releases, so 
132     if you have a database that you created for a previous release of 
133     FrontAccounting, it WILL NOT WORK after installing a new release. You may 
134     run the script, update_db.php and select the appropriate script, f.i. 
135     alter.sql (from release 1.XX to release 2.0). 
136
137
138       <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>. 
139
140
141       <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 
142     whatever name you desire. 
143
144
145       <li>Populate the database you have created. There are two scripts
146 are provided to populate the database (both inside the folder /sql) :
147
148
149         <ol>
150
151
152           <li><strong><em>en_US-demo.sql</em></strong>. This has a minimal 
153       amount of demonstration data set up so that transactions can be tried to 
154       see how the system works. 
155
156
157           <li><strong><em>en_US-new.sql</em></strong>. This script has
158 only the basic data necessary to start a new company system off. If you
159 wish to set up your company on FrontAccounting then this is the script
160 to use. </li>
161
162
163
164         </ol>
165
166
167       <li>Now that the database is created you will need to 
168     set up a database user to access this database. DO NOT USE THE USER \91ROOT\92
169     Set up a new user and give that user full privileges over the database 
170     \91frontacc\92
171       <li>After successfully install, remove or rename your install directory <strong><em>your_url/account/install</em></strong> (or
172 whatever directory you entered) for safety reasons. You don't need it any more.</li>
173
174
175
176     </ol>
177
178
179   <li>
180
181     <h3>Editing config_db.php</h3>
182
183
184
185     <ol>
186
187
188       <li><strong><em>config_db.php</em></strong> contains connection 
189     information for the database. These must be set to your local settings or 
190     you will not be able to access FrontAccounting. 
191
192
193       <li>FrontAccounting allows multiple connections, you 
194     can enter as many connections as you have separate entities (most people 
195     will use only one). 
196
197
198       <li><strong>$db_connections</strong> is an array of connections \96 
199     for each connection : 
200
201
202       <li>\93<strong>name</strong>\94 is the 
203     name of the connection, this is the name that will be displayed to the user 
204
205
206       <li>\93<strong>host</strong>\94 is the 
207     computer IP address or name where the database is. The default is localhost 
208     assuming that the web server is also the sql server. 
209
210
211       <li>\93<strong>dbuse</strong>r\94 is 
212     the user name under which the database should be accessed. NB, again, do not 
213     use the user ROOT. A user with appropriate privileges must be set up. 
214
215
216       <li>\93<strong>dbpassword</strong>\94 
217     is the password for \93dbuser\94. You would have entered this when you created 
218     \93dbuser\94
219
220
221       <li>\93<strong>dbname</strong>\94 is 
222     the name of the database. The provided scripts use the name OpenAccounting. 
223
224
225       <li>\93<strong>tbpref</strong>\94 is the table prefix for
226 the tables. If you only have access to one database, you must use table
227 prefix to separate the companies. Table prefix is set by a table prefix
228 counter inside config_db.php, fi. 0_ for the first company.</li>
229
230
231
232     </ol>
233
234
235   </li>
236
237
238 </ol>
239
240
241 <h2>&nbsp;Logging In For the First Time</h2>
242
243
244 <ol>
245
246
247   <li>Pleae ensure that the folder <strong>/company/0</strong> on the server is <strong>writable</strong>. 
248
249
250   <li>Open a browser and enter the URL for the web server 
251   directory where FrontAccounting is installed. 
252
253
254   <li>Enter the user name:&nbsp; '<strong>admin</strong>' 
255
256
257   <li>Enter the password: '<strong>password</strong>' 
258
259
260   <li>(NB : enter without quotation marks). 
261
262
263   <li>
264
265     <div>You can set up additional user accounts from the System Setup
266 tab. Be careful not to delete the demonstration user until a new user
267 has been set up. If there are no users defined the next time you try to
268 login you won't be able to. The only way then to create a user to login
269 with is to manually edit the SQL table "users" to insert a user.</div>
270
271
272   </li>
273
274
275 </ol>
276
277
278 <h2>Setting Up Company Specific Data</h2>
279
280
281 <ol>
282
283
284   <li>All the standing configuration data is defined from the Setup tab
285 and each link should be reviewed to enter appropriate data for the
286 business. Setup wizards that guide you through this process has been
287 implemented and we strongly recommend you to use this approach, see <strong><em>Installation steps (automatic, recommended)</em></strong> . </li>
288
289
290 </ol>
291
292
293 <h2>Troubleshooting</h2>
294
295
296 <ol>
297
298
299   <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 
300   a directory that actually exists. The default is set to /tmp, which may not be 
301   valid. 
302
303
304   <li>If you are installing FrontAccounting onto a shared 
305   server, you may have to set the session save path within FrontAccounting. At 
306   the top of config.php (in release 2.0 this has moved to /includes/session.inc) 
307   you will find this line : 
308
309
310   <li>Uncomment this line and set the path to a directory that exists
311 on your server. Make sure that you have read/write privileges on this
312 directory. </li>
313
314
315 </ol>
316
317
318 <p>&nbsp;</p>
319
320 </body>
321 </html>