GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So erstellen Sie Vagrant CentOS 7 mit VirtualBox

Vagrant ist ein großartiges Tool, das von HashiCorp entwickelt wurde, um leichtgewichtige, reproduzierbare und portable Entwicklungsumgebungen zu erstellen und zu konfigurieren, die auf branchenüblicher Technologie aufbauen und von einem einzigen konsistenten Workflow gesteuert werden, um Produktivität und Flexibilität zu maximieren.

Es handelt sich um einen übergeordneten Wrapper um Virtualisierungssoftware wie VirtualBox, VMware, KVM und Linux Containers (LXC) und um Konfigurationsverwaltungssoftware wie Ansible, Chef, Salt und Puppet. Vagrant macht es viel einfacher, lokale virtuelle Maschinen mit VirtualBox zu drehen. Es nutzt die Virtualisierungsumgebung und stellt virtuelle Maschinen der Wahl bereit und verwaltet den Benutzer, um direkten Zugriff zu haben und mehrere virtuelle Maschinen darauf zu verwalten.

In diesem Tutorial erfahren wir, wie Sie mit VirtualBox eine vagabundierende CentOS 7-Basisbox von Grund auf neu erstellen.

1. Installation von VirtualBox

Zunächst laden wir die neueste Version herunter, dh 4.3.28 Virtual Box für die Virtualisierung von Vagrant. Wir laden es von der offiziellen VirtualBox-Download-Seite mit unserem Webbrowser herunter oder wir können wget über das Terminal verwenden. Hier führen wir Ubuntu 14.04 auf unserem Host-Rechner aus, also werden wir das Debian-Paket für Ubuntu herunterladen.

# wget http://download.virtualbox.org/virtualbox/4.3.28/virtualbox-4.3_4.3.28-100309~Ubuntu~raring_amd64.deb

--2015-06-16 17:49:13-- http://download.virtualbox.org/virtualbox/4.3.28/virtualbox-4.3_4.3.28-100309~Ubuntu~raring_amd64.deb
Resolving download.virtualbox.org (download.virtualbox.org)... 137.254.120.26
Connecting to download.virtualbox.org (download.virtualbox.org)|137.254.120.26|:80... connected.
...
HTTP request sent, awaiting response... 200 OK
Length: 65115674 (62M) [application/x-debian-package]
Saving to: ‘virtualbox-4.3_4.3.28-100309~Ubuntu~raring_amd64.deb’
100%[===============================>] 65,115,674 36.8MB/s in 1.7s
2015-06-16 17:49:15 (36.8 MB/s) - ‘virtualbox-4.3_4.3.28-100309~Ubuntu~raring_amd64.deb’ saved

Nach dem Herunterladen der Debian-Datei werden wir sie mit dem dpkg-Paketmanager installieren.

# dpkg -i virtualbox-4.3_4.3.28-100309~Ubuntu~raring_amd64.deb

Um die erforderlichen Abhängigkeiten zu beheben, führen wir dann den folgenden Befehl aus.

# apt-get -f install

2. Vagrant installieren

Da wir Ubuntu 14.04 auf unserem Host-Rechner ausführen, werden wir jetzt die neueste Version von Vagrant, dh 1.7.2, von unserer offiziellen Vagrant-Download-Seite mit wget oder mit unserem bevorzugten Webbrowser herunterladen.

# wget https://dl.bintray.com/mitchellh/vagrant/vagrant_1.7.2_x86_64.deb

Nach dem Herunterladen installieren wir es jetzt mit dem dpkg-Paketmanager.

# dpkg -i vagrant_1.7.2_x86_64.deb

Selecting previously unselected package vagrant.
(Reading database ... 117170 files and directories currently installed.)
Preparing to unpack vagrant_1.7.2_x86_64.deb ...
Unpacking vagrant (1:1.7.2) ...
Setting up vagrant (1:1.7.2) ...

3. Virtuelle Maschine vorbereiten

Herunterladen der CentOS-Image-Datei

