M1 CERI Avignon 2010/2011. Rapport. Optimisation/Sécurité d un serveur Web NGINX/PHP/MySQL. Cyril CADET/Habib BAKAKAS

Dimension: px
Commencer à balayer dès la page:

Download "M1 CERI Avignon 2010/2011. Rapport. Optimisation/Sécurité d un serveur Web NGINX/PHP/MySQL. Cyril CADET/Habib BAKAKAS"

Transcription

1 M1 CERI Avignon 2010/2011 Rapport Optimisation/Sécurité d un serveur Web NGINX/PHP/MySQL Cyril CADET/Habib BAKAKAS 2011

2 Contenu 1. Remerciements Avant-propos Introduction Architecture Serveur Web Nginx Principe de l URL Rewriting Optimisation Serveur PHP PHP-FPM PHP-FPM avec Nginx Benchmark de PHP-FPM... 9 Test Test Conclusion sur les Test Les cache d opcode Exemple d opcode APC : Alternative PHP Cache Test Comparatif MySQL Les moteurs de tables Transactions InnoDB XtraDB (Percona Server) InnoDB vs XtraDB Test 1 : InnoDB (MySQL) vs xtradb (Percona) Optimisation my.cnf

3 Test 2 : fichier my.cnf optimisé Disponibilité/Robustesse Réplication Master/slave temps réel MySQL MySQL Cluster Architecture de Mysql Cluster Caractéristiques de mysql Cluster Problèmes Rencontrés Bilan ANNEXE Mise en place de NGINX+PHP-FPM Installation Script de démarrage Mise en place de APC Installation Mise en place de Percona Serveur Installation Mise en place de la réplication Master/Slave Près Requis Coté Master Coté Slave Mise en place de mysql cluster

4 1. Remerciements Nous remercions nos trois tuteurs : Benjamin Maza, Stanislas Oger et Pierre Gotab pour nous avoir accompagnés et conseillés, lors de ce projet. Nous leurs en sont très reconnaissant d avoir su régler les problèmes techniques lorsqu il y en avait. 2. Avant-propos Nous participons au développement et à la mise en production d un jeu de stratégie Web moderne (Ajax/jQuery, php5/symfony/doctrine) utilisant des techniques innovantes. Plus précisément nous déterminerons l'architecture réseau (serveur web, MySQL, PHP) permettant un fonctionnement optimal du jeu de stratégie. Nous avons au premier semestre fait l étude de la technologie de serveur web que nous allons adoptée (grâce aux différents benchmarcks). Ce rapport va montrer un descriptif sur l optimisation de notre serveur Web, serveur PHP, serveur MySQL pour qu il puisse supporter une charge importante. Il va également traiter de la partie robustesse en traitant la réplication MySQL ainsi que la sécurisation du serveur Web. 3. Introduction Devant un nombre croissant de connexions, les performances des serveurs Web s'effondrent. Afin d'améliorer les temps de réponse, le premier réflexe est généralement de dissocier le serveur HTTP et la base de données. Une solution tout aussi courante consiste à augmenter le nombre de serveurs HTTP en utilisant des solutions de «load balancing». Si ces solutions se montrent généralement efficaces, elles restent néanmoins coûteuses en termes de matériel et d'hébergement. De plus, elles sont parfois complexes à mettre en œuvre. Pourtant d'autres solutions trop souvent méconnues existent. C est en particulier le cas des «optimiseurs» et des systèmes de cache («opcode» ou fichiers). Plusieurs solutions sont alors envisageables : augmenter la puissance des serveurs, modifier l architecture en déportant les bases de données sur d autres serveurs, rajouter des serveurs et mettre en place une 3

5 Cache APC Cache SQL M1 CERI Rapport solution de load-balancing Solutions qui peuvent s avérer efficaces dans une certaine mesure tout au moins mais dont le coût est lui à coup sûr exponentiel, d autant que ces solutions vont généralement demander une revue de code et des modifications ou ajustements plus ou moins lourds. Autre solution : utiliser le serveur web Nginx. 4. Architecture L'optimisation d'un serveur web est un élément important dans le temps de chargement d'une page web par le navigateur pour permettre une montée en charge importante. Notre architecture est composée de 3 étages : le serveur web (nginx), qui reçoit la requête http et renverra la réponse finale vers le client le moteur PHP-FPM, qui exécute des instructions côté serveur (php,ruby,c++,...) et génère le html résultant la base de données qui stocke les informations qui vont permettre de générer la page finale. Index.php SELECT * FROM WHERE Serveur Web PHP-FPM Base de données html «nom objet», «bouclier» 4

6 Pour améliorer les performances de l'ensemble de cette architecture, il est possible d'intervenir sur ses différents étages. Première optimisation possible, est de répartir la charge des 3 étages de la chaîne du service web, sur 3 serveurs. C'est coûteux, mais nécessaire pour les gros sites. La seconde optimisation de la performance possible, est d'éviter la sollicitation de chaque étage, pour avoir une réponse rapide. Pour cela, on va utiliser des applications caches, qui vont stocker les éléments déjà générés, voici quelques exemples : Le cache SQL, va stocker la réponse à des requêtes déjà exécutées précédemment, ainsi, on évite d'interroger la base de données. les caches d opcode (apc, xcache,eaccelerator...), vont garder en mémoire les opcodes générées et ainsi éviter a PHP la conversion des instructions en opcodes. 5. Serveur Web Nginx 5.1. Principe de l URL Rewriting Le principe de la réécriture d'url est de mettre en place un «système» sur le serveur pour qu'il sache interpréter ce nouveau format d'url. Dans notre exemple, quand un visiteur accède à la page le serveur doit renvoyer exactement la même chose que si le visiteur avait demandé à accéder à la page La correspondance entre les deux schémas d'url est alors décrite sous forme de «règles de réécriture». Chaque règle permet de décrire un format d'url. Dans l'exemple ci-dessus, la règle de réécriture va indiquer au serveur de prendre le premier nombre comme numéro d'article, le deuxième comme numéro de page et le troisième comme numéro de rubrique. 5

7 5.2. Optimisation On édite le fichier /etc/nginx/nginx.conf pour voir sa configuration : user www-data; worker_processes 2; events { worker_connections 2048; } http { include default_type mime.types; application/octet-stream; sendfile on; keepalive_timeout 30; tcp_nodelay on; gzip on; gzip_disable "MSIE [1-6].(?!.*SV1)"; gzip_vary on; gzip_comp_level 3; gzip_proxied any; gzip_buffers 16 8k; } include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; Explication principales directives de nginx.conf : worker_processes 2 : C est le nombre de processus actif à engendrer. Ce processus est similaire au processus fils dans apache. Nginx à la capacité d utiliser plusieurs processus actifs sur des machines dotés de plusieurs processeurs. En général le nombre de processus actifs doit correspondre au nombre de processeurs de la machine. Pour calculer le nombre total de connections simultanées que nginx peut supporter, on multiplie le "worker_processes" par le "worker_connections". Dans notre cas nous obtenons Après que 2048 clients soient connectés les clients supplémentaires seront rejetés. worker_connections 2048 : C'est le nombre de connections clientes qu un seul processus fils contrôlera (1024 par défaut ). Note : multiplier le nombre de processus actifs par le nombre de connections actives nous donne le nombre total de connections gérées par nginx. Dans notre exemple le serveur est conçu pour gérer 4096 connections. Les clients se connectant après que le max ait été atteint n'auront pas de connection. MIME types : Cette section permet à nginx d'identifier les fichiers par leur extensions. Par exemple si le serveur renvoie un fichier d'extension.txt, alors le type mime sera défini comme text/plain. 6

