When I started learning about Drupal, I found it very hard to find resources that would help put Drupal in context with regards to the broader web and my own experience. Everything I found would assume a certain amount of knowledge and use a lot of acronyms. Perhaps, you are in a similar situation and have come here looking for a Drupal No-Acronyms Guide. If so, I hope you find the answers you’re looking for. Here is a beginner’s guide to Drupal for people who know nothing about Drupal.
First things first, Drupal is a way to build web sites. A developer can go from zero to website very quickly because Drupal can provide all of the components needed to get a site up and running. That being said, if you have never put together a Drupal site, the setup can seem intimidatingly complex because there are several components required to get a Drupal site up and running.
You need a server. A server is simply a computer running somewhere and connected to the internet. Making this server available for connections from the web will allow people to access it from their web browser.
Running on that server you need an operating system. Without an operating system your server is just an expensive box. And running on that operating system you need a web server. This is not the same as the server above; however, it is closely related. Web server software is responsible for interpreting connections from the web, directing them to the appropriate code on your machine, and then handling whatever response you want to send back to the user.
Speaking of code, you’ll need some code on your server that knows what you want to show the user (what your website does). This code needs to be able to handle requests and give back responses. In the case of a Drupal, site it needs to be able to give back the appropriate content (the web pages on your site).
And finally, you need somewhere to keep the data on your site. You need a database.
This entire collection of parts is known as the tech stack for a site. It may sound really complicated and a bit intimidating, but actually it’s fairly straightforward and, in many cases, all but the code will be handled by your hosting provider. In the Drupal world, you will often hear reference to a LAMP stack. LAMP stands for Linux (the operating system), Apache (the web server), MySQL (the database), and PHP (the code). Because I promised I wouldn’t use acronyms in this article, I should tell you that SQL stands for ‘Structured Query Language’ and PHP stands for ‘PHP: Hypertext Preprocessor’ (yes, it’s recursive, but you don’t really need to know about those in detail here).
Ok, so you’ve got your tech stack all set up and you want to get started. You could just code your website in PHP and be done with it, so where does Drupal come in? Drupal is a Content Management System which means that Drupal really shines on websites where a lot of content is being created, organized, and updated regularly. You could create everything from scratch yourself and build the site, but you would end up solving a lot of problems that have already been solved. If you build your site using Drupal, you get pretty much every feature you are going to need right out of the box. And what’s more, the missing features are largely available at user generated modules from the Drupal community.
In the end, Drupal is not the solution to every problem; however, if you want a website that can be quickly built and deployed with a minimum of effort while still maintaining a high degree of customization, capacity, and security, Drupal might just be what you need.
If you are looking to learn more about the Drupal way of doing things, I recommend this guide from drupal.org. If you take the time to work through the steps of that guide, you will be well on your way to being comfortable with Drupal development. Thanks for taking the time to read this Drupal No-Acronyms Guide.