Merge remote-tracking branch 'origin/feature/upgrade-to-zf3' into ldap

ldap
Ruslan Baidan 2019-11-18 13:06:15 +01:00
commit 9f44985d4c
57 changed files with 5690 additions and 640 deletions

13
.gitignore vendored
View File

@ -1,13 +1,10 @@
nbproject nbproject
._* ._*
.~lock.*
.buildpath .buildpath
.DS_Store .DS_Store
.idea .idea
.project .project
.settings .settings
composer.lock
vendor/bin
migrations migrations
*.sublime-* *.sublime-*
vagrant/.vagrant/ vagrant/.vagrant/
@ -19,12 +16,14 @@ public/js/
public/img/ public/img/
public/flags/ public/flags/
public/views/ public/views/
scripts/public
module/ module/
npm-debug.log npm-debug.log
node_modules/ node_modules/
bin/ bin/
data/DoctrineORMModule/ data/*
data/monarc/ !data/cache/.gitkeep
data/json/ !data/DoctrineORMModule/Proxy/.gitkeep
go-pear.phar !data/LazyServices/Proxy/.gitkeep
!data/json/.gitkeep
scripts/public/ scripts/public/

3
.gitmodules vendored
View File

@ -1,3 +0,0 @@
[submodule "vendor/ZF2"]
path = vendor/ZF2
url = https://github.com/zendframework/zf2.git

View File

@ -1,6 +1,50 @@
MONARC Changelog MONARC Changelog
================ ================
## 2.9.1 (2019-10-29)
### Upgrade
- upgrade of the Backend Framework. Now we use ZendFramework 3;
- restructured the Monarc code to comply with PSR-2 standard;
- updated the usage of the dependencies (Core and FrontOffice) from packagist.org;
- some code improvements and bug-fixes.
## 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
(introduced in version 2.8.0), MOSP can now be used in order to
[share recommendations](https://objects.monarc.lu/schema/17).
### Fix
- Monarc 2.8.3 - invalid datetime format: 1292 [#179](https://github.com/monarc-project/MonarcAppFO/issues/179)
- various minor fixes and improvements.
## 2.8.3 (2019-07-26)
### Enhancement
- Some improvements in MOSP import
- Some improvements in 3rd deliverable
### Fix
- 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)
- 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)
- 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)
- Import analysis -> conflict on uuid on objects [#175](https://github.com/monarc-project/MonarcAppFO/issues/175)
- FO > Knowledge base > OP risks [#177](https://github.com/monarc-project/MonarcAppFO/issues/177)
## 2.8.2 (2019-05-28) ## 2.8.2 (2019-05-28)

184
INSTALL/INSTALL.debian10.md Normal file
View File

@ -0,0 +1,184 @@
Installation on Debian 10
=========================
# 1. Install LAMP & dependencies
## 1.1. Install system dependencies
$ sudo apt-get install zip unzip git gettext curl gsfonts software-properties-common
Some might already be installed.
## 1.2. Install MariaDB
$ sudo apt-get install mariadb-server
### Secure the MariaDB installation
$ sudo mysql_secure_installation
Especially by setting a strong root password.
## 1.3. Install Apache2
$ sudo apt-get install apache2
### Enable modules, settings, and default of SSL in Apache
$ sudo a2dismod status
$ sudo a2enmod ssl
$ sudo a2enmod rewrite
$ sudo a2enmod headers
### Apache Virtual Host
<VirtualHost _default_:80>
ServerAdmin admin@localhost.lu
ServerName monarc.local
DocumentRoot /var/lib/monarc/fo/public
<Directory /var/lib/monarc/fo/public>
DirectoryIndex index.php
AllowOverride All
Require all granted
</Directory>
<IfModule mod_headers.c>
Header always set X-Content-Type-Options nosniff
Header always set X-XSS-Protection "1; mode=block"
Header always set X-Robots-Tag none
Header always set X-Frame-Options SAMEORIGIN
</IfModule>
SetEnv APP_ENV "development"
</VirtualHost>
## 1.4. Install PHP and dependencies
$ sudo apt-get install php7.3 libapache2-mod-php7.3 php7.3-curl php7.3-gd php7.3-mysql php7.3-apcu php7.3-xml php7.3-mbstring php7.3-intl php7.3-imagick php7.3-zip
$ curl -sS https://getcomposer.org/installer -o composer-setup.php
$ sudo php composer-setup.php --install-dir=/usr/bin --filename=composer
## 1.5 Apply all changes
$ sudo systemctl restart apache2.service
# 2. Installation of MONARC
## 2.1. MONARC source code
$ mkdir -p /var/lib/monarc/fo
$ git clone https://github.com/monarc-project/MonarcAppFO.git /var/lib/monarc/fo
$ cd /var/lib/monarc/fo
$ mkdir -p data/cache
$ mkdir -p data/LazyServices/Proxy
$ chmod -R g+w data
$ composer install -o
### Back-end
The back-end is using the Zend Framework 3.
Create two symbolic links:
$ cd module/Monarc
$ ln -s ./../../vendor/monarc/core Core
$ ln -s ./../../vendor/monarc/frontoffice FrontOffice
$ cd ../..
There are 2 parts:
* Monarc\FrontOffice is only for MONARC;
* Monarc\Core is common to MONARC and to the back office of MONARC.
### Front-end
The frontend is an AngularJS application.
$ mkdir node_modules
$ cd node_modules
$ git clone https://github.com/monarc-project/ng-client.git ng_client
$ git clone https://github.com/monarc-project/ng-anr.git ng_anr
There are 2 parts:
* one only for MONARC: ng_client;
* one common for MONARC and the back office of MONARC: ng_anr.
## 2.2. Databases
### Create 2 databases
In your MariaDB interpreter:
MariaDB [(none)]> CREATE DATABASE monarc_cli 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_cli contains all client risk analyses. Each analysis is based on CASES
model of monarc_common.
### Initializes the database
$ mysql -u user monarc_common < db-bootstrap/monarc_structure.sql
$ mysql -u user monarc_common < db-bootstrap/monarc_data.sql
### Database connection
Create the configuration file:
$ sudo cp ./config/autoload/local.php.dist ./config/autoload/local.php
And configure the database connection:
return array(
'doctrine' => array(
'connection' => array(
'orm_default' => array(
'params' => array(
'host' => 'localhost',
'user' => 'sqlmonarcuser',
'password' => '<password>',
'dbname' => 'monarc_common',
),
),
'orm_cli' => array(
'params' => array(
'host' => 'localhost',
'user' => 'sqlmonarcuser',
'password' => '<password>',
'dbname' => 'monarc_cli',
),
),
),
),
);
# 3. Update MONARC
Install Grunt:
$ curl -sL https://deb.nodesource.com/setup_13.x | sudo bash -
$ sudo apt-get install nodejs
$ npm install -g grunt-cli
then update MONARC:
$ ./scripts/update-all.sh -c
# 4. Create initial user
$ php ./vendor/robmorgan/phinx/bin/phinx seed:run -c ./module/Monarc/FrontOffice/migrations/phinx.php
The username is *admin@admin.test* and the password is *admin*.

View File

@ -69,10 +69,10 @@ Clone the repository and invoke composer
Backend Backend
$ mkdir module $ cd module/Monarc
$ cd module/ $ ln -s ./../../vendor/monarc/core Core
$ ln -s ./../vendor/monarc/core MonarcCore $ ln -s ./../../vendor/monarc/frontoffice FrontOffice
$ ln -s ./../vendor/monarc/frontoffice MonarcFO $ cd ../..
Frontend Frontend
@ -97,7 +97,7 @@ Update MONARC (including npm config for explicit proxy)
Create initial user 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/Monarc/FrontOffice/migrations/phinx.php
# Configure apache (as root) # Configure apache (as root)
@ -128,4 +128,4 @@ Set file ownership for monarc installation
Header always set X-Frame-Options SAMEORIGIN Header always set X-Frame-Options SAMEORIGIN
</IfModule> </IfModule>
SetEnv APPLICATION_ENV "development" SetEnv APP_ENV "development"

View File

@ -49,7 +49,7 @@ Especially by setting a strong root password.
Header always set X-Frame-Options SAMEORIGIN Header always set X-Frame-Options SAMEORIGIN
</IfModule> </IfModule>
SetEnv APPLICATION_ENV "development" SetEnv APP_ENV "development"
</VirtualHost> </VirtualHost>
@ -88,15 +88,15 @@ You must create modules with symbolic links to libraries.
Create two symbolic links: Create two symbolic links:
$ mkdir module $ cd module/Monarc
$ cd module/ $ ln -s ./../../vendor/monarc/core Core
$ ln -s ./../vendor/monarc/core MonarcCore $ ln -s ./../../vendor/monarc/frontoffice FrontOffice
$ ln -s ./../vendor/monarc/frontoffice MonarcFO $ cd ../..
There are 2 parts: There are 2 parts:
* MonarcFO is only for front office; * Monarc\FrontOffice is only for front office;
* MonarcCore is common to the front office and to the back office. * Monarc\Core is common to the front office and to the back office.
### Frontend ### Frontend
@ -188,7 +188,7 @@ execute the database migration scripts and compile the translations.
# Create initial user # 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/Monarc/FrontOffice/migrations/phinx.php
The username is *admin@admin.test* and the password is *admin*. The username is *admin@admin.test* and the password is *admin*.

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>
@ -49,15 +50,15 @@ Especially by setting a strong root password.
Header always set X-Frame-Options SAMEORIGIN Header always set X-Frame-Options SAMEORIGIN
</IfModule> </IfModule>
SetEnv APPLICATION_ENV "development" SetEnv APP_ENV "development"
</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,41 +66,35 @@ 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`: $ mkdir -p /var/lib/monarc/fo
$ git clone https://github.com/monarc-project/MonarcAppFO.git /var/lib/monarc/fo
$ cd /var/lib/monarc/ $ cd /var/lib/monarc/fo
$ git clone https://github.com/monarc-project/MonarcAppFO.git fo $ mkdir -p data/cache
$ cd fo/ $ mkdir -p data/LazyServices/Proxy
$ chown -R www-data 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 3.
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:
$ mkdir module $ cd module/Monarc
$ cd module/ $ ln -s ./../../vendor/monarc/core Core
$ ln -s ./../vendor/monarc/core MonarcCore $ ln -s ./../../vendor/monarc/frontoffice FrontOffice
$ ln -s ./../vendor/monarc/frontoffice MonarcFO $ cd ../..
There are 2 parts: There are 2 parts:
* MonarcFO is only for front office; * Monarc\FrontOffice is only for MONARC;
* MonarcCore is common to the front office and to the back office. * Monarc\Core 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 +105,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 +140,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,22 +160,21 @@ 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 -c
$ ./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/Monarc/FrontOffice/migrations/phinx.php
The username is *admin@admin.test* and the password is *admin*. The username is *admin@admin.test* and the password is *admin*.

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":2} {"major":2, "minor":9, "hotfix":1}

View File

@ -1,6 +1,6 @@
{ {
"name": "monarc/skeleton", "name": "monarc/monarc",
"description": "Skeleton for Monarc project", "description": "Monarc application",
"authors": [ "authors": [
{"name": "Cyril Rouyer", "email": "cyril@netlor.fr"}, {"name": "Cyril Rouyer", "email": "cyril@netlor.fr"},
{"name": "Guillaume Lesniak", "email": "guillaume@netlor.fr"}, {"name": "Guillaume Lesniak", "email": "guillaume@netlor.fr"},
@ -12,32 +12,23 @@
{"name": "Cédric Bonhomme", "email": "cedric.bonhomme@cases.lu"} {"name": "Cédric Bonhomme", "email": "cedric.bonhomme@cases.lu"}
], ],
"require": { "require": {
"php": ">=5.5", "php": "^7.1",
"zendframework/zendframework": "2.5.3", "ext-json": "*",
"doctrine/doctrine-orm-module": "^0.10", "ext-pdo": "*",
"robmorgan/phinx": "0.5.*", "monarc/core": "dev-feature/upgrade-to-zf3",
"monarc/core": "dev-master", "monarc/frontoffice": "dev-feature/upgrade-to-zf3",
"monarc/frontoffice": "dev-master", "monarc/phpword": "dev-master",
"phing/phing": "~2.0", "zendframework/zend-mvc": "^3.1",
"phpoffice/phpword": "dev-stable", "zendframework/zend-di": "^3.1",
"ramsey/uuid": "^3.8", "zendframework/zend-permissions-rbac": "^3.0",
"ramsey/uuid-doctrine": "^1.5" "zendframework/zend-log": "^2.11",
"zendframework/zend-i18n": "^2.9"
},
"require-dev": {
"roave/security-advisories": "dev-master",
"zendframework/zend-component-installer": "^2.1"
}, },
"config": { "config": {
"bin-dir": "bin/" "bin-dir": "bin/"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/monarc-project/zm-core"
},
{
"type": "vcs",
"url": "https://github.com/monarc-project/zm-client"
},
{
"type": "vcs",
"url": "https://github.com/monarc-project/monarc_phpword"
} }
]
} }

5059
composer.lock generated Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -5,37 +5,52 @@
* *
* @see https://github.com/zendframework/ZFTool * @see https://github.com/zendframework/ZFTool
*/ */
$env = getenv('APP_ENV') ?: 'production'; $env = getenv('APPLICATION_ENV') ?: 'production';
$appconfdir = getenv('APP_CONF_DIR') ? getenv('APP_CONF_DIR') : ''; $appConfDir = getenv('APP_CONF_DIR') ?? '';
$confpaths = [ 'config/autoload/{,*.}{global,local}.php' ]; $confPaths = ['config/autoload/{,*.}{global,local}.php'];
$datapath = "data"; $dataPath = 'data';
if( ! empty($appconfdir) ){ if (!empty($appConfDir)) {
$confpaths[] = $appconfdir.'/local.php'; $confPaths[] = $appConfDir . '/local.php';
$datapath = $appconfdir.'/data'; $dataPath = $appConfDir . '/data';
if(!is_dir($datapath.'/cache')){ if (!is_dir($dataPath . '/cache')) {
mkdir($datapath.'/cache'); if (!mkdir($concurrentDirectory = $dataPath . '/cache') && !is_dir($concurrentDirectory)) {
throw new \RuntimeException(sprintf('Directory "%s" was not created', $concurrentDirectory));
}
} }
} }
return array( return [
'modules' => array( 'modules' => [
'Zend\Mvc\Console',
'Zend\I18n',
'Zend\Mail',
'Zend\Log',
'Monarc\Core',
'Monarc\FrontOffice',
'Zend\Cache',
'Zend\Form',
'Zend\InputFilter',
'Zend\Filter',
'Zend\Paginator',
'Zend\Hydrator',
'Zend\Di',
'Zend\Router',
'Zend\Validator',
'DoctrineModule', 'DoctrineModule',
'DoctrineORMModule', 'DoctrineORMModule',
'MonarcCore', ],
'MonarcFO', 'module_listener_options' => [
), 'module_paths' => [
'module_listener_options' => array(
'module_paths' => array(
'./module', './module',
'./vendor' './vendor'
), ],
'config_glob_paths' => $confpaths, 'config_glob_paths' => $confPaths,
'config_cache_enabled' => ($env == 'production'), 'config_cache_enabled' => $env === 'production',
'config_cache_key' => 'c8aaaaa11586f8b1bf5565cc6064e70a', // md5('config_cache_key_monarc') 'config_cache_key' => 'c8aaaaa11586f8b1bf5565cc6064e70a', // md5('config_cache_key_monarc')
'module_map_cache_enabled' => ($env == 'production'), 'module_map_cache_enabled' => $env === 'production',
'module_map_cache_key' => '664579376c4dcdcaa0bcdd0f7e7bf25b', // md5('module_map_cache_key_monarc'), 'module_map_cache_key' => '664579376c4dcdcaa0bcdd0f7e7bf25b', // md5('module_map_cache_key_monarc'),
'cache_dir' => $datapath.'/cache/', 'cache_dir' => $dataPath . '/cache/',
'check_dependencies' => ($env != 'production'), 'check_dependencies' => $env !== 'production',
), ],
); ];

