-
-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Added Vagrant configuration cookbook #2760
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Great @wcluijt ..thanks a lot! |
|
||
$ mkdir vagrant | ||
$ mkdir vagrant/puppet | ||
$ mkdir vagrant/puppet/manifests |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can compress all 3 lines into mkdir -p vagrant/puppet/manifests
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that doesn't work (at least, not on Windows)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're right, mkdir on windows natively supports recursive creation.
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/mkdir.mspx?mfr=true
Thank you for creating this article. I have no knowledge about vargant and this article looks a bit 'dummy copy past'. I prefer to have create guides in the symfony docs which really explains what the code means, does and why we need it. Is it possible to transform this article in such way? |
You should also include a link to this article in |
|
||
$ vagrant up | ||
|
||
A virtual machine is now being prepared in Virtualbox by Vagrant. This process |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
VirtualBox
@wouterj Yeah, I think the main intent of the article I had was something like "copy/paste, run these commands exactly, get something cool." :) One thing I didn't really want to do was to get so much into the explanation of the third-party systems involved that it overshadowed the main task of creating files and executing some commands. But, more explanation can't hurt. What kinds of questions initially came up for you when reading this? Maybe I can focus on answering those. Also, you meant the |
"fqdn" => "symfony.local", | ||
"host_ipaddress" => "192.168.33.1", | ||
} | ||
end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it intended that this ip address is different from the one above?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great question. I don't think I was able to determine this information from the Vagrant docs (http://docs.vagrantup.com/v2/networking/private_network.html). I believe I had to run ifconfig
in the virtual machine or possibly look at phpinfo()
in the browser. But, the IP address of the host (your physical machine) should be based on the :private_network, ip:
value with the last number being 1. So if the private IP address was set to 192.168.33.22
, the host IP address should still be 192.168.33.1
. As this bit of info seems important, I'll try to incorporate it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Going through the setup of vagrant, I think a section talking about ip addresses and why they're set the way they are would be helpful. I'm already on a network that has 192.168.33.0/24 routed elsewhere, and I wasnt sure if the choices in this document were because of the precise32.box being used, vagrants set up, if i could change them or not and what kind of values I should be using.
@wcluijt Could you also include improvements from my comments to symfony/symfony-standard#537? |
Hi guys! I need to run through this entry, make sure it works, and add any necessary notes. But before I do, have we thought about pointing people to https://puphpet.com/quickstart/symfony and collaborating and improving the options there instead of having this doc? Or alternatively, point to that link then explain some extra or advanced notes in this doc? What do you guys think? |
@weaverryan When I initially created this document, I don't think that particular PuPHPet page existed yet. So including a link to it sounds great to me! And they should be able to handle all kinds of cases, such as @maxromanovsky's comment about Apache |
guys it has been 4 months already and https://puphpet.com/quickstart/symfony is a 404 now and i see no signs of website repo here https://github.com/puphpet and no wonders, i think we should keep this PR because it easies integration with symfony, just adapt it to help the generic PHP docu. I have always rejected vagrant even when using it, but I am willing to run down and test it by hand if it is the case. And maybe add a blog post on craftitonline.com about my experience :P if it is good now other than that good job @wcluijt , keep pushing it |
Indeed, the puPHPet page is gone. What's the status of this @wcluijt @weaverryan, can it be merged? Do you want more opinions of Vagrant experts? ...? |
I went over the configuration again and pushed some new changes. The changes relate to the Apache and MySQL Puppet modules changing their syntax since I last checked some time ago. Other than that, I think it can be merged. |
Great, thanks for your work on this @wcluijt ! |
Hi guys! Sorry for the delay, I've been thinking about this. I do think this is a good entry. But, why not actually create a repository (or adopt an existing repository) that actually contains all of this setup completely done? We could then include all kinds of information inside that repo's README for how to configure X or do Y. This entry could then basically point you to that repository. This would allow us to create a much much better user experience (imagine setting all of this stuff up manually) and would allow the community to add more features/options to that setup to make it better and better. Thoughts? Are there clear existing leaders that would be good to recommend? |
ping vagrant experts? |
This is a great PR and something that can help beginners a lot. A little history about my experience with Vagrant and puppet. This is a little off topic and is more in response to @wouterj and @weaverryan to give some insight into experiences that I've had with Vagrant. My team was using puphpet for sometime up until recently when I came across http://laravel.com/docs/homestead. While I thought puphpet and puppet in general was great, it really over complicated things as I look back. Puppet in generally is great for machine provisioning, but you can do things a lot easier without it. For one, it introduces a new syntax that many people are not used to. Another obstacle with it is the learning curve it comes with in general. I thought this could easily be handled, but as time would show this was not the case. Getting new developers into the puppet files to have new things installed often encountered challenges and a lot of digging around for what puppet modules and syntax to actually use. To add to the complexity of puppet, I stumbled across puphpet which I thought was a great tool to use; however as time would tell again we had problems with that as well. It was great to use the web interface to add things or reconfigure the box, but it often had BC problems as the project currently has no tags. You can imagine the problems that come with little BC support in larger teams. You can also take a look at some recent issues for experiences that people are having with that; hopefully this gets better over time. I will say that I'm sure there are ways to get around this, but I'm going for simplicity and I had too many team members having problems with puppet which was not needed. As I said above, I recently stumbled across the Homestead project and I think this is a good example of how this article should be tailored. Few things I like about it are:
Overall, I think this is a great start and something that should be added to the docs ASAP, however I would challenge people involved with this to take a look at Homestead. I've got a version working with apache that also supports ssl and is running multiple Symfony2 based projects right now. If people are interested I can publish this version. I'm curious to hear what others have to share and going on what @weaverryan said in his latest comment, I think we should follow an approach similar to Homestead and add articles on how to customize it more. There is no need to re-invent the wheel and I feel Homestead has made it extremely easy to get Vagrant running and PHP project running inside of it. Granted I'm not saying puppet is bad, but I am more for getting people started with shell based provisioning as it's easy for most to see whats going on at first and customize without digging through many docs IMO. Now on the flip side, the Homestead project does not create any databases for you with provisioning but it's makes it very easy to connect the the DB in the VM so you can do what you need which in general I think is a better approach unless your using it for very specific projects such as what Sylius has done. |
This PR was merged into the 2.3 branch. Discussion ---------- Improved and fixed twig reference | Q | A | --- | --- | Doc fix? | yes | New docs? | yes | Applies to | 2.3+ | Ficket tickets | symfony#4301 Removed the ugly looking tables and added some more details. Commits ------- ad6b084 Improved and fixed twig reference
… (Lumbendil) This PR was merged into the 2.3 branch. Discussion ---------- GetResponse*Events stop after a response was set | Q | A | ------------- | --- | Doc fix? | yes | New docs? | no | Applies to | All versions | Fixed tickets | symfony#4516 The kernel.view and kernel.exception events stop propagation when a response is set, and it wasn't noted on the documentation. Commits ------- bebce0e Fix incorrect event name. e729750 Changed phrasing to explain the effects off propagation stopping. d13943a Add missing info about kernel.request event. 25e1069 Added notes specifying the propagation behaviour for kernel.view and kernel.exception.
This PR was merged into the 2.3 branch. Discussion ---------- Normalization of method listings | Q | A | ------------- | --- | Doc fix? | no | New docs? | no | Applies to | all | Fixed tickets | fixes symfony#3903 Commits ------- 3fd3963 Changed to definition lists from Book section dda1905 Changed to definition lists 3649bdb Fixed heading capitalization to follow the standards 6b68e48 Changed paragraph to heading 1d571ca Changed unordered list to definition list
… Symfony Installer (javiereguiluz) This PR was merged into the 2.3 branch. Discussion ---------- Updated installation instructions to use the new Symfony Installer | Q | A | ------------- | --- | Doc fix? | yes | New docs? | yes | Applies to | all | Fixed tickets | - Commits ------- f58db71 Fixed section headers 4b8e805 Restored the original section title b69a5cd Updated installation instructions to use the new Symfony Installer
…ony#4608 The vendors was removed because we really need to keep this focused on svn and not repeat ourselves and create duplicate docs
This PR was merged into the 2.3 branch. Discussion ---------- Removing some installation instructions | Q | A | ------------- | --- | Doc fix? | no | New docs? | no | Applies to | all | Fixed tickets | n/a Hi guys! This removes some duplicate installation instructions. I want less docs, without explaining less :). Duplicate like this is an opportunity to give users more paths for no reason. I'm sure we have more things like this - like details on handling parameters.yml or other things. Thanks! Commits ------- 3395b50 Re-wording parameters.yml section and removing note about vendor symfony#4608 9d925ff [symfony#4608] Using #. for numbered bullets 78e08f4 Removing some installation instructions
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes symfony#4640). Discussion ---------- [Book] link to the API documentation | Q | A | ------------- | --- | Doc fix? | no | New docs? | no | Applies to | all | Fixed tickets | Commits ------- fae8c40 link to the API documentation
Edited organize to organization.
This PR was submitted for the 2.6 branch but it was merged into the 2.3 branch instead (closes symfony#4648). Discussion ---------- Update forms.rst Edited organize to organization. Commits ------- 117cb78 Update forms.rst
…ing Symfony (javiereguiluz) This PR was merged into the 2.3 branch. Discussion ---------- Rewritten from scratch the chapter about installing Symfony | Q | A | ------------- | --- | Doc fix? | yes | New docs? | yes | Applies to | all | Fixed tickets | symfony#4122, symfony#4089 Commits ------- 7de83a3 Replaced a "note" by a "seealso" b45c338 Imrpoved the wording of the note about using using legacy PHP 5.3 version 40d7772 Reworded the reasons why you should use Composer-based installation 2e72138 Wrapped a line to follow doc standards 7e9cd04 Display the same version number on Linux and Windows to avoid confusions 12c2557 Add an explicit command to better explain that we recommend to move symfony.phar to projects directory 12eb76e Reworded a confusing phrase b665d86 Added a note about verifying Symfony digital signatures 8f202c6 Re-added a wrongly deleted link reference c291a73 Rewritten from scratch the chapter about installing Symfony
5f96f15
to
2d0d7bb
Compare
2d0d7bb
to
b3bea15
Compare
I rebased to the 2.3 branch. I also created a new pull request: #4676 |
… using VirtualBox shared folders
…es from the Vagrant documentation
A new cookbook article was added with an example Vagrant configuration that can be used with the Symfony Standard Edition.