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 https://srchub.org/p/srchub-install/source/download/master/ && unzip srchub-install-master.zip && chmod +x srchub-install-master/install.sh && srchub-install-master/install.sh
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;
with
$cfg['debug'] = false;
Line 105 replace with your external domain/IP:
$cfg['url_base'] = 'http://www.mydomain.com';
Line 109 - replace with the same domain/IP:
$cfg['url_media'] = 'https://www.mydomain.com/media';
Line 113 - again replace with domain/IP:
$cfg['url_upload'] = 'https://mydomain.com/media/upload';
Line 211 - replace:
$cfg['db_server'] = '';
with
$cfg['db_server'] = '127.0.0.1';
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';
with
$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
</Limit>
</Location>
<Directory /home/indefero/scripts>
Options +ExecCGI
AuthName "Restricted"
AuthType Basic
AuthUserFile /home/mercurial/.htpasswd
<Limit PUT POST>
Require valid-user
</Limit>
</Directory>
<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
</Location>
# 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.
#ServerName www.example.com
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
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet