| # 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␊ |