add memcached configuration option, small corrections for the build process and add installDrupal.sh file to the release
authorymh <ymh.work@gmail.com>
Fri, 18 Nov 2016 14:48:49 +0100
changeset 428 76a47f714766
parent 427 695111d1eec9
child 429 4a0fc5c5f420
add memcached configuration option, small corrections for the build process and add installDrupal.sh file to the release
build/build_rpm_puppet.sh
build/drupal/installDrupal.sh
dev/provisioning/bootstrap-puppet.sh
dev/provisioning/modules/sysconfig/manifests/apache.pp
dev/provisioning/modules/sysconfig/manifests/sys_upgrade.pp
dev/provisioning/modules/sysconfig/templates/corpus/corpus_env.conf.erb
dev/provisioning/modules/sysconfig/templates/corpus/local.env.erb
server/src/.env.example
server/src/config/cache.php
--- 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
 
--- /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
--- 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
 
--- 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 => "  <Location /corpus>\n    IncludeOptional /etc/www/corpus_env.con[f]\n  </Location>",
-    # }
-
     $apache_packages = [
         'httpd'
     ]
--- 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' ]
     }
 }
--- 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
 
--- 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
 
--- 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/
+
--- 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,
                 ],
             ],
         ],