Kindergarten-level questions about installing Strapi

System Information
  • Strapi Version: Latest
  • Operating System: Ubuntu 22.04 LTS
  • Database: MariaDb
  • Node Version: ?
  • NPM Version: ?
  • Yarn Version: ?

Help friends.

I feel super dumb to ask such elementary questions, but as you’ll see, I am really lost.

99% of my coding experience is related to Wordpress, PHP, CSS, HTML - and I’m an amateur hack at much of that. So I want to branch out and find better, more modern ways of doing things… WP is so, ugh…

So I really want to try Strapi! …but I’m having the hardest time understanding the installation instructions.

Problem is… I’m not even sure what piece of info I’m missing – or even what search terms I should be Googling to help me crack that quick start guide. It’s just SO very different from installing WP…

I want to use Strapi on the web - instead of Wordpress - let’s say. And I have a public_html folder. The WP control panel then is at (or whatever - inside that public_html folder). The point is, it’s a real file in a real directory – that all makes sense to me. But with Strapi, in all the examples I’ve seen – every time – I see devs are installing it on their local machine (localhost) and I’m just lost… Where are the Strapi files installed? On the local machine instead of on the website? How? Why?

Is there simply no way to unzip Strapi in a folder, connect it to a db and go?

I really do want to understand how this works, but as you can see… I don’t even know which words to use to craft a coherent question about it.

Anyway, thanks for reading and I appreciate any tips, keywords, resources that might point me in the right direction.


Hello @Bclick Thanks for posting and welcome to the Strapi community! A typical Strapi use would be to setup and develop your application on your local machine and then deploy your app to a hosting service. In practice, you need to build the content model locally. Strapi is often used with Git so that users can develop changes locally and push them to their production instance.

If this helps at all, please feel free to post followup questions. If you want to demo what an application is like once it is in production there is a live demo option on the website. Live Demo | Strapi the leading open-source Node.js headless CMS

1 Like

Thank you so much for the reply, @Shaun_Brown !!

I’m sure your answer makes effortless sense to most people, and I get some of it…
But… Ok… Is this right?

  1. Strapi is not installed on my webserver at all
  2. Instead it (Strapi) is installed on my local machine
  3. And it (Strapi) is used to create the data model for the frontend
  4. But the actual frontend interface of my websites are built with Next.js or Node or whatever – not Strapi.
  5. And it’s only the Next.js (the frontend app) portion that’s uploaded to the webserver. Yes?

I think that’s the workflow you’re describing.

But based on the above – and the demo you referenced – I’m still unsure about how this would work…

  • I need to fetch data from multiple external APIs (via custom php script + cron job)
  • Take that external data, slice and dice it (again, custom php script), to create new, modified data shapshot
  • Store my newly minted snapshot data to MySql database
  • Feed said snapshot data via API to a live website – (I imagined Strapi would be perfect for this step)

Based on that, I don’t understand how installing Strapi on my local machine would ever, ever work.

Ultimately, I need to fetch, process, and serve the data from a database on my webserver – it simply can’t be done on my local machine and still be performant on the web – I need web-based API access points…

Take the Strapi demo, for example… It is installed on the web in a subdomain! Which is what I had in mind all along. But the installation instructions, from what I can determine, lead nowhere in that direction. And since everything assumes a localhost installation… the docs are impenetrable from the outset.

Again, I wonder… Why is there no way to just unzip Strapi into a subdirectory/subdomain, connect it to a database, and go? Is that just a stupid way to run web-based software in 2023, or?

Bottom line, I wish I’d learned how to be a real developer instead of a Wordpress hack. I feel like my brain is so pigeon-holed into the Wordpress way or doing things – the rest of the world has evolved, and I’m stuck in 2008.

No worries. I am not a developer and I make many mistakes and wrong assumptions about the product everyday. We are all here to learn together.

Strapi is a content management system/backend framework. The reason for local development is, in part, that NodeJS needs to restart the server each time you modify the content model, and this isn’t practical or best practice for a remotely-hosted application. Once the application is ready for production you need to deploy the app to a web server.

The frontend is independent. Strapi is going to make all of your APIs for communicating between the frontend and backend as you develop the content model.

I made a diagram that might be more helpful. I included some links to the relevant sections of the documentation.

1 Like

Shaun! Wow!

Thank you for such a detailed reply. That diagram is gold. Exactly what I need to get started learning this…

Sadly, the diagram exposes just how lost I still am in understanding the ‘hows’ and ‘whys’ of this methodology/workflow. It still makes zero point zero sense to me why it’s done this way.

BUT! You gave me the perfect starting point – a map – which is exactly what I need to begin putting the pieces together, and in which order. Thank you so much for that.

One last question, and I’ll be out of your hair for a while… What is this called. If I go to Udemy or Skillshare to find a course on this… what keywords am I looking for?

e.g. “______________ 101”

In other words, where does this workflow come from? Does it have a name?