Pre-install notes

The installer was created assuming it was a Debian based distro. If you are trying to install CentOS or any other distro then some modifications must be made. Please contact me before running the installer.

The installer will not stop you, but will prompt, if it doesn't detect that it is a Debian based system.

Installing srchub

Invoking the installer is pretty simple (run as root):

apt-get install unzip wget && wget --content-disposition && unzip && chmod +x srchub-install-master/ && srchub-install-master/

Installation steps

Start screen


Choose srchub or indefero to install


Install packages


Setup MySQL root password


Confirm MySQL root password


Cron job setup


Setup web links


Last screen


Final steps

Edit srchub config file

vi /home/www/indefero/src/IDF/conf/idf.php

At around line 31 fill in the following variable:

$cfg['secret_key'] = '';

If your install will be production replace (around line 42):

$cfg['debug'] = true;


$cfg['debug'] = false;

Line 105 replace with your external domain/IP:

$cfg['url_base'] = '';

Line 109 - replace with the same domain/IP:

$cfg['url_media'] = '';

Line 113 - again replace with domain/IP:

$cfg['url_upload'] = '';

Line 211 - replace:

$cfg['db_server'] = '';


$cfg['db_server'] = '';

You can create a new user (and it is advisable) for MySQL access but it is not necessary to run it. Replace line 214

$cfg['db_login'] = 'indefero';


$cfg['db_login'] = 'root';

(Or the username of the new MySQL user)

Also add in the password of the MySQL user on line 215

After editing the config file cd to the right directory:

cd /home/www/indefero/src/

Then run the following to setup the database

php /home/www/pluf/src/migrate.php --conf=IDF/conf/idf.php -a -i -d

Then finally to create the initial user:

php /home/www/indefero/scripts/bootstrap.php

Edit Apache

If you have a system that has multiple sites/vhosts on it - then you will need to manually configure your vhosts. I added some basic Apache snippets to get you started for the different source code control systems.

However to get you started on a fresh install the following Apache snippet should get you running with srchub:

<VirtualHost *:80>
        Include /home/www/indefero/scripts/private_indefero.conf
        ScriptAliasMatch ^/hg(.*) /home/www/indefero/scripts/hgweb.cgi$1
        <Location /hg>
         Options +ExecCGI
            AuthName "Restricted"
            AuthType Basic
            AuthUserFile /home/mercurial/.htpasswd
            <Limit PUT POST>
                Require valid-user


        <Directory /home/indefero/scripts>
            Options +ExecCGI
            AuthName "Restricted"
            AuthType Basic
            AuthUserFile /home/mercurial/.htpasswd
            <Limit PUT POST>
                Require valid-user
        <Location /svn>
          DAV svn
          SVNParentPath /home/svn/repositories
          AuthzSVNAccessFile /home/svn/dav_svn.authz
          Satisfy Any
          Require valid-user
          AuthType Basic
          AuthName "Subversion Repository"
          AuthUserFile /home/svn/dav_svn.passwd
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Development Team
Natalie Adams


Powered by InDefero,
a CĂ©ondo Ltd initiative. is ran by
Nathan Adams.
Page rendered in 0.05774s using 45 queries.