Added new instructions for an installation on Ubuntu Bionic (18.04)

ldap
Cédric Bonhomme 2018-10-02 10:14:48 +02:00
parent 467c7690bc
commit 32a024ed0d
No known key found for this signature in database
GPG Key ID: A1CB94DE57B7A70D
4 changed files with 218 additions and 37 deletions

View File

@ -5,30 +5,30 @@ Installation on Ubuntu 16.04
## Install the dependencies ## Install the dependencies
sudo apt-get install vim zip unzip git gettext curl net-tools gsfonts curl $ sudo apt-get install vim zip unzip git gettext curl net-tools gsfonts curl
Some might already be installed. Some might already be installed.
## Install MariaDB ## 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 ## Install Apache2
sudo apt-get install apache2 apache2-doc apache2-utils $ sudo apt-get install apache2 apache2-doc apache2-utils
## 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
@ -48,11 +48,11 @@ Especially by setting a strong root password.
## Install PHP and dependencies ## Install PHP and dependencies
sudo apt-get install php apache2 libapache2-mod-php php-curl php-gd php-mcrypt 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-mcrypt php-mysql php-pear php-apcu php-xml php-mbstring php-intl php-imagick php-zip
## Apply all changes ## Apply all changes
sudo systemctl restart apache2.service $ sudo systemctl restart apache2.service
@ -62,13 +62,13 @@ Especially by setting a strong root password.
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/ $ cd /var/lib/monarc/
git clone https://github.com/monarc-project/MonarcAppFO.git fo $ git clone https://github.com/monarc-project/MonarcAppFO.git fo
cd fo/ $ cd fo/
chown -R www-data data $ chown -R www-data data
chmod -R g+w data $ chmod -R g+w data
php composer.phar self-update $ php composer.phar self-update
php composer.phar install -o $ php composer.phar install -o
The `self-update` directive is to ensure you have an up-to-date `composer.phar` The `self-update` directive is to ensure you have an up-to-date `composer.phar`
available. available.
@ -81,10 +81,10 @@ You must create modules with symbolic links to libraries.
Create two symbolic links: Create two symbolic links:
mkdir module $ mkdir module
cd module/ $ cd module/
ln -s ./../vendor/monarc/core MonarcCore $ ln -s ./../vendor/monarc/core MonarcCore
ln -s ./../vendor/monarc/frontoffice MonarcFO $ ln -s ./../vendor/monarc/frontoffice MonarcFO
There are 2 parts: There are 2 parts:
@ -96,10 +96,10 @@ There are 2 parts:
The frontend is an AngularJS application. The frontend is an AngularJS application.
mkdir node_modules $ mkdir node_modules
cd 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-client.git ng_client
git clone https://github.com/monarc-project/ng-anr.git ng_anr $ git clone https://github.com/monarc-project/ng-anr.git ng_anr
There are 2 parts: There are 2 parts:
@ -125,14 +125,14 @@ There are 2 parts:
### Initializes the database ### Initializes the database
mysql -u user monarc_common < db-bootstrap/monarc_structure.sql $ mysql -u user monarc_common < db-bootstrap/monarc_structure.sql
mysql -u user monarc_common < db-bootstrap/monarc_data.sql $ mysql -u user monarc_common < db-bootstrap/monarc_data.sql
### Database connection ### Database connection
Create the configuration file: Create the configuration file:
sudo cp ./config/autoload/local.php.dist ./config/autoload/local.php $ sudo cp ./config/autoload/local.php.dist ./config/autoload/local.php
And configure the database connection: And configure the database connection:
@ -165,15 +165,15 @@ And configure the database connection:
## Install Grunt ## Install Grunt
sudo apt-get install nodejs $ sudo apt-get install nodejs
sudo apt-get install npm $ sudo apt-get install npm
sudo npm install -g grunt-cli $ sudo npm install -g grunt-cli
sudo ln -s /usr/bin/nodejs /usr/bin/node $ sudo ln -s /usr/bin/nodejs /usr/bin/node
Update MONARC: Update MONARC:
./scripts/update-all.sh $ ./scripts/update-all.sh
This script will retrieve the updates from the last stable release of MONARC, This script will retrieve the updates from the last stable release of MONARC,
execute the database migration scripts and compile the translations. execute the database migration scripts and compile the translations.
@ -181,7 +181,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/MonarcFO/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

