Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Stop using MAMP. Here's a laughably simple way to get setup with a LAMP stack with PHP 5.5.
alias lamp="curl -L -o 'install.sh' http://bit.ly/1hBfq57 && curl -L -o 'Vagrantfile' http://bit.ly/1mE3Qt9 && vagrant up"
@JeffreyWay

This comment has been minimized.

Show comment Hide comment
@JeffreyWay

JeffreyWay Feb 27, 2014

Step 0: Video

Laracasts users can watch this entire process in screencast form.

Step 1: Install Vagrant and Virtual Box

Step 2: Add the Alias

Add the alias above to ~/.bashrc (or wherever you prefer).

Step 3. Install

cd to your desired directory in the Terminal, and run lamp to install your LAMP stack.

Step 4. Done. Go Poke Around.

Your MySQL username and password, by default, will be 'root'.

To test things out, try:

$ vagrant ssh
$ php -v
$ mysql -u root -p
$ composer

If you cd to /vagrant, this folder will be shared with your project root on your local/host machine. That means, when you create a file on your Mac, it will instantly be shared (both ways) with the /vagrant directory on your VM. However, we're also syncing with the /var/wwwdirectory on your VM, which is the Apache root. That means, if you visit http://192.168.33.21, you should see "It Worked!" You can change the IP address in your Vagrantfile, if you need to.

Have fun! This also installs and enables X-Debug for you. You can stop using MAMP now.

Extra Credit 1

Edit your hosts file to set a simpler address, like http://app.dev/.

sudo vi /etc/hosts

At the bottom of this file, add:

192.168.33.21 app.dev

Now, browse to http://app.dev.

Extra Credit 2

By default, Apache will set your document root to /var/www/html. If you don't want this...

$ vagrant ssh
$ sudo vim /etc/apache2/sites-available/000-default.conf
(Change `DocumentRoot /var/www/html` to `DocumentRoot /var/www`)
$ sudo service apache2 reload

Reload the browser. Now, your local project root will be treated as Apache's document root. Typically, though, you'll want to set Apache's document root to something like the public directory - so DocumentRoot /var/www/public.

Extra Credit 3

Learn more about Vagrant:

Extra Credit 4: Multiple Websites With the Same VM

Maybe you want to run all of your sites and demos within this VM. Here's how.

For this example, maybe we're building a new app, called "Larabook." Begin by creating a new directory, "larabook" within the same directory that has the Vagrantfile that you pulled in during Step 3. Add a dummy index.php file here, just to prove that it's working.

Next:

$ vagrant ssh
$ cd /etc/apache2/sites-available/
$ sudo cp 000-default.conf larabook.conf

