Can we use different linux distro in Laravel Homestead - vagrant

I am wondering If we can use a different distro in Laravel Homestead. Right now it is preconfigured to use an Ubuntu Distro. Can we use other distro like fedora, arch etc?

Short Answer: No because it's not a simple matter.
Long Answer: I'm working on it, it's just slow going. In my day job I've always used RHEL or CentOS so I've always wanted a CentOS flavored version of Homestead. That's exactly what I've started building with EnterpriseHomestead and EnterpriseSettler projects. It's not quite ready for a alpha, but it is close (despite I haven't had much time to work on it lately, Homestead and support keeps my OSS time pretty tied up)
If you'd like to help out please jump into the repo and start testing / asking questions. I also have #enterprisehomestead on the Freenode IRC network.

Related

cannot create cache directory on mac in laravel 5.3

After i installed composer in mac os sierra then installed laravel framework 5.3, i cannot create cache directory or my directory is not writable, Proceeding without cache ( below detail error when installing laravel framework )
Please give me advise how to fix my problem, cause i'm newbie using mac
Thanks,
problem picture
My best advice is to use Laravel Homestead instead of running the Laravel directly on Mac OSX.
Homestead installation on Laracasts: Hello to laravel homestead or
Laravel 5 Fundamentals
This should be enough for local development. If you want to go online look at the following steps:
Create a Bitbucket repository
Link your homestead to the bitbucket (That’s the tricky part). You will need to have SSH setup. This video should give you some hint. (Remember, you do not have to install git as it is included in homestead)
By the way, this is my go to resources for git.
Once that done, the worse is behind you.
Use Forge, this videos explains everything pretty well
It may seem like a lot, but in reality that will give you a really scalable environment that will spare you tons of trouble in the future.

What we install in Virtualbox using Vagrant?

I just started learning Vagrant and succeeded in using it. I went through this vagrantbox.es where we "download" the "templates".
I have some doubts and would be great if anyone can explain me:
1) Vagrant --> My understanding is t hat it helps in automating installing the Virtual machines in Virtualization software like Virtualbox. Is this correct?
2) Now, as per the instructions that I followed in one of the video tutorials, we need to 'download' the VM, from this link.
My doubt is what are we downloading from the link in point #2? Using Vagrant, are we downloading a VM (and which gets installed into Virtualbox, for example?). Can't we use any .iso image and let vagrant install it? I am bit confused here.
Can anyone who has used vagrant explain what exactly are we downloading?
2) Now, as per the instructions that I followed in one of the video tutorials, we need to 'download' the VM, from this link.
Must be a bit dated tutorials, even though it is still a good reference, nowadays people will download boxes from https://atlas.hashicorp.com/boxes/search. The platform is officially supported by hashicorp but everyone can upload boxes into the platform, and you can directly reference boxes from atlas such as ubuntu/trusty64 in your vagrantfile and vagrant will know how to download the box and install it for you so it saves you some steps.
My doubt is what are we downloading from the link in point #2? Using Vagrant, are we downloading a VM (and which gets installed into Virtualbox, for example?). Can't we use any .iso image and let vagrant install it? I am bit confused here.
There are some 'official' box supported by hashicorp. Some organization like laravel pushes their own official boxes (like laravel/homestead and they support virtual box and vmware provider). It will be up to you to review the box you reference and make sure about its source.
you can create your own box from the OS iso using tool such as packer you will find plenty of available packer templates on github to create boxes for different OS flavors
And finally, are these images "full" OS plus the tools (e.g. tomcat, php as you described)
This will depend - in the case of Laravel they would provide a box with OS + the stack but generally the boxes are minimal (and you want to keep it this way). You will provision this using a tool of your choice (shell, ansible, puppet ...)

Deploy ruby on rails application built on windows

I'm looking on ways to deploy a ruby on rails 4 app built on windows 7 box. I'm looking to use Heroku at the moment.
Can you please provide any pointers regarding heroku or any other easier and cheaper deployment options available out there..
Any issues That I may face due to the difference in OS in the dev environment (windows) and the deployment environment (linux on heroku)?
This is my first professional app, so any pointers will be helpful for now and also for future applications that I may work on.
Also what is the more preferred OS for ruby on rails development ?
Thanks in Advance!
You probably won't face any issues with deployment on Heroku. Heroku is the easiest option out there (albeit one of the priciest once you're off the free tier)
What's more likely to happen on Windows is that you'll find it hard to build certain gems for development, and cutting edge releases will probably not work well.
Much better to pick up a Linux distro for this.
You can also check out bluemix , which is also free for small projects. I know Heroku is not particularly windows friendly, not sure if bluemix is any better in that reguard, but it is extremely easy to deploy to.
Heroku has set of tools called heroku toolbelt, that makes easy to deploy apps to heroku. you can download heroku tool belt for windows from here
Generally you should be able to port any rails app you develop in windows to Linux/Mac, how ever since the ruby/rails community is largely built around Linux/Mac, responses/options to your issues regarding the rails apps will be low. and there are some gems which doesn't work on windows at all. So its best to move to either Mac/Linux if you are planing to continue on rails.
Once you come to Linux/mac world there are lots of providers much cheaper than heroku like DigitelOcean, however heroku would be the easiest for a beginner I believe.
HTH
One strategy you could try is to do the following:
Set up a VirtualBox or VMWare VM running Linux (Ubuntu would be a good candidate if you are not used to Linux).
Get your project into the VM and get the bundle install and everything working in Linux, you will probably find you need to make some changes in your Gemfile if you have anything windows specific there.
Install the Heroku tool-belt on the Linux VM and install to Heroku from there.
Taking the Windows / Linux transition pain on your local machine will make it much easier than Windows direct to Heroku.

I have a windows pc, can I develop with LAMP?

I have a pc running windows but I want to use a linux server. Is there a way for me to develop my website on my computer before I rent space on a server? Also its probably important to note that I have no linux experience. Should I just stick with wamp?
Unless you specifically and purposely use .NET features in your PHP Application, then an application developed in WAMP will work fine on a LAMP Server as long as you have included all the same PHP plugins.
PHP is independent from Linux or Windows. 99.9% of the time you have to knowingly use features from the host OS.
You should try ubuntu in a virtualbox, there are lots of well written guides that'll get you up and running.
For best performance, use coLinux. Install a linux distro like ubuntu (easier for beginners) and you should be ok.
Yes. I have developed and maintained a website like this before. My development environment was WAMP and the server was a LAMP shared server. Shouldn't be a problem till your site is using fairly basic libraries and they are available both for windows/linux.
However as others mentioned, its wiser to have the development environment as close possible to the production environment. You don't hit any surprises that way. And hey its not difficult and involves no cost:
You can use dual boot to have linux as other operating system.
Depending on your machine, you can just install VirtualBox and install a Linux VM.

WAMP or XAMPP for Windows XP Professional

I have Windows XP Professional as my OS.
Which of the following solutions is best?
WAMP
XAMPP
Separate installation
I'd recommend WAMP, as it's very easy to set up.
XAMPP is more feature rich though, as it includes Tomcat, and a slightly newer version of PHP.
Here's a simple breakdown of what's included in each:
http://www.wampserver.com/en/
http://www.apachefriends.org/en/xampp-windows.html
I would actually suggest that users go for XAMPP server.
Reason for choosing XAMPP over WAMP
XAMPP has a beginner friendly interface with simple on/off buttons to start Apache and MySQL services. Whereas the latter has more options but it's interface is jam-packed which proves confusing for beginners.
XAMPP supports FileZilla so you can easily upload your local work onto your online server. It also comes with TOMCAT and newer version of PHP ( recommended for PHP Programmers )
XAMPP has more extensions to it compared to wamp.
You can check out my article on xampp and wamp comparison to get a more detailed understanding:
Wamp, faster and more noob friendly. Easy to configure and easy to install.
WAMP is easier to use in my opinion, but XAMPP may be more feature-rich.
Seeing as you're asking the question, though, I'd recommend WAMP.
You may also want to consider using BitNami WampStack. It is a free all-in-one installer that includes Apache, PHP, phpMyAdmin, MySQL and a GUI management tool for the servers.
It is similar to XAMPP, WAMPServer, etc. in that regard but with some differences: We keep it up to date (XAMPP is also kept fairly up to date, WAMPServer has not been updated since 2010 at the time of writing this posting). Also, any of the all-in-one Apache bundles are
Windows specific. We are multiplatform, meaning that you can use the same environment across multiple operating systems (Mac, Linux, Windows). We find this very useful internally, since our designer works on Windows and the rest of us run on Linux or OS X.
Also, we have found that a lot users want to setup XAMPP for local development on top of Joomla!, Drupal or Wordpress for developing plugins, themes, etc. and that is why we created all-in-one packages that include Apache, MySQL, PHP and those applications pre-installed. We also have Rails and Django versions of the stacks if that's what you are developing on.
Give it a try (it is free!) and let us know what you think :)
I use Visual-AMP & Visual-NMP, It is like the IIS,
Green portable, requires no installation. Stop related services that are running the program, you can move the directory.

Resources