Σφάλματα που εκτελούνται αλήτικα στο ubuntu. Γνωριμία με το εργαλείο Vagrant

Προοίμιο

Αυτό το μίνι άρθρο είναι μια αναφορά στη δημιουργία ενός πιο σωστού περιβάλλοντος ανάπτυξης.

Στον σύγχρονο κόσμο της ανάπτυξης WEB, οι προγραμματιστές έχουν σταματήσει εδώ και καιρό να εγκαθιστούν ένα περιβάλλον ανάπτυξης: PHP, διακομιστής WEB, DBMS κ.λπ. στον τοπικό σας υπολογιστή στον οποίο πραγματοποιείται η ανάπτυξη.

Πρώτον, η εγκατάσταση και η διαμόρφωση απαιτεί πολύτιμο χρόνο και προσπάθεια.

Δεύτερον, εάν ένας προγραμματιστής εργάζεται σε πολλούς υπολογιστές (υπολογιστής στο γραφείο, στο σπίτι, φορητός υπολογιστής), τότε είναι αρκετά προβληματικό να ρυθμίσετε παντού ένα πανομοιότυπο περιβάλλον και να συγχρονίσετε τις ρυθμίσεις του μεταξύ όλων των υπολογιστών του. Αυτό το πρόβλημα ονομάζεται πρόβλημα ταυτότητας κατάστασης, όπου θεωρείται ότι η σύνθεση, οι εκδόσεις και οι ρυθμίσεις παραμέτρων όλου του λογισμικού πρέπει να είναι όσο το δυνατόν πανομοιότυπες.

Τρίτον, εάν είστε περισσότεροι από ένας προγραμματιστές, τότε είναι ακόμη πιο δύσκολο να διατηρήσετε το ίδιο περιβάλλον σε όλους τους υπολογιστές σας και σε όλους τους υπολογιστές των συναδέλφων σας. Εδώ είναι ακόμα πιο δύσκολο να διατηρήσετε μια πανομοιότυπη κατάσταση, αφού σχεδόν τίποτα δεν εξαρτάται από εσάς.

Τέταρτον, η κατάσταση του περιβάλλοντος του υπολογιστή εργασίας σας πιθανότατα δεν συμπίπτει και δεν μπορεί να συμπίπτει με την κατάσταση του περιβάλλοντος του διακομιστή μάχης (παραγωγής). Εξάλλου, έχετε Windows με όλες τις ιδιορρυθμίες τους στη διαμόρφωση, αλλά σε έναν διακομιστή παραγωγής κάτι είναι σίγουρα διαφορετικό.

Τελικά, αν συνεχίσετε να εγκαθιστάτε το περιβάλλον ανάπτυξης στον τοπικό σας υπολογιστή, θα ξοδέψετε τον μισό χρόνο εργασίας σας προσπαθώντας να συγχρονίσετε τις ρυθμίσεις περιβάλλοντος και η κατάσταση του τοπικού λειτουργικού σας συστήματος θα μετατραπεί πολύ γρήγορα σε χωματερή.

Η εικονικοποίηση του περιβάλλοντος ανάπτυξής σας θα σας βοηθήσει να αποφύγετε αυτό το χάος. Χρειάζεστε μια εικονική μηχανή που θα αναπτύσσεται σύμφωνα με το σενάριο που καθορίζετε, ώστε να μπορεί να αναπτυχθεί με ένα κλικ σε οποιονδήποτε υπολογιστή σε οποιοδήποτε λειτουργικό σύστημα. Ενώ πίνετε τον καφέ σας, η εικονική σας μηχανή θα είναι έτοιμη. Χρειάζεστε επίσης κάποια μέσα για τη γρήγορη και εύκολη διαχείριση μιας τέτοιας εικονικής μηχανής (εκκίνηση, διακοπή, αναδιαμόρφωση).

Χρειάζεστε επίσης τον κατάλογο εργασίας σας με το έργο να αντικατοπτρίζεται στον κατάλογο μέσα στην εικονική μηχανή. Για παράδειγμα, έτσι ώστε ο τοπικός κατάλογος μηχανών D:\myProjects, όπου αποθηκεύονται τα έργα σας, να ταιριάζει με τον κατάλογο εικονικής μηχανής /var/myProjects ή παρόμοιο.

Θα ήθελα επίσης να μπορώ να πραγματοποιώ πλήρη εντοπισμό σφαλμάτων χρησιμοποιώντας το PHP-Xdebug και η εφαρμογή θα πρέπει να εκτελείται σε εικονικό περιβάλλον, σε εικονική μηχανή, και μπορείτε να τη διαχειριστείτε από μια τοπική. Σας αρέσει ήδη; Προχώρα!

Αλήτης

Όλα αυτά και πολλά άλλα μπορούν να επιτευχθούν χρησιμοποιώντας εικονικοποίηση χρησιμοποιώντας το Vagrant. Πολλά έχουν γραφτεί για τον Vagrant στο Διαδίκτυο. Δεν έχει νόημα να κάνουμε αντιγραφή εδώ, διαφορετικά το άρθρο δεν θα είναι μίνι, όπως υποσχέθηκε στην αρχή, αλλά maxi.

Θα πω μόνο λίγα λόγια. Το Vagrant είναι ένα ειδικό σύνολο σεναρίων που λειτουργούν με hypervisors (εικονικές μηχανές) όπως το vmWare, το VirtualBox, το Parallels και άλλα για την απλοποίηση της αλληλεπίδρασης με αυτές τις εικονικές μηχανές.

Για το Vagrant, υπάρχουν έτοιμες εικόνες λειτουργικού συστήματος που ονομάζονται "κουτιά". Ένα κουτί είναι, στην πραγματικότητα, απλώς μια εικόνα ενός ήδη εγκατεστημένου και ρυθμισμένου λειτουργικού συστήματος, βάσει του οποίου κατασκευάζεται μια εικονική μηχανή. Συχνά, οι συντάκτες των πλαισίων τα συλλέγουν για υποστήριξη σε διαφορετικούς hypervisors (εφαρμογές για εργασία με εικονικές μηχανές). Μου αρέσει ο hypervisor VirtualBox, γιατί άρχισα να δουλεύω με το Vagrant όταν ήταν ο μόνος που υποστηριζόταν, και ακόμη και τώρα τα περισσότερα κουτιά παράγονται για το VirtualBox. Τώρα μπορείτε να επιλέξετε έναν hypervisor σύμφωνα με το γούστο σας, το κύριο πράγμα είναι ότι υποστηρίζεται από το πλαίσιο που πρόκειται να χρησιμοποιήσετε.

Η χρήση του Vagrant λύνει το πρόβλημα της πανομοιότυπης κατάστασης του περιβάλλοντος ανάπτυξης, ανεξάρτητα από το λειτουργικό σύστημα στον κεντρικό υπολογιστή (αυτό είναι το όνομα του τοπικού σας υπολογιστή στον οποίο εργάζεστε). Το λειτουργικό σύστημα επισκέπτη που εκτελείται στην εικονική μηχανή θα είναι πάντα το ίδιο. Δυστυχώς, το Vagrant έχει σχεδιαστεί μόνο για διασφάλιση της κρατικής ταυτότητας κατά την ανάπτυξη. Το Vagrant δεν μπορεί να εγκατασταθεί στον διακομιστή(ακριβέστερα, φυσικά, είναι δυνατό, αλλά είναι καλύτερα να μην το κάνετε), καθώς η εικονικοποίηση χρησιμοποιώντας το Vagrant λειτουργεί σε επίπεδο εικονικής μηχανής, το οποίο προφανώς δεν είναι κατάλληλο για παραγωγή. Αλλά το Vagrant λειτουργεί ακριβώς το ίδιο σε διαφορετικά λειτουργικά συστήματα. Εάν τα μέλη της ομάδας σας προτιμούν διαφορετικά λειτουργικά συστήματα ή εργάζονται σε ένα έργο από διαφορετικές τοποθεσίες όπου μπορούν να χρησιμοποιηθούν διαφορετικά λειτουργικά συστήματα.

Μια εικονική μηχανή που διαχειρίζεται η Vagrant είναι ένας πλήρης εικονικός διακομιστής στον οποίο είναι εγκατεστημένο το λειτουργικό σύστημα και ολόκληρο το απαραίτητο σύνολο εφαρμογών και υπηρεσιών.

Αξίζει να πούμε ότι εκτός από εικονικοποίησηολόκληρο το λειτουργικό σύστημα, μαζί με όλες τις εφαρμογές και τις υπηρεσίες, υπάρχει και λύση μεταφορά σε εμπορευματοκιβώτιαμεμονωμένες υπηρεσίες απευθείας στον τοπικό σας υπολογιστή.

Είναι αλήθεια ότι η πλήρης αποθήκευση εμπορευματοκιβωτίων λειτουργεί μόνο στο λειτουργικό σύστημα Linux σε άλλα λειτουργικά συστήματα, οι εικονικές μηχανές χρησιμοποιούνται για την εκτέλεση της μεταφοράς εμπορευματοκιβωτίων, γεγονός που καθιστά τη χρήση κοντέινερ όχι τόσο βολικό εργαλείο. Ωστόσο, όταν χρησιμοποιούμε τη μεταφορά εμπορευματοκιβωτίων, έχουμε την ευκαιρία να επαναλάβουμε την ταυτότητα του κράτους, συμπεριλαμβανομένου του διακομιστή στην παραγωγή, κάτι που μπορεί να είναι πολύ σημαντικό σε ορισμένα έργα.

Ένας από τους πιο συνηθισμένους και δημοφιλείς τρόπους εργασίας με κοντέινερ στο Linux είναι η εφαρμογή Docker, για την οποία θα γράψω σε άλλο άρθρο. Προς το παρόν, ας επιστρέψουμε στην εικονικοποίηση χρησιμοποιώντας το Vagrant.

Για να αναπτύξετε το πλαίσιο σε μια εικονική μηχανή, χρειάζεστε ένα αρχείο διαμόρφωσης που να περιγράφει όλες τις παραμέτρους ανάπτυξης. Αυτό το αρχείο ονομάζεται Vagrantfileκαι είναι γραμμένο χρησιμοποιώντας τη σύνταξη Ruby (στην οποία είναι γραμμένο το Vagrant). Δεν θα σας αναγκάσω να γράψετε ένα τέτοιο αρχείο χειροκίνητα. Τις περισσότερες φορές, μπορείτε να βρείτε ένα έτοιμο αρχείο στην περιγραφή εγκατάστασης του κουτιού σας, στο οποίο χρειάζεται μόνο να κάνετε κάποιες αλλαγές με μη αυτόματο τρόπο. Αλλά όλα αυτά είναι ατομικά για κάθε κουτί. Σε κάθε περίπτωση, θα βρείτε οδηγίες για την ανάπτυξη μιας εικονικής μηχανής που βασίζεται σε αυτήν στις οδηγίες για αυτήν. Για κάθε ενδεχόμενο, θα επαναλάβω για άλλη μια φορά τον σύνδεσμο προς την αποθήκευση κουτιού.

Πώς να εγκαταστήσετε και να δοκιμάσετε

Εγκαθιστώ

Πρώτα, πρέπει να εγκαταστήσετε τον hypervisor και στη συνέχεια να εγκαταστήσετε το ίδιο το Vagrant. Για να εκτελούνται εικονικές μηχανές, ο επεξεργαστής σας πρέπει να υποστηρίζει εικονικοποίηση και πρέπει να είναι ενεργοποιημένος στο BIOS.

Ας πρώτα, για να βεβαιωθούμε ότι όλα θα πάνε καλά, ας εστιάσουμε στον hypervisor VirtualBox. Πρόκειται για έναν υπέροχο δωρεάν hypervisor από την Oracle, ο οποίος εγκαθίσταται πολύ γρήγορα και εύκολα και λειτουργεί αμέσως χωρίς να χορεύει με ντέφι.

Πριν ξεκινήσετε την εγκατάσταση, βεβαιωθείτε ότι η διαδρομή προς τον αρχικό φάκελο, καθώς και η διαδρομή προς τα αρχεία του έργου σας, δεν περιέχουν κυριλλικούς χαρακτήρες. Εάν εξακολουθούν να υπάρχουν κυριλλικοί χαρακτήρες, τότε πρέπει να δημιουργήσετε δύο καταλόγους, για παράδειγμα D:\VagrantHome και D:\VirtualBoxMachines. Το πρώτο θα περιέχει αρχεία Vagrant και το δεύτερο θα περιέχει αρχεία εικονικής μηχανής VirtualBox. Τώρα δημιουργήστε μια μεταβλητή περιβάλλοντος που ονομάζεται VAGRANT_HOME με τιμή D:\VagrantHome. Επανεκκίνηση.

Τώρα μπορείτε να κάνετε λήψη και εγκατάσταση του VirtualBox. Μετά την εγκατάσταση, ανοίξτε το παράθυρο της εφαρμογής και μεταβείτε στο File-Settings-General. Εάν δημιουργήσατε έναν κατάλογο όπως ο D:\VirtualBoxMachines, τότε καθορίστε τη διαδρομή προς αυτόν εδώ, όπου "Προεπιλεγμένος φάκελος μηχανών". Μετά από αυτό, το παράθυρο της εφαρμογής μπορεί να κλείσει.

Τώρα ας προχωρήσουμε στην εγκατάσταση του Vagrant. Λήψη και εγκατάσταση στον προεπιλεγμένο κατάλογο. Προηγουμένως, υπήρχε πρόβλημα εάν προσδιορίζατε διαφορετικό κατάλογο, αν και αυτό ήταν πριν από 2 χρόνια, αλλά παρόλα αυτά ο φόβος παρέμενε. Κάντε επανεκκίνηση όπως απαιτείται από το πρόγραμμα εγκατάστασης.

Το τελευταίο πράγμα που θα σας φανεί χρήσιμο είναι το git . Αυτός είναι ο πελάτης που απαιτείται για να εργαστεί με το σύστημα ελέγχου έκδοσης git. Εάν δεν είστε ήδη εξοικειωμένοι με αυτό, φροντίστε να ελέγξετε σε τι χρησιμεύει και σε τι χρησιμεύει. Θα σου αρέσει.

Να είστε προσεκτικοί κατά την εγκατάσταση. Εφόσον εσείς και εγώ αναπτύσσουμε σε PHP, τα αρχεία μας, ανεξάρτητα από το λειτουργικό σύστημα, πρέπει να έχουν καταλήξεις γραμμών όπως \n ή LF . Αυτό σημαίνει ότι δεν χρειάζεται να μετατρέπουμε αυτόματα τα άκρα των γραμμών στα αρχεία πηγαίου κώδικα. Επομένως, κατά τη διάρκεια μιας εγκατάστασης git, όταν σας ζητηθεί να επιλέξετε πώς να χειρίζεστε τις καταλήξεις γραμμών στην οθόνη εγκατάστασης "Διαμόρφωση μετατροπών τέλους γραμμής", επιλέξτε τη δεύτερη επιλογή "Ολοκλήρωση αγοράς ως έχει, δέσμευση καταλήξεων γραμμών τύπου Unix". και το git δεν θα αλλάξει τις καταλήξεις των γραμμών σε \r\n όπως είναι κοινή πρακτική για την ανάπτυξη σε άλλες γλώσσες προγραμματισμού.

Οι διαδικασίες που περιγράφηκαν ήταν περισσότερο για Windows, αλλά μπορείτε να εγκαταστήσετε το VirtualBox και το Vagrant με τον ίδιο τρόπο σε άλλα λειτουργικά συστήματα. Το νόημα είναι το ίδιο.

Ας ταξινομήσουμε τα κουτιά

Μπορείτε να χρησιμοποιήσετε διάφορα κουτιά, για παράδειγμα, αυτά που παρέχονται με πλαίσια ή συνιστώνται για χρήση από αυτούς.

Μία εικονική μηχανή ανά έργο

Εάν αναπτύσσετε (ή απλώς θέλετε να ξεκινήσετε την ανάπτυξη) στο πλαίσιο Yii2, τότε τα πρότυπα εφαρμογών (βασικά και προηγμένα) περιέχουν ήδη ένα αρχείο διαμόρφωσης Vagrantfile που χρησιμοποιεί το πλαίσιο bento/ubuntu-16.04. Ολόκληρη η διαμόρφωση: ανάπτυξη (παροχή), διαμόρφωση nginx και η διαμόρφωση της ίδιας της εικονικής μηχανής περιγράφεται σε διάφορα αρχεία που βρίσκονται στον κατάλογο vagrant στη ρίζα της εφαρμογής.

