This is an old revision of the document!
Setting up Opengrok in a FreeNAS 11.2 iocage jail
Create storage dataset's for GROK
Create a jail for GROK
Setup jail mount points for src and data. You need to stop the jail to add mount points and then restart afterwards.
- /mnt/u03/opengrok/src → /var/opengrok/src
- /mnt/u03/opengrok/data → /var/opengrok/data
Find the JAIL and open a shell
root@ale[~]# jls JID IP Address Hostname Path 1 plex /mnt/u02/iocage/jails/plex/root 2 bind /mnt/u02/iocage/jails/bind/root 5 beer /mnt/u02/iocage/jails/beer/root 6 grok /mnt/u02/iocage/jails/grok/root root@ale[~]# jexec 6 /bin/sh
Install opengrok and git. To generate the history caches from GIT based repositories we need the git command line tool.
# pkg install -y opengrok git
This installs tomcat8 we need to autostart this.
# ls /usr/local/etc/rc.d tomcat8
Enable for auto start /etc/rc.conf
echo tomcat8_enable="YES" >>/etc/rc.conf
and start it
service tomcat8 start
This should fire up with an error. That's OK as we have not indexed anything the error will disappear after indexing.
Make a directory
mkdir /var/opengrok/etc
Create a helper script and run it.
cat <<EOF >~/opengrok-index opengrok -c /usr/local/bin/exctags -s /var/opengrok/src -d /var/opengrok/data -H -P -S -G -W /var/opengrok/etc/configuration.xml service tomcat8 restart EOF chmod a+x ~/opengrok-index ~/opengrok-index
The -U parameter only takes host:port and it assumes the WEBAPP is called /source which means the indexer can't tell the running opengrok to reload. So restart tomcat as part of the index run. A minor wart.
Making opengrok the default webapp and use port 80
Moving tomcat from port 8080 to port 80 Edit /usr/local/apache-tomcat-8.0/conf/server.xml file and replace 8080 with 80
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
Make opengrok the default web application by adding a <Context> tag inside <Host>
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="/usr/local/apache-tomcat-8.0/webapps/opengrok"> <WatchedResource>WEB-INF/web.xml</WatchedResource> </Context>