Télécharger - PURCHLA Romain
Transcription
Télécharger - 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 d’un serveur de développement dédié sous Linux (Debian, Suse ou Ubuntu). Avantages: Plateforme de développement très proche, voir conforme à l’environnement de production. Plateforme ultra stable. Désavantage: Sans compétences linux sous la main, plutôt difficile à mettre en place pour un néophyte. - WAMP (Windows, Apache, MySql, Php) C’est un situation intermédiaire, vous avez choisi de garder votre OS, en l’occurrence Windows XP et vous ne voulez pas en changer, trop contraignant ou contraire aux directives de l’entreprise, une bonne solution intermédiaire peut être d’installer une solution préformatée comme EasyPHP ou WampServer, ces solutions sont très faciles à installer (il y a juste à suivre les instructions de l’installer), mais ne sont pas conseillées pour une plateforme de développement ‘propre’. Certaines fonctions (mailer, permission sur les répertoires et fichiers) risquent de ne pas marcher en production, convient pour une plateforme de développement maison, pas pour du développement lourd. Attention aussi à bien configurer Apache et les extensions Php (en particulier les warning,globals, etc…) pour se rapprocher le plus possible d’un environnement de production. Avantages: Mise en place rapide et intuitive, s’installe sous Windows. Désavantages: La configuration d’Apache et des modules PHP est faite pour les néophytes et ne s’adresse pas à un environnement de production. Certaines fonctions vitales ne marchent pas ou nécessitent une modification poussée de la configuration. - WIMP (Windows, IIS, MySql, Php) C’est pour moi la pire des situations, faire tourner MySql et Php sur un serveur IIS. Certes ça marche, mais très mal… Je le déconseille pour une plateforme de développement comme pour une plateforme de production. Cela peut convenir pour des petites applications, de taille modeste et peu sollicitées. C’est typiquement la solution quand on doit mettre en ligne un appli Php et qu’on n’a pas ou plus de serveur Linux disponible ou que l’application fonctionne uniquement en sur IIS. Avantages: Disponibilité d’un serveur en 3 minutes. Windows server très implanté dans les entreprises. Désavantages: on perd la stabilité de Linux et d’Apache, la gestion des mails et des permissions sur les fichiers et répertoires peuvent être très problématiques. Conclusion: Si vous faites de l’OpenSource, la meilleure des solutions reste encore un OS OpenSource (Linux) et un serveur Web OpenSource (Apache) pour garantir une grande stabilité et une gestion optimale de la bascule plateforme de développement, plateforme de production. Une solution type WAMP peut être envisagée pour des petits développements. La solution WIMP est à utiliser en cas d’installation d’application compatible IIS uniquement. LAMP est un acronyme désignant un ensemble de logiciels libres permettant de construire des serveurs de sites web. L'acronyme original se réfère aux logiciels suivants : Linux : Assure l'attribution des ressources aux autres composants (Rôle d'un Système d'exploitation dit OS (operating system)) ; Apache : Est le serveur web « frontal » : il est « devant » tous les autres et répond directement aux requêtes du client web (navigateur) ; MySQL : Est un système de gestion de bases de données (SGBD). Il permet de stocker et d'organiser des données ; PHP : le langage de script PHP permet la génération de pages web dynamiques et la communication avec le serveur MySQL. Même si les auteurs de chacun de ces programmes ne se sont pas coordonnés pour construire des plates-formes LAMP, cette combinaison de logiciels s'est popularisée du fait du faible coût de l'ensemble et de la présence de tous ces composants dans la plupart des distributions GNU/Linux. Cet acronyme a été inventé par Michael Kunze qui l'a utilisé pour la première fois en 1998 dans le magazine allemand c't. L'article en question voulait démontrer qu'un ensemble de logiciels libres pouvait concurrencer les offres commerciales disponibles. Compétence Linux requise. Compétence SSH requise : Secure Shell (SSH) est à la fois un programme informatique et un protocole de communication sécurisé. Le protocole de connexion impose un échange de clés de chiffrement en début de connexion. Par la suite, tous les segments TCP sont authentifiés et chiffrés. Il devient donc impossible d'utiliser un sniffer pour voir ce que fait l'utilisateur. Dans notre cas il sera utilisé afin d’accéder au serveur. Configurations utilisées pour ce tutoriel : Machine VirtualBox Ubuntu Server 10.04 Pour votre information : "LAMP" signifie "Linux Apache MySql PHP". Précaution : Connectez-vous à votre serveur en mode SSH et mettez à jour vos banques de références en exécutant la commande suivante : sudo apt-get update Première étape : Installation du serveur Apache Entrez la commande suivante : sudo apt-get install apache2 L'installation d'Apache devrait commencer. Vous serez probablement invité à confirmer l'installation de divers modules. Suivez les instructions au besoin. Configuration des VirtualHost Vous pouvez vous diriger à la deuxième étape si vous ne possédez pas de nom de domaine à configurer pour l'instant. Afin que le serveur redirige les appels de votre nom de domaine vers le dossier d'hébergement approprié, éditer le fichier "default" en entrant la commande suivante : sudo vi /etc/apache2/sites-available/default L'application "vi" est un éditeur basique vous permettant l'édition de contenu textuel. Si vous n'avez pas l'habitude d'utiliser cet éditeur, voici les commandes de base : La touche "i" pour éditer. La touche "Esc" pour quitter le mode édition. En mode hors édition, taper ":w" pour sauvegarder. En mode hors édition, taper ":q" pour fermer le fichier. Si vous êtes figé, taper ":exit" Voici un exemple de configuration pour un site web installé au chemin "/var/www/domaine.com/web/". <VirtualHost *:80> ServerName domaine.com DocumentRoot "/var/www/domaine.com/web/" DirectoryIndex index.php <Directory "/var/www/domaine.com/web/"> AllowOverride All Allow from All </Directory> </VirtualHost> Au besoin, remplacer le fichier "DirectoryIndex" par le fichier d'exécution principale. Sauvegarder vos modifications et quitter l'éditeur. Il faut maintenant paramétrer le fichier "hosts" afin de bien relayer cette information. Entrer la commande suivante : sudo vi /etc/hosts Dans l'éditeur, ajoutez-y la ligne suivante : domaine.com 127.0.0.1 Sauvegarder vos informations. Et voilà! Votre domaine est configuré. Cependant, il n'est pas prêt à exécuter vos pages puisqu'aucun moteur PHP ou MySQL n'ont a été installés. Dirigeons-nous à la deuxième étape. Deuxième étape : Installation de MySQL Installer l'application avec la ligne de commande suivante : sudo apt-get install mysql-server Encore une fois, vous serez invité à confirmer l'installation de divers modules. Par la suite, entrer votre mot de passe "root" dans le panneau de configuration MySQL : Troisième étape : Installation de PHP Exécuter la ligne de commande d'installation de PHP5 et confirmer l'ajout des modules divers : sudo apt-get install php5 Finalement, vous devrez installer un module de communication PHP5 / MySQL : sudo apt-get install php5-mysql Quatrième étape : Installation de PhpMyAdmin Exécuter la ligne de commande suivante et confirmer l'installation des modules divers : sudo apt-get install phpmyadmin Un panneau de configuration s'ouvrira, laissez l'information à "apache2" et continuez. Quelques processus s'exécuteront. Un autre panneau d'administration s'ouvrira. Confirmez "Yes" et entrez vos mots de passe MySQL et PhpMyAdmin. Il faut maintenant connecter PhpMyAdmin à Apache. sudo vi /etc/apache2/apache2.conf Et ajouter cette ligne suivante (curseur vert fluo) : Cinquième étape : Exécution! Toutes les applications ont été installées. Il faut maintenant les tester et les configurer. Redémarrer votre serveur apache : sudo /etc/init.d/apache2 restart Entrez l'adresse IP de votre serveur (127.0.0.1 si vous êtes en local). Vous devriez obtenir le message "It works!". Si tel est le cas, votre serveur Apache et votre moteur PHP est bien installé et configuré. Entrer maintenant votre adresse IP suivie de /phpmyadmin (ex: http://127.0.0.1/phpmyadmin ). Si vous êtes sur le panneau d'administration de PhpMyAdmin, tout fonctionne comme sur des roulettes. Profitez-en pour vous connecter et vérifier son fonctionnement. Vos configurations MySQL sont préconfigurées pour n'accepter que les connexions locales. Si vous désirez utiliser une application de gestion de bases de données externes, tel que sqlYog , vous devrez effectuer quelques petites modifications, car vous obtiendrez une erreur 10061 "Can't connect to MySQL server on '???.???.???.???'". Entrez la commande suivante : sudo vi /etc/mysql/my.cnf Commentez avec un "#" la ligne "bind-address = 127.0.0.1" et sauvegardez le fichier. Redémarrer MySQL avec la commande suivante : sudo /etc/init.d/mysql restart Maintenant, si vous tentez de vous connecter avec un logiciel externe, vous obtiendrez probablement une autre erreur : "Host '???' is not allowed to connect to this MySQL server". En fait, l'utilisateur que vous utilisez pour vous connecter (possiblement "root"), n'a pas les autorisations de connexions à distance. Le meilleur moyen est de configurer le tout via PhpMyAdmin. Connectez-vous sur PhpMyAdmin et dirigez-vous dans la section "Privileges". Ajouter ou modifier l'utilisateur "root" (il est fortement suggéré de créer un nouvel utilisateur autre que "root") du "host" 127.0.0.1 et changer le pour "%". Ce qui signifie que toutes les adresses pourront s'y connecter. Tester maintenant votre connexion. Vous devriez avoir les accès nécessaires! Après l’installation linux m’a affiché un message d’erreur : 3256.362200] sd 5:0:0:0: [sdb] Asking for cache data failed [3256.362200] sd 5:0:0:0: [sdb] Assuming drive cache : write through Cela provident d’un problème de gestion des lecteurs cartes de mon ordinateur. Voici la commande à entrer pour palier au problème : sudo rmmod ums_realtek (desactive l'ecteur carte) Des bugs peuvent se produire sur les rewrites URL sur LAMP server entrer cette commande pour corriger ce problème. sudo a2dissite default