Install WiKID Strong Authentication Community Server 3.5.0 on Ubuntu 13.10 Saucy Salamander

In brief, the WiKID Strong Authentication System is a two-factor authentication system, which uses asymmetric encryption instead of the usual shared-secret architecture. 

Installation

We’re using 64-bit Ubuntu 13.10:

$ uname -rvm
3.2.0-58-virtual #88-Ubuntu SMP Tue Dec 3 17:58:13 UTC 2013 x86_64

Update the system first:

# apt-get update && apt-get upgrade -uV

Download the community server installation package and its MD5 hash file:

# cd ~
# wget http://heanet.dl.sourceforge.net/project/wikid-twofactor/WiKID_Server/3.5/wikid-server-community_3.5.0-b1470-1.deb
# wget http://skylink.dl.sourceforge.net/project/wikid-twofactor/WiKID_Server/3.5/wikid-server-community_3.5.0-b1470-1.deb.MD5

Also download WiKID utilities:

# wget http://wikidsystems-dl.com/wikid-utilities_3.4.2-1.deb

Check the integrity of the server’s installation file to ensure it’s not corrupted:

# cat wikid-server-community_3.5.0-b1470-1.deb.MD5
ae7bee280fa5dbfac3fe5f0050709633
# md5sum wikid-server-community_3.5.0-b1470-1.deb
ae7bee280fa5dbfac3fe5f0050709633  wikid-server-community_3.5.0-b1470-1.deb

Check dependencies:

# dpkg -I wikid-server-community_3.5.0-b1470-1.deb | grep Depends
Depends: postgresql (>= 8.0), openjdk-6-jdk, openjdk-6-jre-headless, openssl, debianutils, bash, net-tools, iptables, perl, libwww-perl, sudo, tzdata
Build-Depends: debhelper (>= 7.0.50~)

Install required packages:

# apt-get install openssl debianutils net-tools perl libwww-perl tzdata sudo \
iptables
# apt-get install postgresql libpostgresql-jdbc-java libpg-java openjdk-6-jdk \
openjdk-6-jre-headless

Install WiKID community server:

# dpkg -i wikid-server-community_3.5.0-b1470-1.deb

Install WiKID utilities:

# dpkg -i wikid-utilities_3.4.2-1.deb
Selecting previously unselected package wikid-utilities.
(Reading database ... 80643 files and directories currently installed.)
Unpacking wikid-utilities (from wikid-utilities_3.4.2-1.deb) ...
Setting up wikid-utilities (3.4.2) ...
Checking HOSTTYPE: x86_64
MATCHED

Check Java installation paths (for future records):

# find / -name java | grep jdk
/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
/usr/lib/jvm/java-6-openjdk-amd64/bin/java

Run the configuration file:

# /opt/WiKID/sbin/wikidserver_config.sh

Reboot the system:

# reboot

Run the first boot script:

# /opt/WiKID/conf/templates/wikid-firstboot.sh

Setup WiKID server. Select that you don’t want to change your network settings (unless you really do). The script will pick up your existing network settings and ask to create an SSL cert for the server.

# /opt/WiKID/bin/wikidctl setup

Once done, start the server:

# /opt/WiKID/bin/wikidctl start

Open netstat to see if Tomcat is running on port 443:

# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address      Foreign Address   State    PID/Program name
tcp        0      0 127.0.0.1:5432     0.0.0.0:*         LISTEN   1734/postgres
tcp        0      0 0.0.0.0:12         0.0.0.0:*         LISTEN   639/sshd
tcp6       0      0 :::443             :::*              LISTEN   2354/jsvc.exec
tcp6       0      0 127.0.0.1:8300     :::*              LISTEN   1842/java
tcp6       0      0 127.0.0.1:8301     :::*              LISTEN   1842/java
tcp6       0      0 :::80              :::*              LISTEN   2354/jsvc.exec

Web Access

Open a web browser and navigate to to http://localhost/WiKIDAdmin/.

The default web login credentials are:

Username: WiKIDAdmin (mixed-case)
Password: 2Factor (mixed-case)

WiKID configuration is beyond the scope of this article.

Troubleshooting

If you get the following error when starting the WiKID server:

Starting Tomcat server .../opt/WiKID/bin/daemonctl: line 279: /opt/WiKID/bin/jsvc: No such file or directory

Check the jsvc file to ensure it’s a symlink fo jsvc64:

# find / -name jsvc | xargs ls -li
282976 lrwxrwxrwx 1 root root 21 Feb  5 15:22 /opt/WiKID/bin/jsvc -> /opt/WiKID/bin/jsvc64

If not, it may be caused due to missing or incorrect WiKID utilities package. Make sure you have it installed.