8 include mime.types : est le fichier de définition que nginx charge pour identifier tous les types mime. Cette directive permet simplement au serveur d'envoyer les types de fichiers et d'applications appropriés aux clients. types {...} : Au lieu d'utiliser la directive «include mime.types» on peut définir nos propres types mime. C'est une option particulièrement utile si on veut utiliser les même types mime sur plusieurs systèmes différents ou si on nen veut pas dépendre d'un second fichier de définition. On a aussi la possibilité de définir un type mime pour une extension non standard. Par exemple nous définissons l'extension bob comme un text/plain. default_type application/octet-stream : est le type par défaut si aucune extension de fichier n'a été définie dans les types mime. C'est utile lorsque le serveur renvoie des fichiers sans extension ou d'une extension non standard. Ainsi les clients pourrons récupérer le fichier non corrompu. Size Limits : Cette directive spécifie la taille de tampon limitant la quantité de données que le serveur considérera comme valide pour une requête, par exemple si le client envoie trop de données en une requête alors la requête sera rejetée. client_body_buffer_size 1k Si le corps de la requête est supérieur au tampon alors le corps entier de la requête ou une partie sera écrit dans un fichier temporaire client_header_buffer_size 1k est la limite de la taille de toute les entête http que le client peut envoyer au serveur. Pour la grande majorité des requêtes, une taille de tampon de 1K est suffisante client_max_body_size 1k est la taille maximale du corps de la requête client, indiquée par la ligne «Content-Length» dans l'entête de la requête. Si la taille excède cette valeur le client reçoit une erreur (413) Entité requise trop grande. Timeouts : C est le temps en secondes pendant lequel nginx attendra que le client ait achevé son action server_tokens off : Cache la version du serveur nginx dans les pages d erreur autogénérées dans le cas on ne voudrait cette information pour des raisons de sécurité. gzip on : Permet la compression des fichiers gzip_static on: Permet d envoyer des fichiers.gz précompressés au lieu de compresser les fichiers à la volée. C est la façon la plus efficace de servir des données compressés. Pour utiliser cette option il faut avoir une copie compressée du fichier html à envoyer. gzip_buffers 16 8k : Spécifie la taille des tampons pour répondre aux clients qui demandent des données précompressées. 7

9 6. Serveur PHP 6.1. PHP-FPM PHP-FPM (FastCGI Process Manager) est une implémentation de PHP FastCGI apportant de nouvelles fonctionnalités et intégré depuis PHP En CGI, un processus est exécuté à chaque nouvelle requête et un nouvel environnement d exécution est créé à chaque fois. Cette approche peut vite devenir pénalisante pour les performances, c est pourquoi FastCGI a choisi de s appuyer sur un nombre déterminé de processus pour traiter toutes les requêtes. Avec PHP-FPM, c est la même logique qui est appliquée avec quelques avantages ou fonctionnalités supplémentaires : Une création dynamique des processus (en fonction de la charge). Des statistiques. A la suite de l installation de PHP5-FPM, les fichiers de configuration se situent dans /etc/php5/fpm/php5- fpm.conf. Ci-dessous les paramètres importants : En dynamic, pm.max_children est le nombre maximum de processus, pm.start_servers le nombre au démarrage, pm.min_spare_servers le nombre minimum de processus inactifs, pm.max_spare_servers le nombre maximum de processus inactifs. pm = dynamic pm.max_children = 50 pm.start_servers = 10 pm.min_spare_servers = 5 pm.max_spare_servers = 50 pm.status_path indique l URL qui sera utilisée pour obtenir le statut du processus (à la mod_status) : pm.status_path = /status Processus tué après avoir traité 500 requêtes pm.max_requests = 500 slowlog permet de loguer les requêtes qui dépassent request_slowlog_timeout : request_slowlog_timeout = 30 slowlog = /var/log/php5-fpm.log.slow 8

10 6.2. PHP-FPM avec Nginx Nginx intègre par défaut le paramétrage nécessaire pour fonctionner en FCGI. La configuration est présente dans le fichier /etc/nginx/fastcgi.conf (ou /etc/nginx/fastcgi_params). Dans cette configuration, on peut se passer complètement d Apache, nginx traitant tous les fichiers statiques et passant la main à PHP-FPM pour les fichiers dynamiques (en PHP). Pour traiter les fichiers PHP, il faudra ajouter dans la configuration de vos sites des lignes du type : location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass :9000; } Cette configuration indique à tous les fichiers portant l extension.php d utiliser le fichier de configuration cité ci-dessus, et le processus PHP-FPM écoutant sur le même serveur et sur le port Benchmark de PHP-FPM Nous allons simuler un nombre maximum de 3000 requêtes avec 40 connexions simultanées accédant à la ressource index.php (script symphony) et regarder les performances du serveur Web. Ces tests ont été réalisés 5 fois pour avoir une moyenne des résultats. Requête de benchmark avec l outil apache bench : ab -n c 40 Test 1 Ce test a été fait en gardant la configuration par défaut de PHP-FPM (Création de 50 processus PHP). Le résultat moyennant de ce test est : 87 nb requêtes/seconde. Cela signifie que le serveur traite une moyenne de 87 requêtes utilisateurs par seconde. 9

11 PHP-FPM defaut 89, , , , , , nb requêtes/seconde Test 2 Ce test a été fait en mettant le nombre de processus maximum de PHP-FPM à 100. Le résultat moyennant de ce test est : 87,4 nb requêtes/seconde. PHP-FPM (100 process) 89, , , , , , nb requêtes/seconde 10

12 Conclusion sur les Test D autres test ont été effectué (n3000 c100, n3000 c40, n3000 c10), il semblerait que le nombre de requêtes traitées par le serveur est d environ 90 requêtes par secondes. L augmentation du nombre de processus PHP ne semble pas faire augmenter les performances du serveur. Le temps de traitement entre le serveur nginx et les clients peut être négligé tandis que le temps de traitement du serveur PHP semble être le facteur déterminant. Le traitement par PHP-FPM est le même que ce soit pour 10 requêtes ou pour Les cache d opcode Une partie importante du temps de traitement d'une page, servie via HTTP avec un langage de script dynamique comme PHP, provient du fait que ce langage doive transformer un code lisible par un humain, en un code exécutable par une machine virtuelle et le microprocesseur de la machine physique. Des processus lourds interviennent alors, comme l'analyse syntaxique du code source et sa transformation en un code binaire compréhensible par la machine. Ceci étant coûteux, beaucoup de langages mettent ce code binaire en cache lors du traitement de la première requête, afin de sauter toutes ces étapes les fois suivantes. Lors de l exécution d un script, PHP5 procède ainsi : il charge l intégralité du script il convertit les instructions en opcodes (sorte de langage intermédiaire entre le script et un exécutable), il exécute les instructions. Lorsqu'un même script est appelé plusieurs fois, ces opérations sont renouvelées. Ceci est une perte de temps évidente. Les solutions de cache d opcode se proposent donc d effectuer une mise en cache des opcodes, afin d en garder une trace. Ceci permet à PHP5 de les exécuter directement. Exemple d opcode code source PHP <?php $output = 'Hello World'; 11

