Uzyskanie stosu LAMP działającego na Vagrant VM (pod hostem windows 7), pełne instrukcje?

Mam Vagrant vm standard issue lucid32.pudło działa. Jaka byłaby pełna instrukcja instalacji lampy na tym?

Spojrzałem na nóż (część kucharza) i spróbowałem:

vagrant@lucid32:~$ knife cookbook site install apache2

Ale mam

WARNING: No knife configuration file found

Jak skonfigurować plik konfiguracyjny noża i co powinienem w nim mieć?

Dużo szukałem w Internecie odpowiedzi, ale jestem przytłoczony częściowymi rozwiązaniami, które nie wyjaśniają ich początku punkt/warunki wstępne.

Update

Postaram się odpowiedzieć na to osobiście, tak jak nikt inny nie chce. Oto moje obecne zrozumienie - staram się odpowiedzieć na moje niewiadome / pytania na Czerwono później.

Vagrant Windows Host, Linux VM v001 - pierwsze pytania po próbie konfiguracji

Author: Kara, 2013-01-30

2 answers

Ok, postanowiłem odpowiedzieć na to w pełni dla siebie jako oryginalny plakat pytań. (Podziękowania dla wszystkich, którzy przyczynili się wcześniej).

W systemie Windows 64-bitowy host jest obsługiwany przez Vagrant i Oracle VirtualBox.]}

Zadałem to pytanie pierwotnie, ponieważ chociaż istnieje wiele instrukcji i przewodników w Internecie, to czego one nie wydają się robić, to: {49]}

  • jasno określić punkt wyjścia i jakie są warunki wstępne
  • zakłada Maszyna hostująca oparta na Linuksie. Kilka lub żadnych instrukcji dla tych, takich jak ja, w środowiskach korporacyjnych, które mają maszynę z systemem Windows zdolną do hostowania maszyny wirtualnej [58]}
  • nie zawsze wiadomo, gdzie są ustawiane pliki: na hoście? na gościnnym OS? (Jest to szczególnie trudne do określenia, czy zarówno host, jak i system operacyjny gościa są oparte na Linuksie lub Uniksie-pokazane fragmenty wiersza poleceń nie dają wskazówek, ponieważ wszystkie wyglądają tak samo.)
  • Podaj, której wersji Vagrant użyto. Są dwie (2) główne wersje: API w wersji 1, która jest wszystkimi wydaniami przed (ale nie wliczając) v1.1.0, a druga to API w wersji 2 - która jest wydaniami począwszy od v1.1.0. Tak więc konwencja wersjonowania jest podobna do Javy. Ta wersja API jest ważna, ponieważ na przykład Skrypty API v1 po prostu nie będą działać na API v2 Oprogramowania Vagrant, chyba że na początku skryptu zostanie umieszczona klauzula określająca, której wersji użyć.

    Osobiście uważam, że Konwencja wersjonowania Vagranta mogłaby być prostsza. uwaga: ten poradnik jest dla Vagrant 1 . Powiedziano mi, że Wersja 1 ma szeroką ustaloną zainstalowaną bazę, podczas gdy Vagrant 2 był jeszcze w połowie 2013 roku. Dlatego chciałbym zadzwonić do wersji 1-V1 LTS-Long Term Support - jak Ubuntu, aby pokazać, że to będzie jeszcze długo.

[48]} oto obrazek wyjaśniający, które API znajduje się na jakiej wersji oprogramowania Vagrant: [49]}

Vagrant API w wersji v1, v2

Dla mojego przykładowego ustawienia użycia Vagrant tutaj, chciałbym sugerują użycie pre-V1. 1. 0 (tj. Vagrant API 1 Z pobrań na vagrantup.com ) jednak powinieneś być w stanie używać wersji API Vagrant 2 oprogramowania Vagrant, jak wspomniano powyżej, ale musisz dodać 'dyrektywę' na początku swoich skryptów, aby powiedzieć Vagrantowi, że są one dla Vagrant 1, w przeciwnym razie Skrypty zawiodą z Komunikatem o błędzie. do zrobienia: postaram się zdobyć tę dyrektywę i umieścić tutaj, aby pomóc.

