Taille: 2878
Commentaire:
|
← Version 20 à la date du 2016-10-06 18:47:41 ⇥
Taille: 5178
Commentaire:
|
Texte supprimé. | Texte ajouté. |
Ligne 6: | Ligne 6: |
apt-get install apache2 haproxy php5 php5-gd php5-durl libssh2-php |
apt-get install haproxy apache2 php5 php5-gd php5-durl libssh2-php php5-memcache memcached |
Ligne 11: | Ligne 9: |
== Configuration HAProxy == | == Configuration d'HAProxy == |
Ligne 13: | Ligne 11: |
Contenu du fichier : /etc/haproxy/haproxy.cfg : {{{ |
Contenu du fichier `/etc/haproxy/haproxy.cfg` : {{{ |
Ligne 40: | Ligne 37: |
server prod-db02-idneuf database_server01:3306 check server prod-db03-idneuf database_server02:3306 check |
server prod-db02-idneuf prod-db02-idneuf:3306 check server prod-db03-idneuf prod-db03-idneuf:3306 check |
Ligne 45: | Ligne 42: |
=== Contenu du fichier | == Configuration des serveurs slaves == |
Ligne 47: | Ligne 44: |
== Utilisation de Memcache == | Sur chaque serveur slave, exécuter les commandes SQL suivante : {{{#!mysql INSERT INTO mysql.user (Host,User) VALUES ('prod-drupal02-idneuf','haproxy'); FLUSH PRIVILEGES; }}} Cette commande va permettre a HAProxy de pourvoir tester la disponibilité du serveur via le check définie dans la configuration d'HAProxy (`option mysql-check user haproxy`) Il faut ensuite créer un utilisateur en lecture seule pour la connexion de Drupal. Sur le master, exécuter la commande SQL suivante : {{{ GRANT SELECT ON drupal.* TO 'haproxy_auf'@'%' IDENTIFIED BY 'xxxxxxxxxxx'; FLUSH PRIVILEGES; }}} == Utilisation de HAProxy avec Drupal == Dans le fichier `sites/default/settings.php`, insérer les lignes suivantes : {{{ $databases = array ( 'default' => array ( 'default' => array ( 'database' => 'drupal', 'username' => 'haproxy_auf', 'password' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'host' => '127.0.0.1', 'port' => '', 'driver' => 'mysql', 'prefix' => '', 'readonly' => TRUE , ), ), ); }}} /!\ Le host ne doit pas être `localhost` sinon la connexion ne se fera pas. |
Ligne 51: | Ligne 86: |
{{{ | |
Ligne 53: | Ligne 87: |
apt-get -y install php5-memcache memcached }}} Dans le fichier /etc/memcache.conf, configurer la quantité de RAM a allouer :{{{ |
Dans le fichier `/etc/memcache.conf`, configurer la quantité de RAM a allouer : {{{ |
Ligne 64: | Ligne 92: |
Ligne 69: | Ligne 96: |
Installer le module suivant depuis l'interface d'administration :{{{ |
Installer le module suivant depuis l'interface d'administration : {{{ |
Ligne 74: | Ligne 100: |
Dans le fichier sites/default/settings.php, insérer les lignes suivantes :{{{ //Use memcache |
Dans le fichier `sites/default/settings.php`, insérer les lignes suivantes : {{{ // Use memcache |
Ligne 81: | Ligne 106: |
//Memcache session | // Memcache session |
Ligne 84: | Ligne 109: |
//Memcache lock | // Memcache lock |
Ligne 87: | Ligne 112: |
//Add in stampede protection | // Add in stampede protection |
Ligne 90: | Ligne 115: |
//Don't bootstrap the database when serving pages from the cache. | // Don't bootstrap the database when serving pages from the cache. |
Ligne 93: | Ligne 118: |
Ligne 98: | Ligne 122: |
=== Fichiers a modifier afin de faire le lien vers ORI-OAI : === | === Fichiers a modifier afin de faire le lien vers ORI-OAI === |
Ligne 100: | Ligne 124: |
ori-oai-search-idneuf.css http_header/index.php sites/default/files/xmlsitemap/NXhscRe0440PFpI5dSznEVgmauL25KojD7u4e9aZwOM/1.xml sites/all/themes/theme1005/templates/views-view—block₁--block.tpl.php sites/all/themes/theme1005/css/style-header-footer.css sites/all/themes/theme1005/css/custom.css |
* `ori-oai-search-idneuf.css` * `http_header/index.php` * `sites/default/files/xmlsitemap/Xh****************************wOM/1.xml` * `sites/all/themes/theme1005/templates/views-view—block₁--block.tpl.php` * `sites/all/themes/theme1005/css/style-header-footer.css` * `sites/all/themes/theme1005/css/custom.css` |
Ligne 115: | Ligne 134: |
=== Installation et configuration === [[OVH/VPC02/ReverseProxy]] |
|
Ligne 117: | Ligne 139: |
===Config pour recuperer le X-Forward-For=== | === Config pour récupérer le X-Forward-For === |
Ligne 119: | Ligne 141: |
Modifier le fichier sites/default/settings.php :{{{ |
Modifier le fichier `sites/default/settings.php` : {{{ |
Ligne 123: | Ligne 144: |
}}} | |
Ligne 124: | Ligne 146: |
== Activer mod_status == Dans le fichier /etc/apache2/sites-available/status.conf {{{ <VirtualHost *:80> Alias /status /var/www/status <Directory /var/www/status> Require all granted Options FollowSymLinks SymLinksIfOwnerMatch Options None </Directory> <Location /server-status> SetHandler server-status Require local Require ip 10.36.0.0/16 Require ip 10.242.0.0/16 </Location> </VirtualHost> |
|
Ligne 125: | Ligne 170: |
Remarque : la creation d'un virtual host est du au fait que drupal se trouve dans la racine du serveur. Sinon, il aurait juste fallut ajouter les lignes suivantes dans /etc/apache2/mods-available/status.conf: {{{ Require ip 10.242.0.0/16 Require ip 10.36.0.0/16 }}} On active alors le module et on recharge Apache2 : {{{ a2enmod status systemctl reload apache2 }}} == Notes == Redemarrage d'Apache2 :{{{ systemctl stop apache2 && systemctl restart memcached && systemctl start apache2 }}} |
Rédiger « OVH/VPC02/idneuf/Drupal » ici.
Installation des paquets
apt-get install haproxy apache2 php5 php5-gd php5-durl libssh2-php php5-memcache memcached
Configuration d'HAProxy
Contenu du fichier /etc/haproxy/haproxy.cfg :
global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s user haproxy group haproxy daemon defaults log global mode tcp option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000 listen mysql-cluster bind 127.0.0.1:3306 mode tcp option mysql-check user haproxy balance roundrobin server prod-db02-idneuf prod-db02-idneuf:3306 check server prod-db03-idneuf prod-db03-idneuf:3306 check
Configuration des serveurs slaves
Sur chaque serveur slave, exécuter les commandes SQL suivante :
INSERT INTO mysql.user (Host,User) VALUES ('prod-drupal02-idneuf','haproxy'); FLUSH PRIVILEGES;
Cette commande va permettre a HAProxy de pourvoir tester la disponibilité du serveur via le check définie dans la configuration d'HAProxy (option mysql-check user haproxy)
Il faut ensuite créer un utilisateur en lecture seule pour la connexion de Drupal.
Sur le master, exécuter la commande SQL suivante :
GRANT SELECT ON drupal.* TO 'haproxy_auf'@'%' IDENTIFIED BY 'xxxxxxxxxxx'; FLUSH PRIVILEGES;
Utilisation de HAProxy avec Drupal
Dans le fichier sites/default/settings.php, insérer les lignes suivantes :
$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'drupal', 'username' => 'haproxy_auf', 'password' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'host' => '127.0.0.1', 'port' => '', 'driver' => 'mysql', 'prefix' => '', 'readonly' => TRUE , ), ), );
Le host ne doit pas être localhost sinon la connexion ne se fera pas.
Installation de memcache
Dans le fichier /etc/memcache.conf, configurer la quantité de RAM a allouer :
# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default # Note that the daemon will grow to this size, but does not start out holding this much # memory -m 1024
Configuration de Drupal
Installer le module suivant depuis l'interface d'administration :
https://ftp.drupal.org/files/projects/memcache-7.x-1.5.tar.gz
Dans le fichier sites/default/settings.php, insérer les lignes suivantes :
// Use memcache $conf['cache_backends'][] = 'sites/all/modules/memcache/memcache.inc'; $conf['cache_default_class'] = 'MemCacheDrupal'; $conf['cache_inc'] = 'sites/all/modules/contrib/memcache/memcache.inc'; // Memcache session $conf['session_inc'] = 'sites/all/modules/memcache/unstable/memcache-session.inc'; // Memcache lock $conf['lock_inc'] = 'sites/all/modules/memcache/memcache-lock.inc'; // Add in stampede protection $conf['memcache_stampede_protection'] = TRUE; // Don't bootstrap the database when serving pages from the cache. $conf['page_cache_without_database'] = TRUE; $conf['page_cache_invoke_hooks'] = FALSE;
Lien avec ORI-OAI
Fichiers a modifier afin de faire le lien vers ORI-OAI
ori-oai-search-idneuf.css
http_header/index.php
sites/default/files/xmlsitemap/Xh****************************wOM/1.xml
sites/all/themes/theme1005/templates/views-view—block₁--block.tpl.php
sites/all/themes/theme1005/css/style-header-footer.css
sites/all/themes/theme1005/css/custom.css
Utilisation de NginX comme ReverseProxy
Installation et configuration
Config pour récupérer le X-Forward-For
Modifier le fichier sites/default/settings.php :
$conf['reverse_proxy'] = TRUE; $conf['reverse_proxy_addresses'] = array('10.242.1.194','10.242.1.195');
Activer mod_status
Dans le fichier /etc/apache2/sites-available/status.conf
<VirtualHost *:80> Alias /status /var/www/status <Directory /var/www/status> Require all granted Options FollowSymLinks SymLinksIfOwnerMatch Options None </Directory> <Location /server-status> SetHandler server-status Require local Require ip 10.36.0.0/16 Require ip 10.242.0.0/16 </Location> </VirtualHost>
Remarque : la creation d'un virtual host est du au fait que drupal se trouve dans la racine du serveur.
Sinon, il aurait juste fallut ajouter les lignes suivantes dans /etc/apache2/mods-available/status.conf:
Require ip 10.242.0.0/16 Require ip 10.36.0.0/16
On active alors le module et on recharge Apache2 :
a2enmod status systemctl reload apache2
Notes
Redemarrage d'Apache2 :
systemctl stop apache2 && systemctl restart memcached && systemctl start apache2