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

Travaux pratiques : MySQL

Travaux pratiques : MySQL Travaux pratiques : MySQL L'équipe du Laboratoire SUPINFO des Technologies GNU/Linux Révision datée du 24-05-2007 Copyright 2006 SUPINFO All rights reserved. Table des matières 1. Mettre en place un gestionnaire

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

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

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

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

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

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

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

Memento MYSQL LINUX. Pour installer le serveur Mysql. Installer les paquets suivants :

Memento MYSQL LINUX. Pour installer le serveur Mysql. Installer les paquets suivants : Memento MYSQL LINUX Pour installer le serveur Mysql Installer les paquets suivants : Mysql-server (moteur de bases de données) Apache2 (serveur web si besoin) Php5 (langage de programmation permettant

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

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

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

Quentin Godeau & Nicolas Lemonnier 10/11/2012

Quentin Godeau & Nicolas Lemonnier 10/11/2012 IUT ORSAY Oracle sqldeveloper & Oracle-xe 11g Quentin Godeau & Nicolas Lemonnier 10/11/2012 Table des matières INTRODUCTION... 2 INSTALLATION D ORACLE XE ÉTAPE 1 : Téléchargement... 3 ÉTAPE 2 : Création

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

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

Formation CETE 2006 Esigelec Grave Samuel Roulland Pierre Vallée Romain

Formation CETE 2006 Esigelec Grave Samuel Roulland Pierre Vallée Romain Page 1 sur 24 Introduction :... 3 Préparation :... 3 Installation de nagios 1.2... 4 Installation de OREON 1.2.2... 5 Derniers paquets à installer... 5 Finition... 5 Configuration via l interface... 6

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

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

MySQL 5.6 Administration et optimisation

MySQL 5.6 Administration et optimisation Avant-propos 1. MySQL en quelques mots 17 2. Objectifs du livre 18 3. Description 18 Installation du serveur 1. Généralités 21 1.1 Stabilité des versions 21 1.2 Version communautaire et version Enterprise

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

Installation GLPI et OCS Inventory Debian 7

Installation GLPI et OCS Inventory Debian 7 1 Installation GLPI et OCS Inventory Debian 7 Installation serveur apache 2 et php5 # apt-get install php5-mysql # apt-get install libapache2-mod-php5 Paquets PERL : # apt-get install libxml-simple-perl

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

Documentation UpdatEngine Installation et migration version 2.1.0 stable

Documentation UpdatEngine Installation et migration version 2.1.0 stable Documentation UpdatEngine Installation et migration version 2.1.0 stable Version de la documentation : doc-2.1.0-stable-4 Auteur: Yves Guimard Référence internet : http://www.updatengine.com Licence Creative

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

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

Wallix AdminBastion 2

Wallix AdminBastion 2 Procédure de mise à jour Date 20/01/2010-07/01/2011 Version 1.5 Auteur Validation Damien Lesgourgues damien.lesgourgues@wallix.com Julien Patriarca julien.patriarca@wallix.com Groupe IF Research / Wallix

Plus en détail

Installation et configuration d un serveur Web Sauvegarde et restauration

Installation et configuration d un serveur Web Sauvegarde et restauration Installation et configuration d un serveur Web Sauvegarde et restauration Serveur Web Page 1 Sommaire Présentation 3 Configuration d une machine virtuelle 3 Création d une machine virtuelle 3 Configuration

Plus en détail

TP n 1 : Installation et configuration d un serveur Web Apache

TP n 1 : Installation et configuration d un serveur Web Apache TP n 1 : Installation et configuration d un serveur Web Apache Objectifs du TP Configurer, lancer et administrer le serveur Web Apache sous Linux Machines sous Linux Fedora 14 Fichiers de configuration

Plus en détail

UsersHub Documentation. Version latest

UsersHub Documentation. Version latest UsersHub Documentation Version latest 18 June 2015 Table des matières 1 SERVEUR 3 1.1 Prérequis................................................. 3 1.2 Installation et configuration du serveur.................................

Plus en détail

GeoNature-01 Documentation. Version latest

GeoNature-01 Documentation. Version latest GeoNature-01 Documentation Version latest 29 December 2014 Table des matières 1 SERVEUR 3 1.1 Prérequis................................................. 3 1.2 Installation et configuration du serveur.................................

Plus en détail

Sécurisation Accès Réseau Internet

Sécurisation Accès Réseau Internet 07/03/2014 SARI Sécurisation Accès Réseau Internet Anthony MANDRON SDIS 21 Table des matières Contexte :... 2 Mise en situation :... 2 Schéma :... 2 Introduction :... 2 Première étape : Mise en place des

Plus en détail

Version de cette publication: 26 Juin 2015

Version de cette publication: 26 Juin 2015 Version de cette publication: 26 Juin 2015 [Ebook écrit par Marc ARNAERT marc@arnaert.com http://www.arnaert.com ] Page 1 EBOOK Collection: Appliance de Sécurité Virtuelle Gratuite Comment réaliser vous-même

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

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

Fiche procédure Serveur web Debian

Fiche procédure Serveur web Debian Galaxy Swisse Bourdin Rodrigue Marie Fiche procédure Serveur web Debian 2013 Installation du serveur Débian via Virtual Box Lancer VirtalBox puis exporter l image nommé «Debian-Srv.ova». Fichier => importer

Plus en détail

Documentation UpdatEngine Installation et migration version 2.1.1 stable

Documentation UpdatEngine Installation et migration version 2.1.1 stable Documentation UpdatEngine Installation et migration version 2.1.1 stable Version de la documentation : doc-2.1.1-stable-1 Auteur: Yves Guimard Référence internet : http://www.updatengine.com Licence Creative

Plus en détail

BLANCHON Enzo et GRIMAUD Bastien INSTALLATION LOGICIEL SOUS LINUX

BLANCHON Enzo et GRIMAUD Bastien INSTALLATION LOGICIEL SOUS LINUX BLANCHON Enzo et GRIMAUD Bastien INSTALLATION LOGICIEL SOUS LINUX Sommaire Installation depuis un dépôt (P 3-4) 1 Qu est-ce que c est un dépôt? (P 3) 2 Procédure d installation (P 3-4) 1 Rendre accessible

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

TP n 2: Mise en place d'un serveur Web avec PHP et MySQL

TP n 2: Mise en place d'un serveur Web avec PHP et MySQL TP n 2: Mise en place d'un serveur Web avec PHP et MySQL Le but de ce TP est de vous apprendre comment installer et congurer un serveur Web avec PHP et MySQL sous Linux. Cela requiert plusieurs étapes

Plus en détail

TP Sauvegarde/Restauration de Base de Données

TP Sauvegarde/Restauration de Base de Données SIO2ème année SISR3 Page 1 TP Sauvegarde/Restauration de Base de Données Contexte : L'entreprise GSB voir Annexe1 Application concernée : L'application gestion des frais et remboursements pour les visiteurs

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

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

[PROJET PROFESIONNEL ENCADRE]

[PROJET PROFESIONNEL ENCADRE] 2012-2013 Lycée Polyvalent Blaise Pascal. DO NASCIMENTO Cédric MAYERAU David TS2 SIO [PROJET PROFESIONNEL ENCADRE] Mise en place d une plateforme collaborative pour l entreprise STESIO. Sommaire Identifier

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

Installation d'un serveur Forefront Threat Management Gateway 2010 (TMG 2010)

Installation d'un serveur Forefront Threat Management Gateway 2010 (TMG 2010) Installation d'un serveur Forefront Threat Management Gateway 2010 (TMG 2010) Par LoiselJP Le 01/05/2013 1 Objectifs Ce document décrit le plus succinctement possible une manière, parmi d'autres, d installer

Plus en détail

Stockage des données en bases MySQL

Stockage des données en bases MySQL 1 Le serveur de communication IceWarp Stockage des données en bases MySQL Version 11 Novembre 2015 Icewarp France / DARNIS Informatique 2 Serveur de communication IceWarp : Stockage en base de données

Plus en détail

Tutoriel LAMP Linux, Apache, MySQL and PHP

Tutoriel LAMP Linux, Apache, MySQL and PHP Tutoriel LAMP Linux, Apache, MySQL and PHP Vous installerez et configurerez de façon minimale ces différents services afin d'obtenir un serveur web de contenu dynamique. Sommaire : Introduction page 2

Plus en détail

Remplacement d'une Box Viadéis Services

Remplacement d'une Box Viadéis Services Référence : 12769 Version N : 3 Créé le : 17 Novembre 2015 Sommaire 1. Préambule... 3 1.1. Remplacement d une VM de type VMware... 3 1.2. Remplacement d une VM de type Hyper-V... 4 1.3. Remplacement d

Plus en détail

MISSION 3 : SECURITE RESEAU & VLANS PARTIE 2. Mission 3 : Sécurité réseau & VLANs Partie 2... 1. Présentation du TP :... 1. Méthode :...

MISSION 3 : SECURITE RESEAU & VLANS PARTIE 2. Mission 3 : Sécurité réseau & VLANs Partie 2... 1. Présentation du TP :... 1. Méthode :... MISSION 3 : SECURITE RESEAU & VLANS PARTIE 2 SOMMAIRE Mission 3 : Sécurité réseau & VLANs Partie 2... 1 Présentation du TP :... 1 Méthode :... 2 I) Partie A : maintenance de la documentation... 2 1) Mise

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

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