13 if($_get['exclaim']) { $output.= '!'; } else { $output.= '.'; } echo $output;?> OPCode PHP 1 ASSIGN!0, 'HELLO+WORLD' 2 FETCH_R GLOBAL $1, '_GET' 3 FETCH_DIM_R $2, $1, 'exclaim' 4 JMPZ $2, ->6 5 ASSIGN_CONCAT!0, '%21' 6 JMP ->7 7 ASSIGN_CONCAT!0, '.' 8 ECHO $0 9 RETURN 1 10 ZEND_HANDLE_EXCEPTION Comme on peut le voir, les OPCodes utilisent toujours plus de place que le code PHP, environ 25 à 33%. Cett remarque est importante lorsqu'il s'agira de configurer le cache, car sa taille sera alors à calculer pour le code intermédiaire et non le code PHP APC : Alternative PHP Cache Les caches d'opcodes permettent des économies de travail coté serveur, ce qui se manifeste par une accélération de la réponse des pages PHP pour l'utilisateur final. APC est "l'alternative PHP Cache", un cache libre, gratuit et robuste pour mettre en cache et optimiser le code intermédiaire PHP aussi appelé "OPCode". APC est activement maintenu dans PECL et sera intégré par défaut avec PHP6. 12

14 Test Le protocole de test est le même qu avec PHP-FPM (la requête de Apache Bench sera la même ainsi que le nombre de test effectués). Nous obtenons une moyenne de 408 requêtes traitées par seconde par le serveur. 414 PHP-FPM avec APC nb requêtes/seconde Comparatif Nous pouvons constater un gain de 478%. Les performances viennent du fait de la lecture du cache d opcode et ainsi éviter une recompilation des instructions en opcode pour le traitement PHP Comparatif APC PHP-FPM defaut PHP-FPM 100 process 13

15 7. MySQL 7.1. Les moteurs de tables MySQL supporte plusieurs moteurs de stockage, qui gère différents types de tables. Les moteurs de tables MySQL peuvent être transactionnels ou non-transactionnels. Transactions Le but des transactions est de s'assurer que tous les changements dans une base de données ont été correctement effectués avant de les appliquer définitivement (COMMIT). Et en cas de problèmes les transactions permettent de revenir en arrière (ROLLBACK). L application du jeu étant une application sensible, il est impératif de pouvoir gérer les transactions. InnoDB InnoDB fournit à MySQL un gestionnaire de table transactionnelle (compatible ACID), avec validation (commits), annulations (rollback) et capacités de restauration après crash. Ces fonctionnalités accroissent les possibilités d'utilisation simultanées des tables, et les performances. Il n'y a pas de problème de queue de verrous avec InnoDB, car les verrous de lignes utilisent très peu de place. Les tables InnoDB sont les premières tables MySQL qui supportent les contraintes de clés étrangères (FOREIGN KEY). InnoDB a été conçu pour maximiser les performances lors du traitement de grandes quantités de données. Techniquement, InnoDB est un gestionnaire de table placé sous MySQL. InnoDBdispose de son propre buffer pour mettre en cache les données et les index en mémoire centrale. InnoDB stocke les tables et index dans un espace de table, qui peut être réparti dans plusieurs fichiers. XtraDB (Percona Server) Percona Server avec XtraDB est une version améliorée du serveur de base de données MySQL. Il est basé sur le populaire engine InnoDB, mais offre de meilleures performances tout en demeurant 100% compatible 14

16 à ce que InnoDB peut accomplir. On peut donc remplacer aveuglement InnoDB par XtraDB sans craindre quoi que ce soit! On pourrait ainsi dire qu il s agit d un nouveau InnoDB, plus rapide et plus robuste InnoDB vs XtraDB Plus de transactions parallèles disponibles InnoDB fournit un nombre fixe de 1024 slots dans son segment d annulation (contient les anciennes valeurs des enregistrements en cours de modification dans la transaction), laissant ainsi se dérouler 1024 transactions en parallèles. Si tous les slots sont utilisés, n importe quelle nouvelle transactions échouera jusqu à la libération d un nouveau slots. Ce qui peut occasionner des comportements étranges de la table. Le changement de variable nous permet d étendre le nombre de ces slots à 4072 sur XtraDB permettant ainsi d augmenter le nombre de transactions parallèle. Les améliorations de ce moteur de table sont disponibles à l adresse suivante : Test 1 : InnoDB (MySQL) vs xtradb (Percona) Pour comparer les deux moteurs de tables nous simulons un nombre de 3000 utilisateurs réalisant 30 requêtes simultanées. ab -n c

17 InnoDB XtraDB Nb de requêtes/s Nous constatons un gain non négligeable de la part du moteur de Percona Optimisation my.cnf Le fichier ce configuration de MySQL se situe dans : /etc/mysql/my.cnf innodb_buffer_pool_size=1g //utiliser un buffer de taille de 50% de la mémoire serveur innodb_additional_mem_pool_size=16m innodb_data_file_path=ibdata1:10m:autoextend // Cette configuration crée un fichier de données de 10 Mo ibdata1, auto-croissant. Il n'y a pas de dossier de sauvegarde d'indiqué : par défaut, c'est le dossier de données de MySQL. Une table contenant 50 Mo de données, appelée ibdata1 innodb_file_per_table=1 #Utilisez..flush_log_at_trx_commit #à 0 si vous pouvez accepter de perdre #quelques transactions innodb_flush_log_at_trx_commit=1 innodb_log_file_size=150m //utiliser un fichier de log de taille de 15% du buffer mémoire 16

18 Test 2 : fichier my.cnf optimisé XtraDB xtradb Optimisé L utilisation d un cache InnoDB améliore grandement les performances du serveur. Cependant pour avoir de meilleures performances et optimiser au mieux le fichier de configuration, il existe des outils comme mysqltuner qui permettent d analyser l utilisation qui est faite de la base et proposer les options appropriées. 17

19 8. Disponibilité/Robustesse 8.1. Réplication Master/slave temps réel MySQL La réplication MySQL consiste à avoir deux bases de données MySQL identiques. La réplication MySQL est basée sur le fait que le serveur va garder la trace de toutes les évolutions de vos bases (modifications, effacements, etc.) dans un fichier de log binaire et les esclaves vont lire les requêtes du maître dans ce fichier de log, pour pouvoir exécuter les mêmes requêtes sur leurs copies. Il est très important de comprendre que le fichier de log binaire est simplement un enregistrement des modifications depuis un point fixe dans le temps (le moment où vous activez le log binaire). Tous les esclaves que vous activez auront besoin de la copie des données qui existaient au moment du démarrage du log. Si vous démarrez vos esclaves sur sans qu ils ne disposent des données identiques à celles du maître au moment du démarrage du log binaire, votre réplication va échouer. Nous partons avec l architecture suivante: Deux serveurs A, et B sous Linux (réalisé sous Debian) ayant chacun une base de donnée MySQL. IP Serveur Master : IP Serveur Slave : Master Slave Les avantages d une architecture comprenant 1serveur physique (architecture verticale) comprenant 1web (nginx), 1 serveur PHP (PHP-FPM), 1 serveur MySQL (Percona) sont : - Moins couteux en termes de matériel - Plus simple à déployer 18