Εάν μελετήσετε προσεκτικά το Vagrantfile, θα βρείτε μέρη όπου περιλαμβάνονται αυτά τα αρχεία ρυθμίσεων. Σε αυτήν την περίπτωση, δημιουργείται μια ξεχωριστή εικονική μηχανή για μία εφαρμογή, η οποία είναι πολύ βολική εάν χρειάζεται να διατηρήσετε την ακεραιότητα του περιβάλλοντος ανάπτυξης μεταξύ όλων των μηχανημάτων σας και των μηχανημάτων των συναδέλφων σας.

Στο Vagrantfile θα βρείτε την παράμετρο config.vm.synced_folder, η οποία καθορίζει τους καταλόγους που θα αντιστοιχιστούν (συγχρονιστούν). Σε αυτήν την περίπτωση, ρεύμαο κατάλογος του κεντρικού υπολογιστή (ο υπολογιστής σας) αντιστοιχίζεται στον κατάλογο /εφαρμογήσε εικονικό. Οποιαδήποτε αρχεία έχετε στον τρέχοντα κατάλογο σας είναι επίσης άμεσα διαθέσιμα στην εικονική μηχανή στον κατάλογο /app.

Εάν το έργο σας χρειάζεται να χρησιμοποιήσει μια νέα επέκταση PHP ή κάποια άλλη εξάρτηση, τότε απλά πρέπει να το προσθέσετε στο αρχείο vagrant/provision/once-as-root.sh, το οποίο είναι ένα σενάριο για την εγκατάσταση και τη ρύθμιση παραμέτρων μιας εικονικής μηχανής. Μόλις το κάνετε αυτό και στείλετε το αλλαγμένο αρχείο στο αποθετήριο, οι συνάδελφοί σας θα λάβουν όλες αυτές τις αλλαγές και εισάγοντας μία μόνο εντολή θα επαναδιαμορφώσουν τις εικονικές μηχανές τους. Με αυτόν τον τρόπο, δεν χρειάζεται να πείτε και να θυμάστε τι να εγκαταστήσετε πού και πώς να το ρυθμίσετε - τα πάντα αποθηκεύονται στα σενάρια αυτόματης ανάπτυξης εικονικής μηχανής.

Μία εικονική μηχανή για όλα τα έργα

Ένας άλλος τρόπος χρήσης εικονικοποίησης είναι να χρησιμοποιήσετε μια εικονική μηχανή για όλα τα έργα σας. Αυτή είναι ακριβώς η προσέγγιση που χρησιμοποιείται σε μια ξεχωριστή εικονική μηχανή από τους συγγραφείς του Laravel, που ονομάζεται Homestead. Αξίζει να σημειωθεί ότι το Homestead μπορεί επίσης να αναπτυχθεί ως εικονική μηχανή για ένα έργο, παρόμοια με την επιλογή που περιγράφηκε παραπάνω, αλλά παρακάτω θα εξετάσουμε την επιλογή χρήσης ενός μηχανήματος για όλα τα έργα. Πώς να εκτελέσετε το Homestead για ένα έργο, .

Σε αυτήν την περίπτωση, τα αρχεία διαμόρφωσης εικονικής μηχανής δεν ανήκουν σε κανένα έργο, αλλά αποθηκεύονται χωριστά. Η κύρια διαμόρφωση τοποθετείται γενικά στον αρχικό κατάλογο του χρήστη. Αφενός, αυτό είναι άβολο, καθώς χάνεται ο βολικός συγχρονισμός των ρυθμίσεων εικονικής μηχανής μεταξύ των σταθμών εργασίας, αλλά από την άλλη, έχετε μόνο μία εικονική μηχανή, η οποία είναι ιδανικά διαμορφωμένη εκτός συσκευασίας και έχει πολύ απλή, ευέλικτη και πολύ ισχυρή μέθοδος διαμόρφωσης.

Για να χρησιμοποιήσετε αυτό το πλαίσιο, πρέπει να κάνετε λήψη αρχείων από το αποθετήριο και να δημιουργήσετε ένα ζεύγος κλειδιών RSA (δημόσιο και ιδιωτικό). Περιγράφεται πώς να το κάνετε αυτό.

Αλλα

Υπάρχουν επίσης πολλά έτοιμα σετ διαμορφώσεων για διάφορα κουτιά, έτσι ώστε ο προγραμματιστής να μην χάνει χρόνο στη διαμόρφωση του εαυτού του. Ο καθένας επιλέγει ένα μείγμα δυνατοτήτων που είναι βολικό για τον εαυτό του.

Ας δοκιμάσουμε

Ετσι. Έχουμε εγκαταστήσει το VirtualBox και το Vagrant. Τώρα ήρθε η ώρα να αρχίσετε να τα χρησιμοποιείτε. Συμφωνήσαμε ότι θα χρησιμοποιούσαμε το κουτί Laravel/Homestead. Οδηγίες για την ανάπτυξή του είναι διαθέσιμες. Φροντίστε να το διαβάσετε καθώς μπορεί να περιέχει περισσότερες τρέχουσες πληροφορίες. Θα περιγράψω τα απλά βήματα παρακάτω.

Για άλλη μια φορά συμφωνούμε ότι όλα τα έργα μας είναι όμορφα τοποθετημένα στον κατάλογο D:\myProjects, τακτοποιημένα σε φακέλους. Αυτός είναι ο κατάλογος στον οποίο θα βασιστούμε περαιτέρω. Πρέπει να το αντικαταστήσετε με το δικό σας.

Στη συνέχεια, θα χρειαστεί να εισαγάγετε εντολές στη γραμμή εντολών. Ωστόσο, προτείνω να χρησιμοποιήσετε έναν διερμηνέα αντί για τη συνηθισμένη γραμμή εντολών git-bash, το οποίο συνοδεύεται από git στα Windows. Εκκινήστε το και μεταβείτε στον κατάλογο των έργων σας εκτελώντας την εντολή

Cd /D/myProjects

(σημειώστε τις κάθετες στη διαδρομή χρησιμοποιώντας το γράμμα μονάδας δίσκου). Τώρα πρέπει πρώτα να κάνετε λήψη του ίδιου του πλαισίου και, στη συνέχεια, να κατεβάσετε ένα σύνολο αρχείων διαμόρφωσης ανάπτυξης για αυτό από το αποθετήριο. Κανουμε:

Vagrant box add laravel/homestead git clone https://github.com/laravel/homestead.git Homestead

Έτσι, το κουτί είναι φορτωμένο, η διαμόρφωση επίσης. Τώρα πρέπει να ξεκινήσετε την προετοιμασία αυτής της διαμόρφωσης (το σενάριο απλώς θα αντιγράψει τα αρχεία στη θέση τους). Στη συνέχεια, θα εγκαταστήσουμε ένα πρόσθετο που σας επιτρέπει να διαχειρίζεστε αυτόματα το αρχείο κεντρικού υπολογιστή στον τοπικό σας υπολογιστή. Εκτέλεση (Το παράδειγμα δείχνει έναν κλάδο με έκδοση 7.0.1 - τρέχουσα τη στιγμή της σύνταξης. Χρειάζεστε τον πιο πρόσφατο κλάδο):

Cd Homestead git checkout v7.0.1 ./init.sh vagrant plugin εγκατάσταση vagrant-hostmanager

Μετά από αυτό, ένας κατάλογος .homestead θα πρέπει να εμφανιστεί στον αρχικό σας κατάλογο που περιέχει το αρχείο Homestead.yaml - αυτό είναι ένα αρχείο διαμόρφωσης σε μορφή YAML, το οποίο θα πρέπει να ανοίξετε με οποιοδήποτε πρόγραμμα επεξεργασίας κώδικα και να επεξεργαστείτε. Ας δούμε τι υπάρχει μέσα. Θα σας δείξω ένα ήδη επεξεργασμένο αρχείο που χρησιμοποιώ στη διαμόρφωση δοκιμής. Μπορείτε επίσης να ανατρέξετε στην τεκμηρίωση διαμόρφωσης του Homestead για πιο λεπτομερείς πληροφορίες.

Ip: "192.168.22.2" μνήμη: 2048 cpus: 2 πάροχος: φάκελοι virtualbox: - χάρτης: d:\myProjects σε: /home/vagrant/www sites: - map: hmvc.app σε: /home/vagrant/www/ hmvc/public - χάρτης: yiibasic.app σε: /home/vagrant/www/yii2basic/βάσεις δεδομένων web: - homestead

