Installing Zymonic from Scratch

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.

=More details - NOT COMPLETE YET= For setting up Zymonic from scratch on a Ubuntu server, you will need to do the following: =Become root user=

This saves time typing sudo constantly. After setup is finished it's ill advised to continue using it.

sudo su

=Install required packages=

This gets the required server applications installed.

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

=Install required ssl=

This sets up SSL

mkdir ~/perl5 mkdir ~/perl5/perlbrew mkdir ~/perl5/perlbrew/openssl cd ~/perl5/perlbrew/openssl wget https://www.openssl.org/source/openssl-1.1.1.tar.gz tar -xf openssl-1.1.1.tar.gz cd openssl-1.1.1 ./config shared --prefix=$PERLBREW_ROOT/openssl make make test

=Checkout any required repositories to root=

This gets the core Zymonic module checked out onto the server, feel free to add more repositories of XML for Zymonic systems.

svn co https://svn.zednax.com/svn/zymonic/trunk /root/trunk

=Make repositories/filepaths=

This sets the Zymonic filesystem up.

cd /root/trunk/modules/Zymonic perl Makefile.PL && make install cd /root/trunk/modules/MANIFESTS perl Makefile.PL && make install mkdir /var/errors mkdir /etc/zymonic vi /etc/zymonic/error.conf [PUT ERROR CONFIG DETAILS IN HERE]

=Install required CPAN modules=

These are required for Zymonic to be able to use the external dependencies.

cpan XML::Parser cpan XML::Simple cpan Exception::Class cpan Date::Manip cpan Date::Calc cpan Clone cpan POSIX::strptime cpan File::Slurp cpan DBI cpan File::Which cpan GraphViz cpan CGI cpan XML::LibXML cpan JSON cpan Taint::Util cpan Data::Compare cpan HTML::FormatText::WithLinks cpan Crypt::CBC cpan Crypt::OpenSSL::RSA cpan IPC::ShareLite cpan Term::ReadKey cpan Net::SSLeay cpan IO::Socket::SSL cpan Config::Simple cpan Apache::ConfigParser cpan Sys::Info::OS cpan Sys::Info::Driver::Linux::OS cpan Text::CSV::Encoded cpan Business::CreditCard cpan Data::Structure::Util cpan List::MoreUtils cpan Locale::Currency::Format cpan MIME::Lite cpan Mail::Sendmail cpan Unix::Syslog cpan Module::Reload cpan LWP::Protocol::https

=Configuring Apache=

(Assuming you're using apache2) Due to zymonic forcing https, you will need to configure apache to allow https.