Da wir in diesem Tutorial alles von Grund auf neu machen, erstellen wir unsere virtuelle Maschine durch unsere eigene Einrichtung und Konfiguration in der Virtual Box. Bevor wir also mit der Konfiguration der VM beginnen, müssen wir unsere eigene Centos 7-ISO-Datei herunterladen. Wir können es von http://mirror.centos.org/centos/7/isos/x86_64/ herunterladen, indem wir den Spiegel in unserer Nähe und die erforderliche Bilddatei auswählen. Hier laden wir die minimale ISO-Datei von CentOS 7 herunter. Da unsere ISO-Image-Datei nun einsatzbereit ist, fahren wir nun mit der Erstellung einer virtuellen Maschine in der virtuellen Box fort.

Virtuelle Maschine erstellen

Jetzt starten wir die virtuelle Box, die wir gerade in unserem Host-Betriebssystem installiert haben. Dann klicken wir auf Neu Taste. Dann geben wir der virtuellen Maschine einen Namen als centos-7 dann wählen wir Linux unter Typ.

Und wählen Sie Red Hat (64 Bit) als Fassung. Unter Speichergröße , lassen wir RAM bei 512 MB als Landstreicher hat die Fähigkeit, es zu ändern.

Jetzt wählen wir Jetzt virtuelle Festplatte erstellen aus , und klicken Sie auf Erstellen . Wir belassen den Standardnamen unter Dateispeicherort . Stellen Sie dann die Dateigröße der Festplatte auf 40,00 GB ein und wählen Sie VDI (VirtualBox Disk Image) als Festplattendateityp aus .

Dann wählen wir Dynamisch zugewiesen aus und klicken Sie auf Erstellen . Hurra. Wir haben die virtuelle Maschine erfolgreich in unserer Virtual Box erstellt.

Virtual Machine weiter konfigurieren

Dann klicken wir zur weiteren Konfiguration auf den Namen der virtuellen Maschine und dann auf Einstellungen . Gehen Sie dann zum Speicher und klicken Sie auf Leer direkt unter Controller-IDE , und klicken Sie dann auf der rechten Seite des Fensters auf das CD-Symbol , und wählen Sie Wählen Sie eine virtuelle CD/DVD-Festplattendatei aus . Navigieren Sie zum CentOS 7-ISO-Image heruntergeladen wurde, wählen Sie sie aus und klicken Sie auf Öffnen . Dann möchten wir auf Ok klicken um die Einstellungen zu schließen Menü.

4. Installieren von CentOS 7 in einer virtuellen Maschine

Schließlich sind wir dabei, unser CentOS 7 in der gerade erstellten virtuellen Maschine zu installieren. Der Installationsprozess ist ziemlich einfach und ist so einfach wie die Installation, und die meisten Standardoptionen können verwendet werden. Sie können auch http://linoxide.com/how-tos/centos-7-step-by-step-screenshots/ für den Installationsteil des Betriebssystems folgen.

Nachdem das Betriebssystem installiert wurde, konfigurieren wir nun das Betriebssystem, damit es mit Vagrant funktioniert.

Jetzt öffnen wir eine Konsole in der virtuellen Maschine und melden uns als root an.

Da eth0 standardmäßig deaktiviert ist, müssen wir es nachholen.

# ifup eth0

Jetzt installieren wir einige zusätzliche Pakete wie openssh, nano, ntp, curl aus dem Repository mit dem Yum-Paketmanager.

# yum install -y openssh-clients nano wget ntp curl

Dann aktivieren wir den ntpd-Dienst so, dass er bei jedem Booten startet.

# chkconfig ntpd on

Danach wollen wir die Zeit vom time.nist.gov-Server einstellen.

# service ntpd stop

# ntpdate time.nist.gov

# service ntpd start

Jetzt werden wir den ssh-Dienst so aktivieren, dass er beim Booten startet, damit wir uns per ssh in die Maschine einloggen können, sobald sie bootet.

chkconfig sshd on

Wir werden die Dienste iptables und ip45.55.88.66tables vom Start beim Booten abschalten.

# chkconfig iptables off

# chkconfig ip6tables off

Dann setzen wir SELinux auf permissive.

# sed -i -e 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config

Danach möchten wir einen neuen Benutzer namens vagrant hinzufügen, damit wir ihn mit vagrant verwenden können.

# useradd vagrant