Open `larabook.conf, and set:

ServerName larabook.local
DocumentRoot /var/www/larabook

You don't have to for this example, but you'd probably want to add some additional config to this file - like:

<Directory /var/www/larabook>
  Options -Indexes +FollowSymLinks
  AllowOverride All
  Require all granted
</Directory>

Next, enable the new vhost, and reload Apache.

sudo a2ensite larabook
sudo service apache2 reload

Lastly, don't forget to update your hosts file (on your local machine, not the VM):

sudo vi /etc/hosts

And add:

192.168.33.21 larabook.local

That's it. Browse to http://larabook.local, and you'll correctly see the contents of the file in your ./larabook directory. :)

Extra Credit 5: Laravel Setup

Let's add a Laravel project.

laravel new laravel

vagrant ssh

cd /etc/apache2/sites-available/
sudo cp 000-default.conf laravel.conf
sudo vi laravel.conf

Within this file, set:

ServerName laravel.dev
DocumentRoot /var/www/laravel/public

<Directory /var/www/laravel/public>
  Options -Indexes +FollowSymLinks
  AllowOverride All
  Require all granted
</Directory>

Next, enable the site:

sudo a2ensite laravel

On your host/local machine, update the /etc/hosts file:

192.168.33.21 laravel.dev

Finally, if you view http://laravel.dev in the browser and see a blank screen, that's usually a permissions issue on the app/storage directory. From your websites/laravel directory, run:

chmod -R 0777 app/storage

And reload the browser. Done!

Owner

JeffreyWay commented Feb 27, 2014

Step 0: Video

Laracasts users can watch this entire process in screencast form.

Step 1: Install Vagrant and Virtual Box

Step 2: Add the Alias

Add the alias above to ~/.bashrc (or wherever you prefer).

Step 3. Install

cd to your desired directory in the Terminal, and run lamp to install your LAMP stack.

Step 4. Done. Go Poke Around.

Your MySQL username and password, by default, will be 'root'.

To test things out, try:

$ vagrant ssh
$ php -v
$ mysql -u root -p
$ composer

If you cd to /vagrant, this folder will be shared with your project root on your local/host machine. That means, when you create a file on your Mac, it will instantly be shared (both ways) with the /vagrant directory on your VM. However, we're also syncing with the /var/wwwdirectory on your VM, which is the Apache root. That means, if you visit http://192.168.33.21, you should see "It Worked!" You can change the IP address in your Vagrantfile, if you need to.

Have fun! This also installs and enables X-Debug for you. You can stop using MAMP now.

Extra Credit 1

Edit your hosts file to set a simpler address, like http://app.dev/.

sudo vi /etc/hosts

At the bottom of this file, add:

192.168.33.21 app.dev

Now, browse to http://app.dev.

Extra Credit 2

By default, Apache will set your document root to /var/www/html. If you don't want this...

$ vagrant ssh
$ sudo vim /etc/apache2/sites-available/000-default.conf
(Change `DocumentRoot /var/www/html` to `DocumentRoot /var/www`)
$ sudo service apache2 reload

Reload the browser. Now, your local project root will be treated as Apache's document root. Typically, though, you'll want to set Apache's document root to something like the public directory - so DocumentRoot /var/www/public.

Extra Credit 3

Learn more about Vagrant:

Extra Credit 4: Multiple Websites With the Same VM

Maybe you want to run all of your sites and demos within this VM. Here's how.

For this example, maybe we're building a new app, called "Larabook." Begin by creating a new directory, "larabook" within the same directory that has the Vagrantfile that you pulled in during Step 3. Add a dummy index.php file here, just to prove that it's working.

Next:

$ vagrant ssh
$ cd /etc/apache2/sites-available/
$ sudo cp 000-default.conf larabook.conf

Open `larabook.conf, and set:

ServerName larabook.local
DocumentRoot /var/www/larabook

You don't have to for this example, but you'd probably want to add some additional config to this file - like:

<Directory /var/www/larabook>
  Options -Indexes +FollowSymLinks
  AllowOverride All
  Require all granted
</Directory>

Next, enable the new vhost, and reload Apache.

sudo a2ensite larabook
sudo service apache2 reload

Lastly, don't forget to update your hosts file (on your local machine, not the VM):

sudo vi /etc/hosts

And add:

192.168.33.21 larabook.local

That's it. Browse to http://larabook.local, and you'll correctly see the contents of the file in your ./larabook directory. :)

Extra Credit 5: Laravel Setup

Let's add a Laravel project.

laravel new laravel

vagrant ssh

cd /etc/apache2/sites-available/
sudo cp 000-default.conf laravel.conf
sudo vi laravel.conf

Within this file, set:

ServerName laravel.dev
DocumentRoot /var/www/laravel/public

<Directory /var/www/laravel/public>
  Options -Indexes +FollowSymLinks
  AllowOverride All
  Require all granted
</Directory>

Next, enable the site:

sudo a2ensite laravel

On your host/local machine, update the /etc/hosts file:

192.168.33.21 laravel.dev

Finally, if you view http://laravel.dev in the browser and see a blank screen, that's usually a permissions issue on the app/storage directory. From your websites/laravel directory, run:

chmod -R 0777 app/storage

And reload the browser. Done!

@anthonyringoet

This comment has been minimized.

Show comment Hide comment
@anthonyringoet

anthonyringoet Feb 27, 2014

Do you use it this way yourself (with the shortened links in your alias)?

Do you use it this way yourself (with the shortened links in your alias)?

@JeffreyWay

This comment has been minimized.

