Richten Sie die Vagrant-Box genau wie den Produktionsserver ein

8

Ich versuche zu lernen, wie man Vagrant mit der Idee benutzt, eine Entwicklungsumgebung einzurichten, die genau (wenn möglich) auf einen bereits existierenden Produktionsserver sein soll.

Die Frage ist: Was ist der einfachste Weg, um das zu erreichen?

Ich bin Entwickler und habe vollen Zugriff auf den Produktionsserver, aber er wird nicht von mir verwaltet. Ich kenne mich nur ein bisschen um den Server herum, um Webseiten einzurichten, mit cPanel, etwas WHM, etc ...

zu arbeiten

Auf dem Server läuft CentOS 6.5 mit Apache, MySQL und PHP.

Gibt es eine Möglichkeit, die Konfiguration dieses Servers mit allen Anwendungen, Modulen, Versionen usw. zu "exportieren" und damit eine Vagrant Box zu erstellen? Oder geht es darum, alles manuell zu analysieren und aufzuschreiben?

Wenn der Weg zu gehen die zweite Option ist, kann ich einen Rat bekommen, wie man das macht, ohne etwas zu verpassen?

    
Albert 11.10.2014, 06:26
quelle

3 Antworten

1

Ich glaube nicht, dass es eine direkte Möglichkeit gibt, eine bestehende Serverkonfiguration in eine Vagrant-Box zu exportieren, was im Wesentlichen erfordert, dass Sie den Server in ein VM-Format klonen, das von einem von Vagrants Provider (z. B. eine OVA -Datei für Virtualbox ) .

AFAIK, müssen Sie dies leider manuell tun. Die Vorgehensweise (zumindest auf Anwendungsebene) ist:

  1. Verwenden Sie eine der vordefinierten CentOS 6.5 LAMP-Boxen im Vagrant Cloud , damit die Software nicht von Grund auf neu installiert wird.
  2. Installieren Sie Virtualbox , falls dies noch nicht geschehen ist, da dies der Standardanbieter von Vagrant ist.
  3. Erstellen Sie eine Kopie Ihrer Produktion apache conf/httpd.conf , conf/extra und modules (ich denke, das sind die wichtigsten), und importieren Sie sie in den Apache-Server in Ihrer Vagrant-Box.
  4. Erstellen Sie einen Auszug Ihrer MySQL-Produktionsdatenbank mit mysqldump . Importieren Sie dann das Schema und die Daten in die MySQL-Datenbank in Ihrer Vagrant-Box. Verwenden Sie die Option --no-data , um den Datenexport für Ihre Produktionsdatenbank auszuschließen ist zu groß für Ihre Entwicklungsbedürfnisse. (Tabelle 4.9 zu diesem Link, den ich geteilt habe, bietet eine umfassende Liste von Optionen.)
  5. Stellen Sie Ihre PHP-Anwendung erneut bereit.
  6. Sobald Sie mit allen Optimierungen in Ihrer Vagrant-Box zufrieden sind, verwenden Sie Virtualbox, um die neue VM als Baseline zu klonen.

Wie bereits erwähnt, sind dies nur Setups und Konfigurationen auf Anwendungsebene. Es gibt wahrscheinlich andere Konfigurationen in Ihrem Produktionsserver, die sich auf Firewalls, SSH-Schlüssel, Benutzerberechtigungen usw. beziehen, die Sie in Ihrer Entwicklungsumgebung möglicherweise duplizieren müssen oder nicht müssen.

Hoffe, das hilft.

    
ivan.sim 11.10.2014, 07:33
quelle
1

Dies sollte dein Problem lösen: Ссылка

Die Idee besteht darin, Ihren vorhandenen Produktionsserver in ein Bild zu exportieren, das in das virtuelle Feld importiert werden kann:

    
user345602 16.03.2015 11:58
quelle
0

Sie können eine vagabundierende Box dieser VM erstellen und diese dann mit vagrant init bereitstellen. Im folgenden Artikel wird erläutert, wie dies für die virtualbox-VM durchgeführt wird. Dieser Artikel erstellt die VM auch, in Ihrem Fall ist vm schon da.

Erstellen Sie Ihre eigene Landstreicherbox

Wenn Sie etwas anderes als virtualbox verwenden (vmware, kvm usw.). Sie müssen herausfinden, wie Sie es für Ihren Anbieter tun.

    
Prashant Kumar 14.10.2014 19:46
quelle