The CYBR-SUITE (CYSU), CORE DESIGN v. 0.9.5

(dockerized Version, Apache/2.4.25 Debian, PHP/7.2.19, MariaDB/10.4)


FAST START (requires a DOCKER / DOCKER-COMPOSE on your LINUX system being up and ready):


docker-compose --version
==> 1.17.1 |
docker --version
==> 19.03.4


FAST START part 1)

  • download, unzip, modify & build the CYSU to have it running in your docker containers:

download:
(here: latest version is 0.9.5 - replace if you need/want to...)
wget https://sourceforge.net/projects/cybr/files/cysu_0.9.5.zip

It seems, there is a bug or sth - via /latest - so you better use the above command ...
the old version was: wget https://sourceforge.net/projects/cybr/files/latest/download

unzip:

since the downloaded folder is not download.zip now anymore, use the following for unzip:
python3 -m zipfile -e cysu_0.9.5.zip myCysuDir/

the old version was: python3 -m zipfile -e download cysu/

modify generator for your SSL-certificate:
ensure you navigate into the correct directory e.g. within the myCysuDir/ ...
cd cysu/cysu_0.9.5/core/

nano x509generator.sh
  • This is the blueprint for letting the server create a SSL certificate.

    Exchange ONLY the parts after the "=", which are: town, state, country, organization

  • [ctrl]+[x] -> [y] to exit & save

build:

cd ../../

docker-compose up --build

FAST START part 2)

create the database-tables:

  • If you do not use the python3 setuptest** for making the automated setup,

    you need to trigger the database-tables' creation-scripts via your internet-browser manually by opening:

https://[IP or domain]/zubringer/createMetaDBTables.php

https://[IP or domain]/1/zubringer/createProjectDBTables.php

https://[IP or domain]/2/zubringer/createProjectDBTables.php

https://[IP or domain]/3/zubringer/createProjectDBTables.php

https://[IP or domain]/4/zubringer/createProjectDBTables.php

https://[IP or domain]/5/zubringer/createProjectDBTables.php

Exchange https://[IP or domain] with https://localhost if you run/test it locally.

Please read the documentation for the next steps for setting-up your projects & start working with the application within the mainfolder at:

/how2-start-working.md (if you manage to execute the setuptest, the steps for the setting-up will be performed automatically. The setuptest is available as an extra project:

Requirements & url for the setuptest:

  1. Python3 installed on your local machine
  2. ChromeDriver & Chrome browser (https://chromedriver.chromium.org/)
  3. Downloaded & unzipped setuptest (https://sourceforge.net/projects/setuptest/)

Please, check the README.md for the setuptest as well.
(You need to modify the Conf/test_configVars.py BEFORE you make the python3 setup.py install --user)


ABOUT the CYBR-SUITE (CYSU)

The CYBR-SUITE (CYSU) is a complete project communication & collaboration solution with multi-project-capabilities.
It's a great supplementation for Oracle's Primavera and a real alternative to the Atlassian Products Confluence and Jira for collaborative task-management in combination with a fallback "solution" like Slack for covering the project-communication.

The CYSU offers you a SCRUM solution with discussion-threads under each task.
This means: the tasks on the SCRUM-Board are not just "Post-It notes" - but do have an underlying discussion-thread.
Within this discussion-thread, you can start traditionally with a User-Story - and add the requirements or start a discussion about the requirements and develop a version controled task requirements document (TRD) by adding a TRD-template as an attachment, work it off in a collaborative approach and produce a portfolio of TRDs for reusability of recurring tasks -> and make them available for the whole organization to improve productivity & quality.

  • compared to Slack, this is a superior, holistically integrated and with military-standards secured "hosted-on-your-own-server-solution"

You can add attachments to your posts or integrate images within your message,
You can add hyperlinks - for example you can link together your posting with your Confluence wiki pages or SharePoint pages or your SAP's cProject or ORACLE's Primavera P6 WBS-Elements or Activities and keep it all securely located on yopur own servers...

... connect planning-data, project-documentation & communication in both directions: you can simply add hyperlinks from your existing web-solutions like Confluence, SharePoint, Primavera or cProject for linking the contents & tasks to their associated discussion-threads within the CYSU as well, of course.
This is bringing together the resource-planning with the collaboration-, communication- & coordination-doing of your Project.

The CYSU has a Work-Breakdown-Structure (WBS) design
and is bringing together SCRUM with STRUCTURE.

  • Break down the complexity of the project by using a well-known standardized concept
  • Create standardized layouts of comparable projects
  • New employees joining the team can orientate themselves immediately
  • Users can set their filters to have a focus on the relevant branches

Yes: If you start to manage the communication of your projects with the help of the CYBR-SUITE,
your options to assign work with workers are not bound to your actual location any more.
From now on you do have access to all internal and external available workers world-wide...

You do have a shortage of specialists?
A bottle-neck simply because of manpower? - or a task for which you do need a very special knowledge within a certain field?

  • Integrate an external knowledge-worker on-the-fly & do not waste too much time for delivering good instead of great work!
  • Let the external expert do his work within the CYSU - and do not only get delivered good work, but do receive the documented information you need to develop your own, local staff to meet the requirements for the next time as well!

The sooner you start taking advantage of global staffing and digital communication,
the better you are in building-up locally distributed teams and cybernetic collaboration networks.

  • The Future of Work is digital
  • The Future of Work is global
  • The Future of Work is conet

Documented, reliable and reusable communication

the MISSING LINK between planning & collaborative doing.

All communication is now available as data.
This is the source of the next level: An Artificial Intelligence supported Digital Workspace.
Based on our world-innovation for superior communication, the CFLX Clarity Statements, the machine is now capable of understanding human communication:

  • What is the situation of the task (Status Statement)
  • What is the situation of the people (I-Message)
  • What do the people really want (Appeal)

The CFLX Clarity Statements innovation is the only solution worldwide that enables to and insists on the transmission of the relationship-part of the message.
Based on the "2nd Axiom of Communication" (P. Watzlawick) and the "Communication-Square" (F. Schulz von Thun) the CLFX do replace the "Interpretation-Gap between the lines" with clear statements.

As a fortunate side-effect, the CYSU delivers well-structured communication-data today for the ai-solutions of tomorrow.
Data is the new oil - and the CYSU is probably the best solution for producing high quality data from your greatest source: the communication of your employees.

**Stop wasting it - start to use it! **


==> This application is a real cloud solution,
it needs to be deployed on your own server!


THE VERY DETAILED STEP-BY-STEP INSTALLATION-GUIDE

These very detailed instructions will get you a copy of the CYBR-SUITE (CYSU) up and running on your own server.

We assume, you are starting from complete zero here - so we guide you through the steps starting from purchasing a VPS (Virtual Private Server)

Intro

Basically, the CYBR-SUITE is a web-application running on a LAMP (Linux Apache MySql PHP) - and there are many ways to meet these requirements...
However, in this README we only describe the way via docker & docker-compose using the Linux kernel of the Ubuntu we are going to select to be the base-operation-system of our VPS (Virtual Private Server).

Requirements

A Linux server with docker & docker-compose:

Not every VPS provider enables you to run docker.

If you need a cheap one, starting with 3,00 EUR for one single month payable with PayPal,
then just click the link below (the affiliate code will reduce the costs of my own servers running there and ensures you a VPS for which the available step-by-step documentation was made for):

    https://www.mvps.net/?aff=6517 

You need an E-Mail-address with PGP-encryption

(you need the public PGP-key for this E-Mail). You can get a secure and free one via:

    https://flowcrypt.com/

You need a SendGrid API-Key

for sending out E-Mails

(transactional E-Mails, eg for password-resets as well as for sending PGP-encrypted, CFLX-enhanced & WBS-assigned E-Mails out of the CYSU as well).

Get a FREE acount (no Credit-Card needed) via:

    https://sendgrid.com/free/

login, create an API-Key; copy and securely store the key (a longer line, starts with SG_)

(Info: if you activate/verify the account, you'll get 200 free E-Mails per day instead of 100.)

A domain to be set as rDNS is needed for sending emails via SMTP.

You can use yopur organization's one - or try it with a free one from:

    https://my.freenom.com/domains.php

(at MVPS: **SMTP is disabled for IPv6 addresses. For IPv4, SMTP connections require a valid rDNS.)


Get & prepare your VPS (tested well for "our" Provider MVPS):

(Note: if you do not need a server, you can jump to the headline "Install docker & the CYBR-SUITE on your Linux machine")

Simply follow the steps and:

  • Get your VPS,
  • install Ubuntu,
  • create a SSH (for remote access from your local machine),
  • login via SSH with administrator-permission ()

1. Get your VPS (with Ubuntu 20) & have the received password AND the IP of your server available:

  • click the link and purchase a server (the small one for 3.00 EUR for 1 month via PayPal is working well):

https://www.mvps.net/?aff=6517

  • Select Ubuntu 20 for the server and let the automation install your Operation System
  • ==> You'll get an email with the IP and the credentials for the user (= root) and the MVPS-Password
  • (Password would be available on the MVPS Control Panel / OTHER DETAILS as well ..)

2. Prepare your SSH on YOUR LOCAL machine:

if you do have installed the Ubuntu & you do have received the email with your credentials,

you can create the ssh-access to prepare the server via that ssh-tunnel & deploy the CYBR-SUITE on your server remotely.

generate the keys:

Info: these steps might slighly differ if you are using a Mac or even Windows locally - check the tutorials / how-2s for your machine then.

SSH secure shell: generate keys for getting a secure tunnel to the VPS:

** On your local Linux Terminal / Console / bash / Shell (I do use Ubuntu locally as well) simply type:**

ssh-keygen -b 4096

enter file in which to save the rsa key pair (exchange your ubuntu $user name, of course):

 /home/flori/.ssh/mvpskeypair

==> You will be asked for a creative password => write it down! ("Your-Creative_&_Written-Down-Password!")

response will look like:

Your identification has been saved in /home/flori/.ssh/mvpskeypair

Your public key has been saved in /home/flori/.ssh/mvpskeypair.pub

The key fingerprint is:

SHA256:mZ3RmtU1m11nO5Cj4M/W3VQstQVqBDE+WRIzuw7jbfI flori@themachine

4. Now, copy the public key to the Server (MVPS) - use YOUR filename of the key and your MVPS-IP, of course:

ssh-copy-id -i .ssh/mvpskeypair.pub root@45.137.148.202

ssh-copy-id -i mvpskeys.pub root@45.137.148.202

note: at this point there might appear an error-message. It's meaningless. Just enter the password the system is asking for and proceed.

=> enter the MVPS-Password from the email - or get the MVPS_Password via their Control Panel, eg via:

https://www.mvps.net/service?id=12345
<with your="" id,="" of="" course="">
-> look at OTHER DETAILS, there you'll find a Password.</with>

(a general info: on a Linux terminal you can copy-paste with [Ctrl]+[Shift]+[V])

The result in your terminal will look like:

root@45.137.148.202's password:

Number of key(s) added: 1

*Now try logging into the machine, with: *

ssh 'root@45.137.148.202'

and check to make sure that only the key(s) you wanted were added.


NOW, WE CAN LOGIN FROM THE LOCAL TERMINAL INTO THE TERMINAL OF THE SERVER with:

ssh -i .ssh/mvpskeypair root@45.137.148.202

enter YOUR password ("Your-Creative_&_Written-Down-Password!")

=> You should be logged into your VPS Ubuntu now!

root@ubuntu:~

Stay in the terminal connected with your server as root and follow the instructions below - it is the same as instaling locally now:

=====================================================================================

Install docker & the CYBR-SUITE on your Linux machine

(We did not add a kernel, so docker/docker-compose expects a Linux kernel on the host machine it can use.):

prepare / update Ubuntu (modify accordingly for other Linux ditributions):

sudo apt-get update |
sudo apt-get upgrade

install docker CE & docker-compose on Ubuntu:

  • prep: (likely, only apt-transport-https will be updated/installed):

sudo apt-get install apt-transport-https |
sudo apt-get ca-certificates |
sudo apt-get nano |
sudo apt-get curl |
sudo apt-get software-properties-common

  • import the GnuPG-Key:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

  • add-apt:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

  • update apt & install docker CE & docker-compose:

sudo apt update |
sudo apt install docker-ce |
apt install docker-compose

  • check installed version:

docker -v

  • Perhaps, you might additionally need to:

systemctl enable docker

usermod -a -G docker YOUR_USERNAME

systemctl start docker

Start with the CYSU:

download the CYSU from sourceforge:

it seems not to work this way anymore - better set the direct target, not the /latest endpoint wget https://sourceforge.net/projects/cybr/files/cysu_0.9.5.zip

and then unzip:

python3 -m zipfile -e cysu_0.9.5.zip myCysuDir/

** open the SSL-cert generator skript-file and change the settings to your needs:**

cd cysu.../cysu.../core/ // might differ, use correct dir eg with myCysuDir/cysu095/ ...

nano x509generator.sh

  • This is the blueprint for letting the server create a SSL certificate: exchange ONLY the parts after the "=", town, state, country, organization

  • [ctrl]+[x] -> [y] to exit & save

** set the correct permission to a .sh skript file (needed to set the permissions of the upload-folders for the attachments, called within the docker-compose.yml):**

cd init-scripts/

chmod +x cdata-chown-script.sh

** navigate to the folder wwich contains the docker-compose.yml file:**

cd ../../

make the build:

docker-compose up --build


If you do not use the python3 CYSU-setuptest(see below) for making the automated setup,

you need to trigger the database-tables creation-scripts with your internet-browser via:

https://[IP or domain]/zubringer/createMetaDBTables.php

https://[IP or domain]/1/zubringer/createProjectDBTables.php

https://[IP or domain]/2/zubringer/createProjectDBTables.php

https://[IP or domain]/3/zubringer/createProjectDBTables.php

https://[IP or domain]/4/zubringer/createProjectDBTables.php

https://[IP or domain]/5/zubringer/createProjectDBTables.php

After that, you can make a user-registration via the pencil-icon at:

https://[IP or domain]/index.php

Exchange https://[IP or domain] with https://[localhost] if you run/test it locally.

You can find a documentation for the next steps for setting-up your projects & start working with the application within the mainfolder at:

/how2-start-working.md


FINALLY: YOU CAN ASK US FOR HELP - HELPING IS OUR BUSINESS!

1. with setting-up the CYSU
2. with getting you started
3. with supplying you with dedicated remote Scrum experts for your teams:

  • Product Owner
  • Scrum Master
  • Agile Coach
  • QA-Manager / Integrators for your remote testing-squad
  • Application Manager for the CYSU
  • ... helping you with the Spotify-Design for doing Scrum in a remote team using the CYSU
 

Last edit: Florian Strahberger 2021-09-15