( Mitchell Hashimoto, Vagrant creator - please zwróć uwagę na powyższe przy przyszłych wydaniach książki O ' Reilly book: Vagrant: Up And Running: http://shop.oreilly.com/product/0636920026358.do )

Co te instrukcje w ta odpowiedź powinna zrobić:

Zdobądź 32-bitowy system operacyjny Ubuntu Linux z lampą (Linux Apache web server, baza danych MySQL, PHP) działający jako maszyna wirtualna przy użyciu Oracle Virtual Box na 64-bitowym komputerze z systemem Windows 7 (lub komputerze Mac lub Linux, ale przede wszystkim przetestowany na Windows, ale powinno działać dobrze na Mac i to rozwiązanie ma być niezależne od platformy). Przetestowałem PHP OK (poprzez standardowe phpinfo.pliku php i zobaczyć, że MySQL jest uruchomiony przez jeszcze tego nie testowałem).

Inne sposoby konfiguracji stosu LAMP działających na Vagrant VM

Uwaga: alternatywne rozwiązanie dla tych (jak ja). kto chce stos LAMP z Drupal Open source content management framework jest tutaj: http://drupal.org/project/vagrant Powinieneś być w stanie wykonać tylko moje wstępne wymagania poniżej, a następnie pobrać .zip z powyższego adresu URL i postępuj zgodnie z instrukcjami tam i uruchom vagrant z wiersza poleceń, aby uruchomić maszynę wirtualną i poczekać, jak się ją zbuduje i uruchomi (niektóre z tych po raz pierwszy, jak już masz ustawienia obrazu, powinny być szybsze). Dostajesz wiele innych rzeczy deweloperskich "za darmo" (tzn. oszczędzasz wysiłek instalując je) - jak git, drush (myślę, że), i narzędzia do profilowania wydajności. Następnie przejdź do [Adres serwera]/install.php do instalacji Drupala. To wydaje się działać dobrze bez problemu-próbowałem go, ale nie testowałem go intensywnie. Jeśli pojawi się komunikat o błędzie, może być konieczne wyłączenie instalacji xhprof-zobacz http://drupal.org/node/1940668 po szczegóły.

Inną opcją jest użycie tego narzędzia konfiguracyjnego: https://puphpet.com / - To wizualna metoda Wskaż i kliknij, aby skonfigurować konfigurację Vagrant. To działa na Vagrant 2 (myślę, aktualizacja tak, to działa, na vagrant 1.2.2 przynajmniej). Update: w rzeczywistości, mam to działa pomyślnie i oparłem konfigurację do uruchamiania Drupala na nim lokalnie-zobacz mój poradnik tutaj: https://drupal.org/node/2055947

Update

Oto kilka innych gotowych konfiguracji Vagrant, które znalazłem, aby działać dobrze-na Macu i Okna:

Jeśli chcesz lokalnie wyszukiwarkę Solr w maszynie wirtualnej jako część stosu LAMP, możesz zajrzeć do:

Mimo że te alternatywy są świetne, moje instrukcje są nadal cenne, aby pomóc ci zrozumieć działanie takich konfiguracji lub jeśli chcesz prostszego, bardziej podstawowego stosu LAMP.

Małe dodatki, które musisz dowiedzieć się ,jak to zrobić (spróbuje je dołączyć tutaj)

Logowanie do maszyny po skonfigurowaniu - odbywa się to za pomocą standardowego logowania SSH. Będziesz potrzebował darmowych narzędzi putty.exe i puttygen.exe W tej chwili nie podałem tutaj, Jak zalogować się za pomocą SSH, ale postaram się to zrobić w przyszłości. Referencje znajdziesz na końcu tej odpowiedzi.

Zauważ, że login będzie z użytkownik vagrant.

Aby użyć użytkownika root, musisz "odblokować" konto, aby móc zresetować hasło:]}