@ -0,0 +1,182 @@
Installation on Ubuntu 16.04
============================
# 1. Install LAMP & dependencies
## Install the dependencies
$ sudo apt-get install vim zip unzip git gettext curl
Some might already be installed.
## Install MariaDB
$ sudo apt-get install mariadb-client mariadb-server
# Secure the MariaDB installation
$ sudo mysql_secure_installation
Especially by setting a strong root password.
## 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 *:80>
ServerName monarc.localhost
DocumentRoot /var/lib/monarc/fo/public
<Directory /var/lib/monarc/fo/public>
DirectoryIndex index.php
AllowOverride All
Require all granted
</Directory>
SetEnv APPLICATION_ENV "development"
</VirtualHost>
## 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
## Apply all changes
$ sudo systemctl restart apache2.service
# 2. Installation of MONARC
## MONARC code
Clone the repository and invoke `composer` using the shipped `composer.phar`:
$ cd /var/lib/monarc/
$ git clone https://github.com/monarc-project/MonarcAppFO.git fo
$ cd fo/
$ chown -R www-data data
$ chmod -R g+w data
$ sudo composer self-update
$ composer install -o
The `self-update` directive is to ensure you have an up-to-date `composer.phar`
available.
### Backend
The backend is not directly modules of the project but libraries.
You must create modules with symbolic links to libraries.
Create two symbolic links:
$ mkdir module
$ cd module/
$ ln -s ./../vendor/monarc/core MonarcCore
$ ln -s ./../vendor/monarc/frontoffice MonarcFO
There are 2 parts:
* MonarcFO is only for front office;
* MonarcCore is common to the front office and to the back office.
### Frontend
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 front office: ng_client;
* one common for front office and back office: ng_anr.
## Databases
### Create 2 databases
In your MariaDB interpreter:
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;
* 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' => 'host',
'user' => 'user',
'password' => 'password',
'dbname' => 'monarc_common',
),
),
'orm_cli' => array(
'params' => array(
'host' => 'host',
'user' => 'user',
'password' => 'password',
'dbname' => 'monarc_cli',
),
),
),
),
);
# Update MONARC
## Install Grunt
$ sudo apt-get -y install npm
$ npm install -g grunt-cli
Update MONARC:
$ ./scripts/update-all.sh
This script will retrieve the updates from the last stable release of MONARC,
execute the database migration scripts and compile the translations.
# Create initial user
$ php ./vendor/robmorgan/phinx/bin/phinx seed:run -c ./module/MonarcFO/migrations/phinx.php
The username is *admin@admin.test* and the password is *admin*.

View File

@ -20,7 +20,7 @@ Installation of VirtualBox and Vagrant
Deployment of the front office Deployment of the front office
------------------------------ ------------------------------
MONARC will be automatically deployed in an Ubuntu Artful Server. MONARC will be automatically deployed in an Ubuntu Bionic Server.
.. code-block:: bash .. code-block:: bash

View File

@ -256,8 +256,7 @@ mysql -u $DBUSER_MONARC -p$DBPASSWORD_MONARC monarc_common < db-bootstrap/monarc
echo -e "\n--- Installation of Grunt… ---\n" echo -e "\n--- Installation of Grunt… ---\n"
apt-get -y install nodejs > /dev/null sudo apt-get -y install npm > /dev/null
apt-get -y install npm > /dev/null
npm install -g grunt-cli > /dev/null npm install -g grunt-cli > /dev/null