Comment créer un environnement de développement web et le serveur virtuel

Windows et Mac OS X ont fait des progrès en tant que systèmes d`exploitation convivial développeur au cours des dernières années, mais chaque développeur web a vraiment besoin de travailler dans l`environnement natif du Web, Linux.

Video: Mes logiciels indispensables pour le développement web et mobile (Partie 1)

Cet article va vous montrer comment obtenir le meilleur des deux mondes: coller avec un système d`exploitation stable et facile à grand public comme Windows ou Mac OS X pour vos besoins quotidiens, tout en récoltant les avantages du développement dans le même écosystème que votre code de production.

introduction

Une grande partie du web fonctionne sur ce que les développeurs appellent une « pile LAMP ». Cet acronyme signifie Linux, Apache, MySQL, PHP regroupés et travailler comme ce que vous comprenez généralement en tant que serveur web. (A étroitement liée pile - ou un ensemble de technologies - est « LEMP, » avec le « E » provenant de la prononciation d`une alternative à Apache, Nginx, qui est dit « moteur x »).

Vous pouvez remarquer que Linux est explicitement inclus ici, mais il est non seulement pour cette raison que Linux est recommandé par les développeurs. Les autres technologies - Apache (ou Nginx), MySQL et PHP - ont tous les différents outils et implémentations disponibles pour les différentes plates-formes, mais pour des raisons historiques et techniques, les configurations sous Linux dominent l`espace serveur et ont tendance à être plus prévisible.

Prévisibilité et la fiabilité sont aussi grandes raisons que vous voudriez développer sur un système d`exploitation que vous utilisez uniquement à cette fin - un système d`exploitation dédié plutôt que celui qui prend en charge la myriade de tâches que vous entreprenez sur une base quotidienne en tant que développeur web. Autrement dit, vous ne voulez pas exécuter un serveur sur le même système d`exploitation que vous devrez redémarrer lorsque vos nouveaux pilotes graphiques sont installés, ou une machine que vous aurez besoin d`emballer et mettre dans un sac à dos pour frapper la route. Faire participer les processus et les logiciels nécessaires pour faire fonctionner un serveur sur votre machine à usage mixte est, en un mot, en désordre.

Alors, comment conciliez-vous votre capacité à effectuer plusieurs tâches avec votre besoin de se développer dans le contexte natif de vos applications?

Entrer machines virtuelles.Qu`est-ce qu`une machine virtuelle?Qu`est-ce qu`une machine virtuelle?Les machines virtuelles vous permettent d`exécuter d`autres systèmes d`exploitation au sein de votre système d`exploitation actuel, mais pourquoi cette question? Quels sont les avantages et inconvénients?Lire la suite

Machines virtuelles et Vagrant

Les machines virtuelles sont des programmes qui fonctionnent dans votre système d`exploitation principal. Ils vous permettent d`exécuter efficacement un système d`exploitation complètement séparée à l`intérieur d`une fenêtre, totalement contenu et en dehors de tout ce qui se passe avec votre machine physique, mais au prix de certains frais généraux.

Video: NodeJS : Notre premier serveur web

Cependant, les avantages sont nombreux:

  • Faire une erreur dans l`installation, la configuration ou la suppression des logiciels? Pas grand-chose, vous pouvez simplement recommencer avec une nouvelle image.
  • Votre expérience a échoué et catastrophiquement gelé le système d`exploitation autour d`elle? Encore une fois, pas un problème parce que la machine virtuelle est effectuée.
  • Avez-vous besoin d`itérer dans des conditions un peu différentes? Chaque ensemble de conditions, comme les différentes versions de logiciels ou de logiciels différents (par exemple, en utilisant Apache contre Nginx), peut devenir une machine virtuelle ou un logiciel séparé « boîte ».

virtuel-machine Linux

Un outil appelé Vagrant vous aider à déployer des « boîtes de base » qui contiennent préconfigurés systèmes d`exploitation Linux dans une variété de saveurs.

Cet article suppose que vous avez un certain confort à l`exploitation d`une machine virtuelle sans interface graphique, et uniquement par une interface de ligne de commande (CLI).

Obtenons un fournisseur de machine virtuelle et Vagrant avant configurer une boîte de base.

  1. Assurez-vous que vous avez un fournisseur de machine virtuelle pour votre système d`exploitation. Windows et Mac OS X peuvent utiliser Virtual Box. VMware fonctionne également sur les deux plates-formes. (Windows 10 Pro et plus peuvent utiliser Hyper V, qui est un pas en place car il utilise mieux le matériel.)
  2. Visitez Vagrantup.com et choisir un programme d`installation approprié.
  3. Dans votre arborescence de répertoire local, créez un nouveau dossier pour loger la boîte. (Emplacements bien subordonnés à votre profil d`utilisateur travail, les emplacements dans les répertoires du système en général ne le font pas.)

Le développement Web Configuration de l`environnement

Voici où la magie de automaticité arrive: un outil appelé PuPHPet et GUI-condensent fies le processus de sélection et la configuration de logiciels couramment utilisés dans LAMP, et va même au-delà en ajoutant le support pour les langues côté serveur comme Ruby et Node.js (javascript technique n`est pas purement côté serveur, mais cette variété est), et des solutions de rechange aux autres composants de la pile LAMP.Qu`est-ce que Node.JS et pourquoi devrais-je me? [Développement web]Qu`est-ce que Node.JS et pourquoi devrais-je me? [Développement web]javascript est un simple langage de programmation côté client qui fonctionne dans le navigateur, non? Plus maintenant. Node.js est un mode de fonctionnement javascript sur le server- mais il est tellement plus aussi bien. Si...Lire la suite

PuPHPet rend les fichiers de configuration de base pour Vagrant. L`assistant comprend plus de vingt dimensions différentes pour configurer, donc je vais seulement passer en revue certains des plus saillants.

  • Cible de déploiement - Vous pouvez choisir si vous souhaitez créer une image appropriée pour VirtualBox, VMWare, etc., ou celui qui est adapté à l`infrastructure de cloud computing comme AWS ou Digital Ocean, entre autres.
  • Système gt; Paquets - Vous pouvez inclure un logiciel ici que vous souhaitez installer comme vous le feriez sur une installation normale. En particulier, vous devez inclure les paquets selon que vous utilisez pour le développement qui sont inclus dans la base de la distribution du système d`exploitation.
  • Pour inclure les dépendances de développement pour Ubuntu, spécifiez build-essentials
  • Pour inclure les mêmes pour CentOS 7, spécifiez "Outils de développement"
  • Serveurs Web - Choisissez Apache ou Nginx pour former l`épine dorsale de votre L (A | E) pile de MP.
  • langues - PHP, Ruby, Node.js, Python.
  • bases de données - Peut-être l`une des caractéristiques les plus attrayantes de cette approche est la capacité de construire des machines virtuelles à jouer avec les différentes variétés de bases de données disponibles. Alors que MySQL est un défaut, vous voudrez peut-être jouer avec quelque chose de nouveau comme MariaDB.
  • Le reste des options sont quelque peu exotiques, et si vous ne savez pas ce qu`ils sont, ils peuvent toujours être installé plus tard. Qu`est-ce que vous avez, après tout, est un système d`exploitation à part entière à votre commande.
  • PuPHPet sera, à la fin de ce voyage de configuration, produire une archive. Décompressez que dans le répertoire que vous avez créé avant de configurer les paramètres de votre nouveau serveur.

    Maintenant, exécutez la commande suivante:

    Vagrant $ en

    Et observer les résultats:

    Puisque vous ne disposez pas de la boîte de base dans votre répertoire local, errante récupérera l`image de l`Atlas, un dépôt de boîtes de vagabondes préconfigurés.

    (Techniquement, l`un de ces peut être ajouté à votre machine locale en exécutant la commande: $ Boîte errante ajouter USER / BOX)

    Emballer

    À ce stade, votre VM est démarré et vous êtes essentiellement en ligne. Une seule chose reste: exécutez la commande $ Ssh errante pour vous déposer dans une session SSH appropriée avec votre (sans tête) VM en tant que serveur LAMP. Félicitations!

    Apprendre encore plus

    A partir de là, il y a plus à dire au sujet et à faire dans Vagrant et, comme vous le savez, un montant illimité à accomplir avec votre propre terrain de jeu de développement. Consultez le Guide officiel Mise en route pour aller chercher où je l`ai laissé.

    Avez-vous déjà utilisé une machine virtuelle pour votre propre environnement de développement? Avez-vous utilisé cette configuration ou avez-vous une approche différente? Partagez vos idées dans la section commentaires ci-dessous!

    Articles connexes