20 - On peut lui associer un autre serveur physique pour réaliser la duplication de la base (sécurité des données) - Efficace 9. MySQL Cluster Mysql cluster est une solution d'architecture de stockage de données distribuées, étanche ( shared nothing), conçue pour la haute performance et la tolérance aux fautes. Les données sont stockées et répliquées sur des nœuds de données individuels (nœuds de stockage), ou chaque nœud de données s'exécute sur un serveur séparé et maintiens une copie des données. Chaque cluster contient aussi de nœuds de contrôle (management nodes). Au sein du cluster les updates utilisent une isolation à la lecture pour s'assurer que tous les nœuds ont des données correctes et un commit à deux phases pour s'assurer que les nœuds ont des données identiques (si l'écriture d'un nœud échoue, le update associé échoue aussi) Le concept d'étancheité et de noeuds de données pair à pair permet à un update executé sur un serveur d'être visible immédiatement sur les autres serveurs. Le but est d'avoir la performance la plus élevée possible en utilisant plusieurs serveurs mysql pour distribuer la charge, une haute disponibilité et redondance en stockant les données à différents endroits. Une installation typique de mysql Cluster implique d installer les composants mysql sur différentes machines du réseau. Ainsi, le terme mysql cluster renvoie au serveur mysql et aux composants ndb (network database). Un moteur de stockage appelé NBDcluster est l interface qui lie le serveur mysql aux éléments du cluster Architecture de Mysql Cluster On peut voir le cluster Mysql comme ayant trois couches : Les applications qui communique avec le serveur mysql Le serveur mysql qui traite les commandes sql et communique avec le moteur de stockage ndb 19

21 Les composants du cluster ndb (aussi appelés nœuds de données) qui traitent les requêtes et renvoient les résultats au serveur Mysql Il est possible d utiliser plusieurs serveurs mysql pour se connecter à un seul cluster ndb ou plusieurs clusters ndb via la réplication mysql. Cluster ndb avec 4 nœuds et un serveur mysql 20

22 9.2. Caractéristiques de mysql Cluster Pour satisfaire les buts de haute performance, haute disponibilité, et de redondance, les données sont répliquées parmi les nœuds de données d une façon synchrone. La réplication mysql, par contre, est asynchrone. La réplication asynchrone sera utilisée lors de la réplication de plusieurs clusters. La réplication asynchrone signifie qu il existe un délai dans la mise à jour des esclaves, en effet les esclaves ne reportent pas la progression dans la validation des changements et nous n avons donc pas de vue cohérente des données sur toute l architecture répliquée comme cela est le cas dans un cluster. Le cluster mysql a plusieurs propriétés lui permettant de créer un système à haute disponibilité, les plus importantes sont : Rétablissement de nœud Une défaillance d un nœud de données peut être détectée via une perte de communication ou un échec du heartbeat, et il est possible de redémarrer automatiquement en utilisant des copies de données de nœuds restants Rétablissement du système Dans l éventualité que le système entier soit indisponible suite à un aléa, le système peut être restauré à partir des logs de changement et les données sont alors copiés des disques à la mémoire. Failover Pour assurer que le recouvrement de nœuds est possible, toutes les transactions sont validées en utilisant une protection en lecture et un commit à deux phases. Les transactions sont ainsi doublement protégées car stockées en deux endroits différents avant que la transaction ne soit validée. Partitionning Les données sont automatiquement partitionnées sur les nœuds de données. 21

23 Comme nous avons vu précédemment, il est possible de créer une redondance globale utilisant la réplication mysql entre les clusters (v. fig. ci-dessous) Un cluster mysql se compose de : Mysqld Le serveur mysql NDBd Un nœud de données NDBmtd Un nœud de données supportant le multithread 22

24 NDB_mgmd Serveur de contrôle du cluster NDB_mgm Client de contrôle du cluster On peut évaluer la taille de la mémoire nécessaire pour un cluster en utilisant le script perl NDB_size.pl. Ce script se connecte à un serveur mysql en fonctionnement et évalue ses tables existantes et calcule la mémoire qu elles nécessiteraient dans un cluster mysql. 23

25 Ci-dessous la figure représente un cluster mysql dans un scenario de haute disponibilité dans un service web : Dans ce scenario de haute disponibilité nous introduisons la réplication externe à plusieurs chaines qui nous permet d introduire de la redondance dans la réplication asynchrone entre maitre et esclave. 24

26 10. Problèmes Rencontrés De nombreux problèmes systèmes nous ont ralentie (problèmes lors de l installation de nouveaux paquets, problèmes de dépendances, problèmes lors des compilations). 11. Bilan Ce projet est un projet conséquent en termes de technologie et d innovation. Il existe une multitude d approches à avoir pour l optimisation en termes d architecture et en termes d application (nombreux logiciels). Il aurait été intéressant de posséder la base complète du jeu et de pouvoir la tester dans de vraies conditions. Cela nous aurait permis d être certain de l architecture à adopter (verticale ou horizontale) en vue des résultats obtenus. 25

27 12. ANNEXE Mise en place de NGINX+PHP-FPM Installation # Près-requis apt-get install build-essential libpcre3-dev libssl-dev zlib1g-dev apt-get install php5-cli php5-common php5-mysql php5-suhosin php5-fpm php5-cgi php-pear php5-gd php5-curl # Téléchargement des fichiers wget # Extraction tar zxvf nginx tar.gz # Configure cd nginx /configure \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --pid-path=/var/run/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --http-log-path=/var/log/nginx/access.log \ --with-http_dav_module \ --http-client-body-temp-path=/var/lib/nginx/body \ --with-http_ssl_module \ --http-proxy-temp-path=/var/lib/nginx/proxy \ --with-http_stub_status_module \ --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \ --with-debug \ --with-http_flv_module \ # Compilation make # Installation make install # Création des repertoires que l on a besoin mkdir /var/lib/nginx mkdir /etc/nginx/conf.d mkdir /etc/nginx/sites-enabled Script de démarrage #! /bin/sh 26

28 ### BEGIN INIT INFO # Provides: nginx # Required-Start: $all # Required-Stop: $all # Default-Start: # Default-Stop: # Short-Description: starts the nginx web server # Description: starts nginx using start-stop-daemon ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/local/nginx/sbin/nginx PID=/var/run/nginx.pid NAME=nginx DESC=nginx test -x $DAEMON exit 0 # Include nginx defaults if available if [ -f /etc/default/nginx ] ; then. /etc/default/nginx fi set -e case "$1" in start) echo -n "Starting $DESC: " start-stop-daemon --start --quiet --pidfile $PID \ --exec $DAEMON -- $DAEMON_OPTS echo "$NAME." ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --quiet --pidfile $PID \ --exec $DAEMON echo "$NAME." ;; restart force-reload) echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --pidfile $PID \ --exec $DAEMON sleep 1 start-stop-daemon --start --quiet --pidfile \ /usr/local/nginx/logs/nginx.pid --exec $DAEMON -- $DAEMON_OPTS echo "$NAME." ;; reload) echo -n "Reloading $DESC configuration: " start-stop-daemon --stop --signal HUP --quiet --pidfile $PID \ --exec $DAEMON echo "$NAME." ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start stop restart force-reload}" >&2 exit 1 ;; esac exit 0 27

Synchronisation Mysql (Replication)