Εδώ μπορείτε να δείτε ότι η διεύθυνση IP της εικονικής μηχανής είναι 192.168.22.2, της έχουν εκχωρηθεί 2 GB μνήμης RAM και 2 πυρήνες επεξεργαστή. Πάροχος (υπερεπόπτη) - VirtualBox.

Ακολουθεί μια λίστα φακέλων καταλόγων τοπικών συστημάτων που έχουν αντιστοιχιστεί σε καταλόγους εικονικής μηχανής. Έχω ένα τέτοιο - ο κατάλογος d:\myProjects (καθορίζεται στην οδηγία χάρτη) αντιστοιχίζεται στον κατάλογο /home/vagrant/www (καθορίζεται στην οδηγία to) μέσα στην εικονική μηχανή. Δηλαδή, όλα τα αρχεία και οι κατάλογοι μέσα σε αυτό θα είναι αυτόματα διαθέσιμα μέσα στην εικονική μηχανή κατά μήκος της καθορισμένης διαδρομής.

Στο κάτω μέρος του παραδείγματος βρίσκεται η βάση δεδομένων βάσεων δεδομένων. Χρησιμοποιώ μια βάση δεδομένων που ονομάζεται homestead.

Έχετε επίσης άλλες πληροφορίες στο παρακάτω αρχείο, για παράδειγμα, πληροφορίες σχετικά με την προώθηση θύρας από την τοπική μηχανή στην εικονική. Εάν είναι απαραίτητο, μπορείτε να χρησιμοποιήσετε αυτήν τη δυνατότητα.

Μετά τη μεταγλώττιση του αρχείου διαμόρφωσης, εκκινούμε απλώς την εικονική μηχανή. Επιστρέφουμε στον διερμηνέα git-bash και, όντας στον κατάλογο /D/myProjects/Homestead, εκτελούμε την εντολή vagrant up.

Η εκτέλεση αυτής της εντολής για πρώτη φορά θα αναπτύξει την εικονική μηχανή out of the box και θα τη διαμορφώσει σύμφωνα με τα αρχεία διαμόρφωσης. Για να σταματήσετε την εικονική μηχανή ενώ βρίσκεστε στον κατάλογο /D/myProjects/Homestead, εκτελέστε το vagrant halt . Οι επόμενες εκκινήσεις της εικονικής μηχανής θα είναι πολύ πιο γρήγορες, αφού θα υπάρχει ήδη μια έτοιμη εικόνα της εικονικής μηχανής, που θα αναπτυχθεί και θα ρυθμιστεί.

Εάν αλλάξετε οτιδήποτε στο αρχείο διαμόρφωσης, τότε απλά πρέπει να αναγκάσετε την ανάπτυξη εκτελώντας την εντολή vagrant provision. Όλες οι αλλαγές διαμόρφωσης θα εφαρμοστούν στην τρέχουσα εικονική μηχανή.

Παγκόσμια πρόσβαση για τη διαχείριση του Homestead

Εφόσον η περιγραφόμενη μέθοδος χρήσης της εικονικής μηχανής Homestead περιλαμβάνει μια καθολική εγκατάσταση για χρήση από όλα τα έργα στην τοπική μηχανή, θα ήθελα να μπορώ να διαχειρίζομαι αυτήν την εικονική μηχανή όχι από τον κατάλογο d:\myProjects\Homestead, αλλά από οποιαδήποτε τοποθεσία .

Είναι πολύ εύκολο στη ρύθμιση. Ανατρέξτε σε αυτήν την ενότητα τεκμηρίωσης για να μάθετε πώς να το κάνετε αυτό για διαφορετικά λειτουργικά συστήματα.

συμπέρασμα

Η χρήση εικονικών μηχανών στην ανάπτυξη εφαρμογών WEB εξοικονομεί σημαντικά χρόνο και προσπάθεια για τη ρύθμιση του περιβάλλοντος και τη διατήρησή του ενημερωμένο σε πολλούς σταθμούς εργασίας. Ο προγραμματιστής δεν χάνει χρόνο στη δημιουργία ενός διακομιστή ιστού για Windows, κάτι που μερικές φορές απαιτεί σαμανική εμπειρία, και δεν σπαταλά τα νεύρα του για την εξάλειψη μιας αδιάκοπης ροής σφαλμάτων. Ειδικά αν μόλις αποφασίσατε ότι θέλετε να ξεκινήσετε την ανάπτυξη, δεν θέλετε να αντιμετωπίσετε την ταλαιπωρία της ανάπτυξης ενός περιβάλλοντος στα Windows.

Η διαφορά στους πόρους που καταναλώνει η εικονική μηχανή και στην επιλογή εάν αναπτύξατε το περιβάλλον τοπικά στα Windows τείνει στο μηδέν. Η ευκολία χρήσης μιας εικονικής μηχανής τείνει στο μέγιστο. Πρόσθετη εμπειρία κατά τη χρήση αυτής της μεθόδου ανάπτυξης θα είναι η παθητική εκμάθηση κανονικών λειτουργικών συστημάτων, όπως το Debian ή το Ubuntu.

Οι χειρισμοί με εικονικές μηχανές πραγματοποιούνται είτε μέσω της γραμμής εντολών είτε πατώντας κουμπιά στο PhpStorm IDE (στο μενού Tools-Vagrant). Βασικές εντολές ελέγχου:

vagrant up - ξεκινά μια εικονική μηχανή. Εάν η εικονική μηχανή δεν έχει ακόμη κατασκευαστεί, τότε την κατασκευάζει πρώτα (κατεβάζει την εικόνα του πλαισίου εάν χρειάζεται).

vagrant halt - σταματά την εικονική μηχανή.

vagrant reload - επανεκκινεί την εικονική μηχανή.

vagrant ssh - ανοίγει μια σύνδεση ssh στην εικονική μηχανή.

vagrant provision - ανακατασκευάζει την εικονική μηχανή (για παράδειγμα, εάν τα αρχεία ρυθμίσεων έχουν αλλάξει).

Μπορείτε να βρείτε τις υπόλοιπες εντολές εισάγοντας vagrant help.

Καλή χρήση!

Τον τελευταίο καιρό, η αφθονία των εργαλείων για προγραμματιστές αυξάνεται σταθερά: Ansible, Otto, Vagrant, Nomad, Consul, Puppet, Chef... Τι είναι όλα αυτά; Για να ξεκαθαρίσουμε λίγο την κατάσταση, σήμερα θα ήθελα να μιλήσω για ένα τόσο υπέροχο εργαλείο όπως το Vagrant, το οποίο ο ίδιος χρησιμοποιώ σχεδόν κάθε μέρα.

Τι είναι το Vagrant;

Το Vagrant είναι ένα εργαλείο που σας επιτρέπει να ενοποιήσετε το περιβάλλον ανάπτυξης και το περιβάλλον στο οποίο θα αναπτυχθεί αυτός ο κώδικας χρησιμοποιώντας τεχνολογία εικονικοποίησης. Με απλά λόγια, εάν, όπως εγώ, σας αρέσει να δημιουργείτε έργα στο περιβάλλον των Windows, αλλά στο μέλλον να τα αναπτύξετε σε μηχανήματα *nix, τότε το Vagrant θα σας βοηθήσει :-) Πολύ συχνά προκύπτουν προβλήματα λόγω του γεγονότος ότι το περιβάλλον ανάπτυξης είναι σημαντικά διαφορετικό από το περιβάλλον όπου θα περιστραφεί η τελική εφαρμογή. Για παράδειγμα, στα Windows, το όνομα ενός φακέλου με κεφαλαίο και με πεζό γράμμα είναι το ίδιο, αν και στα συστήματα unix πρόκειται για δύο διαφορετικούς φακέλους.

Από την οπτική γωνία, το Vagrant δεν είναι τίποτα άλλο από ένα CLI (διεπαφή γραμμής εντολών) για το VirtualBox με blackjack και ένα Vagrantfile.

Ως επίδειξη, θα δημιουργήσουμε ένα απομονωμένο λειτουργικό σύστημα βασισμένο στο Ubuntu 14.04.3 LTS με ένα εικονικό περιβάλλον Python + μια εφαρμογή Django που τρέχει μέσα.

