diff --git a/INSTALL/INSTALL.ubuntu1604.md b/INSTALL/INSTALL.ubuntu1604.md index 5c7a3c4..4789206 100644 --- a/INSTALL/INSTALL.ubuntu1604.md +++ b/INSTALL/INSTALL.ubuntu1604.md @@ -5,30 +5,30 @@ Installation on Ubuntu 16.04 ## 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. ## Install MariaDB - sudo apt-get install mariadb-client mariadb-server + $ sudo apt-get install mariadb-client mariadb-server # Secure the MariaDB installation - sudo mysql_secure_installation + $ sudo mysql_secure_installation Especially by setting a strong root password. ## 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 - sudo a2dismod status - sudo a2enmod ssl - sudo a2enmod rewrite - sudo a2enmod headers + $ sudo a2dismod status + $ sudo a2enmod ssl + $ sudo a2enmod rewrite + $ sudo a2enmod headers ## Apache Virtual Host @@ -48,11 +48,11 @@ Especially by setting a strong root password. ## 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 - 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`: - 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 - php composer.phar self-update - php composer.phar install -o + $ 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 + $ php composer.phar self-update + $ php composer.phar install -o The `self-update` directive is to ensure you have an up-to-date `composer.phar` available. @@ -81,10 +81,10 @@ 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 + $ mkdir module + $ cd module/ + $ ln -s ./../vendor/monarc/core MonarcCore + $ ln -s ./../vendor/monarc/frontoffice MonarcFO There are 2 parts: @@ -96,10 +96,10 @@ There are 2 parts: 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 + $ 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: @@ -125,14 +125,14 @@ There are 2 parts: ### Initializes the database - 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_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 + $ sudo cp ./config/autoload/local.php.dist ./config/autoload/local.php And configure the database connection: @@ -165,15 +165,15 @@ And configure the database connection: ## Install Grunt - sudo apt-get install nodejs - sudo apt-get install npm - sudo npm install -g grunt-cli - sudo ln -s /usr/bin/nodejs /usr/bin/node + $ sudo apt-get install nodejs + $ sudo apt-get install npm + $ sudo npm install -g grunt-cli + $ sudo ln -s /usr/bin/nodejs /usr/bin/node Update MONARC: - ./scripts/update-all.sh + $ ./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. @@ -181,7 +181,7 @@ 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 + $ 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*. diff --git a/INSTALL/INSTALL.ubuntu1804.md b/INSTALL/INSTALL.ubuntu1804.md new file mode 100644 index 0000000..8c938c4 --- /dev/null +++ b/INSTALL/INSTALL.ubuntu1804.md @@ -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 + + + ServerName monarc.localhost + DocumentRoot /var/lib/monarc/fo/public + + + DirectoryIndex index.php + AllowOverride All + Require all granted + + + SetEnv APPLICATION_ENV "development" + + + +## 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*. diff --git a/vagrant/README.rst b/vagrant/README.rst index a6e7c35..4951b4b 100644 --- a/vagrant/README.rst +++ b/vagrant/README.rst @@ -20,7 +20,7 @@ Installation of VirtualBox and Vagrant 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 diff --git a/vagrant/bootstrap.sh b/vagrant/bootstrap.sh index 3e074f6..997f21a 100644 --- a/vagrant/bootstrap.sh +++ b/vagrant/bootstrap.sh @@ -256,8 +256,7 @@ mysql -u $DBUSER_MONARC -p$DBPASSWORD_MONARC monarc_common < db-bootstrap/monarc echo -e "\n--- Installation of Grunt… ---\n" -apt-get -y install nodejs > /dev/null -apt-get -y install npm > /dev/null +sudo apt-get -y install npm > /dev/null npm install -g grunt-cli > /dev/null