Odblokuj konto root:

vagrant@lucid32:~$ sudo passwd -u root
passwd: password expiry information changed.

Następnie zmień hasło roota:

vagrant@lucid32:~$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

(oczywiście hasło nie jest wyświetlane podczas wpisywania)

Przetestuj nowe hasło, logując się do roota:

vagrant@lucid32:~$ su root
Password:
root@lucid32:/home/vagrant#

Kredyt: https://scottlinux.com/2011/07/22/reset-or-change-user-password-in-linux / (Artykuł: "Resetuj lub zmień hasło użytkownika w Linuksie" - pomogło mi to ustalić, jak to zrobić.)

Jakieś błędy?

Spróbuj-Dodaj komentarze do odpowiedzi, jeśli problemy i postaram się naprawić. Zobacz też: problemy na końcu.

Przyszłe zadania

Obecnie używam Puppet. Zrób to z szefem kuchni zamiast kukiełki, aby poszerzyć sposób pracy. Obie są to pretendenci, ale mają różne podejścia, więc wierzę: z marionetką powiedziano mi, że mówisz, co chcesz, a marionetka może podjąć pewne arbitralne decyzje, aby cię tam dostać. Podczas gdy z szefem kuchni wierzę, że określisz dokładną sekwencję kroków. Jeszcze raz-skomentuj tutaj i popraw mnie w razie potrzeby,

Wymagania wstępne dla tych instrukcji:

  • Windows 7 64 bit
  • Zainstalowany VirtualBox
  • Zainstalowany Vagrant
  • Oddzielne instalacje Ruby i Puppet nie są wymagane, ponieważ wydają się pochodzić z włóczęgą. Szczerze mówiąc, zainstalowałem je, aby naprawić pewne problemy, ale okazało się, że to coś innego. Więc odinstalowałem Ruby i Puppet i ponownie uruchomiłem (vagrant up itd.) i nadal działa, więc zakładając, że te dodatkowe, oddzielne instalacje Ruby i Puppet nie są wymagane.

  • Sugerowana kombinacja wersji Vagrant I Virtual Box do użycia: Virtual Box w wersji 4.2.12 i pre-Vagrant 1.2 (jako wcześniej omówione). Niektóre inne kombinacje mogą działać, ale nie testowałem ich, więc trzymam się tej kombinacji, chyba że widzę wyraźne korzyści z używania późniejszych wersji. Jedną z najważniejszych korzyści byłaby szybkość tworzenia rezerw. Kombinacja, którą tu stwierdzam, działa na puphpet.com droga do skonfigurowania maszyny Wirtualnej jest co najmniej dość skomplikowana i dlatego zakładam, że powinna pracować nad moją prostą konfiguracją udokumentowaną tutaj.

( kredyt: te instrukcje są oparte on: http://ox86.tumblr.com/post/23734821654/painless-development-environments-with-virtualbox ...ale Nie i dokładna kopia, ponieważ nie działały dla mnie)

Instrukcje

(upewnij się, że masz powyższe warunki wstępne)

Praca z konfiguracją hosta jest wykonywana na komputerze hosta w folderze użytkownika Windows, na przykład dla mnie jest to C:\Users\rdavis

mkdir lamp-project
cd lamp-project
mkdir configs
cd ..
cd lamp-project
mkdir manifests

(Po: http://docs.vagrantup.com/v1/docs/getting-started/index.html )

Pobierz obraz instalacyjny distro, w tym przypadku Ubuntu Lucid (10.04). Ten obraz jest efektywnie równoważny dyskowi instalacyjnemu (CD lub DVD), którego tradycyjnie używasz do instalacji systemu operacyjnego na komputerze.

C:\Users\rdavis\lamp-project>vagrant box add lucid32 http://files.vagrantup.com/lucid32.box

(przy okazji, jest kilka innych popularnych dystrybucji na vagrantup.com ale jeśli chcesz wygenerować .kartoteka z dystrybucji .ISO wtedy jest narzędzie o nazwie VeeWee, aby to zrobić: https://github.com/jedi4ever/veewee )

Zainicjalizuj to

C:\Users\rdavis\lamp-project>vagrant init lucid32

(Uwaga, właśnie użyłem Vagrant init podczas pisania tych instrukcji, ponieważ już zainicjowałem lucid32, ale po raz pierwszy musisz wykonać powyższe polecenie.)

C:\Users\rdavis\lamp-project>vagrant init
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

C:\Users\rdavis\lamp-project>

Edit C:\Users\rdavis\lamp-project\Vagrantfile - bezpośrednio po Vagrant::Config.run do |config|

config.vm.box = "lucid32"
config.vm.provision :puppet do |puppet|
    puppet.manifests_path = File.expand_path("../manifests", __FILE__)
end
config.vm.forward_port 80, 8080
config.vm.share_folder "configs", "/configs", File.expand_path("../configs", __FILE__)

Więc Twój Vagrantfile powinien wyglądać tak:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant::Config.run do |config|

config.vm.box = "lucid32"
config.vm.provision :puppet do |puppet|
    puppet.manifests_path = File.expand_path("../manifests", __FILE__)
end
config.vm.forward_port 80, 8080
config.vm.share_folder "configs", "/configs", File.expand_path("../configs", __FILE__)

 # All Vagrant configuration is done here. The most common configuration
 # options are documented and commented below. For a complete reference,
 # please see the online documentation at vagrantup.com.

 # Every Vagrant virtual environment requires a box to build off of.
 # config.vm.box = "lucid32" 
 # (this is already done above, but if you have a box called 'base' which is an Ubuntu lucid32 then you can use: config.vm.box = "base". This info may be helpful if you get error: "The box 'base' could not be found."  )

 # The url from where the 'config.vm.box' box will be fetched if it
 # doesn't already exist on the user's system.
 # config.vm.box_url = "http://domain.com/path/to/above.box"

 # Boot with a GUI so you can see the screen. (Default is headless)
 # config.vm.boot_mode = :gui

 # Assign this VM to a host-only network IP, allowing you to access it
 # via the IP. Host-only networks can talk to the host machine as well as
 # any other machines on the same network, but cannot be accessed (through this
 # network interface) by any external networks.
 # config.vm.network :hostonly, "192.168.33.10"

 # Assign this VM to a bridged network, allowing you to connect directly to a
 # network using the host's network device. This makes the VM appear as another
 # physical device on your network.
 # config.vm.network :bridged

 # Forward a port from the guest to the host, which allows for outside
 # computers to access the VM, whereas host only networking does not.
 # config.vm.forward_port 80, 8080

 # Share an additional folder to the guest VM. The first argument is
 # an identifier, the second is the path on the guest to mount the
 # folder, and the third is the path on the host to the actual folder.
 # config.vm.share_folder "v-data", "/vagrant_data", "../data"

 # Enable provisioning with Puppet stand alone.  Puppet manifests
 # are contained in a directory path relative to this Vagrantfile.
 # You will need to create the manifests directory and a manifest in
 # the file base.pp in the manifests_path directory.
 #
 # An example Puppet manifest to provision the message of the day:
 #
 # # group { "puppet":
 # #   ensure => "present",
 # # }
 # #
 # # File { owner => 0, group => 0, mode => 0644 }
 # #
 # # file { '/etc/motd':
 # #   content => "Welcome to your Vagrant-built virtual machine!
 # #               Managed by Puppet.\n"
 # # }
 #
 # config.vm.provision :puppet do |puppet|
 #   puppet.manifests_path = "manifests"
 #   puppet.manifest_file  = "base.pp"
 # end

 # Enable provisioning with chef solo, specifying a cookbooks path, roles
 # path, and data_bags path (all relative to this Vagrantfile), and adding
 # some recipes and/or roles.
 #
 # config.vm.provision :chef_solo do |chef|
 #   chef.cookbooks_path = "../my-recipes/cookbooks"
 #   chef.roles_path = "../my-recipes/roles"
 #   chef.data_bags_path = "../my-recipes/data_bags"
 #   chef.add_recipe "mysql"
 #   chef.add_role "web"
 #
 #   # You may also specify custom JSON attributes:
 #   chef.json = { :mysql_password => "foo" }
 # end

 # Enable provisioning with chef server, specifying the chef server URL,
 # and the path to the validation key (relative to this Vagrantfile).
 #
 # The Opscode Platform uses HTTPS. Substitute your organization for
 # ORGNAME in the URL and validation key.
 #
 # If you have your own Chef Server, use the appropriate URL, which may be
 # HTTP instead of HTTPS depending on your configuration. Also change the
 # validation key to validation.pem.
 #
 # config.vm.provision :chef_client do |chef|
 #   chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME"
 #   chef.validation_key_path = "ORGNAME-validator.pem"
 # end
 #
 # If you're using the Opscode platform, your validator client is
 # ORGNAME-validator, replacing ORGNAME with your organization name.
 #
 # IF you have your own Chef Server, the default validation client name is
 # chef-validator, unless you changed the configuration.
 #
 #   chef.validation_client_name = "ORGNAME-validator"
end

Wtedy, w C:\Users\rdavis\lamp-project\manifests domyślnie Utwórz plik.pp i umieścić w nim:

$config_path = "/configs"
$vagrant_base_path = "/vagrant"
Exec { path => "/bin:/usr/bin:/usr/local/bin" }
group { "puppet": ensure => present }
exec { "apt-get update": command => "apt-get update" }
class apache {

    exec { "enable-mod_rewrite":
        require => Package["apache2"],
        before => Service["apache2"],
        command => "/usr/sbin/a2enmod rewrite"
    }
    package { "apache2":
        ensure => present
    }

    service { "apache2":
        ensure => running,
        require => Package["apache2"]
    }
}
class php {
    package { "libapache2-mod-php5": ensure => present }
    package { "php5": ensure => present }
    package { "php5-cli": ensure => present }
    package { "php5-dev": ensure => present }
    package { "php5-mysql": ensure => present }
    package { "php-pear": ensure => present }
    exec { "pear upgrade":
        command => "/usr/bin/pear upgrade",
require => Package["php-pear"],
    }
}
class mysql {
  package { "mysql-server":
    require => Exec["apt-get update"],
    ensure => present,
  }
  service { "mysql":
    enable => true,
    ensure => running,
    require => Package["mysql-server"],
  }
  exec { "Set MySQL server root password":
        require => Package["mysql-server"],
        unless => "/usr/bin/mysqladmin -uroot -proot status",
        command => "/usr/bin/mysqladmin -uroot password root",
  }
}
include apache
include php
include mysql

(pomocna Uwaga (opcjonalnie), moje powyższe wersje Vagrantfile i default.pp (oraz inne pliki pomocnicze Vagrant i struktura folderów) są dostępne z mojego repozytorium GitHub, VagrantVMSetups, pod adresem: https://github.com/therobyouknow/VagrantVMSetups - Zobacz folder justlamp - jest to ta sama zawartość lamp-project użyta w tej odpowiedzi.)

Następnie uruchom Vagrant:

C:\Users\rdavis\lamp-project>vagrant up

Zauważ, że może to chwilę potrwać ( 5-15 minut) - ale wytrzymaj z tym, powinien teraz działać pomyślnie, aby uruchomić maszynę wirtualną LAMP. Następnie zakończyłeś pracę z maszyną wirtualną w bieżącym zadaniu roboczym, Jeśli następnie zachowasz maszynę wirtualną do użycia w późniejszym czasie, ale wyłączysz ją za pomocą vagrant halt (zamiast vagrant destroy, aby usunąć obraz maszyny wirtualnej), to spodziewam się, że to opóźnienie będzie jednorazowym początkowym czasem konfiguracji, kolejne uruchamianie maszyny Wirtualnej (za pomocą vagrant up) powinno rozpocząć się szybciej.

Rozwiązywanie problemów:

Rozwiązywanie problemu 1: Bad / illegal quotes used - komunikat o błędzie widoczny na komputerze hosta po wydaniu polecenia Vagrant up

Background: przydarzyło mi się to, ponieważ wkleiłem fragmenty kodu ze strony, z której pochodzą instrukcje. Urywek kodu miał cudzysłowy typu open-and-close - które nie są interpretowane jako właściwe cudzysłowy przez interpreter / parser, którego używa Vagrant (lub raczej przez większość interpreterów skryptów i kompilatorów, jak sądzę.)

Objaw: Wyjście tak:

There is a syntax error in the following Vagrantfile. The syntax error
message is reproduced below for convenience:

C:/Users/rdavis/lamp-project/Vagrantfile:6: invalid multibyte char (US-ASCII)
C:/Users/rdavis/lamp-project/Vagrantfile:6: syntax error, unexpected $end

Lub to:

Could not parse for environment production: Could not match ?/configs? at /tmp/vagrant-puppet/manifests/default.pp:1 on node lucid32.hsd1.ca.comcast.net.

The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

Lub to:

There was an error executing the following command with VBoxManage:

["list", "hostonlyifs"]

Remedy: użyj odpowiednich podwójnych cudzysłowów". Nie używaj cudzysłowów otwartych i zamykających.

Rozwiązywanie problemu 2: następujący komunikat o błędzie na komputerze hosta po wydaniu polecenia Vagrant up:

←[1;35merr: /Stage[main]/Apache/File[/etc/apache2/sites-enabled/000-default]: Could not evaluate: Could not retrieve information from environment production source(s) file:/configs/000-default at /tmp
/vagrant-puppet/manifests/default.pp:11←[0m

Remedy: nie powinieneś tego widzieć - oryginalny skrypt zawierał odniesienia do ścieżki zawierającej 000-default. Po prostu usuwam wszystkie linie i konstrukcje odnoszące się do niego.

Rozwiązywanie problemów Problem 3: Pliki PHP są traktowane jako pliki do pobrania (Pobieranie pliku odbywa się w przeglądarce), a nie są wykonywane i wyświetlane.

PHP wymaga włączenia na maszynie vm gościa

Remedium: możesz, ale nie musisz tego robić.

Ta wskazówka zadziałała: (aby włączyć php, zatrzymaj plik jako pobieranie): https://serverfault.com/questions/243435/getting-php-to-work-with-apache-to-run-php-files-through-browser

vagrant@lucid32:/etc/php5/cli$ a2enmod php5
Module php5 already enabled
vagrant@lucid32:/etc/php5/cli$ sudo apache2ctl restart

Kolejna wskazówka:

PHP potrzeby, sugestia w: http://galleryproject.org/node/55011

Jest: edycja php.ini są to współdzielone rozszerzenia (pliki. so), musisz je włączyć w php.ini, a następnie musisz ponownie uruchomić php

Sam nie musiałem edytować php.ini w końcu, przy okazji, to jest w: /etc/php5/cli/php.ini dla tego lucid32 VM

Rozwiązywanie problemu 4: adresowanie wirtualnej skrzynki dodatki komunikat ostrzegawczy o niedopasowaniu wersji

[default] The guest additions on this VM do not match the install version of
VirtualBox! This may cause things such as forwarded ports, shared
folders, and more to not work properly. If any of those things fail on
this machine, please update the guest additions and repackage the
box.

Guest Additions Version: 4.2.0
VirtualBox Version: 4.2.4

Nie ma problemu wydaje się (nie powstrzymuje to maszyny wirtualnej przed pomyślnym uruchomieniem), ale jeśli chcesz ją rozwiązać: {]}

Http://automation.binarysage.net/?p=1198 https://unix.stackexchange.com/questions/58216/automate-installation-of-virtualbox-guest-additio ns-via-command-line

Https://serverfault.com/questions/243435/getting-php-to-work-with-apache-to-run-php-files-through-browser

(dla Linuksa-jak użytkownicy: http://www.pauloamgomes.net/blog/installing-vagrant )

Rozwiązywanie problemów 5: The box 'base' could not be found." komunikat o błędzie widoczny po uruchomieniu vagrant up.

remedium? Sprawdź linię zawierającą oświadczenie config.vm.box = itd. w twoim Vagrantfile (zobacz mój przykład Vagrantfile powyżej), aby upewnić się, że odnosi się do pola Vagrant (obraz instalacji systemu operacyjnego), który faktycznie istnieje w Twoim poleceniu system - issue vagrant box list, aby zobaczyć, jakie masz pola.

Jeśli po moje instrukcje to powinieneś mieć lucid32 pudełko. Upewnij się, że nie ma żadnych obcych config.vm.box = itp. wypowiedzi w Twoim Vagrantfile. Spowiedź: w moim config.vm.box = "base" był obcy Vagrantfile, kiedy właściwie kilka linijek powyżej, config.vm.box = "lucid32" było już zrobione. Poprawiłem to.

FAQ

  • P: Co to jest pudełko Włóczęgów? O: można uznać za równoważny dysk instalacyjny systemu operacyjnego, ponieważ jest podstawą, punktem wyjścia dla maszyny Wirtualnej - jest to system operacyjny. To plik binarny

  • P: Co to jest pakiet vagrant? O: migawka maszyny wirtualnej wraz z konfiguracją wykonaną przez Vagrant z pliku Vagrant zapewnia samowystarczalny sposób dystrybucji konfiguracji do innych osób

Referencje:

Ogólne zasoby Vagranta:

Co dokładnie robią Komendy Włóczęgów? - nieźle. opis

Http://community.opscode.com/questions/81 http://deanstrezovski.com/setting-up-a-cagrant-lamp-stack / http://www.jasongrimes.org/2012/06/managing-lamp-environments-with-chef-vagrant-and-ec2-1-of-3/ jak powiązać katalog projektu Vagrant z istniejącą maszyną wirtualną VirtualBox? http://docs.vagrantup.com/v1/docs/getting-started/index.html

Więcej o Vagrant Pudełka:

Http://docs.vagrantup.com/v1/docs/boxes.html gdzie Vagrant zapisuje zmiany w maszynie wirtualnej?

Loginy oparte na kluczach SSH (logowanie do pola VM z zewnątrz - tj. z maszyny hosta lub z innego maszyna):

Http://www.howtoforge.com/ssh_key_based_logins_putty_p2 http://docs.vagrantup.com/v1/docs/getting-started/ssh.html

Http://en.wikipedia.org/wiki/Ssh-agent

W przypadku systemu Windows logowanie przez SSH do maszyny wirtualnej [49]}

PuTTY: darmowy klient telnet/ssh www.chiark.greenend.org.uk / ~ sgtatham / putty /

Puttygen:

Www.chiark.greenend.org.uk / ~sgtatham/putty/download.html

Wersja Historia / aktualizacje tej odpowiedzi

  1. szyldy i porządki nagłówków
  2. Dodano running vagrant up i że to może chwilę potrwać
  3. Dodano jak ustawić hasło roota w maszynie wirtualnej
  4. Dodano brakujący krok do pobrania i init okna lucid32 (odpowiednik dysku instalacyjnego)
  5. Dodano link do mojego https://github.com/therobyouknow/VagrantVMSetups GitHub repo, który zawiera konfigurację Vagrant dla tej odpowiedzi-dla wygoda.
  6. zmienione Vagrantfile w celu usunięcia zbędnego config.vm.box = "base", gdy faktycznie kilka linijek powyżej, config.vm.box = "lucid32" zostało już zrobione. Pomoże to w przypadku wystąpienia błędu The box 'base' could not be found." dodano również nowy element rozwiązywania problemów wyjaśniający to samo.
  7. Dodano alternatywę dla out-of-the-box rozwiązanie dla tych, którzy chcą Drupal oparte lampy VM: http://drupal.org/project/vagrant Zobacz więcej uwag na ten temat.
  8. 2013-07-10: nieznaczne dostosowanie gramatyki do powodów, dla których warto to napisać przewodnik. Zaktualizowano, że książka włóczęgi z O ' Reilly jest teraz opublikowana. Dodano link do https://puphpet.com/ - Online Vagrant Configurator script generator (very nice!). Dodano link do Narzędzia VeeWee, które służy do generowania włóczęgi .plik box z dowolnego .ISO Linux distribution (standard install disc)
  9. 2013-10-14 Zaktualizowano punktory" czego nie robią " z punktami na której wersji Vagrant-ten poradnik używa Vagrant 1 (i dlaczego). Vagrant 2 używany z puphpet.com również link do mojej dokumentacji za pomocą puphpet.com aby skonfigurować VM Vagrant dla Drupala.
  10. 2013-10-21 Zaktualizowano stan kombinacji wersji Virtual Box i Vagrant do użycia: Virtual Box w wersji 4.2.12 i Vagrant 1.2.2. Niektóre inne kombinacje mogą działać, ale nie testowałem ich, więc trzymam się tej kombinacji, chyba że widzę wyraźne korzyści z używania późniejszych wersji. Jedną z najważniejszych korzyści byłaby szybkość tworzenia rezerw. Umieść nagłówek na innych podejściach do sekcji Vagrant VM. Zaktualizowano, aby powiedzieć to i inne rozwiązania są niezależne od platformy i powinny działać na komputerach PC, Mac lub Linux.
  11. 2013-10-23 aktualizacje, jakiej wersji Vagrant użyć dla tego przewodnika (tj. pre v1.2 (czyli pre vagrant 2)) i dla innego podejścia, puphpet.com (v1.2.2 - które natomiast jest wydaniem Vagrant 2.)
  12. 2013-12-03 Poprawiono uwagi dotyczące wersjonowania API Vagrant i jaka jest wersja API w jakiej wersji oprogramowania Vagrant. Dodano kilka bardziej alternatywnych, kompleksowych konfiguracji Vagrant.
 40
Author: therobyouknow,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:54:15

W Twojej maszynie wirtualnej musisz uruchomić:

$knife configure

Accept all the defaults.

Po uruchomieniu tego pliku, w pliku ~/pojawi się plik konfiguracyjny.kucharz / nóż.rb.

Co do twojego diagramu: Folder vagrant zawiera plik Vagrant dla tego projektu. Prawdziwy .ovf i .pliki vmdk, wraz z innym plikiem Vagranfile, istnieją w /%USERPROFILE%/.włóczęga.d /

Vagranfile jest plikiem konfiguracyjnym dla Vagrant i istnieje w wielu miejscach z ustaloną kolejnością pierwszeństwa. Plik Vagrantfile w folderze projektu ma pierwszeństwo: Dokumentacja Vagrantfile.

Wszystko może być z localhost, w tym konfigurowanie bardziej złożonego projektu Vagrant z wieloma maszynami wirtualnymi.

EDIT: aby było jasne, że cmd 'knife configure' powinien być uruchomiony w maszynie wirtualnej i aby usunąć impulsywne odniesienie do ścieżki systemu Windows.

 2
Author: BadAlgorithm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-14 20:39:40