Jetzt erstellen wir den .ssh-Ordner des vagabundierenden Benutzers, damit die SSH-Schlüssel und -Informationen dort gespeichert werden.

# mkdir -m 0700 -p /home/vagrant/.ssh

Wenn wir unseren eigenen öffentlichen/privaten SSH-Schlüssel verwenden möchten, erstellen wir einen öffentlichen/privaten SSH-Schlüssel auf unserer Workstation und kopieren den öffentlichen Schlüssel nach /home/vagrant/.ssh/authorized_keys auf der virtuellen Maschine.

Wenn wir andernfalls den von Vagrant bereitgestellten öffentlichen/privaten SSH-Schlüssel verwenden möchten, können wir einfach den folgenden Befehl ausführen:

# curl https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub >> /home/vagrant/.ssh/authorized_keys

Jetzt wollen wir die Berechtigungen für die „authorized_keys“-Dateien so ändern, dass sie mit chmod

restriktiver sind
# chmod 600 /home/vagrant/.ssh/authorized_keys

Dann werden wir den Besitz des .ssh-Ordners mithilfe von chown auf vagabundierende Benutzer und Gruppen festlegen.

# chown -R vagrant:vagrant /home/vagrant/.ssh

Nun, hier ist die wichtigste wichtige Änderung, die wir vornehmen müssen, wir müssen requiretty in /etc/sudoers auskommentieren. Diese Änderung ist wichtig, da sie es ssh ermöglicht, Remote-Befehle mit sudo zu senden. Geschieht dies nicht, kann Vagrant die Änderungen beim Start nicht anwenden. Dies kann durch Ausführen des folgenden Befehls erfolgen.

# sed -i 's/^\(Defaults.*requiretty\)/#\1/' /etc/sudoers

Wir erlauben dem Benutzer vagrant, sudo zu verwenden, ohne ein Passwort einzugeben, indem wir den folgenden Befehl ausführen.

# echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

Dann öffnen wir /etc/sysconfig/network-scripts/ifcfg-eth0 und lass es genau so aussehen

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp

Entfernen Sie nun die udev persistent net rules Datei mit dem Befehl rm.

# rm -f /etc/udev/rules.d/70-persistent-net.rules

Jetzt wollen wir yum mit dem folgenden Befehl bereinigen.

# yum clean all

Jetzt werden wir das tmp löschen Verzeichnis und machen Sie es sauber.

# rm -rf /tmp/*

Bereinigen Sie dann die Protokolle der zuletzt angemeldeten Benutzer.

# rm -f /var/log/wtmp /var/log/btmp

Wir werden den Verlauf bereinigen.

# history -c

Danach fahren wir die virtuelle Maschine herunter.

# shutdown -h now

Sobald die virtuelle Maschine heruntergefahren ist, klicken wir auf Einstellungen für die virtuelle Maschine. Gehen Sie dann zum Speicher und wählen Sie dann Controller-IDE aus und klicken Sie auf das grüne Quadrat mit dem roten Minus-Symbol in der unteren rechten Ecke des Abschnitts „Storage Tree“ der Registerkarte „Storage“. Klicken Sie dann auf OK um das Einstellungsmenü zu schließen. Danach machen wir uns an die Erstellung der Vagrant Box.

5. Vagrant Box erstellen

Achten Sie auf den Wert der Basis Befehlszeilenschalter stimmt mit dem Namen der virtuellen Maschine in VirtualBox überein:

# vagrant package --output centos-7.box --base centos-7

6. Hinzufügen der Vagrant Box

Füge die neu erstellte Vagrant Box zu Vagrant hinzu (dadurch wird die Vagrant Box an einen anderen Ort kopiert):

# vagrant box add centos-7 centos-7.box

Außerdem kann die virtuelle VirtualBox-Maschine gelöscht werden.

7. Vagrant-Projekt erstellen und Vagrantfile konfigurieren

Vagrant-Projekte können so viele erstellt werden, wie wir wollen. Jede enthält verschiedene Vagrant-Dateien, die die Definition des Vagrant-Projekts und verschiedene virtuelle Maschinen enthalten. Dazu erstellen wir ein Verzeichnis namens vagrant unter dem Verzeichnis linoxide um das Vagrantfile und assoziative virtuelle Maschinen zu speichern.

# mkdir -p ~/linoxide/vagrant

# cd ~/linoxide/vagrant

Jetzt erstellen wir die Vagrant-Datei wie folgt.

# vagrant init centos-7

Jetzt haben wir eine Vagrant-Datei, die auf die Centos-7-Basisbox verweist, die wir gerade oben erstellt haben. Wenn wir unseren eigenen privaten/öffentlichen SSH-Schlüssel und nicht den von Vagrant bereitgestellten privaten/öffentlichen SSH-Schlüssel verwenden, müssen wir Vagrantfile mitteilen, wo sich der private SSH-Schlüssel befindet. Dazu müssen wir Folgendes in die soeben erstellte Vagrant-Datei einfügen.

# nano Vagrantfile

config.ssh.private_key_path = "~/.ssh/id_rsa"

Wenn Sie keine Ordner zwischen Ihrer virtuellen Maschine und dem Host-Betriebssystem freigeben möchten, deaktivieren Sie es einfach, indem Sie Folgendes zu Ihrer Vagrant-Datei hinzufügen.

config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", disabled: true

8. Vagrant starten

Jetzt, da wir alle oben genannten Schritte vollständig durchgeführt haben, wollen wir endlich unsere erste vagabundierende virtuelle Maschine sofort ausführen. Um unsere vagabundierende virtuelle Maschine mit dem Betriebssystem Centos 7 auszuführen, müssen wir nur den folgenden Befehl ausführen.

# vagrant up

Wenn alles wie erwartet super gelaufen ist, sollten wir in der Lage sein, unsere laufende Vagrant-Box zu sehen, während wir den Vagrant-Status-Befehl ausführen.

# vagrant status

Wenn wir in die Vagrant-Box ssh und die virtuelle Maschine kontrollieren wollen, führen wir einfach vagrant ssh

aus
# vagrant ssh

Nachdem wir mit unserer Arbeit fertig sind und unsere laufende Vagrant Virtual Box löschen oder zerstören wollen, können wir einfach Vagrant Destroy ausführen, was diese zerstören wird.

# vagrant destroy

Schlussfolgerung

Schließlich haben wir unsere Vagrant-Box mit CentOS 7 von Grund auf mit Virtual Box erstellt. Dieser Artikel erleichtert uns das Erstellen einer Vagrant-Box, wenn Sie bereits eine Centos 7-Image-Datei oder -DVD oder eine virtuelle Maschine haben und kein Centos 7-Box-Image für Vagrant herunterladen möchten. Diese Methode hilft Ihnen auch dabei, eine Vagrant-Box zu erstellen, wenn Sie zu diesem Zeitpunkt keine Internetverbindung haben, aber ein Image oder eine DVD von CentOS 7 haben.

Das obige Tutorial ist wirklich eine einfache und leicht durchzuführende Anleitung zum Erstellen unserer Centos 7 Vagrant-Basisbox von Grund auf neu. Wir können sogar eine Vagrant-Box jeder Linux-Distribution mit ähnlichen Schritten oben erstellen. Wenn Sie also Fragen, Kommentare oder Feedback haben, schreiben Sie bitte in das Kommentarfeld unten und teilen Sie uns mit, welche Dinge hinzugefügt oder verbessert werden müssen.


Cent OS
  1. So richten Sie den virtuellen Nginx-Host (Serverblöcke) unter CentOS 7 ein

  2. So installieren Sie VirtualBox unter CentOS 7

  3. So erstellen Sie ein lokales YUM-Repository auf CentOS 7 / RHEL 7 mithilfe einer DVD

  4. So installieren Sie Oracle VirtualBox auf Oracle Linux/Fedora/RHEL/CentOS mit YUM

  5. So erstellen Sie einen sudo-Benutzer unter CentOS 7

So installieren Sie VirtualBox unter CentOS 7 / RHEL 7

So installieren Sie CentOS 6 auf VirtualBox unter Windows

So erstellen Sie eine virtuelle Maschine mit Vagrant und VirtualBox

So erstellen Sie einen Sudo-Benutzer unter CentOS

So installieren Sie Textpattern unter CentOS 7

So installieren Sie PhpStorm unter CentOS 8