Show comment Hide comment
@JeffreyWay

JeffreyWay Feb 27, 2014

I use something a bit more robust - but for quick setups, this is a good option.

(If people don't trust the shortened links, they can inspect them first.)

Owner

JeffreyWay commented Feb 27, 2014

I use something a bit more robust - but for quick setups, this is a good option.

(If people don't trust the shortened links, they can inspect them first.)

@anthonyringoet

This comment has been minimized.

Show comment Hide comment
@anthonyringoet

anthonyringoet Feb 27, 2014

Allright! Was just wondering :)

Allright! Was just wondering :)

@kristjaningi

This comment has been minimized.

Show comment Hide comment
@kristjaningi

kristjaningi Feb 27, 2014

Is it bad practice to put multiple project on the same vagrant machine?

Is it bad practice to put multiple project on the same vagrant machine?

@fideloper

This comment has been minimized.

Show comment Hide comment
@fideloper

fideloper Feb 27, 2014

@krizzlix - that's a decision you can make based on your own needs. If you have different apps with different environments (PHP differences, installations like Nemcache or APC, etc), you may want to differentiate. If you're rolling with the same stuff on each project, or the differences don't matter, go ahead and use the same box for anything.

Definitely take the time to learn how to setup Apache virtualhosts to make any option you'd like available to yourself :D Naturally I'll also mention serversforhackers.com here...

@krizzlix - that's a decision you can make based on your own needs. If you have different apps with different environments (PHP differences, installations like Nemcache or APC, etc), you may want to differentiate. If you're rolling with the same stuff on each project, or the differences don't matter, go ahead and use the same box for anything.

Definitely take the time to learn how to setup Apache virtualhosts to make any option you'd like available to yourself :D Naturally I'll also mention serversforhackers.com here...

@kristjaningi

This comment has been minimized.

Show comment Hide comment
@kristjaningi

kristjaningi Feb 27, 2014

Okei, thanks ;)

Okei, thanks ;)

@mindmergedesign

This comment has been minimized.

Show comment Hide comment
@mindmergedesign

mindmergedesign Feb 28, 2014

Great! Thanks again for all the tips Jeffrey

Great! Thanks again for all the tips Jeffrey

@euperia

This comment has been minimized.

Show comment Hide comment
@euperia

euperia Feb 28, 2014

I pretty much use the same thing but I use the awesome puphpet.com to do my orchestration.

euperia commented Feb 28, 2014

I pretty much use the same thing but I use the awesome puphpet.com to do my orchestration.

@MaartenD

This comment has been minimized.

Show comment Hide comment
@MaartenD

MaartenD Feb 28, 2014

First of all thx for the script. I would love to see a section on what to do for a laravel setup somewhere in the documentation. I would suggest Extra Credit 5 is laravel specific. ;-) Thx

First of all thx for the script. I would love to see a section on what to do for a laravel setup somewhere in the documentation. I would suggest Extra Credit 5 is laravel specific. ;-) Thx

@JeffreyWay

This comment has been minimized.

Show comment Hide comment
@JeffreyWay

JeffreyWay Feb 28, 2014

@MaartenD - Okay, I'll add Extra Credit 5 today.

Update: done.

Owner

JeffreyWay commented Feb 28, 2014

@MaartenD - Okay, I'll add Extra Credit 5 today.

Update: done.

@bgallagh3r

This comment has been minimized.

Show comment Hide comment
@bgallagh3r

bgallagh3r Feb 28, 2014

For the record, in Windows, if you have the cUrl library installed, you need to use this instead:
curl -L -o 'install.sh' http://bit.ly/1hBfq57; curl -L -o 'Vagrantfile' http://bit.ly/1mE3Qt9; vagrant up (replace && with ;)

Also thank you so much @JeffreyWay and @fideloper you guys gave me the push to try vagrant again and your scripts made it super simple! Thank you tons!

For the record, in Windows, if you have the cUrl library installed, you need to use this instead:
curl -L -o 'install.sh' http://bit.ly/1hBfq57; curl -L -o 'Vagrantfile' http://bit.ly/1mE3Qt9; vagrant up (replace && with ;)