Synchronisation Mysql (Replication) Synchronisation Mysql (Replication) [Petit avertissement : Bon, après relecture, je constate que c'est l'un des plus mauvais document que j'ai écrit. Mais bon, il est quand même utile ce torchon.] Nous

Plus en détail

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - - http://dasini.net/blog

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - - http://dasini.net/blog Architectures haute disponibilité avec MySQL Architectures Architectures haute disponibilité haute disponibilité avec MySQL avec MySQL Olivier Olivier DASINI DASINI - - http://dasini.net/blog Forum PHP

Plus en détail

MySQL - Réplication. Fichiers de relais et de statut de la réplication. Mise en place de la réplication

MySQL - Réplication. Fichiers de relais et de statut de la réplication. Mise en place de la réplication MySQL - Réplication Réplication MySQL MySQL supporte la réplication unidirectionnelle interne. Un serveur sert de maître, et les autres servent d esclaves. Le serveur entretient des logs binaires, ainsi

Plus en détail

Architecture de la plateforme SBC

Architecture de la plateforme SBC Simple Business Connector Architecture de la plateforme SBC Titre Projet Description Architecture de la plateforme SBC Plateforme SBC Ce document reprend toutes les étapes de l'installation du serveur

Plus en détail

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation. Gestion de parc Informatique OCS, GLPI sur Debian 5 Jonathan Gautier Open Computer and Software Inventory Next Generation (OCS inventory NG) est une application permettant de réaliser un inventaire sur

Plus en détail

PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau

PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau Performances PHP Julien Pauli Cyril Pierre de Geyer Guillaume Plessis Préface d Armel Fauveau Groupe Eyrolles, 2012, ISBN : 978-2-212-12800-0 Table des matières Avant-propos... 1 Pourquoi ce livre?.....................................................

Plus en détail

Pratique et administration des systèmes

Pratique et administration des systèmes Université Louis Pasteur Licence Informatique (L2) UFR de Mathématiques et Informatique Année 2007/2008 1 But du TP Pratique et administration des systèmes TP10 : Technologie LAMP Le but de ce TP est de

Plus en détail

windows. deb http://ftp.fr.debian.org/debian/ etch main deb-src http://ftp.fr.debian.org/debian/ etch main

windows. deb http://ftp.fr.debian.org/debian/ etch main deb-src http://ftp.fr.debian.org/debian/ etch main installer une debian celle-ci par exemple (http://vapiemojo.fr/openlibre/debian/pmbetsiteweb/debian-40r3-i386-netinst.iso ) on valide les choix par défaut, et on met aucune interface graphique voir: http://vapiemojo.fr/openlibre/debian/pmbetsiteweb/install_debian_pour_pmb.pdf

Plus en détail

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires. Installation & Configuration GPLPI / OCS Inventory NG Installer sur Debian 5 Lenny, Liaison Active Directory, Mise en place du couple OCS/GLPI Par : POMENTE Guillaume OCS Inventory et GLPI sont deux outils

Plus en détail

Tutoriel compte-rendu Mission 1

Tutoriel compte-rendu Mission 1 Mission 1 : Inventaire de l ensemble du matériel BTS SIO 2 2012/2013 MUNIER Julien Tutoriel compte-rendu Mission 1 Sommaire I - OCS Inventory Agent a) Installation et configuration Agent b) Installation

Plus en détail

Installation d'un serveur FTP géré par une base de données MySQL

Installation d'un serveur FTP géré par une base de données MySQL BTS INFORMATIQUE DE GESTION Option Administrateur de réseaux développement d applications COMPTE-RENDU D ACTIVITE ACTIVITE N 2 Nom et Prénom : Casanova Grégory Identification (objectif) de l activité Installation

Plus en détail

Installation de Zabbix

Installation de Zabbix 1 Installation de Zabbix Présentation Zabbix (http://www.zabbix.com) est une solution de supervision open source. Ce logiciel permet de superviser des réseaux, et de surveiller les statuts de différents

Plus en détail

Olivier Mondet http://unidentified-one.net

Olivier Mondet http://unidentified-one.net T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage

Plus en détail

MANUEL D INSTALLATION D UN PROXY

MANUEL D INSTALLATION D UN PROXY MANUEL D INSTALLATION D UN PROXY Squid, SquidGuard, Dansguardian Dans ce guide on va détailler l installation et la configuration d une solution proxy antivirale en utilisant les outils ; squid, dansguardian,

Plus en détail

Client windows Nagios Event Log

Client windows Nagios Event Log Client windows Nagios Event Log 1.Telechargement http://www.steveshipway.org/software/f_nagios.html 2.Comment configurer cet agent L'outil de configuration d'agent a été installé. Vous pouvez l'exécuter

Plus en détail

INTRODUCTION. Mysql-server est un serveur de bases de données. Cest un logiciel libre.

INTRODUCTION. Mysql-server est un serveur de bases de données. Cest un logiciel libre. INTRODUCTION Mysql-server est un serveur de bases de données. Cest un logiciel libre. Une base de données informatique est un ensemble de données qui ont été stockées sur un support informatique, organisées

Plus en détail

Haute disponibilité des données

Haute disponibilité des données Haute disponibilité des données par clustering avec MySQL 5.0 Master Management de la sécurité des systèmes industriels et des systèmes d'information janvier 2006 Noureddine BOUHADDAOUI Julien VEHENT Répartition

Plus en détail

Notes de cours : bases de données distribuées et repliquées

Notes de cours : bases de données distribuées et repliquées Notes de cours : bases de données distribuées et repliquées Loïc Paulevé, Nassim Hadj-Rabia (2009), Pierre Levasseur (2008) Licence professionnelle SIL de Nantes, 2009, version 1 Ces notes ont été élaborées

Plus en détail

Mysql. Les requêtes préparées Prepared statements

Mysql. Les requêtes préparées Prepared statements Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production

Plus en détail

Gestion d identités PSL Exploitation IdP Authentic

Gestion d identités PSL Exploitation IdP Authentic Gestion d identités PSL Exploitation IdP Authentic Entr ouvert SCOP http ://www.entrouvert.com Table des matières 1 Arrêt et démarrage 2 2 Configuration 2 2.1 Intégration à la fédération............................

Plus en détail

07/03/2014 SECURISATION DMZ

07/03/2014 SECURISATION DMZ 07/03/2014 SECURISATION DMZ Anthony MANDRON SDIS 21 Table des matières Introduction :... 2 Contexte :... 2 Les solutions possibles :... 2 Le proxy inverse :... 2 Démonstration de la nouvelle solution :...

Plus en détail

Pharmed. gestion de pharmacie hospitalière. Installation / déploiement

Pharmed. gestion de pharmacie hospitalière. Installation / déploiement Pharmed gestion de pharmacie hospitalière Installation / déploiement Version 1.0 du 23/05/2006 Date Auteur Version Modification 23/05/06 Pierre CARLIER 1.0 14/06/06 Matthieu Laborie Table des matières

Plus en détail

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox Version utilisée pour la Debian : 7.7 Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox Caractéristiques de bases : Un service web (ou service de la toile) est

Plus en détail

Configurer la supervision pour une base MS SQL Server Viadéis Services

Configurer la supervision pour une base MS SQL Server Viadéis Services Configurer la supervision pour une base MS SQL Server Référence : 11588 Version N : 2.2 : Créé par : Téléphone : 0811 656 002 Sommaire 1. Création utilisateur MS SQL Server... 3 2. Configuration de l accès

Plus en détail

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Installation UpdatEngine serveur (CentOs apache2 / MySQL) Installation UpdatEngine serveur (CentOs apache2 / MySQL) Christophe Geneste 2014/02/26 10:05 Table des matières Introduction... 3 Installation de l environnement et des dépendances nécessaires... 3 Environnement

Plus en détail

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5 Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5 Machine virtuelle Machine virtuelle Machine virtuelle VMware ESX Network Shutdown Module

Plus en détail

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014 Mise en place d un service FTP sous Linux Bouron Dimitri 20/04/2014 Ce document sert de démonstration concise pour l installation, la configuration, la sécurisation, d un serveur FTP sous Linux utilisant

Plus en détail

Guide Installation Serveur Extensive Testing

Guide Installation Serveur Extensive Testing Sommaire Installation simple sur un système vierge... 2 Installation personnalisée sur un système vierge... 3 Restauration du produit avec une version antérieure... 5 Mise à jour du produit... 6 Déployer

Plus en détail

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada MySQL (Administrateur) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser la productivité de votre

Plus en détail

Afin d'éviter un message d'erreur au démarrage du service Apache du type :

Afin d'éviter un message d'erreur au démarrage du service Apache du type : I. INTRODUCTION GLPI (Gestionnaire libre de parc informatique) est une solution open-source de gestion de parc informatique et de gestion des services d assistance aux utilisateurs distribué sous licence

Plus en détail

Installation et Mise en œuvre de MySQL

Installation et Mise en œuvre de MySQL T-GSI STAGE RENOVATION - SQL.Chapitre 2 - Installation et Mise en œuvre de MySQL Olivier Mondet http://unidentified-one.net A. Pourquoi choisir MySQL? A.1. MySQL, très controversé La base de données MySQL

Plus en détail

Guide Installation Serveur Extensive Testing

Guide Installation Serveur Extensive Testing Sommaire Installation sur un système vierge... 1 Mise à jour du produit... 4 Déployer un nouveau client Windows... 5 Déployer un nouveau client Linux... 5 Auteur : Denis Machard Date : 22/03/2015 Version

Plus en détail

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL Au cours de ce TP, vous allez installer un serveur de courrier sur un réseau local. Les étapes par lesquelles vous allez passer sont les suivantes

Plus en détail

1 Configuration des Fichiers Hosts, Hostname, Resolv.conf

1 Configuration des Fichiers Hosts, Hostname, Resolv.conf INSTALLATION ET CONFIGURATION ZIMBRA SUR DEBIAN 4.0 ETCH Zimbra est une solution Open Source d e-mail et de partage de calendrier destinée aux entreprises, aux prestataires de service, aux institutions

Plus en détail

TP Service HTTP Serveur Apache Linux Debian

TP Service HTTP Serveur Apache Linux Debian Compte rendu de Raphaël Boublil TP Service HTTP Serveur Apache Linux Debian Tout au long du tp, nous redémarrons le service apache constamment pour que les fi de configuration se remettent à jour - /etc/init.d/apache2

Plus en détail

Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO

Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO Dans Virtual box, la machine virtuelle xibo éteinte, sélectionner la et cliquer sur l icône configuration : Dans la fenêtre

Plus en détail

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire 2014-2015 David Genest

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire 2014-2015 David Genest Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI Année universitaire 2014-2015 David Genest Systèmes d exploitation Master 2 SILI 2014-2015 1 Chapitre I Virtualisation 1 Présentation

Plus en détail

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux Distribué par Le Projet Documentation d'openoffice.org Table of Contents 1) Préambule...3 2) Télécharger

Plus en détail

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server Machine virtuelle Machine virtuelle Machine virtuelle VMware ESX 3 Network Shutdown Module Network

Plus en détail

GOUTEYRON ALEXIS. SIO2 N candidat: 0110692972. UEpreuve E4. USituation professionnelle 2. serveurs de fichiers. Uen haute disponibilité

GOUTEYRON ALEXIS. SIO2 N candidat: 0110692972. UEpreuve E4. USituation professionnelle 2. serveurs de fichiers. Uen haute disponibilité GOUTEYRON ALEXIS SIO2 N candidat: 0110692972 UEpreuve E4 USituation professionnelle 2 serveurs de fichiers Uen haute disponibilité Session 2014 2015 I- Présentation a) Utilité Aujourd hui, dans le monde

