Main configuration file of LMS is lms.ini, which must be placed in directory /etc/lms or in LMS root directory (not recommended, see Section 2.3!!!). It contains configuration options for LMS-UI and for all scripts with exception of LMS-MGC.
![]() | Remember to remove semicolons (comments sign) from beginning of line with parameter that you set. |
type
Database type. Currently only 'mysql' is 100% supported, but for the time being there has not been seen any problems with 'postgres' or 'sqlite'. Default: mysql
Example: type = mysql
host
Host where database is running. Usually 'localhost', but you can set anything here (IP, domain or path to socket in 'localhost:/path/to/socket' format). Default: localhost
Example: host = localhost
user
Database user account name. In many cases (if you follow this documentation) that will be 'lms'. If you want to use privileged account, you can enter 'root' (MySQL on most of *nixes), 'mysql' (on PLD) or 'postgres' (PostgreSQL). Default: mysql
Example: user = lms
password
Database user password. Default: empty.
Example: password = password
database
Database name (or path to database file for SQLite). Default: lms
Example: database = lms
server_encoding
Database encoding. Use if your database encoding is not Unicode. Postgres is performing conversion automatically, but if you use MySQL PHP and iconv in LMS DB drivers is used. Default: unicode
Example: server_encoding = latin2
sys_dir
System directory. It is a place where the entire content of LMS UI is placed, that means index.php, graphics, templates and the rest. By default index.php tries to guess where is it located using getcwd(), but it's better to say it where it is:
Example: sys_dir = /var/www/htdocs/lms/
modules_dir
Directory with LMS "modules". That is content of /modules directory. By default it is modules subdirectory of sys_dir.
Example: modules_dir = /usr/share/lms/modules/
lib_dir
Directory with LMS "libraries". That is content of /lib directory. By default it is lib subdirectory of sys_dir.
Example: lib_dir = /usr/share/lms/lib/
backup_dir
Directory for database backup files - it's a place where LMS can write its database snapshots. By default it is backups subdirectory of sys_dir.
Example: backup_dir = /var/backup/lms/
![]() | If directory with backups is accessible from WWW level (within Web Server DocumentRoot), anybody can access them without authentication. |
smarty_dir
Directory with Smarty library - By default Smarty subdirectory of lib_dir.
Example: smarty_dir = /usr/lib/php/Smarty
smarty_compile_dir
Compilation directory for Smarty. It's a place where Smarty compile its templates. By default it is templates_c subdirectory of sys_dir.
Example: smarty_compile_dir = /var/smarty/compile/lms
smarty_templates_dir
Directory with templates for Smarty. By default it is templates subdirectory of sys_dir.
Example: smarty_templates_dir = /usr/share/lms/templates
allow_from (optional)
List of networks or IP addresses, which have access to LMS. If empty, every IP address is permitted. You can write here list of addresses or address classes and LMS will dismiss every unwanted user with HTTP 403 error.
Example: allow_from = 192.168.0.0/16, 213.25.209.224/27, 213.241.77.29
lang
User interface language code (ISO). IF not set, language will be based on HTML browser settings. Default: en
Example: lang = pl
timeout
Timeout for WWW session. User will be log out if he won't perform any action in such number of seconds. Default: 600
Example: timeout = 900
![]() | It's not possible to not to have any timeout. If you set this value to zero, you won't be able to use LMS at all! |
customerlist_pagelimit
Limit of records that can be displayed on one page of customers list. Default: no limit
Example: customerlist_pagelimit = 10
nodelist_pagelimit
Limit of records that can be displayed on one page of nodes list. Default: no limit
Example: nodelist_pagelimit = 10
balancelist_pagelimit
Limit of records that can be displayed on one page of customer balance. Default: 100.
Example: balancelist_pagelimit = 50
invoicelist_pagelimit
Limit of records that can be displayed on one page of invoices list. Default: 100
Example: invoicelist_pagelimit = 50
ticketlist_pagelimit
Limit of records that can be displayed on one page of ticket (requests) list. Default: 100
Example: ticketlist_pagelimit = 50
networkhosts_pagelimit
Limit of records that can be displayed on one page of nodes with network information. Default: 256
Example: networkhosts_pagelimit = 1024
accountlist_pagelimit
Limit of records that can be displayed on one page of customer accounts. Default: 100
Example: accountlist_pagelimit = 50
domainlist_pagelimit
Limit of records that can be displayed on one page of system domains. Default: 100
Example: domainlist_pagelimit = 50
aliaslist_pagelimit
Limit of records that can be displayed on one page of user aliases. Default: 100
Example: aliaslist_pagelimit = 50
configlist_pagelimit
Limit of records that can be displayed on one page of UI configuration list. Default: 100
Example: configlist_pagelimit = 50
reload_type
Reload type. Allowed values:
exec - execute some command (usually with sudo, script or something else, configurable below)
sql - doing SQL writes (can be also set to custom query)
Default: sql.
Example: reload_type = exec
reload_execcmd
Command to run during reload, if reload_type is set to 'exec'. By default /bin/true. This string is send to system() command, so make sure that you know what you're doing. :) Besides, semicolons should be parsed by bash, but LMS splits that string and execute commands separately.
Example: reload_execcmd = "sudo /usr/bin/reload_lms.sh"
reload_sqlquery
SQL query executed while reload, if reload_type = sql. By default, query does inserts into table 'timestamps' with '_force' value. You can use '%TIME%' template in your query which will be substituted with current UNIX timestamp. WARNING! Semicolon is handled as query separator, which means that you can enter couple of SQL queries separated by semicolon sign.
Example: reload_sqlquery = "INSERT INTO reload VALUES ('1','%TIME%')"
force_ssl
Enforce SSL for all connections. Setting this option to 1 will turn LMS into enforcing SSL connections by applying redirect to 'https://'.$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI] at every access without SSL. Default: 0 (off).
Example: force_ssl = 1
allow_mac_sharing
Allows for node addition even if its MAC address is not unique (not checking that some computer have that MAC yet). Default: 0 (off)
Example: allow_mac_sharing = 1
smarty_debug
Enable Smarty debug console. Useful for tracking values passed from PHP to Smarty. Default: 0 (off).
Example: smarty_debug = 1
lang_debug
Enable LMS language console. Useful for tracking missing translation strings. Default: 0 (off).
Example: lang_debug = 1
debug_email
E-mail address for debugging - messages sent from module 'Mailing' will be delivered to this address instead of sending them to real users.
Example: debug_email = root@localhost
default_zip, default_city, default_address
Default zip code, city and street used on "new user" form. Useful when we have many users on the same street.
Example: default_zip = 39-300
use_current_payday
Forces to use current day of month as a payment day instead of most often used day. Default: 0 (off).
Example: use_current_payday = 1
lastonline_limit
Specify time (in seconds), after which node will be marked offline. It should match frequency of execution for script responsible for checking nodes activity (i.e. lms-fping). Default: 600.
Example: lastonline_limit = 300
timetable_days_forward
Specify number of days (including current day) visible on timetable. Default: 7.
Example: timetable_days_forward = 2
arpd_servers
List of arpd servers for reading MAC addresses from remote networks. That list should include IP[:port] items separated with spaces. Default: empty.
Example: arpd_servers = 192.168.1.1 192.168.2.1
helpdesk_backend_mode
When enabled, all messages in helpdesk system (except those sent to ticket reporter) will be sent to mail server to the appropriate queue address. Mail server should run lms-rtparser script, which will write messages to database. Default: disabled.
Example: helpdesk_backend_mode = On
helpdesk_sender_name
Name of message sender or predefined values: 'queue' - ticket's queue name, 'user' - name of logged user (sender). Default: empty.
Example: helpdesk_sender_name = Helpdesk
newticket_notify
If enabled, after new ticket addition system will send notification emails to all users with rights to the queue. Default: disabled.
Example: newticket_notify = On
contract_template
Specify contract template(s) for customer. You can provide comma separated list of contract templates. Default: contract.html.
Example: contract_template = "../my_templates/contract.html"
Example: contract_template = "contract.html:Default Contract, file.html:Contract Plus"
to_words_short_format
Specify format of verbal amounts representation (on invoices). For value "1" verbal expand of 123,15 will be "one two thr 15/100". Default: 0.
Example: to_words_short_format = 1
nodepassword_length
Length of (auto-generated) node password. Max.32. Default: 16.
Example: nodepassword_length = 8
smtp_host, smtp_port, smtp_username, smtp_password
Parameters for smtp authorization in mailing. Default: 127.0.0.1:25.
Example: smtp_host = mail.domain.pl
smtp_auth_type
Smtp authorization method in mailing. By default LMS (exactly PEAR::Net_SMTP) will use the best supported method. Default: none.
Example: smtp_auth_type = DIGEST-MD5
gd_translate_to
Charset of data that GD library expects (usefull if GD need ISO-8859-2 instead of UTF-8 to feed imagetext() function. Default: ISO-8859-2.
Example: gd_translate_to =
check_for_updates_period
How often to check for LMS updates (in seconds). Default: 86400.
Example: check_for_updates_period = 604800
This section consist options for financial system and for payment forms. You can read more about that in Invoices chapter.
suspension_percentage (optional)
Percentage for suspended liabilities. Default: '0'
Example: suspension_percentage = '50'