Also thank you so much @JeffreyWay and @fideloper you guys gave me the push to try vagrant again and your scripts made it super simple! Thank you tons!

@LPMAXI

This comment has been minimized.

Show comment Hide comment
@LPMAXI

LPMAXI Mar 1, 2014

Thanks, this works just fine, almost anyway.

After a while, only a white page is displayed, it does not display any error message. No errors appear in the logs

How do I resolve this? Why does this happen?

LPMAXI commented Mar 1, 2014

Thanks, this works just fine, almost anyway.

After a while, only a white page is displayed, it does not display any error message. No errors appear in the logs

How do I resolve this? Why does this happen?

@JeffreyWay

This comment has been minimized.

Show comment Hide comment
@JeffreyWay

JeffreyWay Mar 1, 2014

@LPMAXI - You need to set the proper permissions.

chmod -R 777 app/storage
Owner

JeffreyWay commented Mar 1, 2014

@LPMAXI - You need to set the proper permissions.

chmod -R 777 app/storage
@notflip

This comment has been minimized.

Show comment Hide comment
@notflip

notflip Mar 2, 2014

Is there a windows alternative to all this? It looks amazing!

notflip commented Mar 2, 2014

Is there a windows alternative to all this? It looks amazing!

@Michael-Brooks

This comment has been minimized.

Show comment Hide comment
@Michael-Brooks

Michael-Brooks Mar 2, 2014

@bgallagh3r I tried using curl, but at the end of it, it said... Could not resolve host: Vagrant. Could not resolve host: up. I know curl and Vagrant are working, is there a certain version I should be using for this? I'm on a Windows 8 PC. :)

@bgallagh3r I tried using curl, but at the end of it, it said... Could not resolve host: Vagrant. Could not resolve host: up. I know curl and Vagrant are working, is there a certain version I should be using for this? I'm on a Windows 8 PC. :)

@ronnyandre

This comment has been minimized.

Show comment Hide comment
@ronnyandre

ronnyandre Mar 5, 2014

Setting chmod -R 0777 on the storage folder doesn't work for me, still getting ErrorException. Tried setting correct settings in both server and local.

Also tried the trick described here with settings :mount_options => ["dmode=777","fmode=666"] in the Vagrantfile but still no luck.

Setting chmod -R 0777 on the storage folder doesn't work for me, still getting ErrorException. Tried setting correct settings in both server and local.

Also tried the trick described here with settings :mount_options => ["dmode=777","fmode=666"] in the Vagrantfile but still no luck.

@mindmergedesign

This comment has been minimized.

Show comment Hide comment
@mindmergedesign

mindmergedesign Mar 6, 2014

Jeffrey,
There's a typo on Extra Credit 5.
It says laraval instead of laravel in the first line. Just to make sure nobody gets confused. Thanks for all your help.

Jeffrey,
There's a typo on Extra Credit 5.
It says laraval instead of laravel in the first line. Just to make sure nobody gets confused. Thanks for all your help.

@maxxscho

This comment has been minimized.

Show comment Hide comment
@maxxscho

maxxscho Mar 7, 2014

@ronnyandre I had the same problem but the trick with the mount_options seems to work for me. Thank you!

maxxscho commented Mar 7, 2014

@ronnyandre I had the same problem but the trick with the mount_options seems to work for me. Thank you!

@phaberest

This comment has been minimized.

Show comment Hide comment
@phaberest

phaberest Mar 15, 2014

Same as @ronnyandre, tried chmod -R 0777 app/storage and even chown -R www-data:www-data /vagrant but still getting /app/storage/meta/services.json): failed to open stream: Permission denied

EDIT:
Solved by doing the chmod command on the host

Same as @ronnyandre, tried chmod -R 0777 app/storage and even chown -R www-data:www-data /vagrant but still getting /app/storage/meta/services.json): failed to open stream: Permission denied

EDIT:
Solved by doing the chmod command on the host

@kristjaningi

This comment has been minimized.

Show comment Hide comment
@kristjaningi

kristjaningi Mar 17, 2014

When I setup "Extra Credit 5: Laravel Setup" it works for about 5 mins, then I get a white screen with this console error.