SYSLOG. I.Installation serveur syslog et module centreon-syslog. 1.Installation de centreon-syslog-server

SYSLOG. I.Installation serveur syslog et module centreon-syslog. 1.Installation de centreon-syslog-server SYSLOG I.Installation serveur syslog et module centreon-syslog 1.Installation de centreon-syslog-server apt-get install mysql-client mysql-server php5 php-pear php5-mysql dbconfig-common pear install DB

Plus en détail

Utiliser Service Broker pour les tâ ches progrâmme es dâns SQL Express

Utiliser Service Broker pour les tâ ches progrâmme es dâns SQL Express Utiliser Service Broker pour les tâ ches progrâmme es dâns SQL Express Chacun sait que SQL Express ne dispose pas de l Agent SQL qui permet l exécution automatique de tâches programmées, comme par exemple

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

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

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

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web.

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web. Document 1 : client et serveur Les ordinateurs sur lesquels sont stockés les sites web sont appelés des serveurs. Ce sont des machines qui sont dédiées à cet effet : elles sont souvent sans écran et sans

Plus en détail

Installation de OCSNG Inventory sur CentOS v5.3

Installation de OCSNG Inventory sur CentOS v5.3 Installation de OCSNG Inventory sur CentOS v5.3 Auteur: BRIZARD Olivier http://www.beemoon.fr @2009 Ce manuel d'installation est destiné au grand débutant (comme moi!) sur CentOS et OCSNG Inventory, mais

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

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

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

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

LOSLIER Mathieu IR1 31 Mai 2011. Rapport TP Firewall

LOSLIER Mathieu IR1 31 Mai 2011. Rapport TP Firewall Rapport TP Firewall 1 Table des matières Rapport TP Firewall... 1 Introduction... 3 1. Plate-forme de sécurité étudiée... 3 2. Routage classique... 3 2.1 Mise en œuvre du routage classique... 4 2.2 Configuration

Plus en détail

Comment passer d'apache à Apache2: Configuration

Comment passer d'apache à Apache2: Configuration Comment passer d'apache à Apache2: Configuration Suite à la panne, d'un serveur «web» qui tournait avec Apache sous Etch, le problème de passer sous la dernière version de Debian (Lenny) s'est posé. Rien

Plus en détail

ECOSERRE Guide d installation

ECOSERRE Guide d installation ECOSERRE Guide d installation 1. Configuration nécessaire pour installer ecoserre. Pour installer ecoserre sur votre machine, il faut au préalable vérifier que votre système d'exploitation vous donne accès

Plus en détail

Après avoir réalisé les phases préparatoires, démarré le serveur et mis le DVD Rom dans le serveur, vous arrivez sur :

Après avoir réalisé les phases préparatoires, démarré le serveur et mis le DVD Rom dans le serveur, vous arrivez sur : Installation 1. Serveur ESX4 L installation d un serveur ESX ne présente aucune difficulté et est beaucoup plus simple et rapide (10 à 15 minutes) que l installation d un serveur Windows ou Linux. Dans

