Installing Zymonic from Scratch

From Zymonic
Revision as of 15:19, 4 October 2019 by Jbree (talk | contribs) (Added y)

Before starting

Before starting you need to be familiar with the following terms/concepts:

Repository - this is where code resides and is maintained by the developers. In general the guide uses the term repository to refer to a location on a version control server that contains one or more 'manifests'.

Manifest - In the context of Zymonic a Manifest contains a list of files to be installed and instructions to run after install that the installer will use to install the files needed to provide a particular piece of functionality, e.g., Core or Decryptor

Installing Zymonic from Scratch

Checkout the Zymonic code from our repository to a working copy

Follow instructions in [zymonic working copy]/modules/Zymonic/README

Correct as of 04-10-2018:

1) cd to [zymonic working copy]/modules/Zymonic

2) sudo perl Makefile.PL && sudo make install

3) cd to [zymonic working copy]/modules/MANIFESTS

4) sudo perl Makefile.PL && sudo make install

5) For each additional repository desired, checkout the working copy, locate the MANIFESTS subdirectory and do

sudo perl Makefile.PL && sudo make install
  • note the base name (i.e. filename with no directory or .pm extension) of the file in MANIFESTS/lib/Zymonic/Manifest/ that ends with _manifests.pm - should also be documented in the MANIFESTS/README file.

6a) sudo zymonic_toolkit_curses.pl Installer - then select 'Installer -> install' from the menu, populate the manifests field with a comma separated list with no spaces of core, core_manifest and all of the _manifest files identified in 5 e.g. core,core_manifests,medoc_manifests,zednax_manifests - populate the remainder of options as appropriate for your server.

6b) If you do not have curses or don't wish to use it then do; sudo zymonic_toolkit.pl Installer install --manifests [ list of manifests

e.g. core,core_manifests,medoc_manifests,zednax_manifests ]

7) Under guidance from your supplier/developer install the remaining needed manifests, create and config build a system and then build the documentation for it - the Installer/updater command is further documented in the full documentation.

How to setup Zymonic from a new Ubuntu 18.04.3 LTS server (WARNING: INCOMPLETE)

All commands given here are under the assumption you are logged in as the root user (achieved by using "sudo su").

Setting up Apache2

For a basic server without virtual hosts, this is remarkably simple. First you'll need to install the apache service:

apt install apache2

Next you'll want to allow Apache through the firewall of the server:

ufw allow 'Apache'

Get the server IP address using the following command:

hostname -I

Check you can now access your webpage through "http://[IP_ADDRESS]"

Setting up SSL on Apache2

This is required to run Zymonic later, as Zymonic forces you to use https. This guide is assuming you will be using a self-signed certificate.

First enable the SSL engine on your server:

a2enmod ssl

Now run the following commands to create the certificate and key files in the correct location:

mkdir /etc/apache2/ssl
cd /etc/apache2/ssl
openssl genrsa -out ca.key 2048
openssl req -nodes -new -key ca.key -out ca.csr
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

Add the following to "/etc/apache2/sites-enabled/000-default.conf" using your preferred text editor (nano, vim etc):

<VirtualHost *:443>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/ca.crt
        SSLCertificateKeyFile /etc/apache2/ssl/ca.key
</VirtualHost>

Finally, run an apache restart using the following command:

service apache2 restart

Check you can access your webpage through "https://[IP_ADDRESS]" - don't worry about the secuirty error as it's using a self-signed certificate.

Install the other required packages

You will need to run the following commands to install the rest of the required packages:

apt install build-essential checkinstall zlib1g-dev -y
apt install subversion -y
apt install make -y
apt install autoconf -y
apt install libexpat1-dev -y
apt install libtool -y
apt install graphviz -y
apt install libssl-dev -y
apt install libnet-ssleay-perl -y
apt install libcrypt-ssleay-perl -y
apt install libio-socket-ssl-perl -y