# Public root URL public_root_url: "http://127.0.0.1/eesyphp" # Application root data directory data_directory: "${root_directory_path}/data" # Temporary files root directory tmp_root_directory: "${data_directory}/tmp" # Temporary uploading files directory (optional, default: PHP ini default) upload_tmp_directory: ${tmp_root_directory}/uploading" # Uploading file size limit (in bytes, example: 104857600 == 100Mb) # (optional, default: PHP ini default) upload_max_filesize: 104857600 # Main pagetitle main_pagetitle: "Eesyphp" # Debug Ajax request/response debug_ajax: false # # Log configuration # log: # Logs directory path directory_path: "${data_directory}/logs" # CLI log file path cli_file_path: "${log.directory_path}/cli.log" # Log file path file_path: "${log.directory_path}/app.log" # Log level (TRACE / DEBUG / INFO / WARNING / ERROR / FATAL) level: "INFO" # Log PHP errors levels (as specified to set_error_handler()) # Note: expected a list of PHP error level constants that will be resolved and combine # with a bitwise operator. After the first value, the bitwise operator "|" (OR) or "^" (XOR) # could be specified as contanst name prefix, otherwise the "&" (AND) operator will be used. # The constant name could also be prefix with "~" or "!" (NOT) bitwise operator. # # Default: # - In TRACE or DEBUG: E_ALL & ~E_STRICT # - Otherwise: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED #log_php_errors_levels: # - E_ALL # - ~E_NOTICE # - ~E_STRICT # - ~E_DEPRECATED # # Sentry configuration # sentry: # Sentry DSN #dsn: null # Log PHP errors in Sentry: list of errors types to logs # See: https://www.php.net/manual/fr/errorfunc.constants.php php_error_types: - "E_ERROR" - "E_PARSE" - "E_CORE_ERROR" - "E_COMPILE_ERROR" - "E_USER_ERROR" - "E_RECOVERABLE_ERROR" - "E_DEPRECATED" # Traces sample rate (between 0 and 1) # Note: this parameter permit to determine how many transactions (=~ access) are traced and # sent to Sentry, for instance, 0.2 meen that 20% of the transactions will be traced. In dev # mode, set to 1 if you want all transactions are sent to Sentry. # Default: 0.2 traces_sample_rate: 0.2 # # Smarty templates configuration # templates: # Smarty directories directory: "${root_directory_path}/templates" cache_directory: "${tmp_root_directory}/templates_c" # Theme CSS file included_css_files: #- css/custom.css included_js_files: #- js/custom.js # # Translations # i18n: # Default locale (see locales directory for available languages list, default: 'en_US.UTF8') #default_locale: 'en_US.UTF8' # # Session # session: # Session timeout due to inactivity (in seconds) timeout: 1800 # Session max duration (in seconds, default : 12h) max_duration: 43200 # Directory path where to store PHP sessions data (optional, default: use system default) directory_path: "${data_directory}/sessions" # # Database configuration # db: # Sqlite dsn: "sqlite:${data_directory}/db.sqlite3" options: null # Date/Datetime format in database (strptime format) date_format: "%s" datetime_format: "%s" # Postgresql #dsn: "pgsql:host=localhost;port=5432;dbname=items" #user: "items" #pwd: "items" #options: null # Date/Datetime format in database (strptime format) #date_format: '%Y-%m-%d' # Example : 2018-10-12 #datetime_format: '%Y-%m-%d %H:%M:%S' # Example : 2018-10-12 18:06:59 # MariaDB / MySQL #dsn: "mysql:host=localhost;dbname=items" #user: "items" #pwd: "items" #options: null # Date/Datetime format in database (strptime format) #date_format: '%Y-%m-%d' # Example : 2018-10-12 #datetime_format: '%Y-%m-%d %H:%M:%S' # Example : 2018-10-12 18:06:59 # # Authentication # auth: # Enabled authentication enabled: true # Methods to authenticate users methods: - form - http #- cas # User backends backends: - db #- ldap #- casuser # # Login form # login_form: # Include application navbar (default: true) include_navbar: true # Display link for other authentication methods # Note: method as key and label as value display_other_methods: http: "HTTP" cas: "SSO" # Remember username # Enable the feature (default: true) # remember_username: true # Cookie name (default: remember_username) # remember_username_cookie_name: "remember_username" # # HTTP Authentication Configuration # http: # HTTP Auth methods : # * AUTHORIZATION : use HTTP_AUTHORIZATION environment. This mode could be use with PHP FPM. # Specific configuration is need in Apache to use this mode : # RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # * REMOTE_USER : use REMOTE_USER environment variable to retrieve authenticated user's login # This method could be only used with $http_auth_trust_without_password_challenge # enabled. # * PHP_AUTH : use PHP_AUTH_USER and PHP_AUTH_PW environment variables (only available # using mod_php with Apache. (default) method: "PHP_AUTH" # Trust HTTP server authentication # If enabled, the application will no check user credentials and only retrieve user's login # from HTTP server. #trust_without_password_challenge: true # Realm (use when force HTTP login, optional) #realm: "Authentication required" # # CAS Configuration # cas: # CAS host (just the domain name) host: "idp.example.com" # CAS context (the root path, default: '/idp/cas') # Example: for 'http://idp.example.com/idp/cas', put '/idp/cas' context: "/idp/cas" # CAS HTTP port (default: 443) #port: 443 # CAS procotol version # Possible values: "1.0", "2.0" (default), "3.0" or "S1" (SAML1) #version: '2.0' # CAS server SSL certificate validation (set to false to disable) ca_cert_certificate_path: "/etc/ssl/certs/ca-certificates.crt" # CAS Debug log file #debug_log_file: "${root_directory_path}/data/logs/cas.log" # CAS Logout #logout: true # Enable CAS logout on app logout #logout_url: "https://my.example.fr/logout/" # Specify custom CAS logout URL # CAS Fake authenticated user #fake_authenticated_user: 'myusername' #fake_authenticated_user_attributes: # attr1: value1 # attr2: value2 # CAS user attributes to retrieve with their properties: # [attr name]: # # CAS attribute name (optional, default: [attr name]) # cas_name: [CAS attr name] # # Alternative CAS attribute name to retrieve if the first one is not defined (optional) # alt_cas_name: [alternative CAS attr name] # # Type of value (optional, default: 'string', possible values: string, bool, int, float) # type: [type of value] # # Default attribute value (optional, default: null) # default: null # Note: only used by casuser auth backend. user_attributes: login: cas_name: "uid" default: null name: cas_name: "displayName" alt_cas_name: "cn" default: null mail: type: "string" # # Database user backend # db: # DSN (required) dsn: "${db.dsn}" # Username (optional but could be required with some PDO drivers) user: "${db.user}" # Password (optional) password: "${db.password}" # PDO options (optional) options: "${db.options}" # Users table name (optional, default: users) users_table: "users" # Username field name (optional, default: username) username_field: "username" # Password field name (optional, default: password) password_field: "password" # Exposed users table fields in resulting EesyPHP\Auth\User object # (optional, default: name, mail) exposed_fields: - "name" - "mail" # # LDAP user backend # ldap: # LDAP host (required, multiple hosts could be specified with comma separator) host: "ldap://localhost" # LDAP port (optional) #port: 389 # Enable STARTTLS (optional, default: false) #starttls: false # LDAP directory base DN (required) basedn: "o=example" # LDAP bind DN (optional) #bind_dn: 'uid=eesyphp,ou=sysaccounts,${auth.ldap.basedn}' # LDAP bind password (optional) #bind_password: 'secret' # User search filter by username. The keyword "[username]" will be replace before search by # the looked username (default: "uid=[username]") #user_filter_by_uid: 'uid=[username]' # User base DN user_basedn: "ou=people,${auth.ldap.basedn}" # Bind with username instead of user DN (optional, default: false) #bind_with_username: true # LDAP user attributes to retrieve with their properties: # [attr name]: # # LDAP attribute name (optional, default: [attr name]) # ldap_name: [LDAP attr name] # # Alternative LDAP attribute name to retrieve if the first one is not defined (optional) # alt_ldap_name: [alternative LDAP attr name] # # Type of value (optional, default: 'string', possible values: string, bool, int, float) # type: [type of value] # # Multivalued attribute (optional, default: false) # multivalued: true # # Default attribute value (optional, default: null) # default: null user_attributes: login: ldap_name: "uid" multivalued: false default: null name: ldap_name: "displayName" alt_ldap_name: "cn" multivalued: false default: null mail: type: "string" # PEAR Net_LDAP2 library path (optional, default: Net/LDAP2.php) #netldap2_path: 'Net/LDAP2.php' # # Email configuration # email: # PHP PEAR Mail and Mail_Mine paths php_mail_path: "Mail.php" php_mail_mime_path: "Mail/mime.php" # Sending method : # - mail : use PHP mail function # - sendmail : use sendmail system command # - smtp : use an SMTP server (PHP PEAR Net_SMTP required) send_method: "smtp" # Sending parameters # See : http:#pear.php.net/manual/en/package.mail.mail.factory.php send_params: NULL # Headers add to all e-mails sent headers: #- "CC: support@example.com" # Email sender address (for all emails sent by the application) sender: "noreply@example.org" # Catch all e-mails sent to a configured e-mail address catch_all: false # Web Stats JS code #webstats_js_code: '' # vim: tabstop=2 shiftwidth=2 softtabstop=2 expandtab