- Installing LedgerSMB 1.2
- This document contains information on how to install LedgerSMB. We recommend
- that the reader start by reading the section on manual installation and then
- start by trying the automated means mentioned later.
- Also this document assumes that the reader is already familiar with the release
- notes. If you have not already done so, please read the release_notes file in
- the doc/ directory.
- DISTRO AND OS-SPECIFIC NOTES:
- ===============================================================================
- Debian users should read README.debian
- MANUAL INSTALL:
- ===============================================================================
- 1) Untar in desired location.
- 2) Decide where to put the user/session management tables. In general, we
- recommend as follows:
- a) Single dataset installations should use the user tables in the dataset.
- b) Multicompany installations should use user tables in a separate dataset
- from any accounting data.
- To be integrated into the documentation, these minimalist steps have made
- installation/migration of ledger-smb much easier for me:
- 3) Create a admin database role named 'ledgersmb':
- bash$ createuser --no-superuser --createdb --no-createrole -U postgres
- --pwprompt --encrypted ledgersmb
- 4) Create a central user database database, owned by admin role:
- bash$ createdb -U ledgersmb -O ledgersmb ledgersmb
- 5) Run the included SQL commands to configure the central user database:
- bash$ psql -U ledgersmb -d ledgersmb -f (ledgerpath)/sql/Pg-central.sql
- 6) Update your admin password in the central user database
- (change MYPASSWORD to your preferred administrative password).
- bash$ psql -U ledgersmb -d ledgersmb
- ledgersmb=> UPDATE users_conf SET password = md5('MYPASSWORD') WHERE id = 1;
- 7) Quit the interactive SQL console:
- ledgersmb=> \q
- 8) Edit the ledger-smb.conf file as appropriate.
- a) Make sure to set the section under GlobalDBH to point to hte databae you
- imported Pg-central into.
- 9) Add configuration to Apache:
- bash$ sh configure_apache.sh
- 10) Check Dependencies
- The Build.PL script can be used to test for unmet dependencies and run other
- tests. It doesn't install anything yet, but it will tell you what you are
- missing. To check for dependencies, run "perl Build.PL" from the command line.
- Missing dependencies can generally be installed via a Linux distributor's
- package manager or by CPAN. (Build.PL itself uses Module::Build, which is
- available in packages like perl-Module-Build or libmodule-build-perl.)
- Once this is done and dependencies are satisfied, you can check to see whether
- the installation nominally works by running "./Build test" from the command
- line. The test suites currently check to make sure all the perl modules load
- and that a number of numeric tests are passed.
- Dependencies which are recommended are needed only for specific functionality
- and may not be required in all circumstances. These include:
- * Net::TCLink for credit card processing in a POS environment
- * Parse::RecDescent for the CLI script host
- 11) Restart Apache (instructions may vary with your Linux distro).
- 12) Create Datasets and Users:
- Visit http://hostname/ledger-smb/admin.pl, login with MYPASSWORD,
- Create datasets with user ledgersmb, superuser postgres
- Create users pointing to datasets.
- Congratulations, you have manually installed LedgerSMB 1.2.
- FTP INSTALLATION:
- ============================================================================
- If you control the server and have shell access, the
- instructions above are preferred over those given here.
- instead of those given here. This is simply a set of
- notes for those who must install on a shared server.
- If you do not have access to the server's configuration
- files install LedgerSMB in userspace by ftp'ing all the
- files to your server.
- a) untar ledger-smb in your private_html directory
- b) turn on script execution for the folder ledger-smb
- You can control this with an .htaccess file
- Options +ExecCGI
- DirectoryIndex login.pl
- c) protect the users directory with an .htpasswd file
- order allow,deny
- deny from all
- d) protect the templates directory with an .htpasswd file
- order allow,deny
- deny from all
- e) set up your PostgreSQL database and the tables. The basic
- procedure is specified above.
- You will most likely only have access to PostgreSQL with
- some other tools like pgadmin.
- TROUBLESHOOTING
- ===========================================================================
- Error: Access Denied in admin.pl
- Likely causes:
- 1) The password entered may not match the password set in step 4. You can
- repreat that step prior to the creation of user accounts as often as you
- wish.
- After the creation of user accounts, the commant to reset the admin password
- is:
- UPDATE users_conf SET password=mp5('password') WHERE id =
- (select id FROM user WHERE username = 'admin');
- Of course, substitute 'password' for your chosen password.
- 2) The central database may have been created with a different user than you
- are using for the connection and you may not have permission to access the
- required database entities. To correct this, assuming that the desired
- database username is ledgersmb, the following commands from psql:
- GRANT ALL ON users TO ledgersmb;
- GRANT ALL ON users_id_seq TO ledgersmb;
- GRANT ALL ON users_conf TO ledgersmb;
- GRANT ALL ON session TO ledgersmb;
- GRANT ALL ON session_session_id_seq TO ledgersmb;
|