# HG changeset patch # User ymh # Date 1479476929 -3600 # Node ID 76a47f714766d6fe9687631443a32aca08d53b67 # Parent 695111d1eec9195239d8389b05e79eb2eb46e4c6 add memcached configuration option, small corrections for the build process and add installDrupal.sh file to the release diff -r 695111d1eec9 -r 76a47f714766 build/build_rpm_puppet.sh --- a/build/build_rpm_puppet.sh Tue Nov 15 23:35:59 2016 +0100 +++ b/build/build_rpm_puppet.sh Fri Nov 18 14:48:49 2016 +0100 @@ -30,6 +30,7 @@ echo "---> Packaging for puppet done" echo "---> Copy puppet bootstrap" cp /vagrant/root-puppet/var/lib/puppet/provision/bootstrap-puppet.sh . +cp /vagrant/drupal/installDrupal.sh . popd > /dev/null diff -r 695111d1eec9 -r 76a47f714766 build/drupal/installDrupal.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/build/drupal/installDrupal.sh Fri Nov 18 14:48:49 2016 +0100 @@ -0,0 +1,122 @@ +#!/bin/sh +# +clear +TARFILE=sources.tar.gz +DUMP=corpusdelaparole.sql +APUSER=apache +APGROUP=apache +# Variables de configuration à modifier selon vos besoins +######################################################### +ROOT=/var/www/corpusdelaparole/drupal +DBNAME=corpusdelaparole +DBUSER=corpus +DBPASS=aeTh3ohC +DBSERV=127.0.0.1 +PHP=/opt/remi/php56/root/usr/bin/php +######################################################### +splashTitle() { +cat <<"EOT" + __ _ _____ _ _____ _ + / _(_) | __ \ | | / ____| | | + __ _| |_ _ | | | |_ __ _ _ _ __ __ _| | | (___ ___| |_ _ _ _ __ + / _` | _| | | | | | '__| | | | '_ \ / _` | | \___ \ / _ \ __| | | | '_ \ + | (_| | | | | | |__| | | | |_| | |_) | (_| | | ____) | __/ |_| |_| | |_) | + \__, |_| |_| |_____/|_| \__,_| .__/ \__,_|_| |_____/ \___|\__|\__,_| .__/ + __/ | | | | | + |___/ |_| |_| + +EOT +} + +splashTitle +echo "--------------------------- PARAMETRES D'INSTALLATION -------------------------------------------------------" +echo "-------------------------------------------------------------------------------------------------------------" +echo "Dossier d'installation = $ROOT" +echo "chemin php = $PHP" +echo "Nom de la base de données = $DBNAME" +echo "User Mysql = $DBUSER" +echo "Mot de passe Mysql = $DBPASS" +echo "Serveur Mysql = $DBSERV" +echo "-------------------------------------------------------------------------------------------------------------" +echo "-------------------------------------------------------------------------------------------------------------" +read -r -p "Etes-vous sur(e) de vouloir installer avec les paramètres ci dessus ? [Oui/n]" response + response=${response,,} # tolower + if [[ $response =~ ^(oui|o| ) ]]; then + # + echo "" + echo "" + echo "-------------------- Installation du site corpus de la parole -----------------------------------------------" + echo "-------------------------------------------------------------------------------------------------------------" + # + # Errors are fatal + # + set -e + + echo "" + echo "Copie des sources et du dump SQL dans $ROOT" + echo "-------------------------------------------" + echo "cp $TARFILE $ROOT/$TARFILE" + cp $TARFILE $ROOT/$TARFILE + echo "cp $DUMP $ROOT/$TARFILE" + cp $DUMP $ROOT/$DUMP + echo ">> Copie effectuée avec succès" + echo "" + + cd $ROOT + echo "Extraction des sources dans $ROOT" + echo "---------------------------------" + echo "tar -xf $TARFILE" + tar -xf $TARFILE + echo ">> Extraction effectuée avec succès" + echo "" + + echo "Restauration du dump de bdd dans la base $DBNAME" + echo "------------------------------------------------" + echo "mysql -u $DBUSER -p$DBPASS $DBNAME < $DUMP" + mysql -h $DBSERV -u $DBUSER -p$DBPASS $DBNAME < $DUMP + echo "" + echo "Vidage des tables accesslog,search_dataset,search_index,search_total,sessions,watchdog" + echo "--------------------------------------------------------------------------------------" + mysql -h $DBSERV -u $DBUSER -D $DBNAME -p$DBPASS -e "TRUNCATE TABLE accesslog" + mysql -h $DBSERV -u $DBUSER -D $DBNAME -p$DBPASS -e "TRUNCATE TABLE search_dataset" + mysql -h $DBSERV -u $DBUSER -D $DBNAME -p$DBPASS -e "TRUNCATE TABLE search_index" + mysql -h $DBSERV -u $DBUSER -D $DBNAME -p$DBPASS -e "TRUNCATE TABLE search_total" + mysql -h $DBSERV -u $DBUSER -D $DBNAME -p$DBPASS -e "TRUNCATE TABLE sessions" + mysql -h $DBSERV -u $DBUSER -D $DBNAME -p$DBPASS -e "TRUNCATE TABLE watchdog" + echo ">> Restauration effectuée avec succès" + echo "" + echo "Suppression de l'archive tar et du dump" + echo "-----------------------------------------------------" + rm $TARFILE + rm $DUMP + echo ">> Suppression effectuée avec succès" + echo "" + echo "Attribution des droits apache (httpd) sur les sources" + echo "-----------------------------------------------------" + echo "chown –R $APUSER:$APGROUP $ROOT/*" + chown $APUSER:$APGROUP -R $ROOT/* + echo ">> Droits apache attribués avec succès" + echo "" + echo "Mise à jour du fichier de configuation de drupal" + echo "-----------------------------------------------------" + echo "sed -E \"... database => $DBNAME \" sites/default/settings.php" + sed -e '' -E "s/^([[:space:]]+[\'\"]database[\'\"][[:space:]]+\=\>[[:space:]]+)([\'\"]).*[\'\"](.*)$/\1\2$DBNAME\2\3/" sites/default/settings.php + echo "sed -E \"... username => $DBUSER \" sites/default/settings.php" + sed -e '' -E "s/^([[:space:]]+[\'\"]username[\'\"][[:space:]]+\=\>[[:space:]]+)([\'\"]).*[\'\"](.*)$/\1\2$DBUSER\2\3/" sites/default/settings.php + echo "sed -E \"... password => $DBPASS \" sites/default/settings.php" + sed -e '' -E "s/^([[:space:]]+[\'\"]password[\'\"][[:space:]]+\=\>[[:space:]]+)([\'\"]).*[\'\"](.*)$/\1\2$DBPASS\2\3/" sites/default/settings.php + echo "sed -E \"... host => $DBSERV \" sites/default/settings.php" + sed -e '' -E "s/^([[:space:]]+[\'\"]host[\'\"][[:space:]]+\=\>[[:space:]]+)([\'\"]).*[\'\"](.*)$/\1\2$DBSERV\2\3/" sites/default/settings.php + + echo "Vidage des caches Drupal" + echo "-----------------------------------------------------" + export DRUSH_OPTIONS="-q" + sudo -u $APUSER DRUSH_PHP="$PHP" /usr/local/bin/drush cc all + set -e + + echo "" + echo "" + echo ">>>>>>>>>>>>>> INSTALLATION EFFECTUEE AVEC SUCCESS" + echo "" + echo "" + fi diff -r 695111d1eec9 -r 76a47f714766 dev/provisioning/bootstrap-puppet.sh --- a/dev/provisioning/bootstrap-puppet.sh Tue Nov 15 23:35:59 2016 +0100 +++ b/dev/provisioning/bootstrap-puppet.sh Fri Nov 18 14:48:49 2016 +0100 @@ -1,4 +1,6 @@ #!/usr/bin/env bash +# Taken from https://github.com/hashicorp/puppet-bootstrap +# (under Mozilla Public License Version 2.0) # This bootstraps Puppet on CentOS 7.x # It has been tested on CentOS 7.0 64bit diff -r 695111d1eec9 -r 76a47f714766 dev/provisioning/modules/sysconfig/manifests/apache.pp --- a/dev/provisioning/modules/sysconfig/manifests/apache.pp Tue Nov 15 23:35:59 2016 +0100 +++ b/dev/provisioning/modules/sysconfig/manifests/apache.pp Fri Nov 18 14:48:49 2016 +0100 @@ -3,63 +3,6 @@ ) inherits sysconfig::params { notify {'apache': name => "\$vhost : ${vhost}", withpath => true } - #remove system apache - # package { "audit-libs": - # ensure => present - # }-> - # package {"rhscl-httpd24-epel-7-x86_64": - # ensure => present, - # source => "https://www.softwarecollections.org/en/scls/rhscl/httpd24/epel-7-x86_64/download/rhscl-httpd24-epel-7-x86_64.noarch.rpm", - # provider => rpm, - # }-> - # class { '::apache': - # default_vhost => false, - # apache_name => 'httpd24-httpd', - # service_name => 'httpd24-httpd', - # httpd_dir => "/opt/rh/httpd24/root/etc/httpd", - # server_root => "/opt/rh/httpd24/root/etc/httpd", - # conf_dir => "/opt/rh/httpd24/root/etc/httpd/conf", - # confd_dir => "/opt/rh/httpd24/root/etc/httpd/conf.d", - # mod_dir => "/opt/rh/httpd24/root/etc/httpd/conf.d", - # vhost_dir => "/opt/rh/httpd24/root/etc/httpd/conf.d", - # ports_file => "/opt/rh/httpd24/root/etc/httpd/conf.d/ports.conf" - # } - # class { '::apache': - # default_vhost => false, - # server_signature => 'off', - # server_tokens => 'prod' - # } - # file {[ "/var/www/corpusdelaparole", - # "/var/www/corpusdelaparole/corpus", - # "/var/www/corpusdelaparole/drupal"]: - # ensure => directory, - # owner => 'apache', - # group => 'apache' - # }-> - # file { "/etc/www": - # ensure => directory, - # }-> - # ::apache::vhost { $vhost: - # port => '80', - # docroot => "/var/www/corpusdelaparole/drupal", - # options => ['-indexes'], - # aliases => [ - # { alias => '/corpus', path => "/var/www/corpusdelaparole/corpus/public" }, - # ], - # use_optional_includes => true, - # directories => [ - # { - # path => "/var/www/corpusdelaparole/drupal", - # allow_override => ['all',] - # }, - # { - # path => "/var/www/corpusdelaparole/corpus/public", - # allow_override => ['all',], - # } - # ], - # custom_fragment => " \n IncludeOptional /etc/www/corpus_env.con[f]\n ", - # } - $apache_packages = [ 'httpd' ] diff -r 695111d1eec9 -r 76a47f714766 dev/provisioning/modules/sysconfig/manifests/sys_upgrade.pp --- a/dev/provisioning/modules/sysconfig/manifests/sys_upgrade.pp Tue Nov 15 23:35:59 2016 +0100 +++ b/dev/provisioning/modules/sysconfig/manifests/sys_upgrade.pp Fri Nov 18 14:48:49 2016 +0100 @@ -16,6 +16,6 @@ timeout => 1800, onlyif => "/usr/bin/test `stat --format=%Y /var/lib/yum/rpmdb-indexes` -le $(( `date +%s` - 86400 )) -o ! -e /var/lib/puppet/state/first_run ", #onlyif => "/usr/bin/test `stat --format=%Y /var/lib/yum/rpmdb-indexes` -le $(( `date +%s` ))", - path => [ '/bin', '/usr/bin', '/uhttp://rpms.remirepo.net/RPM-GPG-KEY-remisr/local/bin' ] + path => [ '/bin', '/usr/bin', '/usr/local/bin' ] } } diff -r 695111d1eec9 -r 76a47f714766 dev/provisioning/modules/sysconfig/templates/corpus/corpus_env.conf.erb --- a/dev/provisioning/modules/sysconfig/templates/corpus/corpus_env.conf.erb Tue Nov 15 23:35:59 2016 +0100 +++ b/dev/provisioning/modules/sysconfig/templates/corpus/corpus_env.conf.erb Fri Nov 18 14:48:49 2016 +0100 @@ -10,7 +10,9 @@ SetEnv DB_USERNAME <%= @db_user %> SetEnv DB_PASSWORD <%= @db_pw %> -SetEnv CACHE_DRIVER file +SetEnv CACHE_DRIVER memcached +SetEnv CACHE_MEMCACHED_HOST /var/run/memcached/memcached.sock +SetEnv CACHE_MEMCACHED_PORT 0 SetEnv SESSION_DRIVER file SetEnv QUEUE_DRIVER sync diff -r 695111d1eec9 -r 76a47f714766 dev/provisioning/modules/sysconfig/templates/corpus/local.env.erb --- a/dev/provisioning/modules/sysconfig/templates/corpus/local.env.erb Tue Nov 15 23:35:59 2016 +0100 +++ b/dev/provisioning/modules/sysconfig/templates/corpus/local.env.erb Fri Nov 18 14:48:49 2016 +0100 @@ -10,7 +10,10 @@ DB_USERNAME=<%= @db_user %> DB_PASSWORD=<%= @db_pw %> -CACHE_DRIVER=file +CACHE_DRIVER=memcached +CACHE_MEMCACHED_HOST=/var/run/memcached/memcached.sock +CACHE_MEMCACHED_PORT=0 + SESSION_DRIVER=file QUEUE_DRIVER=sync diff -r 695111d1eec9 -r 76a47f714766 server/src/.env.example --- a/server/src/.env.example Tue Nov 15 23:35:59 2016 +0100 +++ b/server/src/.env.example Fri Nov 18 14:48:49 2016 +0100 @@ -1,54 +1,77 @@ APP_ENV=local APP_DEBUG=true +# clé applicative, doit être une chaine de caractère aléatoire APP_KEY=SomeRandomString -APP_URL=http://corpus-parole.local + +# url de base de l'pplication +APP_URL=http://corpus-parole.local/ + +# Configuration du système de log (c.f. https://laravel.com/docs/5.3/errors#configuration) +# Valeurs possibles: "single", "daily", "syslog", "errorlog" APP_LOG="daily" -# Available Settings: "single", "daily", "syslog", "errorlog" + -DATABASE_DRIVER=pgsql +#configuration de la base de donnée +DATABASE_DRIVER=mysql DB_HOST=localhost DB_DATABASE=corpus DB_USERNAME=corpus DB_PASSWORD=secret +# configuration du cache CACHE_DRIVER=file -SESSION_DRIVER=file -QUEUE_DRIVER=sync + +# configuration memcached +CACHE_MEMCACHED_HOST=127.0.0.1 +CACHE_MEMCACHED_PORT=11211 + +# URI de base Cocoon +CORPUSPAROLE_COCOON_RDF_BASE_URI= +# URL de moissonnage Cocoon +CORPUSPAROLE_COCOON_OAIPMH_URL= + + +# Configuration RDF4J +CORPUSPAROLE_RDF4J_BASE_URL=http://172.16.1.5:8080/rdf4j-server +CORPUSPAROLE_RDF4J_REPOSITORY= +CORPUSPAROLE_RDF4J_REPOSITORY_RAW= +CORPUSPAROLE_RDF4J_LEXVO_REPOSITORY= + +# Configuration Elasticsearch +ELASTICSEARCH_URL= +ELASTICSEARCH_LOG_PATH='logs/elasticsearch.log' +ELASTICSEARCH_INDEX='corpus' +ELASTICSEARCH_SHARDS=1 +ELASTICSEARCH_REPLICAS=1 + + +# Configuration registre Handle +HANDLE_HOST=172.16.1.6 +HANDLE_PORT=8000 +HANDLE_PREFIX=12345.100 + +HANDLE_ADMIN_ID=CORPUS_ADMIN +HANDLE_CERT_OR_PKEY="" +HANDLE_PASSWORD=NULL + + +# Geonames user name (cf. http://www.geonames.org/login) +GEONAMES_USERNAME="demo" + + +### les pramètres suivant sont des paramêtre internes + +# configuration du système de mail (non utilisé) MAIL_DRIVER=smtp MAIL_HOST=mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null -CORPUSPAROLE_ONTOLOGY_URL=http://corpusdelaparole.culture.fr/ontology/ - -CORPUSPAROLE_COCOON_RDF_BASE_URI= -CORPUSPAROLE_COCOON_OAIPMH_URL= -CORPUSPAROLE_RDF4J_BASE_URL=http://172.16.1.5:8080/rdf4j-server -CORPUSPAROLE_RDF4J_REPOSITORY= -CORPUSPAROLE_RDF4J_REPOSITORY_RAW= -CORPUSPAROLE_RDF4J_LEXVO_REPOSITORY= - - -EASYRDF_HTTP_CLIENT_TIMEOUT=20 - -ELASTICSEARCH_URL= -ELASTICSEARCH_LOG_PATH='logs/elasticsearch.log' -ELASTICSEARCH_INDEX='corpus' -ELASTICSEARCH_SHARDS=1 -ELASTICSEARCH_REPLICAS=1 - -HANDLE_HOST=172.16.1.6 -HANDLE_PORT=8000 -HANDLE_PREFIX=12345.100 - -HANDLE_CERT_OR_PKEY="" -HANDLE_PASSWORD=NULL HANDLE_TEST_PREFIX=12345.101 - HANDLE_TEST_CERT="" HANDLE_TEST_CERT_PASSWORD=NULL HANDLE_TEST_CERT_ADMIN_HANDLE="" @@ -57,9 +80,16 @@ HANDLE_TEST_RSA_PASSWORD=NULL HANDLE_TEST_RSA_ADMIN_HANDLE="" - HANDLE_TEST_DSA_KEY="" HANDLE_TEST_DSA_PASSWORD=NULL HANDLE_TEST_DSA_ADMIN_HANDLE="" -GEONAMES_USERNAME="demo" +# timeout par défaut pour le client HTTP EasyRDF +EASYRDF_HTTP_CLIENT_TIMEOUT=20 + +SESSION_DRIVER=file +QUEUE_DRIVER=sync + +# URL de base pour l'ontologie Corpus de la Parole +CORPUSPAROLE_ONTOLOGY_URL=http://corpusdelaparole.culture.fr/ontology/ + diff -r 695111d1eec9 -r 76a47f714766 server/src/config/cache.php --- a/server/src/config/cache.php Tue Nov 15 23:35:59 2016 +0100 +++ b/server/src/config/cache.php Fri Nov 18 14:48:49 2016 +0100 @@ -51,7 +51,7 @@ 'driver' => 'memcached', 'servers' => [ [ - 'host' => '127.0.0.1', 'port' => 11211, 'weight' => 100, + 'host' => env('CACHE_MEMCACHED_HOST', '127.0.0.1'), 'port' => env('CACHE_MEMCACHED_PORT', 11211), 'weight' => 100, ], ], ],