Plus en détail

1.1 Remote Procedure Call (RPC)

1.1 Remote Procedure Call (RPC) 1.1 Remote Procedure Call (RPC) Le modèle Client-Serveur est un modèle simple à utiliser pour la structuration des systèmes répartis. Mais ce modèle s appuie sur des communications de type entrée/sortie

Plus en détail

DOCUMENTATION MISE A JOUR ANTIBIOGARDE. V4.0 en v4.1

DOCUMENTATION MISE A JOUR ANTIBIOGARDE. V4.0 en v4.1 DOCUMENTATION MISE A JOUR ANTIBIOGARDE V4.0 en v4.1 Version d Antibiogarde 4.1 Version du document 1.0 Date dernière mise à jour du document 15/06/2010 Retrouvez cette doc à jour sur : http://www.antibiogarde.org/activation/

Plus en détail

Serveur de déploiement FOG sous linux

Serveur de déploiement FOG sous linux Serveur de déploiement FOG sous linux FOG est une application open-source sous licence GPL de gestion d'images disques permettant le déploiement de stations via PXE. Ça permet par exemple d'éviter d'avoir

Plus en détail

Formation PHP/MySQL. Pierre PATTARD. Avril 2005

Formation PHP/MySQL. Pierre PATTARD. Avril 2005 Formation PHP/MySQL Pierre PATTARD Julien BENOIT Avril 2005 Le PHP Langage interprété, côté serveur pages interprétées par le serveur web pas de compilation, code éditable avec un bloc notes. aucune différences

Plus en détail

SISR3- Mise à disposition d une application web sécurisée

SISR3- Mise à disposition d une application web sécurisée Contexte : Le laboratoire pharmaceutique Galaxy-Swiss Bourdin (GSB) désire mettre à disposition des visiteurs médicaux une application Web de gestion des frais de remboursement. Il souhaite disposer d'une

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

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

Explication des statistiques

Explication des statistiques Explication des statistiques Sources : http://www.eolas.fr/8-conseil/65-interpreter-vos-statistiques-webalizer.htm http://support.sherweb.com/faqdetails.php?idarticle=68 Un site web est un ensemble de

Plus en détail

Lot 1 - Migration du serveur de base de données

Lot 1 - Migration du serveur de base de données Situation Rectiline Lot 1 - Migration du serveur de base de données Table des matières Lot 1 - Migration du serveur de base de données...1 Mise à jour du système Debian 6 :...2 Installation de PostgreSQL:...5

Plus en détail

Web dynamique. Techniques, outils, applications. (Partie C)

Web dynamique. Techniques, outils, applications. (Partie C) Web dynamique Techniques, outils, applications (Partie C) Nadir Boussoukaia - 2006 1 SOMMAIRE 1. MySQL et PHP (20 min) 2. SQL (petits rappels) (20 min) 2 MySQL et PHP Synthèse 3 MySQL et PHP SGBD MySQL

Plus en détail

MySQL 5 (versions 5.1 à 5.6) Guide de référence du développeur (Nouvelle édition)

MySQL 5 (versions 5.1 à 5.6) Guide de référence du développeur (Nouvelle édition) Avant-propos 1. Les objectifs de ce livre 13 2. Les principaux sujets qu'aborde ce livre 13 3. À qui s adresse ce livre? 14 4. Les pré-requis 14 Introduction à MySQL 1. Introduction aux bases de données

Plus en détail

Procédure d installation de OpenOffice.org non graphique sur un serveur Linux Fedora Core 5

Procédure d installation de OpenOffice.org non graphique sur un serveur Linux Fedora Core 5 Procédure d installation de OpenOffice.org non graphique sur un serveur Linux Fedora Core 5 1. OpenOffice.org Ce paragraphe présente la manière d installer la suite bureautique OpenOffice.org sur le serveur

