summaryrefslogtreecommitdiff
path: root/doc/README
blob: d5aea879f46c7fc1cf63e68a6be653e39032feb3 (plain)
  1.                 LedgerSMB Small Medium Business Accounting
  2. Version 2.6
  3. DESCRIPTION:
  4. ------------
  5. LedgerSMB is a double-entry accounting system written
  6. in perl. It has been tested with PostgreSQL, Apache,
  7. Netscape, Mozilla, Galeon, Explorer, Links, Lynx,
  8. Konqueror, Voyager, W3M and Opera clients on Linux,
  9. FreeBSD, Solaris, Windows, Mac computers and PDA's.
  10. Data is stored in a SQL database server, either locally or
  11. remote, the display is through a text or GUI web browser.
  12. The system is linked by a chart of accounts. All transactions
  13. for AR, AP and GL are stored in a transaction table. Hyper-links
  14. from the chart of accounts let you view transactions posted
  15. through AR, AP and GL.
  16. Configuration files let you specify to which SQL database server
  17. to connect to, personal preferences such as company name,
  18. language, number and date format, etc.
  19. With the admin script you can create, edit or delete users,
  20. create and delete datasets and set up the Chart of Accounts
  21. and templates needed for the system.
  22. You can have a group of users using the same dataset and
  23. templates for generating Invoices, Income Statements and
  24. Balance Sheets or a different set altogether.
  25. Templates are supplied in html, text and tex format to
  26. generate most of the forms. Forms can be printed to screen,
  27. sent to a printer or e-mailed.
  28. COPYRIGHT:
  29. ----------
  30. Licensed under the terms of the GPL.
  31. LATEST VERSION:
  32. ---------------
  33. available from http://sourceforge.net/projects/ledger-smb/
  34. PLATFORMS:
  35. ----------
  36. Non specific, see requirements.
  37. REQUIREMENTS:
  38. -------------
  39. 1 - Perl, 5+
  40. 2 - http server (Apache, NCSA, httpi, thttpd, ...)
  41. 3 - SQL Server (PostgreSQL 7.1+)
  42. 4 - DBD (DBD-Pg)
  43. 5 - DBI
  44. 6 - LaTeX (optional)
  45. FOREIGN LANGUAGE SUPPORT:
  46. -------------------------
  47. 28 languages are supported. Language files are
  48. ordinary text files, no special software is
  49. needed to change or add new translations.
  50. Some of the translation files are not 100% complete.
  51. If strings are missing, English is used instead.
  52. INSTALLATION WITH setup.pl:
  53. ---------------------------
  54. Make a directory
  55. mkdir /usr/local/sql-ledger
  56. Copy setup.pl to /usr/local/sql-ledger
  57. run setup.pl as root and follow the prompts.
  58. perl setup.pl
  59. Go to the next step, "PREPARE YOUR SQL DATABASE SERVER".
  60. NOTE: If you are behind a firewall and cannot download
  61. the code with setup.pl, download the source code and
  62. pass the filename as an argument on the command line.
  63. perl setup.pl sql-ledger-2.6.x.tar.gz
  64. VERY IMPORTANT: setup.pl tries to figure out your system
  65. but it will not succeed if your distribution decided
  66. to "hide" configuration files for your web server in some
  67. other file.
  68. INSTALLATION WITHOUT setup.pl:
  69. ------------------------------
  70. unpack the tar.gz file in /usr/local
  71. tar xzvf sql-ledger-2.6.x.tar.gz
  72. you should now have everything in /usr/local/sql-ledger
  73. rename ledger-smb.conf.default to ledger-smb.conf
  74. edit ledger-smb.conf
  75. create a file sql-ledger-httpd.conf in the same location
  76. where your httpd.conf is and copy the next section into the file
  77. Alias /sql-ledger /usr/local/sql-ledger/
  78. <Directory /usr/local/sql-ledger>
  79. AllowOverride All
  80. AddHandler cgi-script .pl
  81. AddDefaultCharset On
  82. Options ExecCGI Includes FollowSymlinks
  83. Order Allow,Deny
  84. Allow from All
  85. </Directory>
  86. <Directory /usr/local/sql-ledger/users>
  87. Order Deny,Allow
  88. Deny from All
  89. </Directory>
  90. edit httpd.conf and add
  91. # SQL-Ledger
  92. Include /config_directory/sql-ledger-httpd.conf
  93. Note: use an absolute or relative path to include
  94. the configuration in your httpd.conf file.
  95. i.e. /etc/httpd/sql-ledger-httpd.conf
  96. etc/apache2/sql-ledger-httpd.conf
  97. restart your web server.
  98. Note: /usr/local/sql-ledger is only a suggested
  99. path, you can install in any directory.
  100. Some versions of Apache 2.0 use a conf directory for
  101. configuration files. If this is the case copy
  102. sql-ledger-httpd.conf into this directory and leave
  103. httpd.conf as is.
  104. SET PERMISSION:
  105. ---------------
  106. change directory to /usr/local/sql-ledger
  107. # chown -hR nobody:nogroup users templates css spool
  108. replace nobody:nogroup with the web server user and group.
  109. Some systems use apache:apache, www, www-data, ...
  110. FTP INSTALLATION:
  111. -----------------
  112. If you do not have access to the server's configuration
  113. files install LedgerSMB in userspace by ftp'ing all the
  114. files to your server.
  115. a) untar sql-ledger in your private_html directory
  116. b) turn on script execution for the folder sql-ledger
  117. You can control this with an .htaccess file
  118. Options +ExecCGI
  119. DirectoryIndex login.pl
  120. c) protect the users directory with an .htpasswd file
  121. AuthGroupFile /dev/null
  122. AuthName "Unauthorized"
  123. AuthType Basic
  124. AuthUserFile /home/host.domain/private_html/sql-ledger/users/.htpasswd
  125. require valid-user
  126. d) protect the templates directory with an .htpasswd file
  127. AuthGroupFile /dev/null
  128. AuthName "Templates"
  129. AuthType Basic
  130. AuthUserFile /home/host.domain/private_html/sql-ledger/templates/.htpasswd
  131. require valid-user
  132. e) set up your PostgreSQL database and the tables.
  133. You will most likely only have access to PostgreSQL with
  134. some other tools like pgadmin.
  135. 1) create a database user or use an assigned database user
  136. 2) create a blank database or use one which was created for you
  137. 3) load your web browser and connect to
  138. http://host.domain.com/private_html/sql-ledger/admin.pl
  139. to create the tables.
  140. There is no password so just hit the Enter key or click
  141. on "Continue".
  142. Select the "Database Administration" link
  143. Host [database host] Port [ ]
  144. User [database user] Password [for your database]
  145. Connect to [your database]
  146. click on "Create Dataset"
  147. The next screen is for choosing a Chart of Accounts
  148. Create Dataset [your database]
  149. Multibyte Encoding [ ]
  150. Select a chart of accounts and click on "Continue".
  151. Your tables will now be created and the chart of accounts
  152. will be loaded.
  153. Go to the next step, "SET UP A USER"
  154. PREPARE YOUR SQL DATABASE SERVER:
  155. ---------------------------------
  156. PostgreSQL:
  157. -----------
  158. add one database user with create database privileges
  159. to manage the datasets and tables for SQL-Ledger
  160. # su postgres
  161. $ createuser -d sql-ledger
  162. Shall the new user be allowed to create databases? (y/n) y
  163. Shall the new user be allowed to create more new users? (y/n) n
  164. if you use passwords to access postgres use this command
  165. $ createuser -d -P sql-ledger
  166. Install PL/PGSQL in template1 if it has not been installed yet
  167. # su postgres
  168. $ createlang plpgsql template1
  169. SET UP A DATABASE AND TABLES:
  170. -----------------------------
  171. Load your web browser and connect to
  172. http://localhost/sql-ledger/admin.pl
  173. Select the "Database Administration" link,
  174. enter the user you created in the previous step.
  175. The "Create Dataset" link queries the server
  176. for existing datasets and displays them in a
  177. table. Enter a name for the new dataset (use
  178. lowercase letters only!) and select one of the
  179. Chart of Accounts and click on Continue.
  180. You cannot manage any other datasets from this
  181. interface, only the datasets used by SQL-Ledger.
  182. POSTGRESQL: template1 is only used to query
  183. the server, none of the information stored
  184. in template1 is manipulated in any way.
  185. You can connect to any other database you
  186. own, template1 is only a default.
  187. SET UP A USER:
  188. -------------
  189. Load your web browser and connect to
  190. http://localhost/sql-ledger/admin.pl
  191. Click on "Add User". In the Database
  192. section select the driver and enter
  193. the user you used to create the dataset.
  194. LOAD THE ACCOUNTING PROGRAM:
  195. ----------------------------
  196. Load your web browser and connect to
  197. http://localhost/sql-ledger/login.pl
  198. UPGRADING TO A NEWER VERSION:
  199. -----------------------------
  200. 1. load admin.pl and lock the system
  201. 2. untar the new version over top
  202. 3. check the doc directory for specific notes
  203. 4. load admin.pl and unlock the system
  204. 5. log in
  205. NOTE: datasets are upgraded when you log in for
  206. the first time. During the upgrade process the
  207. dataset is locked so nobody can do any work.
  208. If an error occurs the system will remain locked.
  209. Track down the error, fix it, load admin.pl,
  210. unlock the system and log in again.
  211. UPGRADING WITH setup.pl:
  212. ------------------------
  213. run setup.pl from the command line and follow the prompts.
  214. INSTALLATION CHECKLIST:
  215. -----------------------
  216. 1. untar LedgerSMB somewhere (i.e /usr/local, /opt)
  217. 2. change permission for the users, templates, css and spool directory
  218. 3. edit httpd.conf
  219. 4. edit ledger-smb.conf
  220. 5. add the database user sql-ledger
  221. 6. load admin.pl
  222. 7. create datasets for companies
  223. 8. add users
  224. In the Database section enter
  225. a) PostgreSQL
  226. Host: for local connections leave blank
  227. Dataset: the dataset created in step 7
  228. Port: for local connections leave blank
  229. User: sql-ledger
  230. Password: password for sql-ledger
  231. IF SOMETHING DOESN'T WORK:
  232. --------------------------
  233. There is a FAQ at http://sourceforge.net/projects/ledger-smb//misc/faq.html
  234. or see the one included in the doc directory.
  235. There are also several mailing lists at
  236. http://sourceforge.net/projects/ledger-smb//misc/mailinglist.html
  237. where you can seek free help.
  238. For commercial support see http://www.sql-ledger.com
  239. =====================================================================
  240. June 14, 2006