updated Vagrant deployment script

pull/202/head
Cédric Bonhomme 2019-08-23 11:49:16 +02:00
commit 434d95aa6e
No known key found for this signature in database
GPG Key ID: A1CB94DE57B7A70D
16 changed files with 97 additions and 58 deletions

View File

@ -1,6 +1,23 @@
MONARC Changelog MONARC Changelog
================ ================
## 2.9.0 (2019-08-23)
### New
- each analysis can now integrate a record of processing activities in order
to help you in your GDPR compliance efforts;
- it is now possible to create and manage set of recommendations via the
knowledge base of a risk analysis. Like for the security referentials MOSP can
now be used in order to
[share recommendations](https://objects.monarc.lu/schema/17).
### Fix
- Monarc 2.8.3 - nvalid datetime format: 1292 [#179](https://github.com/monarc-project/MonarcAppFO/issues/179)
- various minor fixes.
## 2.8.3 (2019-07-26) ## 2.8.3 (2019-07-26)
### Enhancement ### Enhancement
@ -13,7 +30,7 @@ MONARC Changelog
- SOA is not imported [#166](https://github.com/monarc-project/MonarcAppFO/issues/166) - SOA is not imported [#166](https://github.com/monarc-project/MonarcAppFO/issues/166)
- Drag & drop in risk treatment plan fails after 1 change [#167](https://github.com/monarc-project/MonarcAppFO/issues/166) - Drag & drop in risk treatment plan fails after 1 change [#167](https://github.com/monarc-project/MonarcAppFO/issues/166)
- Underscore "_" is not considered as a special character in password reset [#169](https://github.com/monarc-project/MonarcAppFO/issues/169) - Underscore "\_" is not considered as a special character in password reset [#169](https://github.com/monarc-project/MonarcAppFO/issues/169)
- Error when duplicating object [#171](https://github.com/monarc-project/MonarcAppFO/issues/171) - Error when duplicating object [#171](https://github.com/monarc-project/MonarcAppFO/issues/171)
- Add objects in model/anr from common DB [#172](https://github.com/monarc-project/MonarcAppFO/issues/172) - Add objects in model/anr from common DB [#172](https://github.com/monarc-project/MonarcAppFO/issues/172)
- Composed objects in the library->position [#174](https://github.com/monarc-project/MonarcAppFO/issues/174) - Composed objects in the library->position [#174](https://github.com/monarc-project/MonarcAppFO/issues/174)

View File

@ -3,37 +3,38 @@ Installation on Ubuntu 18.04
# 1. Install LAMP & dependencies # 1. Install LAMP & dependencies
## Install the dependencies ## 1.1. Install system dependencies
$ sudo apt-get install vim zip unzip git gettext curl gsfonts $ sudo apt-get install zip unzip git gettext curl gsfonts
Some might already be installed. Some might already be installed.
## Install MariaDB ## 1.2. Install MariaDB
$ sudo apt-get install mariadb-client mariadb-server $ sudo apt-get install mariadb-client mariadb-server
# Secure the MariaDB installation ### Secure the MariaDB installation
$ sudo mysql_secure_installation $ sudo mysql_secure_installation
Especially by setting a strong root password. Especially by setting a strong root password.
## Install Apache2 ## 1.3. Install Apache2
$ sudo apt-get install apache2 $ sudo apt-get install apache2
## Enable modules, settings, and default of SSL in Apache ### Enable modules, settings, and default of SSL in Apache
$ sudo a2dismod status $ sudo a2dismod status
$ sudo a2enmod ssl $ sudo a2enmod ssl
$ sudo a2enmod rewrite $ sudo a2enmod rewrite
$ sudo a2enmod headers $ sudo a2enmod headers
## Apache Virtual Host ### Apache Virtual Host
<VirtualHost *:80> <VirtualHost _default_:80>
ServerName monarc.localhost ServerAdmin admin@localhost.lu
ServerName monarc.local
DocumentRoot /var/lib/monarc/fo/public DocumentRoot /var/lib/monarc/fo/public
<Directory /var/lib/monarc/fo/public> <Directory /var/lib/monarc/fo/public>
@ -53,11 +54,11 @@ Especially by setting a strong root password.
</VirtualHost> </VirtualHost>
## Install PHP and dependencies ## 1.4. Install PHP and dependencies
$ sudo apt-get install php apache2 libapache2-mod-php php-curl php-gd php-mysql php-pear php-apcu php-xml php-mbstring php-intl php-imagick php-zip $ sudo apt-get install php apache2 libapache2-mod-php php-curl php-gd php-mysql php-pear php-apcu php-xml php-mbstring php-intl php-imagick php-zip composer
## Apply all changes ## 1.5 Apply all changes
$ sudo systemctl restart apache2.service $ sudo systemctl restart apache2.service
@ -65,26 +66,21 @@ Especially by setting a strong root password.
# 2. Installation of MONARC # 2. Installation of MONARC
## MONARC code ## 2.1. MONARC source code
Clone the repository and invoke `composer` using the shipped `composer.phar`: Clone the repository and invoke `composer` using the shipped `composer.phar`:
$ cd /var/lib/monarc/ $ mkdir -p /var/lib/monarc/fo
$ git clone https://github.com/monarc-project/MonarcAppFO.git fo $ git clone https://github.com/monarc-project/MonarcAppFO.git /var/lib/monarc/fo
$ cd fo/ $ cd /var/lib/monarc/fo
$ chown -R www-data data $ mkdir data
$ chmod -R g+w data $ chmod -R g+w data
$ sudo composer self-update
$ composer install -o $ composer install -o
The `self-update` directive is to ensure you have an up-to-date `composer.phar`
available.
### Back-end
### Backend The back-end is using the Zend Framework.
The backend is not directly modules of the project but libraries.
You must create modules with symbolic links to libraries.
Create two symbolic links: Create two symbolic links:
@ -95,11 +91,11 @@ Create two symbolic links:
There are 2 parts: There are 2 parts:
* MonarcFO is only for front office; * MonarcFO is only for MONARC;
* MonarcCore is common to the front office and to the back office. * MonarcCore is common to MONARC and to the back office of MONARC.
### Frontend ### Front-end
The frontend is an AngularJS application. The frontend is an AngularJS application.
@ -110,18 +106,18 @@ The frontend is an AngularJS application.
There are 2 parts: There are 2 parts:
* one only for front office: ng_client; * one only for MONARC: ng_client;
* one common for front office and back office: ng_anr. * one common for MONARC and the back office of MONARC: ng_anr.
## Databases ## 2.2. Databases
### Create 2 databases ### Create 2 databases
In your MariaDB interpreter: In your MariaDB interpreter:
CREATE DATABASE monarc_cli DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; MariaDB [(none)]> CREATE DATABASE monarc_cli DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE monarc_common DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; MariaDB [(none)]> CREATE DATABASE monarc_common DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
* monarc_common contains models and data created by CASES; * monarc_common contains models and data created by CASES;
* monarc_cli contains all client risk analyses. Each analysis is based on CASES * monarc_cli contains all client risk analyses. Each analysis is based on CASES
@ -145,17 +141,17 @@ And configure the database connection:
'connection' => array( 'connection' => array(
'orm_default' => array( 'orm_default' => array(
'params' => array( 'params' => array(
'host' => 'host', 'host' => 'localhost',
'user' => 'user', 'user' => 'sqlmonarcuser',
'password' => 'password', 'password' => '<password>',
'dbname' => 'monarc_common', 'dbname' => 'monarc_common',
), ),
), ),
'orm_cli' => array( 'orm_cli' => array(
'params' => array( 'params' => array(
'host' => 'host', 'host' => 'localhost',
'user' => 'user', 'user' => 'sqlmonarcuser',
'password' => 'password', 'password' => '<password>',
'dbname' => 'monarc_cli', 'dbname' => 'monarc_cli',
), ),
), ),
@ -165,20 +161,19 @@ And configure the database connection:
# Update MONARC # 3. Update MONARC
## Install Grunt Install Grunt:
$ sudo apt-get -y install npm $ sudo apt-get -y install npm
$ npm install -g grunt-cli $ npm install -g grunt-cli
then update MONARC:
Update MONARC:
$ ./scripts/update-all.sh $ ./scripts/update-all.sh
# Create initial user # 4. Create initial user
$ php ./vendor/robmorgan/phinx/bin/phinx seed:run -c ./module/MonarcFO/migrations/phinx.php $ php ./vendor/robmorgan/phinx/bin/phinx seed:run -c ./module/MonarcFO/migrations/phinx.php

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

View File

@ -1 +1 @@
{"major":2, "minor":8, "hotfix":3} {"major":2, "minor":9, "hotfix":0}

BIN
deliveries/cases/DE/6.docx Normal file

Binary file not shown.

BIN
deliveries/cases/DE/7.docx Normal file

Binary file not shown.

BIN
deliveries/cases/EN/6.docx Normal file

Binary file not shown.

BIN
deliveries/cases/EN/7.docx Normal file

Binary file not shown.

BIN
deliveries/cases/FR/6.docx Normal file

Binary file not shown.

BIN
deliveries/cases/FR/7.docx Normal file

Binary file not shown.

BIN
deliveries/cases/NE/6.docx Normal file

Binary file not shown.

BIN
deliveries/cases/NE/7.docx Normal file

Binary file not shown.

View File

@ -1,6 +1,6 @@
{ {
"name": "MONARC", "name": "MONARC",
"version": "2.8.3", "version": "2.9.0",
"description": "MONARC Frontoffice App", "description": "MONARC Frontoffice App",
"private": true, "private": true,
"repository": { "repository": {

View File

@ -32,6 +32,9 @@ export LC_ALL=en_US.UTF-8
locale-gen en_US.UTF-8 locale-gen en_US.UTF-8
dpkg-reconfigure locales dpkg-reconfigure locales
echo -e "\n--- Installing now… ---\n" echo -e "\n--- Installing now… ---\n"
echo -e "\n--- Updating packages list… ---\n" echo -e "\n--- Updating packages list… ---\n"
@ -40,6 +43,9 @@ apt-get update
echo -e "\n--- Install base packages… ---\n" echo -e "\n--- Install base packages… ---\n"
apt-get -y install vim zip unzip git gettext curl gsfonts > /dev/null apt-get -y install vim zip unzip git gettext curl gsfonts > /dev/null
echo -e "\n--- Install MariaDB specific packages and settings… ---\n" echo -e "\n--- Install MariaDB specific packages and settings… ---\n"
# echo "mysql-server mysql-server/root_password password $DBPASSWORD_ADMIN" | debconf-set-selections # echo "mysql-server mysql-server/root_password password $DBPASSWORD_ADMIN" | debconf-set-selections
# echo "mysql-server mysql-server/root_password_again password $DBPASSWORD_ADMIN" | debconf-set-selections # echo "mysql-server mysql-server/root_password_again password $DBPASSWORD_ADMIN" | debconf-set-selections
@ -72,10 +78,18 @@ expect -f - <<-EOF
EOF EOF
sudo apt-get purge -y expect > /dev/null 2>&1 sudo apt-get purge -y expect > /dev/null 2>&1
echo -e "\n--- Configuring … ---\n" echo -e "\n--- Configuring… ---\n"
sed -i "s/skip-external-locking/#skip-external-locking/g" $MARIA_DB_CFG sed -i "s/skip-external-locking/#skip-external-locking/g" $MARIA_DB_CFG
sed -i "s/.*bind-address.*/bind-address = 0.0.0.0/" $MARIA_DB_CFG sed -i "s/.*bind-address.*/bind-address = 0.0.0.0/" $MARIA_DB_CFG
echo -e "\n--- Setting up our MariaDB user for MONARC… ---\n"
mysql -u root -p$DBPASSWORD_ADMIN -e "CREATE USER '$DBUSER_MONARC'@'%' IDENTIFIED BY '$DBPASSWORD_MONARC';"
mysql -u root -p$DBPASSWORD_ADMIN -e "GRANT ALL PRIVILEGES ON * . * TO '$DBUSER_MONARC'@'%';"
mysql -u root -p$DBPASSWORD_ADMIN -e "FLUSH PRIVILEGES;"
echo -e "\n--- Installing PHP-specific packages… ---\n" echo -e "\n--- Installing PHP-specific packages… ---\n"
apt-get -y install php apache2 libapache2-mod-php php-curl php-gd php-mysql php-pear php-apcu php-xml php-mbstring php-intl php-imagick php-zip php-xdebug > /dev/null apt-get -y install php apache2 libapache2-mod-php php-curl php-gd php-mysql php-pear php-apcu php-xml php-mbstring php-intl php-imagick php-zip php-xdebug > /dev/null
@ -85,14 +99,13 @@ do
sed -i "s/^\($key\).*/\1 = $(eval echo \${$key})/" $PHP_INI sed -i "s/^\($key\).*/\1 = $(eval echo \${$key})/" $PHP_INI
done done
echo -e "\n--- Configuring Description Xdebug ---\n" echo -e "\n--- Configuring Xdebug for development ---\n"
cat > $X_DEBUG_CFG <<EOF cat > $X_DEBUG_CFG <<EOF
xdebug.remote_enable=1 xdebug.remote_enable=1
xdebug.remote_connect_back=1 xdebug.remote_connect_back=1
xdebug.idekey=IDEKEY xdebug.idekey=IDEKEY
EOF EOF
echo -e "\n--- Enabling mod-rewrite and ssl… ---\n" echo -e "\n--- Enabling mod-rewrite and ssl… ---\n"
a2enmod rewrite > /dev/null 2>&1 a2enmod rewrite > /dev/null 2>&1
a2enmod ssl > /dev/null 2>&1 a2enmod ssl > /dev/null 2>&1
@ -102,13 +115,11 @@ echo -e "\n--- Allowing Apache override to all ---\n"
sudo sed -i "s/AllowOverride None/AllowOverride All/g" /etc/apache2/apache2.conf sudo sed -i "s/AllowOverride None/AllowOverride All/g" /etc/apache2/apache2.conf
#echo -e "\n--- We want to see the PHP errors, turning them on ---\n" #echo -e "\n--- We want to see the PHP errors, turning them on ---\n"
#sed -i "s/error_reporting = .*/error_reporting = E_ALL/" $PHP_INI #sed -i "s/.*error_reporting.*/error_reporting = E_ALL/g" $PHP_INI
#sed -i "s/display_errors = .*/display_errors = On/" $PHP_INI #sed -i "s/.*display_errors.*/display_errors = On/g" $PHP_INI
echo -e "\n--- Setting up our MariaDB user for MONARC… ---\n"
mysql -u root -p$DBPASSWORD_ADMIN -e "CREATE USER '$DBUSER_MONARC'@'localhost' IDENTIFIED BY '$DBPASSWORD_MONARC';"
mysql -u root -p$DBPASSWORD_ADMIN -e "GRANT ALL PRIVILEGES ON * . * TO '$DBUSER_MONARC'@'localhost';"
mysql -u root -p$DBPASSWORD_ADMIN -e "FLUSH PRIVILEGES;"
echo -e "\n--- Installing composer… ---\n" echo -e "\n--- Installing composer… ---\n"
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer > /dev/null 2>&1 curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer > /dev/null 2>&1
@ -118,6 +129,9 @@ if [ $? -ne 0 ]; then
fi fi
composer self-update composer self-update
echo -e "\n--- Installing MONARC… ---\n" echo -e "\n--- Installing MONARC… ---\n"
cd $PATH_TO_MONARC cd $PATH_TO_MONARC
git config core.fileMode false git config core.fileMode false
@ -131,7 +145,7 @@ echo -e "\n--- Retrieving MONARC libraries… ---\n"
composer config -g github-oauth.github.com $GITHUB_AUTH_TOKEN composer config -g github-oauth.github.com $GITHUB_AUTH_TOKEN
composer install -o composer install -o
# Modules # Back-end
mkdir module mkdir module
cd module cd module
ln -s ./../vendor/monarc/core MonarcCore ln -s ./../vendor/monarc/core MonarcCore
@ -144,7 +158,7 @@ cd module/MonarcCore/
git config core.fileMode false git config core.fileMode false
cd $PATH_TO_MONARC cd $PATH_TO_MONARC
# Interfaces # Front-end
mkdir node_modules mkdir node_modules
cd node_modules cd node_modules
git clone --config core.fileMode=false https://github.com/monarc-project/ng-client.git ng_client > /dev/null 2>&1 git clone --config core.fileMode=false https://github.com/monarc-project/ng-client.git ng_client > /dev/null 2>&1
@ -159,12 +173,13 @@ if [ $? -ne 0 ]; then
fi fi
cd .. cd ..
chown -R www-data $PATH_TO_MONARC chown -R www-data $PATH_TO_MONARC
chgrp -R www-data $PATH_TO_MONARC chgrp -R www-data $PATH_TO_MONARC
chmod -R 700 $PATH_TO_MONARC chmod -R 700 $PATH_TO_MONARC
echo -e "\n--- Add a VirtualHost for MONARC ---\n" echo -e "\n--- Add a VirtualHost for MONARC ---\n"
cat > /etc/apache2/sites-enabled/000-default.conf <<EOF cat > /etc/apache2/sites-enabled/000-default.conf <<EOF
<VirtualHost *:80> <VirtualHost *:80>
@ -192,6 +207,8 @@ echo -e "\n--- Restarting Apache… ---\n"
systemctl restart apache2.service > /dev/null systemctl restart apache2.service > /dev/null
echo -e "\n--- Configuration of MONARC data base connection ---\n" echo -e "\n--- Configuration of MONARC data base connection ---\n"
cat > config/autoload/local.php <<EOF cat > config/autoload/local.php <<EOF
<?php <?php
@ -270,21 +287,31 @@ mysql -u $DBUSER_MONARC -p$DBPASSWORD_MONARC monarc_common < db-bootstrap/monarc
mysql -u $DBUSER_MONARC -p$DBPASSWORD_MONARC monarc_common < db-bootstrap/monarc_data.sql > /dev/null mysql -u $DBUSER_MONARC -p$DBPASSWORD_MONARC monarc_common < db-bootstrap/monarc_data.sql > /dev/null
echo -e "\n--- Installation of Grunt… ---\n" echo -e "\n--- Installation of Grunt… ---\n"
sudo apt-get -y install npm > /dev/null sudo apt-get -y install npm > /dev/null
npm install -g grunt-cli > /dev/null npm install -g grunt-cli > /dev/null
echo -e "\n--- Update the project… ---\n" echo -e "\n--- Update the project… ---\n"
/bin/bash ./scripts/update-all.sh > /dev/null /bin/bash ./scripts/update-all.sh > /dev/null
echo -e "\n--- Create initial user and client ---\n" echo -e "\n--- Create initial user and client ---\n"
php ./vendor/robmorgan/phinx/bin/phinx seed:run -c ./module/MonarcFO/migrations/phinx.php php ./vendor/robmorgan/phinx/bin/phinx seed:run -c ./module/MonarcFO/migrations/phinx.php
echo -e "\n--- Restarting Apache… ---\n" echo -e "\n--- Restarting Apache… ---\n"
systemctl restart apache2.service > /dev/null systemctl restart apache2.service > /dev/null
echo -e "\n--- MONARC is ready! Point your Web browser to http://127.0.0.1:5001 ---\n" echo -e "\n--- MONARC is ready! Point your Web browser to http://127.0.0.1:5001 ---\n"