Modifications entre les versions 1 et 20 (s'étendant sur 19 versions)
Version 1 à la date du 2016-09-26 20:59:12
Taille: 426
Éditeur: LionelValentin
Commentaire:
Version 20 à la date du 2016-10-06 18:47:41
Taille: 5178
Éditeur: LionelValentin
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 3: Ligne 3:
Fichier a modifier afin de faire le lien vers ORI-OAI : == Installation des paquets ==
Ligne 5: Ligne 5:
ori-oai-search-idneuf.css {{{
apt-get install haproxy apache2 php5 php5-gd php5-durl libssh2-php php5-memcache memcached
}}}
Ligne 7: Ligne 9:
http_header/index.php == Configuration d'HAProxy ==
Ligne 9: Ligne 11:
sites/default/files/xmlsitemap/NXhscRe0440PFpI5dSznEVgmauL25KojD7u4e9aZwOM/1.xml  Contenu du fichier `/etc/haproxy/haproxy.cfg` : {{{
Ligne 11: Ligne 13:
sites/all/themes/theme1005/templates/views-view—block₁--block.tpl.php 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
Ligne 14: Ligne 24:
sites/all/themes/theme1005/css/style-header-footer.css defaults
 log global
 mode tcp
 option dontlognull
        timeout connect 5000
        timeout client 50000
        timeout server 50000
Ligne 16: Ligne 32:
sites/all/themes/theme1005/css/custom.css 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 : {{{#!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.


=== 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 ===

[[OVH/VPC02/ReverseProxy]]


=== 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
}}}

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

OVH/VPC02/ReverseProxy

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

OVH/VPC02/idneuf/Drupal (dernière édition le 2016-10-06 18:47:41 par LionelValentin)