System requirements

Hardware requirements

The hardware required to run LedgerSMB greatly depends on the number of users. However, with a small number of users (up to 10 or so), a 32bit server with 512MB to 1GB of memory (including Linux Server OS) and just a few hundred MB of storage (excluding OS) should be enough to get good performance.
For a 64bit server, you probably need 1GB to 2GB of memory, but otherwise the requirements are the same.

Operating system requirements

LedgerSMB runs on Linux/Unix (for the Server) and any platform with a compatible Web Browser (for the Client).
Platforms that have known-compatible browsers are Linux, Windows, MacOS, most smart phones and tablets should also work although the current UI requires a large screen for optimum usability. (Minimal size: 9.7" tablet in landscape mode.)

Unix includes all flavours (variants) of Linux including

  • Debian
  • Mint
  • Ubuntu
  • RedHat
  • Fedora
  • BSD
  • MacOS / OS X
  • and many more

MS Windows

  • While in the past the server would run on Windows as well, this is currently not tested and expected to break.
  • LedgerSMB has a client / server architecture, so while it is often better to run the server on Linux, this will not stop you from running the clients on windows. In fact this is a common situation and is fully supported.

For more information on running on windows please look at the FAQ item Can I use LedgerSMB on MS Windows?

Software requirements

LedgerSMB builds upon technology of some very widely used - proven - projects:

  • PostgreSQL - the enterprise level quality open source database
  • (versions older than 1.5) Apache HTTPD - the open source web server
    or a webserver with similar capabilities
  • (versions 1.5 or newer) Starman (perl webserver)
    The change to Starman offers some performance improvements.
  • Perl - the programming language of the web
  • (Xe)LaTeX - the typesetting language (optional)
    This is used by the Templating system to generate PDF and Postscript output for printing, email or saving to disk

Each version of LedgerSMB has its own requirements. The high level requirements are listed in the table below.

Requirements by LedgerSMB version
  1.4 (obsolete) 1.5 (stable) 1.6 (development) 1.7 (development)
PostgreSQL 8.4 and up 9.4 and up 9.4 and up 9.4 and up
HTTP Server* Apache 1.3 and up Starman ** Starman ** Starman **
Perl 5.10 and up 5.10 and up 5.14 and up 5.18 and up
(Xe)LaTeX LaTeX for ASCII or
XeLaTeX for UTF-8 characters
LaTeX for ASCII or
XeLaTeX for UTF-8 characters
LaTeX for ASCII or
XeLaTeX for UTF-8 characters
LaTeX for ASCII or
XeLaTeX for UTF-8 characters

*   For versions before 1.5 The dependency on Apache HTTPD isn't as hard as the PostgreSQL and Perl dependencies:
      any webserver which can execute CGI scripts and can be configured forward authentication headers to CGI scripts can be used.

** While Starman is the prefered (and tested) webserver for 1.5 and newer.
      It should ALWAYS be reverse proxied as HTTPS using Apache/Nginx or possibly other HTTP servers.
      It may be possible to run directly from another HTTPD server, but this is not a supported configuration.
      Also, in most cases there are performance gains to be had by using Starman.

Perl module dependencies

The Perl module dependencies are listed in the 'cpanfile' in the root of the project tree. Many distributions include at least some of the dependencies in their repositories, so that it shouldn't be necessary to install all the dependencies listed in the cpanfile from CPAN.

During the installation process, the availability of the "cpanm" binary is likely required.