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

Comment créer un environnement de développement Web virtuel et un serveur / La programmation

Windows et Mac OSX ont progressé en tant que systèmes d’exploitation conviviaux pour les développeurs ces dernières années, mais chaque développeur Web doit vraiment travailler dans l’environnement natif du Web, Linux..

Cet article vous montrera comment tirer le meilleur parti des deux mondes: conserver un système d'exploitation stable et convivial, tel que Windows ou OSX, pour vos besoins quotidiens, tout en tirant parti des avantages d'un 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 un “Pile de lampe.” Cet acronyme signifie Linux, Apache, MySQL, PHP regroupés et fonctionnant comme ce que vous entendez généralement comme un serveur Web. (Une pile étroitement liée - ou un ensemble de technologies - est “LEMP,” avec le “E” dérivé de la prononciation d'une alternative à Apache, Nginx, qui est dit “moteur x.”)

Vous remarquerez peut-être que Linux est explicitement inclus ici, mais ce n’est pas uniquement pour cette raison que Linux est recommandé par les développeurs. Les autres technologies - Apache (ou Nginx), MySQL et PHP - ont toutes des outils et des implémentations disponibles pour les différentes plates-formes, mais pour des raisons historiques et techniques, les configurations basées sur Linux dominent l'espace serveur et ont tendance à être plus prévisibles..

La prévisibilité et la fiabilité sont également de bonnes raisons de développer un système d'exploitation que vous utilisez uniquement à cette fin - un système d'exploitation dédié plutôt qu'un système prenant en charge la multitude de tâches que vous effectuez quotidiennement en tant que développeur Web. En d'autres termes, vous ne voulez pas exécuter un serveur sur le même système d'exploitation que vous devrez redémarrer une fois vos nouveaux pilotes graphiques installés, ou une machine que vous devrez emballer et mettre dans un sac à dos pour atteindre le route avec. Impliquer les processus et les logiciels nécessaires à l’exécution d’un serveur sur votre machine à usage mixte est en quelque sorte désordonné.

Alors, comment équilibrez-vous votre capacité à effectuer plusieurs tâches en même temps que votre besoin de développement dans le contexte natif de vos applications??

Entrez des machines virtuelles Qu'est-ce qu'une machine virtuelle? Tout ce que vous devez savoir Qu'est-ce qu'une machine virtuelle? Tout ce que vous devez savoir Les machines virtuelles vous permettent d'exécuter d'autres systèmes d'exploitation sur votre ordinateur actuel. Voici ce que vous devriez savoir à leur sujet. Lire la suite .

Machines virtuelles et vagabondes

Les machines virtuelles sont des programmes qui s'exécutent dans votre système d'exploitation principal. Ils vous permettent effectivement d’exécuter un système d’exploitation complètement séparé à l’intérieur d’une fenêtre, totalement confiné et indépendant de tout ce qui se passe sur votre machine physique, mais au prix de frais généraux supplémentaires..

Cependant, les avantages sont nombreux:

  • Faire une erreur lors de l'installation, de la configuration ou de la suppression de logiciels? Pas de problème, vous pouvez simplement recommencer avec une nouvelle image.
  • Votre expérience a-t-elle échoué de manière catastrophique et a gelé le système d'exploitation? Encore une fois, pas de problème car seule la machine virtuelle est effectuée.
  • Avez-vous besoin d'itérer dans des conditions légèrement différentes? Chaque ensemble de conditions, telles que différentes versions de logiciel ou différents logiciels (par exemple, en utilisant Apache ou Nginx), peut devenir une machine logicielle distincte ou virtuelle. “boîte.”

Un outil appelé Vagrant vous aidera à déployer “boîtes de base” qui contiennent des systèmes d'exploitation Linux préconfigurés dans une variété de variantes.

Cet article suppose que vous maîtrisez une machine virtuelle sans interface graphique et uniquement à l'aide d'une interface de ligne de commande (CLI)..

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

  1. Assurez-vous d'avoir un fournisseur de machine virtuelle pour votre système d'exploitation. Windows et Mac OSX peuvent utiliser Virtual Box. VMware fonctionne également sur les deux plates-formes. (Windows 10 Pro et les versions supérieures peuvent utiliser Hyper-V Une mise à niveau vers Windows 10 Pro vaut-elle 99 $? Une mise à niveau vers Windows 10 Pro vaut-elle 99 $? Windows 10 Pro offre davantage de fonctionnalités, mais comporte également une étiquette de prix de 99 $ pour mettre à niveau à partir de l'édition Home. Ce que vous devez savoir pour décider si les fonctionnalités professionnelles valent la peine d’être mis à niveau. En savoir plus, ce qui constitue une avancée car il utilise mieux le matériel.)
  2. Visitez Vagrantup.com et choisissez un installateur approprié.
  3. Dans votre arborescence de répertoires locaux, créez un nouveau dossier pour héberger la boîte. (Les emplacements subordonnés à votre profil utilisateur fonctionnent bien, mais généralement pas dans les répertoires système.)

La configuration de l'environnement de développement Web

Voici où la magie de l'automaticité se produit: un outil appelé PuPHPet condense et facilite le processus de sélection et de configuration du logiciel couramment utilisé dans LAMP, et va même au-delà en ajoutant la prise en charge de langages côté serveur tels que Ruby et Node.js. Node.JS et pourquoi devrais-je m'en soucier? [Développement Web] Qu'est-ce que Node.JS et pourquoi devrais-je m'en soucier? [Développement Web] JavaScript est un langage de programmation côté client qui s'exécute dans le navigateur, n'est-ce pas? Plus maintenant. Node.js est un moyen d'exécuter JavaScript sur le serveur. mais c'est beaucoup plus aussi. Si… Lire la suite (techniquement, JavaScript n'est pas purement côté serveur, mais cette variété l'est) et des alternatives aux autres composants de la pile LAMP.

PuPHPet crée des fichiers de configuration de base pour Vagrant. L’assistant comprend plus de vingt dimensions différentes à configurer, je ne passerai donc en revue que certaines des plus saillantes..

  • Cible de déploiement - Ici, vous pouvez choisir si vous souhaitez créer une image adaptée à VirtualBox, VMWare, etc., ou une image adaptée à une infrastructure d'informatique en nuage telle que AWS ou Digital Ocean, entre autres..
  • Système> Packages - Vous pouvez inclure ici tout logiciel que vous installeriez comme vous le feriez avec une installation normale. En particulier, vous devez inclure les packages 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 l'essentiel de la construction
    • Pour inclure la même chose pour CentOS 7, spécifiez "Outils de développement"
  • Serveurs Web - Choisissez Apache ou Nginx pour former l’épine dorsale de votre pile L (A | E) MP.
  • Les langues - PHP, Ruby, Node.js, Python.
  • Bases de données - L’une des caractéristiques les plus intéressantes de cette approche est peut-être la possibilité de construire des machines virtuelles pour jouer avec les différentes variétés de bases de données disponibles. Bien que MySQL soit une valeur par défaut, vous pouvez jouer avec quelque chose de plus récent, tel que les logiciels Open Source MariaDB et Forking: Les logiciels open source Bon, Les Grands et les moches et Forking: Les bons, les Grands et les cochons Parfois, l'utilisateur final bénéficie grandement des fourches. Parfois, la fourchette se fait sous un voile de colère, de haine et d’animosité. Regardons quelques exemples. Lire la suite .
  • Les autres options sont quelque peu exotiques et si vous ne les connaissez pas, elles peuvent toujours être installées plus tard. Après tout, vous disposez d’un système d’exploitation à part entière..

À la fin de ce processus de configuration, PuPHPet produira une archive. Décompressez cela dans le répertoire que vous avez créé avant de configurer les paramètres de votre nouveau serveur.

Maintenant, exécutez ce qui suit:

$ vagabond

Et observez les résultats:

Puisque vous n'avez pas la boîte de base dans votre répertoire local, vagrant récupérera l'image de l'Atlas, un référentiel de boîtes de vagabond préconfigurées..

(Techniquement, n'importe lequel de ces éléments peut être ajouté à votre ordinateur local en émettant la commande suivante: $ vagrant box add USER / BOX)

Emballer

À ce stade, votre machine virtuelle est démarrée et vous êtes essentiellement en ligne. Une seule chose reste: émettre la commande $ vagrant ssh de vous lancer dans une session SSH appropriée avec votre VM (sans tête) agissant en tant que serveur LAMP. félicitations!

Apprendre encore plus

À partir de là, il y a encore beaucoup à dire sur Vagrant et, comme vous le savez, un montant illimité à accomplir avec votre propre terrain de développement. Consultez le Guide de démarrage officiel pour reprendre où je me suis arrêté.

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

En savoir plus sur: Machine virtuelle, VirtualBox, Développement Web, Serveur Web.