/dev/null | base64 -w 0 $cfg['secret_key'] = ''; # ---------------------------------------------------------------------------- # # Debug section # # ---------------------------------------------------------------------------- # # In debug mode Indefero renders stack traces in case of an error that include # more information about a specific problem. Since these stack traces often # contain sensible data, this option MUST BE DEACTIVATED in production mode. # (see $cfg['admins'] below to learn how you can still be notified about # problems without 'debug' being enabled). $cfg['debug'] = true; # This is used to help generate the stats at the bottom of the page # This can also be used to help debug DB issues as it will get passed # to Pluf_DB_Stats_getConnection as the debug parameter # If you set this to false then the query stats will not be shown $cfg['db_debug'] = true; # ---------------------------------------------------------------------------- # # Path section # # ---------------------------------------------------------------------------- # # Temporary folder where the application is writing compiled templates, # cached data and other temporary resources to. # It must be writeable by your webserver instance. $cfg['tmp_folder'] = '/tmp'; # Path to the PEAR folder $cfg['pear_path'] = '/usr/share/php'; # Path to the upload folder $cfg['upload_path'] = '/home/www/indefero/www/media/upload'; # The following path MUST NOT be accessible through a web browser, # as user will otherwise be able to upload executable files (*.php) and # this can create TERRIBLE security issues. In this folder, the attachments # to the issues will be uploaded and we do not restrict the content type. $cfg['upload_issue_path'] = '/home/www/indefero/attachments'; # If your SCM binary is not accessible for the web user (for example, because # it is not in the system PATH), you can enter the full path to it here. $cfg['svn_path'] = 'svn'; $cfg['svnlook_path'] = 'svnlook'; $cfg['svnadmin_path'] = 'svnadmin'; $cfg['hg_path'] = 'hg'; $cfg['git_path'] = 'git'; $cfg['mtn_path'] = 'mtn'; # The monotone backend allow you to add extra options for the started monotone # process; please keep the default if unsure. $cfg['mtn_opts'] = array('--no-workspace', '--no-standard-rcfiles'); # ---------------------------------------------------------------------------- # # URL section # # ---------------------------------------------------------------------------- # # Examples: # You have: # http://www.mydomain.com/myfolder/index.php # Put: # $cfg['idf_base'] = '/myfolder/index.php'; # $cfg['url_base'] = 'http://www.mydomain.com'; # # You have mod_rewrite: # http://www.mydomain.com/ # Put: # $cfg['idf_base'] = '/index.php'; # $cfg['url_base'] = 'http://www.mydomain.com'; # $cfg['idf_base'] = ''; $cfg['url_base'] = 'http://www.mydomain.com'; # URL to access the media folder which is in the www folder # of the distribution archive $cfg['url_media'] = 'https://www.mydomain.com/media'; # URL to access a folder in which the files you upload through # the downloads tab will be stored. $cfg['url_upload'] = 'https://mydomain.com/media/upload'; # ---------------------------------------------------------------------------- # # Internationalization section # # ---------------------------------------------------------------------------- # # Enter a valid time zone here to ensure that external timestamps, coming from # the SCM for example, are translated into this time zone. # A list of available time zones can be found at # $cfg['time_zone'] = 'America/Chicago'; # Configure which languages should be available in your forge. # If you want to enable an additional language, ensure that the # language file in question resides in 'src/IDF/locale'. $cfg['languages'] = array('en', 'fr', 'de', 'es_ES', 'ru'); # ---------------------------------------------------------------------------- # # Email section # # ---------------------------------------------------------------------------- # # # Indefero uses the PEAR Mail class to send mails. Available mail backend are: # # - The PHP Mail built-in function (mail) # - Sendmail (sendmail) # - Simple Mail Transfer Protocol (smtp) # # Sendmail and SMTP need extra configuration, see the examples below. # # This is a general lock to enable or disable the mail sending process. # True enables mail sending, false disables it. $cfg['send_emails'] = true; # The mail backend to use: mail, sendmail, or smtp $cfg['mail_backend'] = 'mail'; # Mails sent by indefero will have thoses headers: $cfg['from_email'] = 'email@mydomain.com'; $cfg['bounce_email'] = ' '; # The following persons will get an email in case of errors, i.e. when the # system is in not in debug mode (see $cfg['debug'] above). $cfg['admins'] = array( array('Bob', 'bob@example.com'), ); ## ## Example SMTP configuration ## ## The server to connect. Default is localhost #$cfg['mail_host'] = 'localhost'; ## The port to connect. Default is 25 #$cfg['mail_port'] = 25; ## The username to use for SMTP authentication. #$cfg['mail_username'] = ''; ## The password to use for SMTP authentication. #$cfg['mail_password'] = ''; ## The value to give when sending EHLO or HELO. Default is localhost #$cfg['mail_localhost'] = 'localhost'; ## The SMTP connection timeout. Default is NULL (no timeout) #$cfg['mail_timeout'] = NULL; ## Whether to use VERP or not. Default is FALSE #$cfg['mail_verp'] = FALSE; ## ## Example sendmail configuration ## ## The location of the sendmail program on the filesystem. ## Default is /usr/bin/sendmail #$cfg['mail_sendmail_path'] = '/usr/bin/sendmail'; ## Additional parameters to pass to the sendmail. Default is -i #$cfg['sendmail_args'] = '-i'; # ---------------------------------------------------------------------------- # # Database section # # ---------------------------------------------------------------------------- # # # WARNING: DO NOT USE SQLITE IN PRODUCTION # # This is not because of problems with the quality of the SQLite # driver or with SQLite itself, but due to the lack of migration # support in Pluf for SQLite. This means we cannot modify the DB # easily once it is loaded with data. # # Enter one of the supported database engines: SQLite, MySQL, or PostgreSQL $cfg['db_engine'] = 'MySQL'; # The database name for MySQL and PostgreSQL, and the absolute path # to the database file if you are using SQLite. $cfg['db_database'] = 'indefero'; # The database server to connect. $cfg['db_server'] = ''; # Information about the database user. $cfg['db_login'] = 'indefero'; $cfg['db_password'] = ''; # The version of your database server, only needed for MySQL $cfg['db_version'] = '5.1'; # A prefix for your table name; this can be useful if you plan to run # multiple indefero installations on the same database instance. $cfg['db_table_prefix'] = 'indefero_'; # ---------------------------------------------------------------------------- # # Cache section # # ---------------------------------------------------------------------------- # # The cache is used to speed up the operations of most of the SCM commands. # # Indefero supports three methods to handle the cache, and you need to # configure it with one of them: # # - Files (Pluf_Cache_File) # - Alternative PHP Cache (Pluf_Cache_Apc) # - Memcached (Pluf_Cache_Memcached) # # Both, APC and Memcached, need additional extensions to be compiled into # your PHP installation, so the easiest is to use the file-based cache # for an initial setup. # # For more information on APC, see . # Memcached is documented at . # $cfg['cache_engine'] = 'Pluf_Cache_File'; $cfg['cache_timeout'] = 300; $cfg['cache_file_folder'] = $cfg['tmp_folder'].'/cache'; #$cfg['cache_engine'] = 'Pluf_Cache_Apc'; #$cfg['cache_timeout'] = 300; #$cfg['cache_apc_keyprefix'] = 'uniqueforapp'; #$cfg['cache_apc_compress'] = true; #$cfg['cache_engine'] = 'Pluf_Cache_Memcached'; #$cfg['cache_timeout'] = 300; #$cfg['cache_memcached_keyprefix'] = 'uniqueforapp'; #$cfg['cache_memcached_server'] = 'localhost'; #$cfg['cache_memcached_port'] = 11211; #$cfg['cache_memcached_compress'] = MEMCACHE_COMPRESSED; # ---------------------------------------------------------------------------- # # Git SCM section # # ---------------------------------------------------------------------------- # # # Read the file 'doc/syncgit.mdtext' for more information # # Uncomment this line to enable git support. $cfg['allowed_scm']['git'] = 'IDF_Scm_Git'; # The path to the git repositories. '%s' is replaced with the project name. # Do not forget to give read access to these folders to your www user, # for example by adding the www user to the git group. $cfg['git_repositories'] = '/home/git/repositories/%s.git'; # Git URL for public access to a repository. '%s' is again replaced with # the project name. See 'doc/syncgit.mdtext' for the git-daemon configuration. $cfg['git_remote_url'] = 'git://mydomain.com/%s.git'; # Git URL for private / write access to a repository. Again, '%s' is replaced # with the name of the project. See 'doc/syncgit.mdtext' for more information # about SSH authentification $cfg['git_write_remote_url'] = 'ssh://git@mydomain.com/%s.git'; # The 'core.quotepath' option is configured on all new repositories created by # indefero. This option disable characters to be escaped, when git commands run # on an UTF-8 shell. # # - true: All characters above 0x80 will be escaped (default) # - false: Characters are printed directly, which for example enables # accented characters in an UTF-8 shell # # If you see malformed filenames in the source view, try to set this to false. # $cfg['git_core_quotepath'] = false; # Path to the gitserve.py script $cfg['idf_plugin_syncgit_path_gitserve'] = '/home/www/indefero/scripts/gitserve.py'; # Path to the 'authorized_keys' file of your git user $cfg['idf_plugin_syncgit_path_authorized_keys'] = '/home/git/.ssh/authorized_keys'; # Path to the temporary file for key synchronization $cfg['idf_plugin_syncgit_sync_file'] = '/tmp/SYNC-GIT'; # Path to the git home $cfg['idf_plugin_syncgit_git_home_dir'] = '/home/git'; # Path to the folder which contains all git repositories $cfg['idf_plugin_syncgit_base_repositories'] = '/home/git/repositories'; # Set a custom git-post-update script. Use this only, if you know you are doing! # $cfg['idf_plugin_syncgit_post_update'] = '/my/script'; # Automatically delete git repositories of deleted projects # $cfg['idf_plugin_syncgit_remove_orphans'] = true; # ---------------------------------------------------------------------------- # # SVN SCM section # # ---------------------------------------------------------------------------- # # # Read the file doc/syncsvn.mdtext for more information # # Uncomment this line to enable the SVN support. $cfg['allowed_scm']['svn'] = 'IDF_Scm_Svn'; # In case of subversion, you can either use a local or a remote repository. # The forge admin can configure a remote repository directly from the # web interface. Local repositories cannot be configured from there, # for security reasons, but have to be defined here. # '%s' is replaced with the project name. $cfg['svn_repositories'] = 'file:///home/svn/repositories/%s'; # The HTTP URL to the local SVN repository. # We add 'trunk' to invite people to checkout the trunk of the project. # Again, '%s' is replaced with the project name. $cfg['svn_remote_url'] = 'https://mydomain.com/svn/%s/trunk'; # Path to the authentification files for dav_svn $cfg['idf_plugin_syncsvn_authz_file'] = '/home/svn/dav_svn.authz'; $cfg['idf_plugin_syncsvn_passwd_file'] = '/home/svn/dav_svn.passwd'; # Path to the folder which contains all SVN repositories $cfg['idf_plugin_syncsvn_svn_path'] = '/home/svn/repositories'; # You can customize permissions for each user group. # $cfg['idf_plugin_syncsvn_access_owners'] = 'rw'; # $cfg['idf_plugin_syncsvn_access_members'] = 'rw'; # $cfg['idf_plugin_syncsvn_access_extra'] = 'r'; # $cfg['idf_plugin_syncsvn_access_public'] = 'r'; # $cfg['idf_plugin_syncsvn_access_private'] = ''; # Automatically delete local SVN repositories of deleted projects # $cfg['idf_plugin_syncsvn_remove_orphans'] = true; # ---------------------------------------------------------------------------- # # Mercurial SCM section # # ---------------------------------------------------------------------------- # # # Read the file doc/syncmercurial.mdtext for more information # # Uncomment this line to enable the Mercurial support. $cfg['allowed_scm']['mercurial'] = 'IDF_Scm_Mercurial'; # The path to mercurial repositories. '%s' is replaced with the project name. $cfg['mercurial_repositories'] = '/home/mercurial/repositories/%s'; $cfg['mercurial_remote_url'] = 'https://mydomain.com/hg/%s'; $cfg['idf_plugin_syncmercurial_hgrc'] = array( 'web' => array('push_ssl' => 'true', 'allow_push' => '', 'description' => '', 'allow_archive' => 'bz2, zip, gz', 'style' => 'gitweb', 'contact' => ''), 'hooks' => array(), 'extensions' => array(), ); # Based on the paths provided in the Apache configuration, # you need to setup the following lines. $cfg['idf_plugin_syncmercurial_passwd_file'] = '/home/mercurial/.htpasswd'; $cfg['idf_plugin_syncmercurial_path'] = '/home/mercurial/repositories'; $cfg['idf_plugin_syncmercurial_private_notify'] = '/home/mercurial/tmp/notify.tmp'; $cfg['idf_plugin_syncmercurial_private_url'] = '/hg/%s'; # Authentification file for private repositories // $cfg['idf_plugin_syncmercurial_private_include'] = '/home/mercurial/scripts/private_indefero.conf'; $cfg['idf_plugin_syncmercurial_private_include'] = '/home/www/indefero/scripts/private_indefero.conf'; # Password storage type (see 'doc/syncmercurial.mdtext') # $cfg['idf_plugin_syncmercurial_passwd_mode'] = 'sha'; # ---------------------------------------------------------------------------- # # Monotone SCM section # # ---------------------------------------------------------------------------- # # # Read the file doc/syncmonotone.mdtext for more information # # Uncomment this line to enable the monotone support. # $cfg['allowed_scm']['mtn'] = 'IDF_Scm_Monotone'; # The path to a specific database (local use) or a writable project # directory (remote / usher use). '%s' is replaced with the project name. $cfg['mtn_repositories'] = '/home/mtn/repositories/%s.mtn'; # The URL which is displayed as sync URL to the user and which is also # used to connect to a remote usher. $cfg['mtn_remote_url'] = 'mtn://example.com/%s'; # Whether the particular database(s) are accessed locally (via automate stdio) # or remotely (via automate remote_stdio). 'remote' is the default for # use with usher and the SyncMonotone plugin, while 'local' access should be # choosed for manual setups and / or ssh access. $cfg['mtn_db_access'] = 'local'; # Needs to be configured for remote / usher usage. # This allows basic control of a running usher process via the forge # administration. The variable must point to the full (writable) # path of the usher configuration file which gets updated when new projects # are added. # $cfg['mtn_usher_conf'] = '/var/lib/usher/usher.conf'; # Full path to the directory tree which contains default configuration files # that are automatically created for new projects. This is only needed # if $cfg['mtn_db_access'] is set to remote, i.e. in case the SyncMonotone # plugin should be used. If unset, it defaults to the tree underknees # src/IDF/Plugin/SyncMonotone/. Don't forget the trailing slash! # $cfg['mtn_confdir'] = '/path/to/dir/tree/'; # Additional configuration files you want to create / copy for new setups. # All these file paths have to be relative to $cfg['mtn_confdir']. # $cfg['mtn_confdir_extra'] = array('hooks.d/something.lua') # ---------------------------------------------------------------------------- # # Hacker section (for advanced users) # # ---------------------------------------------------------------------------- # $cfg['installed_apps'] = array('Pluf', 'IDF'); $cfg['pluf_use_rowpermission'] = true; $cfg['middleware_classes'] = array( 'Pluf_Middleware_Csrf', 'Pluf_Middleware_Session', //'Pluf_Middleware_Debug', 'Pluf_Middleware_Stats', 'IDF_Middleware', 'Pluf_Middleware_Translation', ); $cfg['template_context_processors'] = array('IDF_Middleware_ContextPreProcessor'); $cfg['idf_views'] = dirname(__FILE__).'/urls.php'; # If you want to customize some of the template files, you must tell the # template system where it can find your updated files by adding the particular # folder to the following array. $cfg['template_folders'] = array( dirname(__FILE__).'/../templates', ); # You can customize the URL redirection after a login or logout action. $cfg['login_success_url'] = $cfg['url_base'].$cfg['idf_base']; $cfg['after_logout_page'] = $cfg['url_base'].$cfg['idf_base']; # Set to true if uploaded public keys should not only be validated # syntactically, but also by a specific backend. For SSH public # keys, ssh-keygen(3) must be available and usable in the system PATH, # for monotone public keys, the monotone binary (as configured above) # is used. $cfg['idf_strong_key_check'] = false; # If you want to use another mime types database, enter its path here. # $cfg['idf_mimetypes_db'] = '/etc/mime.types'; # Extentions of additional text files that should be displayed inline. # $cfg['idf_extra_text_ext'] = 'ext1 ext2 ext3'; # If you can execute the needed shell commands to query information from your # SCM, but the same shell commands do not work from within the indefero # instance, this can be due to the environment variables not being set # correctly. ATTENTION: Do not forget the trailing space! # $cfg['idf_exec_cmd_prefix'] = '/usr/bin/env -i '; # If you do not want to let indefero calculate the sizes of repositories, # attachments, or downloads, set this to true. (You can temporarily set this # to false in case you want to quickly check some size, of course.) # $cfg['idf_no_size_check'] = false; # The file extensions for file uploads (issues and downloads view) are limited. # You can allow additional extensions here. # $cfg['idf_extra_upload_ext'] = 'ext1 ext2'; # By default, the size of a single file upload is limited to 2MB. # The php.ini upload_max_filesize and post_max_size configuration setting will # always have precedence. # $cfg['max_upload_size'] = 2097152; // Size in bytes # If a download archive is uploaded, the size of the archive is limited to 20MB. # The php.ini upload_max_filesize and post_max_size configuration setting will # always have precedence. # $cfg['max_upload_archive_size'] = 20971520; // Size in bytes # Older versions of Indefero submitted a POST request to a configured # post-commit web hook when new revisions arrived, whereas a PUT request # would have been more appropriate. Also, the payload's HMAC digest was # submitted as value of the HTTP header 'Post-Commit-Hook-Hmac' during # such a request. Since newer versions of Indefero use the same authentication # mechanism (based on the same secret key) for other web hooks of the same # project as well, the name of this HTTP header was no longer appropriate # and as such changed to simply 'Web-Hook-Hmac'. # # Setting the following configuration option to 'compat' now restores the # old behaviour in both cases. Please notice however that this compatibility # option is likely to go away in the next major version of Indefero, so you # should really change the other end of your web hooks! $cfg['webhook_processing'] = 'compat'; # If IDF recalculates the activity index of the forge's projects, it does so # by looking at the created and updated items in a particular tab / section # for each project. # # You can now edit the weights that are applied to the calculation for each # section in order to give other things more precendence. For example, if you # do not use the documentation part to a great extent in most of your projects, # you can weight this section lower and get an overall better activity value. # # If a section is removed, then activity in this section is neglected during # the calculation. The same is true in case a section is disabled in the # project administration. $cfg['activity_section_weights'] = array( 'source' => 4, 'issues' => 2, 'wiki' => 2, 'downloads' => 2, 'review' => 1, ); # Here you can define the timespan in days how long the activity calculation # process should look into the history to get meaningful activity values for # each project. # # If you have many low-profile projects in your forge, i.e. projects that only # record very little activity, then it might be a good idea to bump this value # high enough to show a proper activity index for those projects as well. $cfg['activity_lookback'] = 7; return $cfg;