"Uncaught TypeError: Cannot call method 'create' of undefined"

I tried restarting vagrant box but nothing works.

Anyone knows whats wrong?

PS.
It happens when I refresh the page.

When I setup "Extra Credit 5: Laravel Setup" it works for about 5 mins, then I get a white screen with this console error.

"Uncaught TypeError: Cannot call method 'create' of undefined"

I tried restarting vagrant box but nothing works.

Anyone knows whats wrong?

PS.
It happens when I refresh the page.

@kristjaningi

This comment has been minimized.

Show comment Hide comment
@kristjaningi

kristjaningi Mar 17, 2014

I fixed it by using: sudo chmod -R guo+w app/storage

Does anyone know why?

I fixed it by using: sudo chmod -R guo+w app/storage

Does anyone know why?

@nicoeg

This comment has been minimized.

Show comment Hide comment
@nicoeg

nicoeg Mar 21, 2014

Getting blank screen on Laravel. Tried chmod on storage, but doesn't seem to help.
Echoing in routes.php file works, but nothing happens when using return.

What could do the trick?

nicoeg commented Mar 21, 2014

Getting blank screen on Laravel. Tried chmod on storage, but doesn't seem to help.
Echoing in routes.php file works, but nothing happens when using return.

What could do the trick?

@bradykeeling

This comment has been minimized.

Show comment Hide comment
@bradykeeling

bradykeeling Mar 27, 2014

@nicoeg this worked for me:

$ cd app/storage
$ sudo chmod 777 *
$ sudo chmod 666 /