Plus en détail

GLPI OCS Inventory. 1. Prérequis Installer un serveur LAMP : apt-get install apache2 php5 libapache2-mod-php5 apt-get install mysql-server php5-mysql

GLPI OCS Inventory. 1. Prérequis Installer un serveur LAMP : apt-get install apache2 php5 libapache2-mod-php5 apt-get install mysql-server php5-mysql GLPI OCS Inventory 1. Prérequis Installer un serveur LAMP : apt-get install apache2 php5 libapache2-mod-php5 apt-get install mysql-server php5-mysql On redémarre les deux services service mysql restart

Plus en détail

Cellier Clément, Maginot Quentin, Tripier Axel, Zaorski Jean, Zini Robin. 18 mars 2015

Cellier Clément, Maginot Quentin, Tripier Axel, Zaorski Jean, Zini Robin. 18 mars 2015 TP Cellier Clément, Maginot Quentin, Tripier Axel, Zaorski Jean, Zini Robin 18 mars 2015 Résumé Ce TP a pour but de présenter, au travers de l outil principal Docker, Varnish, HAProxy et Nginx. Installation

Plus en détail

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1] SISR3 TP 1-I Le service Web [1] Objectifs Comprendre la configuration d'un service Web Définir les principaux paramètres d'exécution du serveur Gérer les accès aux pages distribuées Mettre à disposition

Plus en détail

Configuration matériel. Tâche 2 : Installation proprement dite de l application sur un serveur de test virtualisé sous VmWare Workstation.

Configuration matériel. Tâche 2 : Installation proprement dite de l application sur un serveur de test virtualisé sous VmWare Workstation. PPE 1 MISSION 1 Tâche 1 : Se renseigner sur les exigences logicielles et matérielles de l utilisation de MRBS sur une distribution Linux (Debian). Proposer une configuration matérielle suffisante pour

Plus en détail

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS FOURNIER VINCENT 29/04/2015 1.2 Ce tutoriel est réalisé sous debian 7.7 avec une synchronisation

Plus en détail

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 ORACLE 10G DISTRIBUTION ET REPLICATION Distribution de données avec Oracle G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 1 Plan 12. Distribution de données 12.1 Génération des architectures C/S et Oracle

Plus en détail

BTS SIO 2012-2014. Dossier BTS. PURCHLA Romain

BTS SIO 2012-2014. Dossier BTS. PURCHLA Romain BTS SIO 2012-2014 Dossier BTS PURCHLA Romain 2012-2014 Lors d une création de serveur web plusieurs solution nous son proposé en voici quelques une. - LAMP (Linux, Apache, MySql, Php) La mise en place

Plus en détail

Stockage du fichier dans une table mysql:

Stockage du fichier dans une table mysql: Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table

Plus en détail

Bind, le serveur de noms sous Linux

Bind, le serveur de noms sous Linux Bind, le serveur de noms sous Linux 1. Principes de fonctionnement d'un serveur de noms La résolution des noms d'hôtes sur les réseaux tcp/ip est fondée sur le principe d'une répartition de la base des

Plus en détail

MYSQLDUMP & ZRM COMMUNITY

MYSQLDUMP & ZRM COMMUNITY Meetup Viadeo & LeMUG / Paris, November 16, 2011 MYSQLDUMP & ZRM COMMUNITY Scheduling and Monitoring Cédric PEINTRE www.mysqlplus.net 2 Sondage ancien mais toujours valide! mysqldump n est pas mort! Sauvegarde

Plus en détail

Installation et configuration d OCS/GLPI sur un Serveur Debian

Installation et configuration d OCS/GLPI sur un Serveur Debian Installation et configuration d OCS/GLPI sur un Serveur Debian GLPI (Gestionnaire Libre de Parc Informatique) est une application web (développée en PHP) qui permet la gestion de parc informatique et de

Plus en détail

Notes pour l'installation d'une version de Eprints sur une machine CentOS4.2 Stéphanie Lanthier Le jeudi 17 février 2006

Notes pour l'installation d'une version de Eprints sur une machine CentOS4.2 Stéphanie Lanthier Le jeudi 17 février 2006 Notes pour l'installation d'une version de Eprints sur une machine CentOS4.2 Stéphanie Lanthier Le jeudi 17 février 2006 Prérequis. Une base de données mysql. L'installation du serveur mysql à l'installation

Plus en détail

WEB page builder and server for SCADA applications usable from a WEB navigator

WEB page builder and server for SCADA applications usable from a WEB navigator Générateur de pages WEB et serveur pour supervision accessible à partir d un navigateur WEB WEB page builder and server for SCADA applications usable from a WEB navigator opyright 2007 IRAI Manual Manuel

Plus en détail

Hébergement de site web Damien Nouvel

Hébergement de site web Damien Nouvel Hébergement de site web Plan L'hébergeur Le serveur web Apache Sites dynamiques 2 / 27 Plan L'hébergeur Le serveur web Apache Sites dynamiques 3 / 27 L'hébergeur L'hébergeur sous-traite l'architecture

Plus en détail

Documentation d'installation Plateforme femme actuelle

Documentation d'installation Plateforme femme actuelle Smile Motoristes Internet page 1/7 Documentation d'installation Plateforme femme actuelle Smile 2006 Motoristes Internet page 1/7 Smile Motoristes Internet page 2/7 1 Historique du document Vers. Date

Plus en détail

REPARTITION DE CHARGE LINUX

REPARTITION DE CHARGE LINUX REPARTITION DE CHARGE LINUX I. SOMMAIRE II. Introduction... 2 1. Principe cluster... 2 III. Contexte... 2 2. Objectifs... 2 3. Topologie logique et physique finale... 3 IV. Préparation des postes... 4

Plus en détail

INFO-F-404 : Techniques avancées de systèmes d exploitation

INFO-F-404 : Techniques avancées de systèmes d exploitation Nikita Veshchikov e-mail : nikita.veshchikov@ulb.ac.be téléphone : 02/650.58.56 bureau : 2N8.213 URL : http://student.ulb.ac.be/~nveshchi/ INFO-F-404 : Techniques avancées de systèmes d exploitation Table

Plus en détail

Table des matières. 1. Installation de VMware ESXI 4... 3. 1.1. Pré-requis... 3. 1.2. Installation... 3

Table des matières. 1. Installation de VMware ESXI 4... 3. 1.1. Pré-requis... 3. 1.2. Installation... 3 Table des matières 1. Installation de VMware ESXI 4.... 3 1.1. Pré-requis... 3 1.2. Installation... 3 1.2.1. Panneau de configuration du serveur ESXI... 4 1.2.2. Configuration du mot de passe «Root»....

Plus en détail

MariaDB/MySQL Avancé. Pierre Mavro <pierre@mavro.fr> Creative Commons License

MariaDB/MySQL Avancé. Pierre Mavro <pierre@mavro.fr> Creative Commons License MariaDB/MySQL Avancé Pierre Mavro Creative Commons License Sommaire Sommaire Introduction........................................................ 3 Installation.........................................................

Plus en détail

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1 INSTALLATION D OCS INVENTORY NG V2.1 Procédure d utilisation Installation d OCS Inventory NG (Open Computer and Software Inventory) sur un serveur Linux N version : v1 Installation d OCS Inventory NG v2.1

Plus en détail

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups 1.3.7 Auteur : Charles-Alban BENEZECH

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups 1.3.7 Auteur : Charles-Alban BENEZECH 2012 Les tutos à toto CUPS server - install and configure Réalisée sur CentOS 5.7 Ecrit par Charles-Alban BENEZECH 2012 titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups 1.3.7

Plus en détail

Procédure d'installation

Procédure d'installation 07/11/2014 BTS SIO SISR 2ème année BRY Quentin Procédure d'installation Tableau d évolution Version Date Description Rédacteur Approbateur 0.0 25/01/2014 Ecriture du document Thierry MARTINS 1.0 06/11/2014

Plus en détail

04/02/2014 Tutoriel. Lubuntu & glpi. thomas [NOM DE LA SOCIETE]

04/02/2014 Tutoriel. Lubuntu & glpi. thomas [NOM DE LA SOCIETE] 04/02/2014 Tutoriel Lubuntu & glpi thomas [NOM DE LA SOCIETE] I Installation de Lubuntu Outils : Virtual Box : https://www.virtualbox.org/wiki/downloads Lubuntu : archive fourni Nous allons commencer par

Plus en détail

MySQL 5.6. Performances et Tuning. MySQL 5.6 - Performances et Tuning. MySQL 5.6. Vincent TAHON

MySQL 5.6. Performances et Tuning. MySQL 5.6 - Performances et Tuning. MySQL 5.6. Vincent TAHON Ce livre sur l exploitation des bases de données MySQL (versions 5.1 à 5.6) s adresse aux architectes et administrateurs de bases de données, aux chefs de projets techniques et bien entendu à tous les

Plus en détail

Le protocole FTP (File Transfert Protocol,

Le protocole FTP (File Transfert Protocol, Mise en place d un serveur FTP sous CentOS 6.2 Nicolau Fabien, Emanuele Prestifilippo Le protocole FTP (File Transfert Protocol, en français protocole de transfert de fichiers) permet d envoyer ou récupérer

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3 par G.Haberer, A.Peuch, P.Saadé Table des matières 1. Installation de Windows 2000 Server.............................................. 2 2. Installation

Plus en détail

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS) PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et

Plus en détail

Guide pour l Installation des Disques Durs SATA et Configuration RAID

Guide pour l Installation des Disques Durs SATA et Configuration RAID Guide pour l Installation des Disques Durs SATA et Configuration RAID 1. Guide pour l Installation des Disques Durs SATA.. 2 1.1 Installation de disques durs Série ATA (SATA).. 2 1.2 Créer une disquette

Plus en détail

PPe jaune. Domingues Almeida Nicolas Collin Leo Ferdioui Lamia Sannier Vincent [PPE PROJET FTP]

PPe jaune. Domingues Almeida Nicolas Collin Leo Ferdioui Lamia Sannier Vincent [PPE PROJET FTP] PPe jaune Domingues Almeida Nicolas Collin Leo Ferdioui Lamia Sannier Vincent [PPE PROJET FTP] Sommaire 1) Architecture réseau... 3 2) Introduction FTP... 4 3) Le rôle du protocole FTP... 4 4) Diagramme

Plus en détail

Configuration de plusieurs serveurs en Load Balancing

Configuration de plusieurs serveurs en Load Balancing Le serveur de communication IceWarp Configuration de plusieurs serveurs en Load Balancing Version 10.4 27 février 2013 Icewarp France / DARNIS Informatique i Sommaire Configuration de plusieurs serveurs

Plus en détail

Installation de VirtualPOPC-1 sur Ubuntu Server 10.04 LTS 64bits

Installation de VirtualPOPC-1 sur Ubuntu Server 10.04 LTS 64bits Titre Propriétaire Classification Date dernière modification Chemin et NomFichier Installation de VirtualPOPC-1 sur Ubuntu Server 10.04 LTS 64bits Penas Cédric Privé 19.09.10 \\10.1.1.1\FilesTD\Group4\Personnel\Penas\ViSaG\Installation_VirtualP

Plus en détail

Installation du serveur WEB Apache ( MySQL, PHP) sous Debian 7.

Installation du serveur WEB Apache ( MySQL, PHP) sous Debian 7. Installation du serveur WEB Apache ( MySQL, PHP) sous Debian 7. Dans ce tutoriel je crée un site www.artheodoc.fr. Vous pouvez remplacer "artheodoc" par le nom de site votre choix. Installation de LAMP

Plus en détail

Open Source Job Scheduler. Installation(s)