Ορολογία

  • Εικονικό ΛΣ- ένα απομονωμένο λειτουργικό σύστημα που εκτελείται μέσα σε ένα πρόγραμμα εξομοιωτή
  • Πρόγραμμα εξομοιωτή- ένα πρόγραμμα που χρησιμοποιεί εικονικοποίηση υλικού ενός επεξεργαστή υπολογιστή (περίπου VirtualBox, VMWare, Parallels Desktop, κ.λπ.) για τη δημιουργία απομονωμένων εικονικών λειτουργικών συστημάτων μέσα σε 1 φυσική μηχανή
  • - ένα πρόγραμμα περιτυλίγματος γύρω από ένα πρόγραμμα εξομοιωτή με κουδούνια και σφυρίχτρες
  • - ένα αρχείο που περιγράφει τα χαρακτηριστικά και τη συμπεριφορά ενός μελλοντικού εικονικού λειτουργικού συστήματος στη γλώσσα προγραμματισμού Ruby

Εγκατάσταση

Η όλη διαδικασία εγκατάστασης και διαμόρφωσης θα πραγματοποιηθεί σε περιβάλλον Windows. Για να εγκαταστήσετε το Vagrant, πρέπει να ολοκληρώσετε τα παρακάτω βήματα:

  • Κατεβάστε την πιο πρόσφατη έκδοση του Vagrant για Windows από τον επίσημο ιστότοπο και εγκαταστήστε.
  • Κατεβάστε το VirtualBox για Windows από τον επίσημο ιστότοπο και εγκαταστήστε το.

Δεν θα πρέπει να υπάρχουν προβλήματα με την εγκατάσταση του Vagrant και του VirtualBox, ώστε να μπορείτε να προχωρήσετε αμέσως στο επόμενο βήμα - διαμόρφωση.

Ρυθμίσεις

Μετά την εγκατάσταση του Vagrant και του VirtualBox, συνιστάται να επανεκκινήσετε τον υπολογιστή σας. Εάν όλα πήγαν ομαλά, τότε μπορείτε να ξεκινήσετε την εκκίνηση της πρώτης εικονικής μηχανής.

Για να το κάνετε αυτό πρέπει να εισάγετε τις παρακάτω εντολές:

Mkdir vagrant_demo && cd vagrant_demo vagrant init ubuntu/trusty64

Έτσι, δημιουργήσαμε ένα Vagrantfile, το οποίο περιέχει τις προεπιλεγμένες ρυθμίσεις, δηλαδή:

  • Η διανομή που χρησιμοποιείται είναι το Ubuntu 14.04
  • Η θύρα 22 της επισκέπτη (εικονικής) μηχανής προωθείται στη θύρα 2222 της μηχανής υποδοχής
  • Ο τρέχων κατάλογος./vagrant_demo προωθείται στον κατάλογο /vagrant της εικονικής μηχανής
  • Το guest σύστημα διαθέτει 512 MB μνήμης RAM και 40 GB σκληρού δίσκου

Το περιεχόμενο δεν είναι τίποτα άλλο από κώδικας Ruby που καθορίζει ορισμένα χαρακτηριστικά και συμπεριφορά.

Το ubuntu/trusty64 είναι το κωδικό όνομα για το vagrant box, δηλ. ολοκληρωμένη εικόνα συστήματος. Όλες οι εικόνες του λεγόμενου κουτιά αλήτεςμπορεί να βρεθεί .

Για να ξεκινήσετε μια εικονική μηχανή πρέπει να κάνετε:

Ακολουθεί ένα στιγμιότυπο οθόνης της διαδικασίας λήψης του κουτιού και της επακόλουθης εγκατάστασής του

Μετά την επιτυχή λήψη και διαμόρφωση, απλώς εκτελέστε την εντολή

Όμως, στα τυπικά Windows δεν υπάρχει βοηθητικό πρόγραμμα ssh, οπότε μπορείτε να λάβετε αυτό το μήνυμα σφάλματος:

Το εκτελέσιμο "ssh" δεν βρέθηκε σε κανέναν κατάλογο στη μεταβλητή %PATH%. Είναι ένα
Εγκαταστάθηκε ο πελάτης SSH; Δοκιμάστε να εγκαταστήσετε τα Cygwin, MinGW ή Git, όλα αυτά
περιέχει έναν πελάτη SSH. Ή χρησιμοποιήστε τον αγαπημένο σας πελάτη SSH με τα ακόλουθα
πληροφορίες ελέγχου ταυτότητας που εμφανίζονται παρακάτω:

Αλλά μην ανησυχείτε, απλώς εγκαταστήστε το πακέτο βοηθητικού προγράμματος Cygwin και ορίστε τη διαδρομή προς τα δυαδικά στη μεταβλητή PATH.

Μετά την επιτυχή εκτέλεση της εντολής, θα εμφανιστεί ένα παράθυρο με ένα κέλυφος:

Συγχαρητήρια! Το πρώτο στάδιο έχει ολοκληρωθεί. Για να απενεργοποιήσετε την εικονική μηχανή, πρέπει να εκτελέσετε την εντολή από τον κεντρικό υπολογιστή:

Αλήτης στάση

Λίστα βασικών εντολών:

  • αλήτης στάση- σταματά την εικονική μηχανή
  • αλήτης καταστρέφω- διαγράφει την εικονική μηχανή
  • αλήτης αναστολή- «παγώνει» την εικονική μηχανή
  • αλήτης παγκόσμιας κατάστασης- εμφανίζει μια λίστα με όλες τις εικονικές μηχανές που δημιουργήθηκαν προηγουμένως στο κεντρικό σύστημα
  • - συνδέεται με την εικονική μηχανή μέσω SSH

Ένα παράδειγμα επίδειξης με το Vagrant να δημιουργεί μια ξεχωριστή εικονική μηχανή με εικονικό περιβάλλον Python επί του σκάφους, καθώς και μια εφαρμογή Django, μπορείτε να βρείτε στη διεύθυνση

Θα ήθελα να ορίσω αμέσως τον όρο VM - εικονική μηχανή, αυτή είναι (guest machine).

1. Πρώτα απ 'όλα, χρειαζόμαστε έναν ήδη εγκατεστημένο άξονα, μπορείτε να εγγραφείτε στον ιστότοπο vagrantcloud.com και στη συνέχεια να επιλέξετεΑνακαλύπτω βρείτε το απαιτούμενο BOX. Όμως, δεν εμπιστεύομαι τα BOX άλλων ανθρώπων και θα φτιάξω τα δικά μου. Επομένως, ας κατεβάσουμε το ISO για παράδειγμα της διανομής debian . Τώρα χρειαζόμαστε το VirtualBox (αν δεν το έχετε εγκαταστήστε το) στο οποίο συνδέουμε το ληφθέν Debian.ISO και συνεχίζουμε με την εγκατάσταση.

2. Έχετε ξεκινήσει τη διαδικασία εγκατάστασης του Debian, όπου θα σας ζητηθεί να εισαγάγετε διάφορα δεδομένα, και αυτό είναι ένα βασικό σημείο, γιατί Οι αλήτες προγραμματιστές παρουσίασαν:

  • Όνομα κεντρικού υπολογιστή: vagrant-, για παράδειγμα: vagrant- debian-wheezy-86
  • Τομέας: vagrantup.com
  • Κωδικός πρόσβασης Root: vagrant
  • Είσοδος στον κύριο λογαριασμό: vagrant
  • Κωδικός πρόσβασης κύριου λογαριασμού: vagrant

α) πρέπει να εγκαταστήσετε έναν διακομιστή SSH στο VM:

Sudo apt-get εγκατάσταση openssh-server

διαφορετικά ο Vagrant θα παραπονεθεί ως εξής:

Αποτυχία σύνδεσης με VM!
Απέτυχε η σύνδεση στο VM μέσω SSH. Επαληθεύστε ότι το VM εκκινήθηκε με επιτυχία
κοιτάζοντας το γραφικό περιβάλλον VirtualBox.

β) Αποδεικνύεται ότι παρά το γεγονός ότι δημιουργήσαμε τον vagrant χρήστη και εκχωρήσαμε τον κωδικό πρόσβασης vagrant σε όλους τους χρήστες,ΠΡΕΠΕΙ ΝΑΗ χρήση κλειδιών SSH είναι αναμφίβολα ανόητη, αλλά τι μπορείτε να κάνετε;Στην κοινότητα Vagranta υπάρχει συμφωνία για αυτό το θέμα ότι το Vagrant χρησιμοποιεί ένα ιδιωτικό κλειδί για να συνδεθεί με το VMhttps://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant Και πρέπει να προσθέσουμε ένα δημόσιο κλειδί στο vagrant χρήστη VMhttps://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub στα ~/.ssh/authorized_keys του. Αν αυτό δεν γίνει, τότεΟ αλήτης θα παραπονεθεί ως εξής:

Ο έλεγχος ταυτότητας SSH απέτυχε! Αυτό συνήθως προκαλείται από το δημόσιο/ιδιωτικό
Το ζεύγος κλειδιών για τον χρήστη SSH δεν έχει ρυθμιστεί σωστά στο Guest VM. Σας παρακαλούμε
βεβαιωθείτε ότι η εικονική μηχανή επισκέπτη έχει ρυθμιστεί με το κατάλληλο δημόσιο κλειδί και αυτό
Η διαδρομή του ιδιωτικού κλειδιού για το Vagrant έχει επίσης ρυθμιστεί σωστά.

γ) (ενδεχομένως όχι απαραίτητα) Τώρα ας ξεκινήσουμε την εγκατάσταση προσθηκών επισκεπτών εικονικού κουτιού. Για το σκοπό αυτό ν Πρέπει να εγκαταστήσετε μερικά πακέτα κεφαλίδων:

sudo apt-get -y install linux-headers-$(uname -r) build-essential dkms

κλείστε το VM και Στο παράθυρο του VirtualBox, επιλέξτε «Συσκευές» και «Εγκατάσταση προσθηκών επισκέπτη». Αυτό θα επισυνάψει τις "Προσθήκες επισκέπτη" στη σειρά VM σας. Τώρα το μόνο που μένει είναι να ενεργοποιήσετε το VM, να το προσαρτήσετε με το πρόγραμμα αναπαραγωγής και να εγκαταστήσετε το "Guest Additions".

sudo apt-get -y install linux-headers-$(uname -r) build-essential
mkdir /media/cdrom
προσάρτηση /dev/cdrom /media/cdrom
sudo sh /media/cdrom/VBoxLinuxAdditions.run

δ) (ίσως όχι απαραίτητα) για κάποιο λόγο δημιουργούμε μια ομάδα διαχειριστή, της οποίας οι χρήστες, όπως καταλαβαίνω, επιτρέπεται να συνδέονται μέσω SSH χωρίς κωδικό πρόσβασης:

adduser αλήτης admin

Το Sudo δεν είναι εγκατεστημένο από προεπιλογή στο Debian, οπότε στην περίπτωσή μου θα έπρεπε να το εγκαταστήσω:

και εκτελέστε το πρόγραμμα για να επεξεργαστείτε το αρχείο /etc/sudoesr

Ανοίγει ένα τυπικό πρόγραμμα επεξεργασίας κειμένου (στην περίπτωσή μου το nano) και στο τέλος του αρχείου πρέπει να προσθέσετε:

Προεπιλογές env_keep="SSH_AUTH_SOCK" %admin ALL=NOPASSWD: ALL Προεπιλογές:vagrant !requiretty

3. Κατά τη δημιουργία του VM (εικονική μηχανή), του έδωσα ένα όνομαdebian-wheezy-86, κατά συνέπεια, στον κατάλογό μου όπου είναι εγκατεστημένο το VirtualBox, δημιουργήθηκε ένας κατάλογοςdebian-wheezy-86, Ας πάμε εκεί:

cd /home/programs/VirtualBox

4. Εγκαταστήστε το Vagrant

sudo apt-get install vagrant

5. Μπορείτε να ξεκινήσετε τη δημιουργία ενός Vagrant BOX:

αλήτης συσκευασία --βάση debian-wheezy-86

και σε ένα λεπτό παίρνουμε το πακέτο. κουτί

6. Τ Τώρα πρέπει να ενημερώσετε τους αλήτες για αυτό το κουτί:

vagrant box add debian-wheezy-86 package.box

σύνταξη : vagrant box προσθήκη ΑΡΧΕΙΟΥ NAME.box

7. Μπορείτε να διαγράψετε τον κατάλογο με εγκατεστημένο το Debian:

rm -rf /home/programs/VirtualBox/debian-wheezy-86

8. Ας δημιουργήσουμε και διαμορφώσουμε ένα έργο Vagrant

mkdir vagrant_getting_started
cd vagrant_getting_started
αλήτης init

8. Ας γράψουμε τις απαραίτητες ρυθμίσεις στο Vagrantfile

# όνομα της εικονικής μηχανής που πρόκειται να χρησιμοποιήσουμε
config.vm.box = "debian-wheezy-86"

# ώστε να μπορείτε να παρακολουθείτε τη φόρτωση της εικονικής μηχανής
config.vm.boot_mode = :gui

# χρησιμοποιώντας αυτήν την IP θα είναι δυνατή η πρόσβαση στην εικονική μηχανή
config.vm.network:hostonly, "11.11.11.11"

# προώθηση θύρας (μέσω της θύρας 8080 από τον κεντρικό υπολογιστή φτάνουμε στη θύρα 80 του επισκέπτη μηχανήματος)
config.vm.forward_port 80, 8080

# Κοινή χρήση του φακέλου. Σειρά επιχειρημάτων: αναγνωριστικό, κατάλογος στο μηχάνημα επισκέπτη, κατάλογος στον κεντρικό υπολογιστή
config.vm.share_folder "myShareFolder", "/var/www", "./"

9. Ξεκινήστε το αυτοκίνητο:

και μοιάζει με αυτό:

$αλήτης επάνω
Η VM έχει ήδη δημιουργηθεί. Εκκίνηση αν δεν εκτελείται ήδη...
Εκκαθάριση τυχόν προηγουμένως καθορισμένων προωθημένων θυρών...
Θύρες προώθησης...
-- 22 => 2222 (προσαρμογέας 1)
-- 80 => 8080 (προσαρμογέας 1)
Δημιουργία μεταδεδομένων κοινόχρηστων φακέλων...
Εκκαθάριση τυχόν διεπαφών δικτύου που έχουν οριστεί προηγουμένως...
Προετοιμασία διεπαφών δικτύου με βάση τη διαμόρφωση...
Εκκίνηση VM...
Αναμονή για εκκίνηση του VM. Αυτό μπορεί να διαρκέσει μερικά λεπτά.
Εκκίνηση VM και έτοιμο για χρήση!
Διαμόρφωση και ενεργοποίηση διεπαφών δικτύου...
Τοποθέτηση κοινόχρηστων φακέλων...
-- v-root: /vagrant
-- myShareFolder: /var/www
$

Αλήτηςείναι ένα εργαλείο με το οποίο μπορείτε να δημιουργήσετε και να διαχειριστείτε εικονικές μηχανές χρησιμοποιώντας τεχνολογία εικονικοποίησης.

Χάρη στον εύκολο στη χρήση αλγόριθμο και την αυτοματοποίηση διαδικασιών, το Vagrant μειώνει τον χρόνο που χρειάζεται για τη ρύθμιση και τη βελτιστοποίηση του περιβάλλοντος στο οποίο θα εργαστείτε. Πάμε.

Εγκατάσταση για Windows

Εγκατάσταση Αλήτηςείναι πολύ απλό, πρέπει να κάνετε λήψη του προγράμματος-πελάτη από τον επίσημο ιστότοπο για το λειτουργικό σύστημα που σκοπεύετε να χρησιμοποιήσετε και να ξεκινήσετε τη διαδικασία εγκατάστασης. Για εργασία Αλήτηςπρέπει επίσης να κατεβάσετε VirtualBoxαπό την επίσημη ιστοσελίδα.

VirtualBoxένας hypervisor που πραγματοποιεί τη διαδικασία εικονικοποίησης (oops, ταυτολογία) Linux, macOS, Windows και άλλων συστημάτων. Εγκατάσταση λογισμικού VirtualBoxκαθώς και τον εαυτό του Αλήτηςείναι απλό και δεν θα σας δημιουργήσει ερωτήσεις ή προβλήματα, και μόλις εγκαταστήσετε τα δύο προγράμματα, συνιστάται να κάνετε επανεκκίνηση του συστήματός σας.

Μετά την εγκατάσταση, ανοίξτε τη γραμμή εντολών και ελέγξτε τη διαθεσιμότητα Αλήτηςχρησιμοποιώντας τις ακόλουθες γραμμές κώδικα:

$vagrant Χρήση:vagrant -v, --version Εκτυπώστε την έκδοση και βγείτε. -h, --help Εκτύπωση αυτής της βοήθειας. #...

Το πρώτο βήμα για τη ρύθμιση μιας εικονικής μηχανής με το Vagrant είναι η δημιουργία Vagrantfile , το οποίο θα περιέχει όλες τις απαραίτητες ρυθμίσεις. Πληκτρολογήστε την ακόλουθη εντολή:

Mkdir vagrant_demo && cd vagrant_demo vagrant init ubuntu/trusty64

Vagrantfile - αυτό είναι ένα αρχείο Ρουμπίνι, το οποίο περιγράφει τον τρόπο διαμόρφωσης και παροχής μιας εικονικής μηχανής.

Ωστόσο, αντί να δημιουργήσετε μια εικονική μηχανή από την αρχή, το λογισμικό σας προσφέρει τη χρήση βασικών εικόνων για χρήση " πρότυπα" εικονική μηχανή. Αυτές οι βασικές εικόνες στο Vagrant ονομάζονται "Κουτί αλήτης", τα οποία προστίθενται στο Vagrant χρησιμοποιώντας το εργαλείο προσθήκης πλαισίου Vagrant, το οποίο αποθηκεύει το πλαίσιο Vagrant με ένα συγκεκριμένο όνομα, επιτρέποντάς του να επαναχρησιμοποιηθεί σε πολλά περιβάλλοντα. Cool, έτσι δεν είναι;

$ vagrant box add hashicorp/precise64

Χρησιμοποιώντας αυτήν την εντολή μπορείτε να κατεβάσετε ένα έτοιμο Κουτί αλήτηςμε τίτλο "hashicorp/precision64"από τον κατάλογο Vashgrant Cloud , που παρέχεται από προγραμματιστές για την ανταλλαγή έτοιμων εικόνων. Θα πρέπει επίσης να σημειωθεί ότι είναι δυνατή η προσθήκη εικόνων από τοπικά αρχεία ή προσαρμοσμένη διεύθυνση URL.

Τα "κουτιά" αποθηκεύονται ξεχωριστά για κάθε χρήστη. Κάθε έργο Κουτί αλήτηςδημιουργεί ένα νέο αντίγραφο του "κουτιού" και δεν αλλάζει ποτέ την αρχική εικόνα. Αυτό σημαίνει ότι εάν έχετε δύο έργα που χρησιμοποιούν την ίδια εικόνα Κουτί αλήτης hashicorp/precision64, η προσθήκη αρχείων σε μια εικονική μηχανή δεν θα επηρεάσει την άλλη.

Οταν Κουτί αλήτηςπροστέθηκε Αλήτης, μπορείτε να το προσαρμόσετε για χρήση ως βάση. Ανοίξτε το Vagrantfile και αλλάξτε το περιεχόμενο ως εξής:

Vagrant.configure("2") κάντε |config| config.vm.box = τέλος "hashicorp/precise64".

Μπορείτε να καθορίσετε την έκδοση "boxing" προσδιορίζοντας config.vm.box_version, Για παράδειγμα:

Vagrant.configure("2") κάντε |config| config.vm.box = "hashicorp/precise64" config.vm.box_version = "1.1.0" τέλος

Είναι επίσης δυνατό να καθορίσετε μια διεύθυνση URL χρησιμοποιώντας config.vm.box_url :

Vagrant.configure("2") κάντε |config| config.vm.box = "hashicorp/precise64" config.vm.box_url = "https://vagrantcloud.com/hashicorp/precise64" τέλος

Εκκινήστε την πρώτη εικονική μηχανή Vagrant και πληκτρολογήστε την εντολή: $ vagrant up

Μέσα σε ένα λεπτό, αυτή η εντολή θα ολοκληρώσει τη δουλειά της, φορτώνοντας μια εικονική μηχανή με το Ubuntu για εσάς. Η διαδικασία λήψης θα μοιάζει κάπως έτσι:

Για να ελέγξετε τη λειτουργικότητά του, συνδέστε το SSH στην εικονική μηχανή: $ vagrant ssh.

Αυτή η εντολή θα σας οδηγήσει σε μια πλήρη συνεδρία SSH. Τώρα έχετε τη δυνατότητα να αλληλεπιδράσετε με την εικονική μηχανή. Μια συνεδρία SSH μπορεί να τερματιστεί χρησιμοποιώντας μια συντόμευση πληκτρολογίου CTRL + D.

Vagrant@precise64:~$ αποσύνδεση Η σύνδεση στην 127.0.0.1 έκλεισε.

Όταν ολοκληρώσετε την εργασία με την εικονική μηχανή, θα πρέπει να εκτελέσετε την εντολή αλήτης καταστρέφωκαι το Vagrant θα σταματήσει να χρησιμοποιεί τυχόν πόρους που καταναλώνει η εικονική μηχανή.

Εγκατάσταση στο Ubuntu:

Εγκαθιστούμε το Virtualbox, το οποίο, παρεμπιπτόντως, είναι άμεσα διαθέσιμο στα αποθετήρια του Ubuntu: > sudo apt install virtualbox

Συμβουλή:Θα πρέπει να σημειωθεί ότι το Vagrant και το Virtualbox που διατίθενται στα αποθετήρια του Ubuntu ενδέχεται να μην είναι η πιο πρόσφατη έκδοση για την εγκατάσταση των πιο πρόσφατων εκδόσεων αυτών των προγραμμάτων.

Για να διασφαλίσουμε ότι η εγκατάσταση ήταν επιτυχής, μπορούμε να ελέγξουμε την έκδοση του προγράμματος Vagrant χρησιμοποιώντας την ακόλουθη εντολή: vagrant --version

Θα πρέπει να δείτε κάτι σαν αυτό: Vagrant 2.0.2

Αφού βεβαιωθούμε ότι το Vagrant είναι εγκατεστημένο στο σύστημα Ubuntu, μπορούμε να δημιουργήσουμε ένα περιβάλλον ανάπτυξης, το οποίο είναι η πιο κοινή περίπτωση χρήσης για αυτό το πρόγραμμα.

Το πρώτο βήμα είναι να δημιουργήσετε έναν κατάλογο που θα είναι ο ριζικός κατάλογος του έργου. Και δημιουργούμε το Vagrantfile.

Δημιουργήστε έναν κατάλογο έργου και μεταβείτε σε αυτόν:

Mkdir ~/my-first-vagrant-project cd ~/my-first-vagrant-project

Το επόμενο βήμα είναι να αρχικοποιήσετε ένα νέο Vagrantfile χρησιμοποιώντας την εντολή vagrant init. Σε αυτό το παράδειγμα εκτελούμε το CentOS 7. Εκτελέστε την ακόλουθη εντολή για να αρχικοποιήσετε ένα νέο Vagrantfile:

Vagrant init centos/7

Ένα "Vagrantfile" έχει τοποθετηθεί σε αυτόν τον κατάλογο. Είστε πλέον έτοιμοι να «απλοποιήσετε» το πρώτο σας εικονικό περιβάλλον! Διαβάστε τα σχόλια στο Vagrantfile καθώς και την τεκμηρίωση στο `vagrantup.com` για περισσότερες πληροφορίες σχετικά με τη χρήση του Vagrant.

Εκτελώντας το Vagrant up, έχουμε την ευκαιρία να δημιουργήσουμε και να διαμορφώσουμε το περιβάλλον σύμφωνα με το Vagrantfile.

Vagrant up ==> προεπιλογή: Διαμόρφωση και ενεργοποίηση διεπαφών δικτύου... προεπιλογή: Διεύθυνση SSH: 192.168.121.74:22 προεπιλογή: Όνομα χρήστη SSH: προεπιλογή vagrant: Μέθοδος ελέγχου ταυτότητας SSH: ιδιωτικό κλειδί ==> προεπιλογή: Φάκελος συγχρονισμού: /home/ linuxize/Vagrant/my-first-vagrant-project/ => /vagrant

Όπως μπορείτε να δείτε από τις παραπάνω πληροφορίες, το Vagrant υλοποιεί επίσης έναν κατάλογο έργου στο /vagrant στην εικονική μηχανή, επιτρέποντάς σας να εργαστείτε με τα αρχεία του έργου σας στον κεντρικό υπολογιστή σας.

Για να μπείτε στο περιβάλλον, απλά ξεκινήστε το με την εντολή:

Αλήτης ssh

Σταματώντας το περιβάλλον:

Αλήτης στάση

Η ακόλουθη γραμμή θα σταματήσει το περιβάλλον και θα διαγράψει επίσης όλες τις πληροφορίες που χρειάζονταν για να λειτουργήσει:

Αλήτες καταστρέφουν

Χάρη στο άρθρο μας, είδατε τη διαδικασία εγκατάστασης και διαμόρφωσης μιας εικονικής μηχανής στον υπολογιστή σας Windowsή Ubuntu 18.04, και το άρθρο δείχνει ξεκάθαρα τη διαδικασία δημιουργίας και διαμόρφωσης μιας εικονικής μηχανής. Κέρδος!

Σας ήταν χρήσιμο αυτό το άρθρο;

Παρακαλώ πές μου γιατί?

Λυπούμαστε που το άρθρο δεν ήταν χρήσιμο για εσάς: (Παρακαλώ, αν δεν είναι δύσκολο, αναφέρετε γιατί; Θα είμαστε πολύ ευγνώμονες για μια λεπτομερή απάντηση. Σας ευχαριστούμε που μας βοηθήσατε να γίνουμε καλύτεροι!

είναι ένα βοηθητικό πρόγραμμα για τη συναρμολόγηση και τη διαχείριση εικονικών μηχανών. Με τη βοήθειά του, μπορείτε να αυτοματοποιήσετε τη διαδικασία ανάπτυξης προσαρμοσμένων (με ρυθμίσεις χρήστη) εικονικών μηχανών.

Η ουσία του Vagrant είναι ότι, χρησιμοποιώντας αρχεία διαμόρφωσης γραμμένα ειδικά για αυτό το πρόγραμμα, συναρμολογεί εικονικές μηχανές στις οποίες έχουν ήδη εφαρμοστεί ορισμένες ρυθμίσεις. Οι συντάκτες ορισμένων συστημάτων τα διανέμουν με τη μορφή ενός τέτοιου αρχείου διαμόρφωσης Vagrant και έχοντας λάβει αυτό το αρχείο, μπορούμε να δημιουργήσουμε αυτό το λειτουργικό σύστημα στον υπολογιστή μας. Μπορούμε να χρησιμοποιήσουμε τις προεπιλεγμένες διαμορφώσεις ή να κάνουμε αλλαγές σε αυτές. Το αποτέλεσμα θα είναι ένα λειτουργικό σύστημα από τον συγγραφέα, αλλά με συγκεκριμένο συντονισμό.

Πώς να εγκαταστήσετε το Vagrant σε Linux

Δεδομένου ότι το Vagrant είναι απλώς ένα πρόσθετο στο VirtualBox, πρέπει να ξεκινήσετε εγκαθιστώντας το VirtualBox.

Τώρα που το VirtualBox είναι ήδη στο σύστημά σας, αναζητήστε το vagrant στα τυπικά αποθετήρια του συστήματός σας - πιθανότατα είναι ήδη εκεί.

Για εγκατάσταση σε Ubuntu, Linux Mint, Debian, Kali Linux και τα παράγωγά τους, εκτελέστε την εντολή

Sudo apt εγκατάσταση αλήτης

Για να εγκαταστήσετε στο Arch Linux, το BlackArch και τα παράγωγά τους, εκτελέστε την εντολή:

Sudo pacman -S αλήτης

Πώς να εγκαταστήσετε το Vagrant στα Windows

Υπάρχει επίσης ένα πρόγραμμα εγκατάστασης γραφικών για το Vagrant στα Windows, κατεβάστε το και εγκαταστήστε το.

Το Vagrant επιλέγει έναν διαφορετικό φάκελο από τον C:\Program Files\ ως φάκελο εγκατάστασης, αυτό επιτρέπει στο πρόγραμμα να λειτουργεί πιο εύκολα με δικαιώματα και δικαιώματα πρόσβασης:

Μετά την επανεκκίνηση, ανοίξτε τη γραμμή εντολών των Windows. Αυτό μπορεί να γίνει κάνοντας κλικ Win+x, στο παράθυρο που ανοίγει, επιλέξτε Windows PowerShell (Διαχειριστής). Στο παράθυρο που ανοίγει, για εναλλαγή από το PowerShell στη γραμμή εντολών, πληκτρολογήστε

Σε αυτήν την κονσόλα, εκτελέστε την εντολή:

Θα πρέπει να εμφανιστεί η τυπική βοήθεια για τη χρήση του προγράμματος:

Εάν παρουσιαστεί κάποιο σφάλμα ή απλώς για λόγους πρόληψης, ενημερώστε τα πρόσθετα:

Ενημέρωση προσθήκης Vagrant

Εγκατάσταση της προσθήκης vagrant-vbguest

Το vagrant-vbguest είναι μια προσθήκη Vagrant που εγκαθιστά αυτόματα VirtualBox Guest Additions - VirtualBox guest Additions - σε συστήματα φιλοξενούμενων.

Ανεξάρτητα από το λειτουργικό σύστημα, το πρόσθετο θα πρέπει να εγκατασταθεί με τον ίδιο τρόπο με την ακόλουθη εντολή:

Εγκατάσταση του πρόσθετου Vagrant Vagrant-vbguest

Εάν αντιμετωπίζετε προβλήματα με την εγκατάσταση αυτής της προσθήκης στα Windows, δοκιμάστε την ακόλουθη εντολή:

C:\vagrant\vagrant\embedded\bin\gem.bat εγκατάσταση vagrant-vbguest

Επίσης στα Windows, το τείχος προστασίας μπορεί να ζητήσει άδεια πρόσβασης ενός προγράμματος στο δίκτυο:

Η προσθήκη vagrant-vbguest εκτελείται και χρησιμοποιείται από προεπιλογή σε όλες τις εικονικές μηχανές. Ξεκινά αυτόματα αμέσως μετά την εκκίνηση του πλαισίου (έτσι ονομάζονται οι εικονικές μηχανές στο Vagrant). Αποδεικνύεται ότι λειτουργεί κάθε φορά που φορτώνεται το πλαίσιο, δηλαδή όταν χρησιμοποιείτε τις εντολές αλήτης επάνωή αλήτης επαναφόρτωση. Δεν θα δουλέψει υπό εντολή αλήτης βιογραφικό(ή αλήτες επάνω σε ένα αναρτημένο κουτί) για να μην χάνουμε χρόνο κατά την επανέναρξη της εικονικής μηχανής.

Για να απενεργοποιήσετε αυτήν την προσθήκη, στις ρυθμίσεις εικονικής μηχανής, ορίστε vbguest.auto_updateεπί ψευδής.

Πώς να χρησιμοποιήσετε το Vagrant

Το Vagrant συλλέγει εικονικές μηχανές με βάση ένα αρχείο διαμόρφωσης Vagrantfile. Μπορείτε να δημιουργήσετε και να χρησιμοποιήσετε τις δικές σας επιλογές για γρήγορη ανάπτυξη ή να εγκαταστήσετε διάφορα λειτουργικά συστήματα που έχουν προετοιμαστεί από άλλους. Περιέχεται μια μεγάλη συλλογή, όπου μπορείτε να επιλέξετε το πλαίσιο που σας ενδιαφέρει και να το συναρμολογήσετε και στη συνέχεια να το εκκινήσετε χρησιμοποιώντας μια εντολή όπως:

Για παράδειγμα, επίθεση-ασφάλειαέτοιμος kali-linux-light,

τότε η εγκατάσταση και η εκκίνηση εκτελούνται με τις εντολές:

Vagrant init επίθεση-ασφάλεια/kali-linux-light αλήτης επάνω

Παραδείγματα άλλων δημοφιλών συστημάτων:

Για διαφορετικά συστήματα, επιλέξτε ξεχωριστούς φακέλους, δηλαδή εκτελέστε τις παραπάνω εντολές σε διαφορετικούς φακέλους.

Το Vagrant όχι μόνο μπορεί να κατεβάσει και να εκτελέσει κουτιά, αλλά μπορεί επίσης να εκτελέσει προσαρμοσμένα σενάρια μέσα σε αυτά - επομένως ορισμένα συστήματα μπορεί να είναι πιο δύσκολο να εγκατασταθούν από ό,τι φαίνεται εδώ. Μπορεί να απαιτούν τη λήψη του πλήρους αρχείου. Στη συνέχεια, θα χρειαστεί να πλοηγηθείτε στον φάκελο που περιέχει το αρχείο Vagrantfileκαι έχει ήδη ξεκινήσει εκεί αλήτης επάνω.

 

Ίσως είναι χρήσιμο να διαβάσετε: