diff --git a/README.md b/README.md index a1eed19..c39dd09 100644 --- a/README.md +++ b/README.md @@ -8,26 +8,62 @@ Skeleton Monarc Project. Installation ------------ +PHP & MySQL +----------- +Install PHP (version 7.0 recommended) with Apache (or Nginx) with extensions : xml, mbstring, mysql, zip, unzip, mcrypt, intl, imagick (extension php) +For Apache add mods : rewrite, ssl (a2enmod) + +Install MySQL (version 5.7 recommended) or MariaDb equivalent + + Using Composer (recommended) ---------------------------- -The recommended way to get a working copy of this project is to clone the repository -and use `composer` to install dependencies using the `create-project` command: - - curl -s https://getcomposer.org/installer | php -- - php composer.phar create-project -sdev --repository="https://rhea.netlor.fr/monarc/skeleton/raw/master/packages.json" monarc/skeleton ./monarc Alternately, clone the repository and manually invoke `composer` using the shipped `composer.phar`: cd my/project/dir - git clone ssh://gogs@rhea.netlor.fr:2222/monarc/skeleton.git ./monarc + git clone ssh://github.com/CASES-LU/MonarcAppBO.git ./monarc cd monarc php composer.phar self-update - php composer.phar install -o + php composer.phar install -o (modifier le package.json deux errreurs passer en dev-beta le core et il y a un / en trop pour zm-core) (The `self-update` directive is to ensure you have an up-to-date `composer.phar` available.) + +Databases +--------- +Create 2 databases: + + CREATE DATABASE monarc_master; + CREATE DATABASE monarc_common; + +Change Sql Mode for each database: + + SET SESSION sql_mode = 'MYSQL40'; + SET GLOBAL sql_mode = 'MYSQL40'; + + +Symbolics links +--------------- +Create 2 symbolics links at project root: + + mkdir module + cd module + ln -s ./../vendor/monarc/core MonarcCore; + ln -s ./../vendor/monarc/backoffice MonarcBO; + +Interfaces +---------- +Repository for angular at project root: + + mkdir node_modules + cd node_modules + git clone https://github.com/CASES-LU/ng-backoffice.git ng_backoffice + git clone https://github.com/CASES-LU/ng-anr.git ng_anr + + Web Server Setup ---------------- @@ -63,7 +99,7 @@ project and you should be ready to go! It should look something like below: Database connection ------------------- -Create file `config/autoload.local.php`: +Create file `config/autoload/local.php`: return array( 'doctrine' => array( @@ -73,9 +109,60 @@ Create file `config/autoload.local.php`: 'host' => 'host', 'user' => 'user', 'password' => 'password', - 'dbname' => 'monarc', + 'dbname' => 'monarc_common', + ), + ), + 'orm_cli' => array( + 'params' => array( + 'host' => 'host', + 'user' => 'user', + 'password' => 'password', + 'dbname' => 'monarc_master', ), ), ), ), ); + + +Configuration +------------- + +Create file configuration + + sudo cp /config/autoload/local.php.dist /config/autoload/local.php + +Update connexion information to local.php and global.php + +Configuration files are stored in cache. +If yours changes have not been considered, empty cache by deleting file in /data/cache + +Install Grunt +------------- + + sudo apt-get install nodejs + sudo apt-get install npm + sudo npm install -g grunt-cli + +Only for linux system: + + sudo ln -s /usr/bin/nodejs /usr/bin/node (seulement linux) + +Update project +-------------- +Play script (mandatory from the root of the project)(pull and migrations): + + sudo /bin/bash ./scripts/update-all.sh + +This shell script use others shell script. May be you node to change rights of these others files + +Create Initial User +------------------- + +Modify email and password (firstname or lastname) of first user in /module/MonarcFO/migrations/seeds/adminUserInit.php + +If you have a mail server, you can keep default password and click on "Password forgotten ?" after user creation. + +Create first user: + + php ./vendor/robmorgan/phinx/bin/phinx seed:run -c ./module/MonarcBO/migrations/phinx.php \ No newline at end of file diff --git a/config/autoload/global.php b/config/autoload/global.php index 39d5722..85ac35a 100755 --- a/config/autoload/global.php +++ b/config/autoload/global.php @@ -15,6 +15,7 @@ return array( 'service_manager' => array( 'factories' => array( 'doctrine.cache.mycache' => 'MonarcCore\Service\DoctrineCacheServiceFactory', + 'doctrine.monarc_logger' => 'MonarcCore\Service\DoctrineLoggerFactory', ), ), 'doctrine' => array( @@ -22,13 +23,15 @@ return array( 'orm_default' => array( 'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver', 'params' => array( - 'host' => 'localhost', + 'host' => '127.0.0.1', 'port' => 3306, - 'user' => 'user', + 'user' => 'root', 'password' => '', 'dbname' => 'monarc_common', 'charset' => 'utf8', 'driverOptions' => array( + PDO::ATTR_STRINGIFY_FETCHES => false, + PDO::ATTR_EMULATE_PREPARES => false, PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8', ), ), @@ -36,13 +39,15 @@ return array( 'orm_cli' => array( 'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver', 'params' => array( - 'host' => 'localhost', + 'host' => '127.0.0.1', 'port' => 3306, 'user' => 'root', 'password' => '', 'dbname' => 'monarc_cli', 'charset' => 'utf8', 'driverOptions' => array( + PDO::ATTR_STRINGIFY_FETCHES => false, + PDO::ATTR_EMULATE_PREPARES => false, PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8', ), ), @@ -88,6 +93,7 @@ return array( 'string_functions' => array(), 'numeric_functions' => array(), 'second_level_cache' => array(), + 'sql_logger' => 'doctrine.monarc_logger', ), 'orm_cli' => array( 'metadata_cache' => 'mycache', @@ -102,6 +108,7 @@ return array( 'string_functions' => array(), 'numeric_functions' => array(), 'second_level_cache' => array(), + 'sql_logger' => 'doctrine.monarc_logger', ), ), ),