Plus en détail

Création d'une base de données Oracle

Création d'une base de données Oracle TP1 Création d'une base de données Oracle MASTER INFORMATIQUE I2A Année universitaire 2006-2007 RAPPORT DE PROJET (Document de 15 pages) Encadrant : Rosaire Amore Participants : Erik Allais Abdel Rafrafi

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

PPE 4.2: Tolérance aux pannes et répartition de charge (Haproxy et Heartbeat)

PPE 4.2: Tolérance aux pannes et répartition de charge (Haproxy et Heartbeat) PPE 4.2: Tolérance aux pannes et répartition de charge (Haproxy et Heartbeat) La demande Dans le contexte STE Puzzle (1), il est primordial de bénéficier d une solution de haute disponibilité pour les

Plus en détail

Chapitre VII. Technique : Administration Système et AlternC

Chapitre VII. Technique : Administration Système et AlternC Chapitre VII Technique : Administration Système et AlternC AlternC comme si vous y étiez 1 Installation d'alternc L'installation d'alternc est relativement aisée, elle utilise le système de paquets logiciels

Plus en détail

Sujet Projets 2 nd Semestre

Sujet Projets 2 nd Semestre Sujet Projets 2 nd Semestre Seuls les appels systèmes vus en cours sont autorisés. L usage d autres fonctions doit impérativement être validé par l enseignant. La date d ouverture pour l assignation de

Plus en détail

ADMIN SGBD TP 1. Préliminaires. Dictionnaire des données. Utilisateurs, vues et autorisations

ADMIN SGBD TP 1. Préliminaires. Dictionnaire des données. Utilisateurs, vues et autorisations ADMIN SGBD TP 1 Préliminaires L'objectif de ce TP est de: installer l environnement (PostgreSQL, base, tables), créer des utilisateurs, des vues, et de gérer les privilèges, créer des triggers, utiliser

Plus en détail

Installation Linux de Typo3

Installation Linux de Typo3 Installation Linux de Typo3 Extension key: [Non attibuée] Copyright 2003, Jean-Gaël Rouchon, This document is published under the Open Content License available from http://www.opencontent.org/opl.shtml

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

Programmation Android TP7 - WebServices

Programmation Android TP7 - WebServices 1. WebService Dans le TP6, les avis étaient stockés dans une base SQL. Cette semaine les n-uplets sont stockés sur une base de données externe gérée par un serveur HTTP sur lequel tournent des scripts

Plus en détail

MySQL 5.6 Performances et Tuning

MySQL 5.6 Performances et Tuning Introduction à MySQL 1. Introduction 23 2. Historique de MySQL 24 3. Liste des produits MySQL 26 4. Liste des environnements supportés 27 5. Les certifications MySQL 28 6. Documentation en ligne 30 Architecture

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

Corrigé Syndic De Coproprietele Syndic Traditionnel

Corrigé Syndic De Coproprietele Syndic Traditionnel Corrigé Syndic De Coproprietele Syndic Traditionnel Listes des dossiers Barème indicatif Dossier 1 : Le système d information du syndic 38 Dossier 2 : L évolution du système d information 33 Dossier 3

Plus en détail

ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES. Cours Administration des Bases de données M Salhi

ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES. Cours Administration des Bases de données M Salhi ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES Cours Administration des Bases de données M Salhi Architectures des Système de base de données Systèmes centralisés et client-serveur Server System Architectures

Plus en détail

BTS SIO 2. Projet GSB. Apache 2. Voiset Nicolas

BTS SIO 2. Projet GSB. Apache 2. Voiset Nicolas BTS SIO 2 Projet GSB Apache 2 Voiset Nicolas 1 Table des matières 1-Contexte d utilisation... 3 2-Informations d utilisation... 5 3-Comparaison... 5 4-Problèmes et solutions... 6 5-Phase de test... 6 Annexe1-Configuration

Plus en détail

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents. Serveur de partage de documents Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents. Table des matières Création de la machine virtuelle Debian... 3 Présentation

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

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