Open Source Job Scheduler. Installation(s) Open Source Job Scheduler Installation(s) Installations Standard Configuration Superviseur Agent SOS-Paris 2 Pré-requis o Base de données o MySQL, MSACCESS, Oracle o JDBC ou ODBC o Connecteurs o Mysql

Plus en détail

Sybase High Avalaibility

Sybase High Avalaibility Sybase High Avalaibility Mars 2006 Documentation technique # 28 Sybase High Availability Principes généraux Sybase HA et Sun Cluster 3.0 Configuration Active-Active pour Sun Cluster 3.0 Configuration Active-Passive

Plus en détail

Titre: Version: Dernière modification: Auteur: Statut: Licence:

Titre: Version: Dernière modification: Auteur: Statut: Licence: Titre: Mise en œuvre de mod_webobjects Version: 2.0 Dernière modification: 2010/09/06 20:00 Auteur: Aurélien Minet Statut: version finale Licence: Creative Commons

Plus en détail

Cluster High Availability. Holger Hennig, HA-Cluster Specialist

Cluster High Availability. Holger Hennig, HA-Cluster Specialist Cluster High Availability Holger Hennig, HA-Cluster Specialist TABLE DES MATIÈRES 1. RÉSUMÉ...3 2. INTRODUCTION...4 2.1 GÉNÉRALITÉS...4 2.2 LE CONCEPT DES CLUSTERS HA...4 2.3 AVANTAGES D UNE SOLUTION DE

Plus en détail

Titre: Version: Dernière modification: Auteur: Statut: Licence:

Titre: Version: Dernière modification: Auteur: Statut: Licence: Titre: Installation de WebObjects 5.3 Version: 2.1 Dernière modification: 2011/02/17 11:00 Auteur: Aurélien Minet Statut: version finale Licence: Creative Commons

Plus en détail

Imprimantes et partage réseau sous Samba avec authentification Active Directory

Imprimantes et partage réseau sous Samba avec authentification Active Directory Imprimantes et partage réseau sous Samba avec authentification Active Directory Sommaire 1- Pré requis Page 2 2- Configuration réseau Page 3 3- Installation de samba Page 4 à 5 4- Installation de kerberos

Plus en détail

Installation de Smokeping sur Debian

Installation de Smokeping sur Debian Installation de Smokeping sur Debian SOMMAIRE 1 Installation 2 Configuration 3 Lancement SmokePing est un logiciel libre et opensource écrit en Perl par Tobi Oetiker, le créateur de MRTG et RRDtool il

Plus en détail

Couche application. La couche application est la plus élevée du modèle de référence.

Couche application. La couche application est la plus élevée du modèle de référence. Couche application La couche application est la plus élevée du modèle de référence. Elle est la source et la destination finale de toutes les données à transporter. Couche application La couche application

Plus en détail

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7 Sommaire 1-Introduction 2 1-1- BPM (Business Process Management)..2 1-2 J-Boss JBPM 2 2-Installation de JBPM 3 2-1 Architecture de JOBSS JBPM 3 2-2 Installation du moteur JBoss JBPM et le serveur d application

Plus en détail

Guide d'installation et de configuration de Pervasive.SQL 7 dans un environnement réseau Microsoft Windows NT

Guide d'installation et de configuration de Pervasive.SQL 7 dans un environnement réseau Microsoft Windows NT Guide d'installation et de configuration de Pervasive.SQL 7 dans un environnement réseau Microsoft Windows NT Ce guide explique les différentes étapes de l installation et de la configuration des composantes

Plus en détail

Automatisation de l administration système

Automatisation de l administration système Automatisation de l administration système Plan Problèmatique : trop de systèmes, trop de solutions Typage des solutions Puppet : gestion de configuration de systèmes Capistrano : déploiement d applications

Plus en détail

Installer un serveur web de développement avec VirtualBox

Installer un serveur web de développement avec VirtualBox Installer un serveur web de développement avec VirtualBox Par Gilles Février (http://gfevrier.kelio.org/blog) VERSION 1.0 (Mars 2013) 1 / 15 Sommaire SOMMAIRE Introduction...3 Installation de VirtualBox...3

Plus en détail

Perl Console. Votre compagnon pour développer en Perl. Les Journées du Perl 2007 16, 17 novembre, Lyon. Alexis Sukrieh <sukria@sukria.

Perl Console. Votre compagnon pour développer en Perl. Les Journées du Perl 2007 16, 17 novembre, Lyon. Alexis Sukrieh <sukria@sukria. Perl Console Votre compagnon pour développer en Perl Les Journées du Perl 2007 16, 17 novembre, Lyon Alexis Sukrieh Plan Pourquoi une console? Le modèle «Read-Eval-Print-Loop» Dépendances

Plus en détail

Installer un domaine DNS

Installer un domaine DNS Installer un domaine DNS Olivier Hoarau (olivier.hoarau@funix.org) V1.2 du 3.12.00 1 Historique... 2 2 Préambule... 2 3 Présentation... 2 4 Installation et configuration... 3 5 Lancement automatique de

Plus en détail

Sendmail milter/greylisting

Sendmail milter/greylisting Sendmail milter/greylisting Kai Poutrain - JT-SIARS 2005 Milter : objectifs Fournir une interface pour des filtres externes pour traiter les mails Validation d informations Modification de contenu tout

Plus en détail

cedric.foll@(education.gouv.fr laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

cedric.foll@(education.gouv.fr laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007 A t t a q u e s c o n t r e l e s a p p l i s w e b cedric.foll@(education.gouv.fr laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007 D e l ' u t i l i t é d e l ' a t t a

Plus en détail

Préparation d un serveur Apache pour Zend Framework

Préparation d un serveur Apache pour Zend Framework Préparation d un serveur Apache pour Zend Framework Jacques THOORENS 30 novembre 2010 Résumé Cette petite introduction explique comment paramétrer son serveur Apache personnel pour en faire une machine

Plus en détail

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer

Plus en détail

Présentation Alfresco

Présentation Alfresco Présentation d un CMS : Alfresco Présentation Alfresco Ludovic Plantin, Frédéric Sénèque, Xu Zhao Polytech Grenoble Décembre 2008 Plantin, Sénèque, Xu (Polytech) Présentation Alfresco Décembre 2008 1 /

Plus en détail

TARDITI Richard Mise en place d une Haute Disponibilité

TARDITI Richard Mise en place d une Haute Disponibilité TARDITI Richard Mise en place d une Haute Disponibilité Dans le cadre du projet GSB j ai mis en place un cluster de deux machines virtuelles Apache sous Linux, avec une haute disponibilité produite grâce

Plus en détail

Cloner un disque dur

Cloner un disque dur Cloner un disque dur Préambule: J'ai testé beaucoup d'outils disponibles sur le Web, pour cloner des disques dur et/ou des partitions, dans de nombreux cas et sur de nombreuses machines, et avec de nombreux

Plus en détail

Manuel de l Administrateur

Manuel de l Administrateur Manuel de l Administrateur Monitor 1 2 Table des matières 1. Objectif... 5 2. Fonctionnement... 5 2.1. Schéma de fonctionnement... 6 2.2. Les indicateurs... 6 2.3. Le serveur de supervision... 7 2.4. L

Plus en détail

Audit et optimisation MySQL 5

Audit et optimisation MySQL 5 Audit et optimisation MySQL 5 Bonnes pratiques pour l administrateur Pascal Borghino Olivier Dasini Arnaud Gadal Groupe Eyrolles, 2010, ISBN : 978-2-212-12634-1 Table des matières CHAPITRE 1 Gérer une

Plus en détail