View File

@ -11,7 +11,11 @@
* file. * file.
*/ */
$appconfdir = getenv('APP_CONF_DIR') ? getenv('APP_CONF_DIR') : ''; use Doctrine\DBAL\Driver\PDOMySql\Driver;
use Monarc\Core\Service\DoctrineCacheServiceFactory;
use Monarc\Core\Service\DoctrineLoggerFactory;
$appconfdir = getenv('APP_CONF_DIR') ?? '';
$datapath = "data"; $datapath = "data";
if( ! empty($appconfdir) ){ if( ! empty($appconfdir) ){
@ -22,14 +26,14 @@ return array(
// DOCTRINE CONF // DOCTRINE CONF
'service_manager' => array( 'service_manager' => array(
'factories' => array( 'factories' => array(
'doctrine.cache.mycache' => 'MonarcCore\Service\DoctrineCacheServiceFactory', 'doctrine.cache.mycache' => DoctrineCacheServiceFactory::class,
'doctrine.monarc_logger' => 'MonarcCore\Service\DoctrineLoggerFactory', 'doctrine.monarc_logger' => DoctrineLoggerFactory::class,
), ),
), ),
'doctrine' => array( 'doctrine' => array(
'connection' => array( 'connection' => array(
'orm_default' => array( 'orm_default' => array(
'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver', 'driverClass' => Driver::class,
'params' => array( 'params' => array(
'host' => 'localhost', 'host' => 'localhost',
'port' => 3306, 'port' => 3306,
@ -45,7 +49,7 @@ return array(
), ),
), ),
'orm_cli' => array( 'orm_cli' => array(
'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver', 'driverClass' => Driver::class,
'params' => array( 'params' => array(
'host' => 'localhost', 'host' => 'localhost',
'port' => 3306, 'port' => 3306,

View File

View File

0
data/cache/.gitkeep vendored Normal file
View File

0
data/json/.gitkeep Normal file
View File

File diff suppressed because one or more lines are too long

View File

@ -1,8 +1,8 @@
-- MySQL dump 10.15 Distrib 10.0.38-MariaDB, for debian-linux-gnu (x86_64) -- MySQL dump 10.16 Distrib 10.1.41-MariaDB, for debian-linux-gnu (x86_64)
-- --
-- Host: localhost Database: monarc_common -- Host: localhost Database: monarc_common
-- ------------------------------------------------------ -- ------------------------------------------------------
-- Server version 10.0.38-MariaDB-0ubuntu0.16.04.1 -- Server version 10.1.41-MariaDB-0ubuntu0.18.04.1
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
@ -23,27 +23,28 @@ DROP TABLE IF EXISTS `amvs`;
/*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */; /*!40101 SET character_set_client = utf8 */;
CREATE TABLE `amvs` ( CREATE TABLE `amvs` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT, `uuid` char(36) NOT NULL,
`vulnerability_id` char(36) NOT NULL,
`threat_id` char(36) NOT NULL,
`asset_id` char(36) NOT NULL,
`anr_id` int(11) unsigned DEFAULT NULL, `anr_id` int(11) unsigned DEFAULT NULL,
`asset_id` int(11) unsigned DEFAULT NULL,
`threat_id` int(11) unsigned DEFAULT NULL,
`vulnerability_id` int(11) unsigned DEFAULT NULL,
`position` int(11) DEFAULT '1', `position` int(11) DEFAULT '1',
`status` int(11) DEFAULT '1', `status` int(11) DEFAULT '1',
`creator` varchar(255) DEFAULT NULL, `creator` varchar(255) DEFAULT NULL,
`created_at` datetime DEFAULT NULL, `created_at` datetime DEFAULT NULL,
`updater` varchar(255) DEFAULT NULL, `updater` varchar(255) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`uuid`),
KEY `anr_id` (`anr_id`), KEY `anr_id` (`anr_id`),
KEY `asset_id` (`asset_id`), KEY `asset_id` (`asset_id`),
KEY `threat_id` (`threat_id`), KEY `threat_id` (`threat_id`),
KEY `vulnerability_id` (`vulnerability_id`), KEY `vulnerability_id` (`vulnerability_id`),
KEY `uuid` (`uuid`),
CONSTRAINT `amvs_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE, CONSTRAINT `amvs_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE,
CONSTRAINT `amvs_ibfk_2` FOREIGN KEY (`asset_id`) REFERENCES `assets` (`id`) ON DELETE CASCADE, CONSTRAINT `amvs_ibfk_5` FOREIGN KEY (`asset_id`) REFERENCES `assets` (`uuid`) ON DELETE CASCADE,
CONSTRAINT `amvs_ibfk_3` FOREIGN KEY (`threat_id`) REFERENCES `threats` (`id`) ON DELETE CASCADE, CONSTRAINT `amvs_ibfk_6` FOREIGN KEY (`threat_id`) REFERENCES `threats` (`uuid`) ON DELETE CASCADE,
CONSTRAINT `amvs_ibfk_4` FOREIGN KEY (`vulnerability_id`) REFERENCES `vulnerabilities` (`id`) ON DELETE CASCADE CONSTRAINT `amvs_ibfk_7` FOREIGN KEY (`vulnerability_id`) REFERENCES `vulnerabilities` (`uuid`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=11985 DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
-- --
@ -103,13 +104,13 @@ DROP TABLE IF EXISTS `anrs_objects`;
/*!40101 SET character_set_client = utf8 */; /*!40101 SET character_set_client = utf8 */;
CREATE TABLE `anrs_objects` ( CREATE TABLE `anrs_objects` (
`id` int(11) NOT NULL AUTO_INCREMENT, `id` int(11) NOT NULL AUTO_INCREMENT,
`object_id` char(36) NOT NULL,
`anr_id` int(11) unsigned DEFAULT NULL, `anr_id` int(11) unsigned DEFAULT NULL,
`object_id` int(11) unsigned DEFAULT NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `anr_id` (`anr_id`), KEY `anr_id` (`anr_id`),
KEY `object_id` (`object_id`), KEY `object_id` (`object_id`),
CONSTRAINT `anrs_objects_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE, CONSTRAINT `anrs_objects_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE,
CONSTRAINT `anrs_objects_ibfk_2` FOREIGN KEY (`object_id`) REFERENCES `objects` (`id`) ON DELETE CASCADE CONSTRAINT `anrs_objects_ibfk_2` FOREIGN KEY (`object_id`) REFERENCES `objects` (`uuid`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=1535 DEFAULT CHARSET=utf8; ) ENGINE=InnoDB AUTO_INCREMENT=1535 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
@ -145,7 +146,7 @@ DROP TABLE IF EXISTS `assets`;
/*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */; /*!40101 SET character_set_client = utf8 */;
CREATE TABLE `assets` ( CREATE TABLE `assets` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT, `uuid` char(36) NOT NULL,
`anr_id` int(11) unsigned DEFAULT '0', `anr_id` int(11) unsigned DEFAULT '0',
`mode` tinyint(4) DEFAULT '1', `mode` tinyint(4) DEFAULT '1',
`type` tinyint(4) DEFAULT '1', `type` tinyint(4) DEFAULT '1',
@ -163,11 +164,12 @@ CREATE TABLE `assets` (
`created_at` datetime DEFAULT NULL, `created_at` datetime DEFAULT NULL,
`updater` varchar(255) DEFAULT NULL, `updater` varchar(255) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`uuid`),
KEY `anr_id` (`anr_id`,`code`), KEY `anr_id` (`anr_id`,`code`),
KEY `anr_id_2` (`anr_id`), KEY `anr_id_2` (`anr_id`),
KEY `uuid` (`uuid`),
CONSTRAINT `assets_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE CONSTRAINT `assets_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=357 DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
-- --
@ -178,15 +180,13 @@ DROP TABLE IF EXISTS `assets_models`;
/*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */; /*!40101 SET character_set_client = utf8 */;
CREATE TABLE `assets_models` ( CREATE TABLE `assets_models` (
`asset_id` int(11) unsigned NOT NULL,
`model_id` int(11) unsigned NOT NULL, `model_id` int(11) unsigned NOT NULL,
`asset_id` char(36) NOT NULL,
PRIMARY KEY (`asset_id`,`model_id`), PRIMARY KEY (`asset_id`,`model_id`),
KEY `asset_id` (`asset_id`),
KEY `model_id` (`model_id`), KEY `model_id` (`model_id`),
CONSTRAINT `assets_models_ibfk_1` FOREIGN KEY (`asset_id`) REFERENCES `assets` (`id`),
CONSTRAINT `assets_models_ibfk_2` FOREIGN KEY (`model_id`) REFERENCES `models` (`id`), CONSTRAINT `assets_models_ibfk_2` FOREIGN KEY (`model_id`) REFERENCES `models` (`id`),
CONSTRAINT `assets_models_ibfk_3` FOREIGN KEY (`asset_id`) REFERENCES `assets` (`id`) ON DELETE CASCADE, CONSTRAINT `assets_models_ibfk_4` FOREIGN KEY (`model_id`) REFERENCES `models` (`id`) ON DELETE CASCADE,
CONSTRAINT `assets_models_ibfk_4` FOREIGN KEY (`model_id`) REFERENCES `models` (`id`) ON DELETE CASCADE CONSTRAINT `assets_models_ibfk_5` FOREIGN KEY (`asset_id`) REFERENCES `assets` (`uuid`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
@ -279,9 +279,9 @@ DROP TABLE IF EXISTS `instances`;
/*!40101 SET character_set_client = utf8 */; /*!40101 SET character_set_client = utf8 */;
CREATE TABLE `instances` ( CREATE TABLE `instances` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT, `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`object_id` char(36) DEFAULT NULL,
`asset_id` char(36) NOT NULL,
`anr_id` int(11) unsigned DEFAULT NULL, `anr_id` int(11) unsigned DEFAULT NULL,
`asset_id` int(11) unsigned DEFAULT NULL,
`object_id` int(11) unsigned DEFAULT NULL,
`root_id` int(11) unsigned DEFAULT NULL, `root_id` int(11) unsigned DEFAULT NULL,
`parent_id` int(11) unsigned DEFAULT NULL, `parent_id` int(11) unsigned DEFAULT NULL,
`name1` varchar(255) DEFAULT NULL, `name1` varchar(255) DEFAULT NULL,
@ -309,15 +309,15 @@ CREATE TABLE `instances` (
`dh` tinyint(4) DEFAULT '0', `dh` tinyint(4) DEFAULT '0',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `anr_id` (`anr_id`), KEY `anr_id` (`anr_id`),
KEY `asset_id` (`asset_id`),
KEY `object_id` (`object_id`),
KEY `root_id` (`root_id`), KEY `root_id` (`root_id`),
KEY `parent_id` (`parent_id`), KEY `parent_id` (`parent_id`),
KEY `asset_id` (`asset_id`),
KEY `object_id` (`object_id`),
CONSTRAINT `instances_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE, CONSTRAINT `instances_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE,
CONSTRAINT `instances_ibfk_2` FOREIGN KEY (`asset_id`) REFERENCES `assets` (`id`) ON DELETE CASCADE,
CONSTRAINT `instances_ibfk_3` FOREIGN KEY (`object_id`) REFERENCES `objects` (`id`) ON DELETE CASCADE,
CONSTRAINT `instances_ibfk_4` FOREIGN KEY (`root_id`) REFERENCES `instances` (`id`) ON DELETE CASCADE, CONSTRAINT `instances_ibfk_4` FOREIGN KEY (`root_id`) REFERENCES `instances` (`id`) ON DELETE CASCADE,
CONSTRAINT `instances_ibfk_5` FOREIGN KEY (`parent_id`) REFERENCES `instances` (`id`) ON DELETE CASCADE CONSTRAINT `instances_ibfk_5` FOREIGN KEY (`parent_id`) REFERENCES `instances` (`id`) ON DELETE CASCADE,
CONSTRAINT `instances_ibfk_6` FOREIGN KEY (`asset_id`) REFERENCES `assets` (`uuid`) ON DELETE CASCADE,
CONSTRAINT `instances_ibfk_7` FOREIGN KEY (`object_id`) REFERENCES `objects` (`uuid`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
@ -330,9 +330,9 @@ DROP TABLE IF EXISTS `instances_consequences`;
/*!40101 SET character_set_client = utf8 */; /*!40101 SET character_set_client = utf8 */;
CREATE TABLE `instances_consequences` ( CREATE TABLE `instances_consequences` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT, `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`object_id` char(36) DEFAULT NULL,
`anr_id` int(11) unsigned DEFAULT '0', `anr_id` int(11) unsigned DEFAULT '0',
`instance_id` int(11) unsigned DEFAULT '0', `instance_id` int(11) unsigned DEFAULT '0',
`object_id` int(11) unsigned DEFAULT '0',
`scale_impact_type_id` int(11) unsigned DEFAULT '0', `scale_impact_type_id` int(11) unsigned DEFAULT '0',
`is_hidden` tinyint(4) DEFAULT '0', `is_hidden` tinyint(4) DEFAULT '0',
`locally_touched` tinyint(4) DEFAULT '0', `locally_touched` tinyint(4) DEFAULT '0',
@ -346,11 +346,9 @@ CREATE TABLE `instances_consequences` (
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `anr_id` (`anr_id`), KEY `anr_id` (`anr_id`),
KEY `instance_id` (`instance_id`), KEY `instance_id` (`instance_id`),
KEY `object_id` (`object_id`),
KEY `scale_impact_type_id` (`scale_impact_type_id`), KEY `scale_impact_type_id` (`scale_impact_type_id`),
CONSTRAINT `instances_consequences_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE, CONSTRAINT `instances_consequences_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE,
CONSTRAINT `instances_consequences_ibfk_2` FOREIGN KEY (`instance_id`) REFERENCES `instances` (`id`) ON DELETE CASCADE, CONSTRAINT `instances_consequences_ibfk_2` FOREIGN KEY (`instance_id`) REFERENCES `instances` (`id`) ON DELETE CASCADE,
CONSTRAINT `instances_consequences_ibfk_3` FOREIGN KEY (`object_id`) REFERENCES `objects` (`id`) ON DELETE CASCADE,
CONSTRAINT `instances_consequences_ibfk_4` FOREIGN KEY (`scale_impact_type_id`) REFERENCES `scales_impact_types` (`id`) ON DELETE CASCADE CONSTRAINT `instances_consequences_ibfk_4` FOREIGN KEY (`scale_impact_type_id`) REFERENCES `scales_impact_types` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
@ -364,12 +362,12 @@ DROP TABLE IF EXISTS `instances_risks`;
/*!40101 SET character_set_client = utf8 */; /*!40101 SET character_set_client = utf8 */;
CREATE TABLE `instances_risks` ( CREATE TABLE `instances_risks` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT, `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`amv_id` char(36) DEFAULT NULL,
`vulnerability_id` char(36) NOT NULL,
`threat_id` char(36) NOT NULL,
`asset_id` char(36) NOT NULL,
`anr_id` int(11) unsigned DEFAULT NULL, `anr_id` int(11) unsigned DEFAULT NULL,
`amv_id` int(11) unsigned DEFAULT NULL,
`specific` tinyint(4) DEFAULT '0', `specific` tinyint(4) DEFAULT '0',
`asset_id` int(11) unsigned DEFAULT NULL,
`threat_id` int(11) unsigned DEFAULT NULL,
`vulnerability_id` int(11) unsigned DEFAULT NULL,
`mh` tinyint(4) NOT NULL DEFAULT '1', `mh` tinyint(4) NOT NULL DEFAULT '1',
`threat_rate` int(11) NOT NULL DEFAULT '-1', `threat_rate` int(11) NOT NULL DEFAULT '-1',
`vulnerability_rate` int(11) NOT NULL DEFAULT '-1', `vulnerability_rate` int(11) NOT NULL DEFAULT '-1',
@ -389,17 +387,17 @@ CREATE TABLE `instances_risks` (
`instance_id` int(11) unsigned DEFAULT '0', `instance_id` int(11) unsigned DEFAULT '0',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `anr_id` (`anr_id`), KEY `anr_id` (`anr_id`),
KEY `amv_id` (`amv_id`), KEY `instance_id` (`instance_id`),
KEY `asset_id` (`asset_id`), KEY `asset_id` (`asset_id`),
KEY `threat_id` (`threat_id`), KEY `threat_id` (`threat_id`),
KEY `vulnerability_id` (`vulnerability_id`), KEY `vulnerability_id` (`vulnerability_id`),
KEY `instance_id` (`instance_id`), KEY `amv_id` (`amv_id`),
CONSTRAINT `instances_risks_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE, CONSTRAINT `instances_risks_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE,
CONSTRAINT `instances_risks_ibfk_2` FOREIGN KEY (`amv_id`) REFERENCES `amvs` (`id`) ON DELETE CASCADE, CONSTRAINT `instances_risks_ibfk_10` FOREIGN KEY (`vulnerability_id`) REFERENCES `vulnerabilities` (`uuid`) ON DELETE CASCADE,
CONSTRAINT `instances_risks_ibfk_4` FOREIGN KEY (`asset_id`) REFERENCES `assets` (`id`) ON DELETE CASCADE, CONSTRAINT `instances_risks_ibfk_11` FOREIGN KEY (`amv_id`) REFERENCES `amvs` (`uuid`) ON DELETE CASCADE,
CONSTRAINT `instances_risks_ibfk_5` FOREIGN KEY (`threat_id`) REFERENCES `threats` (`id`) ON DELETE CASCADE, CONSTRAINT `instances_risks_ibfk_7` FOREIGN KEY (`instance_id`) REFERENCES `instances` (`id`) ON DELETE CASCADE,
CONSTRAINT `instances_risks_ibfk_6` FOREIGN KEY (`vulnerability_id`) REFERENCES `vulnerabilities` (`id`) ON DELETE CASCADE, CONSTRAINT `instances_risks_ibfk_8` FOREIGN KEY (`asset_id`) REFERENCES `assets` (`uuid`) ON DELETE CASCADE,
CONSTRAINT `instances_risks_ibfk_7` FOREIGN KEY (`instance_id`) REFERENCES `instances` (`id`) ON DELETE CASCADE CONSTRAINT `instances_risks_ibfk_9` FOREIGN KEY (`threat_id`) REFERENCES `threats` (`uuid`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
@ -412,9 +410,9 @@ DROP TABLE IF EXISTS `instances_risks_op`;
/*!40101 SET character_set_client = utf8 */; /*!40101 SET character_set_client = utf8 */;
CREATE TABLE `instances_risks_op` ( CREATE TABLE `instances_risks_op` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT, `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`object_id` char(36) DEFAULT NULL,
`anr_id` int(11) unsigned DEFAULT NULL, `anr_id` int(11) unsigned DEFAULT NULL,
`instance_id` int(11) unsigned DEFAULT NULL, `instance_id` int(11) unsigned DEFAULT NULL,
`object_id` int(11) unsigned DEFAULT NULL,
`rolf_risk_id` int(11) unsigned DEFAULT NULL, `rolf_risk_id` int(11) unsigned DEFAULT NULL,
`risk_cache_code` char(100) DEFAULT NULL, `risk_cache_code` char(100) DEFAULT NULL,
`risk_cache_label1` varchar(255) DEFAULT NULL, `risk_cache_label1` varchar(255) DEFAULT NULL,
@ -457,12 +455,12 @@ CREATE TABLE `instances_risks_op` (
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `anr_id` (`anr_id`), KEY `anr_id` (`anr_id`),
KEY `instance_id` (`instance_id`), KEY `instance_id` (`instance_id`),
KEY `object_id` (`object_id`),
KEY `rolf_risk_id` (`rolf_risk_id`), KEY `rolf_risk_id` (`rolf_risk_id`),
KEY `object_id` (`object_id`),
CONSTRAINT `instances_risks_op_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE, CONSTRAINT `instances_risks_op_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE,
CONSTRAINT `instances_risks_op_ibfk_2` FOREIGN KEY (`instance_id`) REFERENCES `instances` (`id`) ON DELETE CASCADE, CONSTRAINT `instances_risks_op_ibfk_2` FOREIGN KEY (`instance_id`) REFERENCES `instances` (`id`) ON DELETE CASCADE,
CONSTRAINT `instances_risks_op_ibfk_3` FOREIGN KEY (`rolf_risk_id`) REFERENCES `rolf_risks` (`id`) ON DELETE SET NULL, CONSTRAINT `instances_risks_op_ibfk_3` FOREIGN KEY (`rolf_risk_id`) REFERENCES `rolf_risks` (`id`) ON DELETE SET NULL,
CONSTRAINT `instances_risks_op_ibfk_4` FOREIGN KEY (`object_id`) REFERENCES `objects` (`id`) ON DELETE CASCADE CONSTRAINT `instances_risks_op_ibfk_4` FOREIGN KEY (`object_id`) REFERENCES `objects` (`uuid`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
@ -506,17 +504,17 @@ DROP TABLE IF EXISTS `measures_amvs`;
CREATE TABLE `measures_amvs` ( CREATE TABLE `measures_amvs` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT, `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`measure_id` char(36) NOT NULL, `measure_id` char(36) NOT NULL,
`amv_id` int(11) unsigned DEFAULT NULL,
`creator` varchar(255) DEFAULT NULL, `creator` varchar(255) DEFAULT NULL,
`created_at` datetime DEFAULT NULL, `created_at` datetime DEFAULT NULL,
`updater` varchar(255) DEFAULT NULL, `updater` varchar(255) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL,
`amv_id` char(36) NOT NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `amv_id` (`amv_id`),
KEY `measure_id` (`measure_id`), KEY `measure_id` (`measure_id`),
CONSTRAINT `measures_amvs_ibfk_1` FOREIGN KEY (`amv_id`) REFERENCES `amvs` (`id`) ON DELETE CASCADE, KEY `amv_id` (`amv_id`),
CONSTRAINT `measures_amvs_ibfk_2` FOREIGN KEY (`measure_id`) REFERENCES `measures` (`uuid`) ON DELETE CASCADE CONSTRAINT `measures_amvs_ibfk_2` FOREIGN KEY (`measure_id`) REFERENCES `measures` (`uuid`) ON DELETE CASCADE,
) ENGINE=InnoDB AUTO_INCREMENT=37164 DEFAULT CHARSET=utf8; CONSTRAINT `measures_amvs_ibfk_3` FOREIGN KEY (`amv_id`) REFERENCES `amvs` (`uuid`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=39861 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
-- --
@ -598,7 +596,7 @@ CREATE TABLE `models` (
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `anr_id` (`anr_id`), KEY `anr_id` (`anr_id`),
CONSTRAINT `models_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE CONSTRAINT `models_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=utf8; ) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
-- --
@ -609,9 +607,9 @@ DROP TABLE IF EXISTS `objects`;
/*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */; /*!40101 SET character_set_client = utf8 */;
CREATE TABLE `objects` ( CREATE TABLE `objects` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT, `uuid` char(36) NOT NULL,
`asset_id` char(36) NOT NULL,
`object_category_id` int(11) unsigned DEFAULT NULL, `object_category_id` int(11) unsigned DEFAULT NULL,
`asset_id` int(11) unsigned DEFAULT NULL,
`rolf_tag_id` int(11) unsigned DEFAULT NULL, `rolf_tag_id` int(11) unsigned DEFAULT NULL,
`mode` tinyint(4) DEFAULT '1', `mode` tinyint(4) DEFAULT '1',
`scope` tinyint(4) DEFAULT '1', `scope` tinyint(4) DEFAULT '1',
@ -632,16 +630,17 @@ CREATE TABLE `objects` (
`updater` varchar(255) DEFAULT NULL, `updater` varchar(255) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL,
`anr_id` int(11) unsigned DEFAULT NULL, `anr_id` int(11) unsigned DEFAULT NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`uuid`),
KEY `object_category_id` (`object_category_id`), KEY `object_category_id` (`object_category_id`),
KEY `asset_id` (`asset_id`),
KEY `rolf_tag_id` (`rolf_tag_id`), KEY `rolf_tag_id` (`rolf_tag_id`),
KEY `anr_id` (`anr_id`), KEY `anr_id` (`anr_id`),
KEY `asset_id` (`asset_id`),
KEY `uuid` (`uuid`),
CONSTRAINT `objects_ibfk_2` FOREIGN KEY (`object_category_id`) REFERENCES `objects_categories` (`id`) ON DELETE SET NULL, CONSTRAINT `objects_ibfk_2` FOREIGN KEY (`object_category_id`) REFERENCES `objects_categories` (`id`) ON DELETE SET NULL,
CONSTRAINT `objects_ibfk_3` FOREIGN KEY (`asset_id`) REFERENCES `assets` (`id`) ON DELETE CASCADE,
CONSTRAINT `objects_ibfk_5` FOREIGN KEY (`rolf_tag_id`) REFERENCES `rolf_tags` (`id`) ON DELETE SET NULL, CONSTRAINT `objects_ibfk_5` FOREIGN KEY (`rolf_tag_id`) REFERENCES `rolf_tags` (`id`) ON DELETE SET NULL,
CONSTRAINT `objects_ibfk_7` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE CONSTRAINT `objects_ibfk_7` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE,
) ENGINE=InnoDB AUTO_INCREMENT=1004 DEFAULT CHARSET=utf8; CONSTRAINT `objects_ibfk_8` FOREIGN KEY (`asset_id`) REFERENCES `assets` (`uuid`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
-- --
@ -685,9 +684,9 @@ DROP TABLE IF EXISTS `objects_objects`;
/*!40101 SET character_set_client = utf8 */; /*!40101 SET character_set_client = utf8 */;
CREATE TABLE `objects_objects` ( CREATE TABLE `objects_objects` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT, `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`child_id` char(36) DEFAULT NULL,
`father_id` char(36) DEFAULT NULL,
`anr_id` int(11) unsigned DEFAULT NULL, `anr_id` int(11) unsigned DEFAULT NULL,
`father_id` int(11) unsigned DEFAULT NULL,
`child_id` int(11) unsigned DEFAULT NULL,
`creator` varchar(255) DEFAULT NULL, `creator` varchar(255) DEFAULT NULL,
`created_at` datetime DEFAULT NULL, `created_at` datetime DEFAULT NULL,
`updater` varchar(255) DEFAULT NULL, `updater` varchar(255) DEFAULT NULL,
@ -698,8 +697,8 @@ CREATE TABLE `objects_objects` (
KEY `father_id` (`father_id`), KEY `father_id` (`father_id`),
KEY `child_id` (`child_id`), KEY `child_id` (`child_id`),
CONSTRAINT `objects_objects_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE, CONSTRAINT `objects_objects_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE,
CONSTRAINT `objects_objects_ibfk_2` FOREIGN KEY (`father_id`) REFERENCES `objects` (`id`) ON DELETE CASCADE, CONSTRAINT `objects_objects_ibfk_2` FOREIGN KEY (`father_id`) REFERENCES `objects` (`uuid`) ON DELETE CASCADE,
CONSTRAINT `objects_objects_ibfk_3` FOREIGN KEY (`child_id`) REFERENCES `objects` (`id`) ON DELETE CASCADE CONSTRAINT `objects_objects_ibfk_3` FOREIGN KEY (`child_id`) REFERENCES `objects` (`uuid`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=665 DEFAULT CHARSET=utf8; ) ENGINE=InnoDB AUTO_INCREMENT=665 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
@ -978,7 +977,7 @@ CREATE TABLE `soacategory` (
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `referential_uuid` (`referential_uuid`), KEY `referential_uuid` (`referential_uuid`),
CONSTRAINT `soacategory_ibfk_1` FOREIGN KEY (`referential_uuid`) REFERENCES `referentials` (`uuid`) ON DELETE CASCADE CONSTRAINT `soacategory_ibfk_1` FOREIGN KEY (`referential_uuid`) REFERENCES `referentials` (`uuid`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=78 DEFAULT CHARSET=utf8; ) ENGINE=InnoDB AUTO_INCREMENT=89 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
-- --
@ -1013,7 +1012,7 @@ DROP TABLE IF EXISTS `threats`;
/*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */; /*!40101 SET character_set_client = utf8 */;
CREATE TABLE `threats` ( CREATE TABLE `threats` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT, `uuid` char(36) NOT NULL,
`anr_id` int(11) unsigned DEFAULT NULL, `anr_id` int(11) unsigned DEFAULT NULL,
`theme_id` int(11) unsigned DEFAULT NULL, `theme_id` int(11) unsigned DEFAULT NULL,
`mode` tinyint(4) DEFAULT '1', `mode` tinyint(4) DEFAULT '1',
@ -1037,13 +1036,14 @@ CREATE TABLE `threats` (
`created_at` datetime DEFAULT NULL, `created_at` datetime DEFAULT NULL,
`updater` varchar(255) DEFAULT NULL, `updater` varchar(255) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`uuid`),
UNIQUE KEY `anr_id` (`anr_id`,`code`), UNIQUE KEY `anr_id` (`anr_id`,`code`),
KEY `anr_id_2` (`anr_id`), KEY `anr_id_2` (`anr_id`),
KEY `threat_theme_id` (`theme_id`), KEY `threat_theme_id` (`theme_id`),
KEY `uuid` (`uuid`),
CONSTRAINT `threats_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE, CONSTRAINT `threats_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE,
CONSTRAINT `threats_ibfk_2` FOREIGN KEY (`theme_id`) REFERENCES `themes` (`id`) ON DELETE SET NULL CONSTRAINT `threats_ibfk_2` FOREIGN KEY (`theme_id`) REFERENCES `themes` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=211 DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
-- --
@ -1054,15 +1054,13 @@ DROP TABLE IF EXISTS `threats_models`;
/*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */; /*!40101 SET character_set_client = utf8 */;
CREATE TABLE `threats_models` ( CREATE TABLE `threats_models` (
`threat_id` int(11) unsigned NOT NULL,
`model_id` int(11) unsigned NOT NULL, `model_id` int(11) unsigned NOT NULL,
`threat_id` char(36) NOT NULL,
PRIMARY KEY (`threat_id`,`model_id`), PRIMARY KEY (`threat_id`,`model_id`),
KEY `threat_id` (`threat_id`),
KEY `model_id` (`model_id`), KEY `model_id` (`model_id`),
CONSTRAINT `threats_models_ibfk_1` FOREIGN KEY (`threat_id`) REFERENCES `threats` (`id`),
CONSTRAINT `threats_models_ibfk_2` FOREIGN KEY (`model_id`) REFERENCES `models` (`id`), CONSTRAINT `threats_models_ibfk_2` FOREIGN KEY (`model_id`) REFERENCES `models` (`id`),
CONSTRAINT `threats_models_ibfk_3` FOREIGN KEY (`threat_id`) REFERENCES `threats` (`id`) ON DELETE CASCADE, CONSTRAINT `threats_models_ibfk_4` FOREIGN KEY (`model_id`) REFERENCES `models` (`id`) ON DELETE CASCADE,
CONSTRAINT `threats_models_ibfk_4` FOREIGN KEY (`model_id`) REFERENCES `models` (`id`) ON DELETE CASCADE CONSTRAINT `threats_models_ibfk_5` FOREIGN KEY (`threat_id`) REFERENCES `threats` (`uuid`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
@ -1074,7 +1072,7 @@ DROP TABLE IF EXISTS `vulnerabilities`;
/*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */; /*!40101 SET character_set_client = utf8 */;
CREATE TABLE `vulnerabilities` ( CREATE TABLE `vulnerabilities` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT, `uuid` char(36) NOT NULL,
`anr_id` int(11) unsigned DEFAULT NULL, `anr_id` int(11) unsigned DEFAULT NULL,
`mode` tinyint(4) DEFAULT '1', `mode` tinyint(4) DEFAULT '1',
`code` char(100) DEFAULT NULL, `code` char(100) DEFAULT NULL,
@ -1091,11 +1089,12 @@ CREATE TABLE `vulnerabilities` (
`created_at` datetime DEFAULT NULL, `created_at` datetime DEFAULT NULL,
`updater` varchar(255) DEFAULT NULL, `updater` varchar(255) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`uuid`),
UNIQUE KEY `anr_id` (`anr_id`,`code`), UNIQUE KEY `anr_id` (`anr_id`,`code`),
KEY `anr_id_2` (`anr_id`), KEY `anr_id_2` (`anr_id`),
KEY `uuid` (`uuid`),
CONSTRAINT `vulnerabilities_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE CONSTRAINT `vulnerabilities_ibfk_1` FOREIGN KEY (`anr_id`) REFERENCES `anrs` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=5746 DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
-- --
@ -1106,15 +1105,13 @@ DROP TABLE IF EXISTS `vulnerabilities_models`;
/*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */; /*!40101 SET character_set_client = utf8 */;
CREATE TABLE `vulnerabilities_models` ( CREATE TABLE `vulnerabilities_models` (
`vulnerability_id` int(11) unsigned NOT NULL,
`model_id` int(11) unsigned NOT NULL, `model_id` int(11) unsigned NOT NULL,
`vulnerability_id` char(36) NOT NULL,
PRIMARY KEY (`vulnerability_id`,`model_id`), PRIMARY KEY (`vulnerability_id`,`model_id`),
KEY `vulnerability_id` (`vulnerability_id`),
KEY `model_id` (`model_id`), KEY `model_id` (`model_id`),
CONSTRAINT `vulnerabilities_models_ibfk_1` FOREIGN KEY (`vulnerability_id`) REFERENCES `vulnerabilities` (`id`),
CONSTRAINT `vulnerabilities_models_ibfk_2` FOREIGN KEY (`model_id`) REFERENCES `models` (`id`), CONSTRAINT `vulnerabilities_models_ibfk_2` FOREIGN KEY (`model_id`) REFERENCES `models` (`id`),
CONSTRAINT `vulnerabilities_models_ibfk_3` FOREIGN KEY (`vulnerability_id`) REFERENCES `vulnerabilities` (`id`) ON DELETE CASCADE, CONSTRAINT `vulnerabilities_models_ibfk_4` FOREIGN KEY (`model_id`) REFERENCES `models` (`id`) ON DELETE CASCADE,
CONSTRAINT `vulnerabilities_models_ibfk_4` FOREIGN KEY (`model_id`) REFERENCES `models` (`id`) ON DELETE CASCADE CONSTRAINT `vulnerabilities_models_ibfk_5` FOREIGN KEY (`vulnerability_id`) REFERENCES `vulnerabilities` (`uuid`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
@ -1127,4 +1124,4 @@ CREATE TABLE `vulnerabilities_models` (
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2019-04-24 10:31:41 -- Dump completed on 2019-09-12 11:01:07

Binary file not shown.

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

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,54 +0,0 @@
<?php
/**
* Zend Framework (http://framework.zend.com/)
*
* @link http://github.com/zendframework/ZendSkeletonApplication for the canonical source repository
* @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* This autoloading setup is really more complicated than it needs to be for most
* applications. The added complexity is simply to reduce the time it takes for
* new developers to be productive with a fresh skeleton. It allows autoloading
* to be correctly configured, regardless of the installation method and keeps
* the use of composer completely optional. This setup should work fine for
* most users, however, feel free to configure autoloading however you'd like.
*/
// Composer autoloading
if (file_exists('vendor/autoload.php')) {
$loader = include 'vendor/autoload.php';
}
if (class_exists('Zend\Loader\AutoloaderFactory')) {
return;
}
$zf2Path = false;
if (is_dir('vendor/ZF2/library')) {
$zf2Path = 'vendor/ZF2/library';
} elseif (getenv('ZF2_PATH')) { // Support for ZF2_PATH environment variable or git submodule
$zf2Path = getenv('ZF2_PATH');
} elseif (get_cfg_var('zf2_path')) { // Support for zf2_path directive value
$zf2Path = get_cfg_var('zf2_path');
}
if ($zf2Path) {
if (isset($loader)) {
$loader->add('Zend', $zf2Path);
$loader->add('ZendXml', $zf2Path);
} else {
include $zf2Path . '/Zend/Loader/AutoloaderFactory.php';
Zend\Loader\AutoloaderFactory::factory(array(
'Zend\Loader\StandardAutoloader' => array(
'autoregister_zf' => true
)
));
}
}
if (!class_exists('Zend\Loader\AutoloaderFactory')) {
throw new RuntimeException('Unable to load ZF2. Run `php composer.phar install` or define a ZF2_PATH environment variable.');
}

View File

@ -1,7 +1,7 @@
{ {
"name": "MONARC", "name": "MONARC",
"version": "2.8.2", "version": "2.9.1",
"description": "MONARC Frontoffice App", "description": "Monarc front office application",
"private": true, "private": true,
"repository": { "repository": {
"type": "git", "type": "git",

View File

@ -1,24 +1,34 @@
<?php <?php
/**
* This makes our life easier when dealing with paths. Everything is relative use Zend\Mvc\Application;
* to the application root now.
*/
chdir(dirname(__DIR__)); chdir(dirname(__DIR__));
// Decline static file requests back to the PHP built-in webserver // Decline static file requests back to the PHP built-in webserver
if (php_sapi_name() === 'cli-server' && is_file(__DIR__ . parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH))) { if (php_sapi_name() === 'cli-server') {
$path = realpath(__DIR__ . parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
if (__FILE__ !== $path && is_file($path)) {
return false; return false;
}
unset($path);
} }
/**
* Default Timezone
*/
if(date_default_timezone_get() != ini_get('date.timezone')){ if(date_default_timezone_get() != ini_get('date.timezone')){
date_default_timezone_set('Europe/Luxembourg'); date_default_timezone_set('Europe/Luxembourg');
} }
// Setup autoloading require 'vendor/autoload.php';
require 'init_autoloader.php';
// Run the application! if (! class_exists(Application::class)) {
Zend\Mvc\Application::init(require 'config/application.config.php')->run(); throw new RuntimeException(
"Unable to load application.\n"
. "- Type `composer install` if you are developing locally.\n"
);
}
$appConfig = require 'config/application.config.php';
if (file_exists('config/development.config.php')) {
$appConfig = Zend\Stdlib\ArrayUtils::merge($appConfig, include 'config/development.config.php');
}
Application::init($appConfig)->run();

View File

@ -1,18 +0,0 @@
#!/bin/bash
checkout_if_exists() {
if [ -d $1 ]; then
pushd $1 >/dev/null
git checkout $2
popd >/dev/null
fi
}
checkout_if_exists . $1
checkout_if_exists module/MonarcCore $1
checkout_if_exists module/MonarcBO $1
checkout_if_exists module/MonarcFO $1
checkout_if_exists node_modules/ng_backoffice $1
checkout_if_exists node_modules/ng_client $1
checkout_if_exists node_modules/ng_anr $1

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# Usage: ./scripts/client-upgrade-db.sh <module> <hostname> <user> <password> <db> # Usage: ./scripts/client-upgrade-db.sh <module> <hostname> <user> <password> <db>
# Example: ./scripts/client-upgrade-db.sh MonarcBO localhost root derp monarc_backoffice # Example: ./scripts/client-upgrade-db.sh Monarc/BackOffice localhost root derp monarc_backoffice
MODULE=$1 MODULE=$1
SQLHOST=$2 SQLHOST=$2
@ -11,20 +11,20 @@ SQLBASE=$5
path="" path=""
case $MODULE in case $MODULE in
"MonarcCore"|"core") "Monarc/Core"|"core")
path="module/MonarcCore" path="module/Monarc/Core"
if [ ! -d $path ]; then if [ ! -d $path ]; then
path="vendor/monarc/core" path="vendor/monarc/core"
fi fi
;; ;;
"MonarcFO"|"frontoffice") "Monarc/FrontOffice"|"frontoffice")
path="module/MonarcFO" path="module/Monarc/FrontOffice"
if [ ! -d $path ]; then if [ ! -d $path ]; then
path="vendor/monarc/frontoffice" path="vendor/monarc/frontoffice"
fi fi
;; ;;
"MonarcBO"|"backoffice") "Monarc/BackOffice"|"backoffice")
path="module/MonarcBO" path="module/Monarc/BackOffice"
if [ ! -d $path ]; then if [ ! -d $path ]; then
path="vendor/monarc/backoffice" path="vendor/monarc/backoffice"
fi fi

View File

@ -1,27 +1,12 @@
#!/bin/bash #!/bin/bash
if [ -d node_modules/ng_backoffice ]; then pushd node_modules/ng_client
pushd node_modules/ng_backoffice grunt compile_translations
grunt compile_translations grunt concat
grunt concat
if [ -d po ]; then if [ -d po ]; then
for i in $(ls po/*\.po); do for i in $(ls po/*\.po); do
l=$(basename $i .po) l=$(basename $i .po)
msgfmt -o ./po/$l.mo -v ./po/$l.po msgfmt -o ./po/$l.mo -v ./po/$l.po
done; done;
fi
fi
if [ -d node_modules/ng_client ]; then
pushd node_modules/ng_client
grunt compile_translations
grunt concat
if [ -d po ]; then
for i in $(ls po/*\.po); do
l=$(basename $i .po)
msgfmt -o ./po/$l.mo -v ./po/$l.po
done;
fi
fi fi

View File

@ -1,22 +1,9 @@
#!/bin/bash #!/bin/bash
if [ -d node_modules/ng_backoffice ]; then pushd node_modules/ng_client
pushd node_modules/ng_backoffice
if [ -f node_modules/.bin/grunt ]; then if [ -f node_modules/.bin/grunt ]; then
node_modules/.bin/grunt extract_translations node_modules/.bin/grunt extract_translations
else else
grunt extract_translations grunt extract_translations
fi
fi
if [ -d node_modules/ng_client ]; then
pushd node_modules/ng_client
if [ -f node_modules/.bin/grunt ]; then
node_modules/.bin/grunt extract_translations
else
grunt extract_translations
fi
fi fi

View File

@ -1,13 +0,0 @@
# ./get_deliverable.sh <token> <anr_id> <model_id>
clear
echo "======"
echo http://monarcfo/api/client-anr/$2/deliverable?model=$3
echo "======"
curl -H "Token: $1" http://monarcfo/api/client-anr/$2/deliverable?model=$3 > /tmp/exported.docx 2>/dev/null
if grep "errors" /tmp/exported.docx; then
cat /tmp/exported.docx
fi
echo ""

View File

@ -37,68 +37,31 @@ else
find -L public/img -type l -exec rm {} \; find -L public/img -type l -exec rm {} \;
fi fi
# Link modules resources # Link modules resources. TODO: Replace with Grunt tasks to minify the JS and CSS.
if [ -d node_modules/ng_backoffice ]; then cd public/views/ && find ../../node_modules/ng_client/views -name "*.html" -exec ln -s {} \; 2>/dev/null
cd public/views/ && find ../../node_modules/ng_backoffice/views -maxdepth 1 -name "*.html" -exec ln -s {} \; 2>/dev/null cd dialogs/ && find ../../../node_modules/ng_client/views/dialogs -maxdepth 1 -name "*.html" -exec ln -s {} \; 2>/dev/null
cd dialogs/ && find ../../../node_modules/ng_backoffice/views/dialogs -maxdepth 1 -name "*.html" -exec ln -s {} \; 2>/dev/null cd ../../js/ && find ../../node_modules/ng_client/src -name "*" -exec ln -s {} \; 2>/dev/null
cd ../partials/ && find ../../../node_modules/ng_backoffice/views/partials -maxdepth 1 -name "*.html" -exec ln -s {} \; 2>/dev/null cd ../css/ && find ../../node_modules/ng_client/css -name "*" -exec ln -s {} \; 2>/dev/null
cd ../../js/ && find ../../node_modules/ng_backoffice/src -maxdepth 1 -name "*" -exec ln -s {} \; 2>/dev/null cd ../img/ && find ../../node_modules/ng_client/img -name "*" -exec ln -s {} \; 2>/dev/null
cd ../css/ && find ../../node_modules/ng_backoffice/css -name "*" -exec ln -s {} \; 2>/dev/null cd ../flags/ && find ../../node_modules/ng_client/node_modules/ng-country-flags/dist/flags -mindepth 1 -type d -exec ln -s {} \; 2>/dev/null
cd ../img/ && find ../../node_modules/ng_backoffice/img -name "*" -exec ln -s {} \; 2>/dev/null
cd ../flags/ && find ../../node_modules/ng_backoffice/node_modules/ng-country-flags/dist/flags -mindepth 1 -type d -exec ln -s {} \; 2>/dev/null
if [ -d ../../node_modules/ng_anr ]; then cd ../js/
cd ../js/ mkdir -p anr
mkdir -p anr cd anr && find ../../../node_modules/ng_anr/src -type f -maxdepth 1 -name "*" -exec ln -s {} \; 2>/dev/null
cd anr && find ../../../node_modules/ng_anr/src -type f -maxdepth 1 -name "*" -exec ln -s {} \; 2>/dev/null cd ..
cd ..
cd ../views/ cd ../views/
mkdir -p anr mkdir -p anr
cd anr && find ../../../node_modules/ng_anr/views -type f -maxdepth 1 -name "*" -exec ln -s {} \; 2>/dev/null cd anr && find ../../../node_modules/ng_anr/views -type f -maxdepth 1 -name "*" -exec ln -s {} \; 2>/dev/null
cd .. cd ..
cd ../css/ cd ../css/
mkdir -p anr mkdir -p anr
cd anr && find ../../../node_modules/ng_anr/css -type f -maxdepth 1 -name "*" -exec ln -s {} \; 2>/dev/null cd anr && find ../../../node_modules/ng_anr/css -type f -maxdepth 1 -name "*" -exec ln -s {} \; 2>/dev/null
cd .. cd ..
fi
cd ../.. cd ../..
pushd node_modules/ng_backoffice pushd node_modules/ng_client
grunt concat grunt concat
popd popd
fi
if [ -d node_modules/ng_client ]; then
cd public/views/ && find ../../node_modules/ng_client/views -name "*.html" -exec ln -s {} \; 2>/dev/null
cd dialogs/ && find ../../../node_modules/ng_client/views/dialogs -maxdepth 1 -name "*.html" -exec ln -s {} \; 2>/dev/null
cd ../../js/ && find ../../node_modules/ng_client/src -name "*" -exec ln -s {} \; 2>/dev/null
cd ../css/ && find ../../node_modules/ng_client/css -name "*" -exec ln -s {} \; 2>/dev/null
cd ../img/ && find ../../node_modules/ng_client/img -name "*" -exec ln -s {} \; 2>/dev/null
cd ../flags/ && find ../../node_modules/ng_client/node_modules/ng-country-flags/dist/flags -mindepth 1 -type d -exec ln -s {} \; 2>/dev/null
if [ -d ../../node_modules/ng_anr ]; then
cd ../js/
mkdir -p anr
cd anr && find ../../../node_modules/ng_anr/src -type f -maxdepth 1 -name "*" -exec ln -s {} \; 2>/dev/null
cd ..
cd ../views/
mkdir -p anr
cd anr && find ../../../node_modules/ng_anr/views -type f -maxdepth 1 -name "*" -exec ln -s {} \; 2>/dev/null
cd ..
cd ../css/
mkdir -p anr
cd anr && find ../../../node_modules/ng_anr/css -type f -maxdepth 1 -name "*" -exec ln -s {} \; 2>/dev/null
cd ..
fi
cd ../..
pushd node_modules/ng_client
grunt concat
popd
fi

View File

@ -1,12 +0,0 @@
#!/bin/bash
npm install
cd node_modules/ng_backoffice
npm install
cd ../..
# Compile stuff needed for the minified frontend
./scripts/compile_translations.sh
./scripts/link_modules_resources.sh

View File

@ -1,14 +1,5 @@
#!/bin/bash #!/bin/bash
if [ -d module/MonarcCore ]; then php ./vendor/robmorgan/phinx/bin/phinx seed:run -c ./module/Monarc/Core/migrations/phinx.php
php ./vendor/robmorgan/phinx/bin/phinx seed:run -c ./module/MonarcCore/migrations/phinx.php
fi
if [ -d module/MonarcBO ]; then
php ./vendor/robmorgan/phinx/bin/phinx seed:run -c ./module/MonarcBO/migrations/phinx.php
fi
if [ -d module/MonarcFO ]; then
php ./vendor/robmorgan/phinx/bin/phinx seed:run -c ./module/MonarcFO/migrations/phinx.php
fi
php ./vendor/robmorgan/phinx/bin/phinx seed:run -c ./module/Monarc/FrontOffice/migrations/phinx.php

View File

@ -1,5 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m' # No Color
bypass=0 bypass=0
forceClearCache=0 forceClearCache=0
while getopts "hbc" option while getopts "hbc" option
@ -31,14 +35,8 @@ pull_if_exists() {
} }
migrate_module() { migrate_module() {
if [[ -d $2 ]]; then if [[ -d $1 ]]; then
$1 ./vendor/robmorgan/phinx/bin/phinx migrate -c ./$2/migrations/phinx.php php ./vendor/robmorgan/phinx/bin/phinx migrate -c ./$1/migrations/phinx.php
if [[ -d "${2}/hooks" && -f "${2}/.git/hooks/pre-commit.sh" ]]; then
cd $2/.git/hooks
ln -s ../../hooks/pre-commit.sh pre-commit 2>/dev/null
chmod u+x pre-commit
cd $2
fi
fi fi
} }
@ -47,70 +45,35 @@ if [[ ! -f "config/autoload/local.php" && $bypass -eq 0 ]]; then
exit 1 exit 1
fi fi
phpcommand=`command -v php` git pull
if [[ -z "$phpcommand" ]]; then
echo "PHP must be installed"
exit 1
fi
gitcommand=`command -v git`
if [[ -z "$gitcommand" ]]; then
echo "Git must be installed"
exit 1
fi
$gitcommand pull
if [ $? != 0 ]; then if [ $? != 0 ]; then
echo "A problem occurred while retrieving remote files from repository." echo "A problem occurred while retrieving remote files from repository."
exit 1 exit 1
fi fi
composercommand=`command -v composer` composer install -o
if [[ -z "$composercommand" ]]; then
if [[ ! -f "composer.phar" ]]; then
# https://getcomposer.org/download/
# https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md
EXPECTED_SIGNATURE=$(wget -q -O - https://composer.github.io/installer.sig)
$phpcommand -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
ACTUAL_SIGNATURE=$($phpcommand -r "echo hash_file('SHA384', 'composer-setup.php');")
if [[ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ]]; then
echo "Error download composer (different hash)"
rm composer-setup.php
exit 1
fi
rm composer-setup.php
$phpcommand composer-setup.php --quiet
fi
$phpcommand composer.phar update -o
else
$composercommand update -o
fi
pathCore="module/Monarc/Core"
pathFO="module/Monarc/FrontOffice"
currentPath=`pwd` if [[ $bypass -eq 0 ]]; then
pathCore="module/MonarcCore" if [ -e data/backup/credentialsmysql.cnf ]; then
if [ -d $pathCore ]; then backupdir=data/backup/$(date +"%Y%m%d_%H%M%S")
pull_if_exists $pathCore mkdir $backupdir
else echo -e "${GREEN}Dumping database to $backupdir...${NC}"
pathCore="vendor/monarc/core" mysqldump --defaults-file=data/backup/credentialsmysql.cnf --databases monarc_common > $backupdir/dump-common.sql
fi mysqldump --defaults-file=data/backup/credentialsmysql.cnf --databases monarc_cli > $backupdir/dump-cli.sql
pathBO="module/MonarcBO" else
if [ -d $pathBO ]; then echo -e "${GREEN}Database backup not configured. Skipping.${NC}"
pull_if_exists $pathBO fi
else
pathBO="vendor/monarc/backoffice" migrate_module $pathCore
fi migrate_module $pathFO
pathFO="module/MonarcFO"
if [ -d $pathFO ]; then
pull_if_exists $pathFO
else
pathFO="vendor/monarc/frontoffice"
fi fi
if [[ -d node_modules && -d node_modules/ng_anr ]]; then if [[ -d node_modules && -d node_modules/ng_anr ]]; then
if [[ -d node_modules/ng_anr/.git ]]; then if [[ -d node_modules/ng_anr/.git ]]; then
pull_if_exists node_modules/ng_backoffice
pull_if_exists node_modules/ng_client pull_if_exists node_modules/ng_client
pull_if_exists node_modules/ng_anr pull_if_exists node_modules/ng_anr
else else
@ -120,43 +83,19 @@ else
npm install npm install
fi fi
if [[ $bypass -eq 0 ]]; then cd node_modules/ng_client
if [ -e data/backup/credentialsmysql.cnf ]; then npm install
backupdir=data/backup/$(date +"%Y%m%d_%H%M%S") cd ../..
mkdir $backupdir
echo -e "\e[32mDumping database to $backupdir...\e[0m"
mysqldump --defaults-file=data/backup/credentialsmysql.cnf --databases monarc_common > $backupdir/dump-common.sql
mysqldump --defaults-file=data/backup/credentialsmysql.cnf --databases monarc_cli > $backupdir/dump-cli.sql
else
echo -e "\e[93mDatabase backup not configured. Skipping.\e[0m"
fi
migrate_module $phpcommand $pathCore
migrate_module $phpcommand $pathBO
migrate_module $phpcommand $pathFO
fi
if [ -d node_modules/ng_backoffice ]; then
cd node_modules/ng_backoffice
npm install
cd ../..
fi
if [ -d node_modules/ng_client ]; then
cd node_modules/ng_client
npm install
cd ../..
fi
./scripts/link_modules_resources.sh ./scripts/link_modules_resources.sh
./scripts/compile_translations.sh ./scripts/compile_translations.sh
if [[ $forceClearCache -eq 1 ]]; then if [[ $forceClearCache -eq 1 ]]; then
# Clear doctrine cache # Clear doctrine cache
# Move to MonarcCore Module.php # Move to Monarc/Core Module.php
$phpcommand ./public/index.php orm:clear-cache:metadata php ./public/index.php orm:clear-cache:metadata
$phpcommand ./public/index.php orm:clear-cache:query php ./public/index.php orm:clear-cache:query
$phpcommand ./public/index.php orm:clear-cache:result php ./public/index.php orm:clear-cache:result
# Clear ZF2 cache # Clear ZF2 cache
touch ./data/cache/upgrade && chmod 777 ./data/cache/upgrade touch ./data/cache/upgrade && chmod 777 ./data/cache/upgrade
@ -166,3 +105,5 @@ if [[ $forceClearCache -eq 0 && $bypass -eq 0 ]]; then
# Clear ZF2 cache # Clear ZF2 cache
touch ./data/cache/upgrade && chmod 777 ./data/cache/upgrade touch ./data/cache/upgrade && chmod 777 ./data/cache/upgrade
fi fi
exit 0

View File

@ -1,11 +1,5 @@
#!/bin/bash #!/bin/bash
php ./vendor/robmorgan/phinx/bin/phinx migrate -c ./module/MonarcCore/migrations/phinx.php php ./vendor/robmorgan/phinx/bin/phinx migrate -c ./module/Monarc/Core/migrations/phinx.php
if [ -d module/MonarcBO ]; then php ./vendor/robmorgan/phinx/bin/phinx migrate -c ./module/Monarc/FrontOffice/migrations/phinx.php
php ./vendor/robmorgan/phinx/bin/phinx migrate -c ./module/MonarcBO/migrations/phinx.php
fi
if [ -d module/MonarcFO ]; then
php ./vendor/robmorgan/phinx/bin/phinx migrate -c ./module/MonarcFO/migrations/phinx.php
fi

View File

@ -1,19 +0,0 @@
#!/bin/bash
oldurl_if_exists() {
if [ -d $1 ]; then
pushd $1 >/dev/null
sed -i -e 's/CASES-LU/monarc-project/g' ./.git/config $2
git config core.fileMode false
popd >/dev/nul
fi
}
oldurl_if_exists . $1
oldurl_if_exists module/MonarcCore $1
oldurl_if_exists module/MonarcBO $1
oldurl_if_exists module/MonarcFO $1
oldurl_if_exists node_modules/ng_backoffice $1
oldurl_if_exists node_modules/ng_client $1
oldurl_if_exists node_modules/ng_anr $1

View File

@ -26,7 +26,6 @@ MONARC will be automatically deployed in an Ubuntu Bionic Server.
$ git clone https://github.com/monarc-project/MonarcAppFO $ git clone https://github.com/monarc-project/MonarcAppFO
$ cd MonarcAppFO/vagrant $ cd MonarcAppFO/vagrant
$ export GITHUB_AUTH_TOKEN=<your-github-auth-token>
$ vagrant up $ vagrant up
Once the VM will be configured by Vagrant, go to the address Once the VM will be configured by Vagrant, go to the address

3
vagrant/Vagrantfile vendored
View File

@ -11,7 +11,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Every Vagrant virtual environment requires a box to build off of. # Every Vagrant virtual environment requires a box to build off of.
config.vm.box = "ubuntu/bionic64" config.vm.box = "ubuntu/bionic64"
config.vm.provision :shell, path: "bootstrap.sh", args: "#{ENV['GITHUB_AUTH_TOKEN']}" config.vm.provision :shell, path: "bootstrap.sh"
# Disable automatic box update checking. If you disable this, then # Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs # boxes will only be checked for updates when the user runs
@ -22,6 +22,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# within the machine from a port on the host machine. In the example below, # within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine. # accessing "localhost:8080" will access port 80 on the guest machine.
config.vm.network :forwarded_port, guest: 80, host: 5001 config.vm.network :forwarded_port, guest: 80, host: 5001
config.vm.network :forwarded_port, guest: 3306, host: 3306
# Create a private network, which allows host-only access to the machine # Create a private network, which allows host-only access to the machine
# using a specific IP. # using a specific IP.

View File

@ -1,20 +1,17 @@
#! /usr/bin/env bash #! /usr/bin/env bash
# Variables
GITHUB_AUTH_TOKEN=$1
TAG=''
PATH_TO_MONARC='/home/ubuntu/monarc' PATH_TO_MONARC='/home/ubuntu/monarc'
ENVIRONMENT='PRODUCTION'
APPENV='local'
ENVIRONMENT='development'
DBHOST='localhost' DBHOST='localhost'
DBNAME_COMMON='monarc_common' DBNAME_COMMON='monarc_common'
DBNAME_CLI='monarc_cli' DBNAME_CLI='monarc_cli'
DBUSER_ADMIN='root' DBUSER_ADMIN='root'
DBPASSWORD_ADMIN="$(openssl rand -hex 32)" DBPASSWORD_ADMIN="root"
DBUSER_MONARC='sqlmonarcuser' DBUSER_MONARC='sqlmonarcuser'
DBPASSWORD_MONARC="$(openssl rand -hex 32)" DBPASSWORD_MONARC="sqlmonarcuser"
upload_max_filesize=200M upload_max_filesize=200M
post_max_size=50M post_max_size=50M
@ -22,6 +19,8 @@ max_execution_time=100
max_input_time=223 max_input_time=223
memory_limit=512M memory_limit=512M
PHP_INI=/etc/php/7.2/apache2/php.ini PHP_INI=/etc/php/7.2/apache2/php.ini
X_DEBUG_CFG=/etc/php/7.2/apache2/conf.d/20-xdebug.ini
MARIA_DB_CFG=/etc/mysql/mariadb.conf.d/50-server.cnf
export DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND=noninteractive
export LANGUAGE=en_US.UTF-8 export LANGUAGE=en_US.UTF-8
@ -30,17 +29,17 @@ 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"
apt-get update apt-get update && apt-get upgrade
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_again password $DBPASSWORD_ADMIN" | debconf-set-selections
apt-get -y install mariadb-server mariadb-client > /dev/null apt-get -y install mariadb-server mariadb-client > /dev/null
# Secure the MariaDB installation (especially by setting a strong root password) # Secure the MariaDB installation (especially by setting a strong root password)
systemctl restart mariadb.service > /dev/null systemctl restart mariadb.service > /dev/null
@ -68,10 +67,20 @@ expect -f - <<-EOF
send -- "y\r" send -- "y\r"
expect eof expect eof
EOF EOF
sudo apt-get purge -y expect > /dev/null 2>&1 sudo apt-get purge -y expect php-xdebug > /dev/null 2>&1
echo -e "\n--- Configuring… ---\n"
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
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;"
systemctl restart mariadb.service > /dev/null
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 > /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
echo -e "\n--- Configuring PHP… ---\n" echo -e "\n--- Configuring PHP… ---\n"
for key in upload_max_filesize post_max_size max_execution_time max_input_time memory_limit for key in upload_max_filesize post_max_size max_execution_time max_input_time memory_limit
@ -79,6 +88,14 @@ 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 Xdebug for development ---\n"
cat > $X_DEBUG_CFG <<EOF
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_connect_back=1
xdebug.idekey=IDEKEY
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
@ -87,14 +104,6 @@ a2enmod headers > /dev/null 2>&1
echo -e "\n--- Allowing Apache override to all ---\n" 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"
#sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/7.0/apache2/php.ini
#sed -i "s/display_errors = .*/display_errors = On/" /etc/php/7.0/apache2/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
@ -107,45 +116,34 @@ 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
if [ "$TAG" != '' ]; then
# Checkout the latest tag
#latestTag=$(git describe --tags `git rev-list --tags --max-count=1`)
git checkout $TAG
fi
echo -e "\n--- Retrieving MONARC libraries… ---\n" echo -e "\n--- Installing the dependencies… ---\n"
composer config -g github-oauth.github.com $GITHUB_AUTH_TOKEN
composer install -o composer install -o
# Modules
mkdir module # Make modules symlinks.
cd module mkdir -p module/Monarc
ln -s ./../vendor/monarc/core MonarcCore cd module/Monarc
ln -s ./../vendor/monarc/frontoffice MonarcFO ln -s ./../../vendor/monarc/core Core
cd $PATH_TO_MONARC ln -s ./../../vendor/monarc/frontoffice FrontOffice
cd module/MonarcFO/
git config core.fileMode false
cd $PATH_TO_MONARC
cd module/MonarcCore/
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
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo "\nERROR: unable to clone the ng-client repository\n" echo "\nERROR: unable to clone the ng-client repository\n"
exit 1; exit 1;
fi fi
git clone --config core.filemode=false https://github.com/monarc-project/ng-anr.git ng_anr > /dev/null 2>&1 git clone --config core.fileMode=false https://github.com/monarc-project/ng-anr.git ng_anr > /dev/null 2>&1
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo "\nERROR: unable to clone the ng-anr repository\n" echo "\nERROR: unable to clone the ng-anr repository\n"
exit 1; exit 1;
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
@ -170,7 +168,7 @@ cat > /etc/apache2/sites-enabled/000-default.conf <<EOF
Header always set X-Frame-Options SAMEORIGIN Header always set X-Frame-Options SAMEORIGIN
</IfModule> </IfModule>
SetEnv APPLICATION_ENV $ENVIRONMENT SetEnv APP_ENV $ENVIRONMENT
SetEnv APP_DIR $PATH_TO_MONARC SetEnv APP_DIR $PATH_TO_MONARC
</VirtualHost> </VirtualHost>
EOF EOF
@ -178,7 +176,9 @@ 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 database connection ---\n"
cat > config/autoload/local.php <<EOF cat > config/autoload/local.php <<EOF
<?php <?php
\$appdir = getenv('APP_DIR') ? getenv('APP_DIR') : '$PATH_TO_MONARC'; \$appdir = getenv('APP_DIR') ? getenv('APP_DIR') : '$PATH_TO_MONARC';
@ -256,21 +256,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 ./bin/phinx seed:run -c ./module/Monarc/FrontOffice/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"