(not sure if it's best practice or not...)

@nicoeg this worked for me:

$ cd app/storage
$ sudo chmod 777 *
$ sudo chmod 666 /

(not sure if it's best practice or not...)

@bradykeeling

This comment has been minimized.

Show comment Hide comment
@bradykeeling

bradykeeling Mar 27, 2014

oops, that didn't show up right... should be a * on both sides of the slash.

See here (http://laravel-recipes.com/recipes/43)

oops, that didn't show up right... should be a * on both sides of the slash.

See here (http://laravel-recipes.com/recipes/43)

@ren-

This comment has been minimized.

Show comment Hide comment
@ren-

ren- Mar 30, 2014

Why Guest additions are only on version 4.2 not 4.3? Can this cause problems to folder sharing?

ren- commented Mar 30, 2014

Why Guest additions are only on version 4.2 not 4.3? Can this cause problems to folder sharing?

@ashleywnj

This comment has been minimized.

Show comment Hide comment
@ashleywnj

ashleywnj Apr 6, 2014

Thank you so much. Love laracasts. I am curious why, in step 5, Laravel is setup from the local host rather than from within the guest environment - is this required or could you run all steps after vagrant ssh?

I also experience the same issue as @nicoeg, the laravel screen appears on first load, but then loads a blank page with no errors. If I shut my mac down, come back, vagrant up etc then the laravel image loads when I goto the root of the page, but it will not reload again with a refresh, no matter how many tries. Permissions on app/storage are wide open. Any help or insight appreciated.

Finally figured it out - it was permissions related, but permissions on the vendor folder and below - it worked the first time because it had read access, but I guess a refresh triggered a write within the log folder - for similarities sake I ran chmod -R 777 on the vendor folder. Although it sucked up some hours, it was a great learning experience (I'm new). Great video - loving Laracasts.

Thank you so much. Love laracasts. I am curious why, in step 5, Laravel is setup from the local host rather than from within the guest environment - is this required or could you run all steps after vagrant ssh?

I also experience the same issue as @nicoeg, the laravel screen appears on first load, but then loads a blank page with no errors. If I shut my mac down, come back, vagrant up etc then the laravel image loads when I goto the root of the page, but it will not reload again with a refresh, no matter how many tries. Permissions on app/storage are wide open. Any help or insight appreciated.

Finally figured it out - it was permissions related, but permissions on the vendor folder and below - it worked the first time because it had read access, but I guess a refresh triggered a write within the log folder - for similarities sake I ran chmod -R 777 on the vendor folder. Although it sucked up some hours, it was a great learning experience (I'm new). Great video - loving Laracasts.

@davecoggins

This comment has been minimized.

Show comment Hide comment
@davecoggins

davecoggins Apr 8, 2014

I was having a similar permissions problem as those described above. Initially I thought I solved it by doing sudo chmod -R 0777 app/storage on host computer rather than vagrant box. However, the blank white screens returned whenever laravel tried to write to the sessions file.

After some Googling the following solution worked for me. Change the Vagrant config file to read like this on line 12:

config.vm.synced_folder ".", "/var/www", owner: "www-data", group: "www-data"

Run vagrant reload and the problem should be solved.

I was having a similar permissions problem as those described above. Initially I thought I solved it by doing sudo chmod -R 0777 app/storage on host computer rather than vagrant box. However, the blank white screens returned whenever laravel tried to write to the sessions file.

After some Googling the following solution worked for me. Change the Vagrant config file to read like this on line 12:

config.vm.synced_folder ".", "/var/www", owner: "www-data", group: "www-data"

Run vagrant reload and the problem should be solved.

@developersoul

This comment has been minimized.

Show comment Hide comment
@developersoul

developersoul Apr 11, 2014

Thank you @davecoggins

@aurelkurtula

This comment has been minimized.

Show comment Hide comment
@aurelkurtula

aurelkurtula Apr 14, 2014

This is fantastic.
When I ran lamp it took about half an hour to download - no idea why. By going though your video tutorial on laracasts, I got the impression that it is a good idea to install the lamp stack for every new project. I'm just wondering, is there a reason not run lamp once and then add those files in git hub and clone it for ever project (so download the lamp stack once and then duplicate it for every project).

Also the sql databases, are they stored inside the project in question, or are they stored globally in mac. Using mamp , there have been times when I added a project to git and forgot to export the DB, in this case is the DB within the same folder,

Hope I am making sense
Thanks

This is fantastic.
When I ran lamp it took about half an hour to download - no idea why. By going though your video tutorial on laracasts, I got the impression that it is a good idea to install the lamp stack for every new project. I'm just wondering, is there a reason not run lamp once and then add those files in git hub and clone it for ever project (so download the lamp stack once and then duplicate it for every project).

Also the sql databases, are they stored inside the project in question, or are they stored globally in mac. Using mamp , there have been times when I added a project to git and forgot to export the DB, in this case is the DB within the same folder,

Hope I am making sense
Thanks

@antwonlee

This comment has been minimized.

Show comment Hide comment
@antwonlee

antwonlee Apr 22, 2014

Humm... all of sudden "lamp" command installs nothing...

Humm... all of sudden "lamp" command installs nothing...

@ODelibalta

This comment has been minimized.

Show comment Hide comment
@ODelibalta

ODelibalta May 9, 2014

I managed to get both sites working - sort of.

I have one that is local.dev which refers to the vagrant directory (var/www on the vm) and index.php shows up there.
I have another on the same vm that is codeshare.dev which refers to the codeshare folder inside vagrant directory (/var/www/codeshare on the vm) but that one displays the directory list instead of the laravel installation. I did the chmod thing and no luck. I ran php artisan serve and it says its already doing that.

I managed to get both sites working - sort of.

I have one that is local.dev which refers to the vagrant directory (var/www on the vm) and index.php shows up there.
I have another on the same vm that is codeshare.dev which refers to the codeshare folder inside vagrant directory (/var/www/codeshare on the vm) but that one displays the directory list instead of the laravel installation. I did the chmod thing and no luck. I ran php artisan serve and it says its already doing that.

@carltondickson

This comment has been minimized.

Show comment Hide comment
@carltondickson

carltondickson Jun 18, 2014

Thanks for this.
I am running this on Windows 8 and running this command in Git Bash.

I would add that it was hanging on the message "Verifying Hyper-V is enabled", this is because vboxmanage wasn't available and meant I had to add "C:\Program Files\Oracle\VirtualBox" to my Path environment variable

Thanks for this.
I am running this on Windows 8 and running this command in Git Bash.

I would add that it was hanging on the message "Verifying Hyper-V is enabled", this is because vboxmanage wasn't available and meant I had to add "C:\Program Files\Oracle\VirtualBox" to my Path environment variable

@ceesco53

This comment has been minimized.

Show comment Hide comment
@ceesco53

ceesco53 Jul 8, 2014

Another thank you to @davecoggins

EDIT: I just reverted my config.vm.synced_folder line in vagrant back to the original settings. I opted to edit /etc/apache2/envvars and have apache2 run as vagrant user and group.

ceesco53 commented Jul 8, 2014

Another thank you to @davecoggins

EDIT: I just reverted my config.vm.synced_folder line in vagrant back to the original settings. I opted to edit /etc/apache2/envvars and have apache2 run as vagrant user and group.

@szainmehdi

This comment has been minimized.

Show comment Hide comment
@szainmehdi

szainmehdi Jul 14, 2014

Can anyone confirm if this still works? I haven't been able to get it to work at all.

To clarify: Running the script works fine and vagrant seems to be set up properly, but navigating to the server's IP address results in a 403 Forbidden error. I've followed to steps carefully, repeatedly, but no luck.

If anyone can confirm this still works properly, I guess I'll look into troubleshooting it further. Thanks.

Can anyone confirm if this still works? I haven't been able to get it to work at all.

To clarify: Running the script works fine and vagrant seems to be set up properly, but navigating to the server's IP address results in a 403 Forbidden error. I've followed to steps carefully, repeatedly, but no luck.

If anyone can confirm this still works properly, I guess I'll look into troubleshooting it further. Thanks.

@iClosedz

This comment has been minimized.

Show comment Hide comment
@iClosedz

iClosedz Jul 27, 2014

Yes this is work.

Yes this is work.

@mikoop79

This comment has been minimized.

Show comment Hide comment
@mikoop79

mikoop79 Jul 29, 2014

Thanks heaps for this.... Can anyone please help me access the mysql from an IDE such as Sequel Pro. what is the ssh username and password?

Thanks heaps for this.... Can anyone please help me access the mysql from an IDE such as Sequel Pro. what is the ssh username and password?

@kylescousin

This comment has been minimized.

Show comment Hide comment
@kylescousin

kylescousin Jul 31, 2014

In windows, make lamp.bat and put this in:

curl -L -o install.sh http://bit.ly/1hBfq57
curl -L -o Vagrantfile http://bit.ly/1mE3Qt9
vagrant up

In windows, make lamp.bat and put this in:

curl -L -o install.sh http://bit.ly/1hBfq57
curl -L -o Vagrantfile http://bit.ly/1mE3Qt9
vagrant up

@premendrasingh

This comment has been minimized.

Show comment Hide comment
@premendrasingh

premendrasingh Nov 23, 2014

vagrant ssh
mysql -u root -p
Follow steps to allow remote connection to my sql http://stackoverflow.com/questions/15663001/remote-connections-mysql-ubuntu
Next connect from remote client Sequel Pro/MySQL Workbench to 192..168.33.21:3306

vagrant ssh
mysql -u root -p
Follow steps to allow remote connection to my sql http://stackoverflow.com/questions/15663001/remote-connections-mysql-ubuntu
Next connect from remote client Sequel Pro/MySQL Workbench to 192..168.33.21:3306

@RavenousPett

This comment has been minimized.

Show comment Hide comment
@RavenousPett

RavenousPett Nov 24, 2014

Does anyone know what the username and password is for the VM? If say I wanted to SSH in without using Vagrant.

Great walkthrough by the way, and thanks @davecoggins, lifesaver!

Does anyone know what the username and password is for the VM? If say I wanted to SSH in without using Vagrant.

Great walkthrough by the way, and thanks @davecoggins, lifesaver!

@RavenousPett

This comment has been minimized.

Show comment Hide comment
@RavenousPett

RavenousPett Nov 26, 2014

Found it, username = vagrant, password = vagrant. Sequel Pro now connects to the remote mysql without any extra configuration.

@JeffreyWay and @fideloper what are your thoughts on hosting the DB on the virtual server, now that it's so easy to set up its also easy to destroy, and lose all of your development data.

Found it, username = vagrant, password = vagrant. Sequel Pro now connects to the remote mysql without any extra configuration.

@JeffreyWay and @fideloper what are your thoughts on hosting the DB on the virtual server, now that it's so easy to set up its also easy to destroy, and lose all of your development data.

@hadifarnoud

This comment has been minimized.

Show comment Hide comment
@hadifarnoud

hadifarnoud Feb 17, 2015

are we updating this alias and setup?

are we updating this alias and setup?

@hadifarnoud

This comment has been minimized.

Show comment Hide comment
@hadifarnoud

hadifarnoud Feb 18, 2015

would be great if someone creates an install.sh for nginx php-fpm.

would be great if someone creates an install.sh for nginx php-fpm.

@tskamath

This comment has been minimized.

Show comment Hide comment
@tskamath

tskamath May 7, 2015

could get the install to work.. Fixed the File with http://foo-o-rama.com/vagrant--stdin-is-not-a-tty--fix.html#

edited the Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.provision "fix-no-tty", type: "shell" do |s|
    s.privileged = false
    s.inline = "sudo sed -i '/tty/!s/mesg n/tty -s \\&\\& mesg n/' /root/.profile"
  end
  config.vm.box = "precise64"
  config.vm.box_url = "http://files.vagrantup.com/precise64.box"
  config.vm.network :private_network, ip: "192.168.101.101"
  config.vm.provision :shell, :path => "install.sh"
  config.vm.synced_folder ".", "/var/www"
end

tskamath commented May 7, 2015

could get the install to work.. Fixed the File with http://foo-o-rama.com/vagrant--stdin-is-not-a-tty--fix.html#

edited the Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.provision "fix-no-tty", type: "shell" do |s|
    s.privileged = false
    s.inline = "sudo sed -i '/tty/!s/mesg n/tty -s \\&\\& mesg n/' /root/.profile"
  end
  config.vm.box = "precise64"
  config.vm.box_url = "http://files.vagrantup.com/precise64.box"
  config.vm.network :private_network, ip: "192.168.101.101"
  config.vm.provision :shell, :path => "install.sh"
  config.vm.synced_folder ".", "/var/www"
end
@saqueib

This comment has been minimized.

Show comment Hide comment
@saqueib

saqueib Aug 29, 2015

@JeffreyWay How can I install node.js on this box to use Elixir

saqueib commented Aug 29, 2015

@JeffreyWay How can I install node.js on this box to use Elixir

@anonRegions

This comment has been minimized.

Show comment Hide comment
@anonRegions

anonRegions Dec 3, 2015

I think I've done something wrong. When I get to Step 4 above, here's what happens:

vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:

vm:

  • The box 'hashicorp/precise32' could not be found.

Please advise.

Thanks.

I think I've done something wrong. When I get to Step 4 above, here's what happens:

vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:

vm:

  • The box 'hashicorp/precise32' could not be found.

Please advise.

Thanks.

@jrvaja

This comment has been minimized.

Show comment Hide comment
@jrvaja

jrvaja Dec 29, 2015

Hi,
For Ubuntu 14.04 stack

alias lamp="curl -L -o 'install.sh' https://goo.gl/xQR4ud && curl -L -o 'Vagrantfile' https://goo.gl/TMPyh2 && vagrant up"

Thanks,

jrvaja commented Dec 29, 2015

Hi,
For Ubuntu 14.04 stack

alias lamp="curl -L -o 'install.sh' https://goo.gl/xQR4ud && curl -L -o 'Vagrantfile' https://goo.gl/TMPyh2 && vagrant up"

Thanks,

@devonmather

This comment has been minimized.

Show comment Hide comment
@devonmather

devonmather May 5, 2016

Getting errors when running this culminating in the following;

The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

Full log here https://gist.github.com/devonmather/6c50c824ad89efac15e85a323c52c879

I've listed the errors from the console output that were red below the gist in a comment

Getting errors when running this culminating in the following;

The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

Full log here https://gist.github.com/devonmather/6c50c824ad89efac15e85a323c52c879

I've listed the errors from the console output that were red below the gist in a comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment