Installation Information

Hi, old user, first time poster.

I’ve been using UserCake/UserFrosting for years and it has progressively become more complex to install.

There is a critical step missing on the install page for windows users. In the Homestead section. When one needs to generate the SSH keys, first, there is no ssh-keygen tool in the userfrosting package and there is no instructions on what/how to install BASH for windows users. The example in this section only shows a MAC/Linux command for generating the key.

There is also no mention of installing GIT to run the CLONE commands.

For anyone who may stumble upon these issues know that you must install GIT. Then navigate to the folder where you installed GIT, locate the bin folder (C:\Program Files (x86)\Git\bin) then run the ssh-keygen command with your project path included: ssh-keygen -t rsa -f C:\Users\Jeff\Desktop\MyProject.ssh/homestead_rsa

Hey, welcome to the forums! Glad to hear from a long-time user.

You are right, we need some better documentation for Windows users, especially when it comes to generating SSH keys. Would you recommend the keygen tool that ships with git as a canonical approach?

I thought we had git itself pretty well-covered. See the chapter “Essential Tools for Modern PHP”.

You are correct though, installation has become more complex. This has happened essentially for two reasons:

  1. It allows us to offer a better product. Git makes it very easy for developers to keep their codebase up-to-date with the main UF repo (as opposed to certain other projects which will not be named, “upgrade” process). Composer, meanwhile, makes it easy to integrate third-party libraries into your codebase.
  2. The fact that we require git to clone the repo, and Composer to install dependencies, reflects the general trajectory of the PHP community over the past several years. One of our main goals is to educate new and returning PHP developers about the right tools for the job. We want to bring developers into the future, rather than leaving them stranded in the past. It’s a little more work upfront, but it will pay off with dividends as your projects grow and maintainability becomes more of a concern.

We’re always working to make the installation process simpler and more accessible (tools like Bakery, for example), but not at the price of good software design. We’d love to have you in chat to hear any suggestions you have!

I totally understand. I moved away from PHP after learning about NodeJS and have just recently returned to my roots. Package managers are definitely a God Send. Glad to see the Userfrosting team is still blissfully chugging along. I failed my initial installation so I’ll definitely have to hit up the chat. I’m going to give her another try but as it stands, I’ve put about two hours into this. :laughing:

Once I figure it out, I’ll be glad to fill in the gaps in the documentation and I’ll probably throw together a Windows tutorial for youtube (more so for my future self than anyone else, but I’m sure other would benefit).

Going to go through it again and list some issues I run into.

First, installing on Windows, in the Homestead section you’re instructed to nav to homestead folder and run “bash init.sh”. If you don’t have BASH setup to run on Windows, this isn’t going to work. It’s just “init.sh” to run. (didn’t know that and manually navigated to the folder to execute)

Second, I didn’t have a .SSH directory and when trying to create one manually, Windows doesn’t allow it. You MUST use the command line “mkdir .ssh” inside the appropriate directory.

After UserFrosting is up and running, before installing phpmyadmin, it should be suggested that the user update “sudo apt-get update” else they’ll get an error when trying run the install command.

When creating the Symlink after installing phpmyadmin, I kept getting an error when running vagrant reload --provision even though I copy/pasted what was posted on the site. It was an error about a ‘tab detected’. Had to play with manually entering it to get it to stop complaining. – apparently YAML files are extremely picky and only want SPACES for formatting. For anyone who doesn’t know that, if they copy/paste what is listed in the tutorial or try to manually enter the information using tab to indent the line, they’ll receive that error.

Awesome! Some video tutorials would be really helpful.

If the Homestead installation process is causing too many problems, you might prefer to just set up a native development environment instead. Especially if you’ve already got Node.js up and running, all you’d need to do is get XAMPP/WAMP and Composer installed and you should be able to run Bakery without any issues.

I’ll see if we can make room for a tutorial on setting up Homestead in Windows - I’d not be surprised if there is already something like that out there!

Do you know which line the tab characters are showing up on? I thought we had caught all of them, but apparently not :frowning:. We can add a warning about this as well.

Thanks for the thorough description of the issues you encountered - this really helps us to improve the documentation!