Installation and Deployment of NNexus
The NNexus Perl library
NNexus is a Perl library requiring perl 5.10 or later.
Prerequisites
Installing prerequisites on Debian-based systems:
sudo apt-get install libmojolicious-perl libdbi-perl libdbd-sqlite3-perl \
libhtml-parser-perl liblist-moreutils-perl libtext-unidecode-perl
Standard make installation
We proceed with the standard Perl installation from source:
perl Makefile.PL ; make ; make test
NOTE: Running perl over Makefile.PL will warn you of any missing packages you need to install, either via CPAN or your OS package manager.
The NNexus Web Service
Quick Dev Deployment
After going through the make process, in order to quickly run the server:
perl blib/script/nnexus daemon
However, Deploying through Apache or Hypnotoad would be clearly the way to go for production use.
Production Apache Configuration
Set up virtual hosts, e.g. in
/etc/apache2/sites-available/nnexus
/etc/apache2/sites-enabled/nnexus
with content (please adjust to suit):
<VirtualHost *:80>
ServerName nnexus.example.com
DocumentRoot /path/to/nnexus/install-dir-or-blib
Header set Access-Control-Allow-Origin *
<Perl>
$ENV{PLACK_ENV} = 'production';
$ENV{MOJO_HOME} = '/path/to/nnexus/install-dir-or-blib';
</Perl>
<Location />
SetHandler perl-script
PerlHandler Plack::Handler::Apache2
PerlSetVar psgi_app /path/to/bin-or-blib-script/nnexus
</Location>
ErrorLog /var/log/apache2/nnexus.error.log
LogLevel warn
CustomLog /var/log/apache2/nnexus.access.log combined
</VirtualHost>
Available paths are then: nnexus.example.com/autolink, nnexus.example.com/linkentry, and nnexus.example.com/indexentry.