When I decided I was going to start my own blog of course I wanted to build the site myself. I used to be a pretty technical person previously in my career, but the last time I built a Drupal website from start to finish was with Drupal 5 way back in 2009 for my accountant’s website. Today I manage eight corporate websites built by an engineering team, focused on their performance, optimization and design to support the goals of the business; all of which is very different from building new ones from the ground up.
Going into this project I had a general idea of which files belonged where in Drupal and I knew where I should start, but building it on the latest version of Drupal -- Drupal 8 -- is a full three Drupal versions “newer” than the last time I looked at any file structures or theme folders first-hand. I was pleasantly surprised at how it went. There were a few hiccups that I’ll go through in some detail later, but this post is about how a non-developer web manager built a Drupal blog in one day with no code edits or command line fun needed (well very little command line work as I’ll explain in a bit).
Why Drupal and not Wordpress?
My manager and I had a long discussion on what platform I should use, I know this sounds silly: since I work at Acquia -- which was founded in 2008 by the inventor of Drupal, Dries Buytaert -- we should always use Drupal, right?
Well the thought was since this is a lightweight and simple blog maybe Drupal has more features than I needed. The priority for me in addressing the use-case for this project was getting blogs posted and optimizing my content so search engines and you, dear reader, could find it. We discussed Wordpress because they are known to be great for blog websites -- he’s been blogging on Wordpress since it was in beta -- and Wordpress is famously simple and quick to set up. We agreed that if I couldn’t set up a Drupal website within a day, then we would look elsewhere for a solution to meet my needs. Long story short: Drupal is what my new personal blog website is running on today.
Where I started:
Step 1: Download Acquia Dev Desktop
I knew I was going to start with Drupal 8 since it is the latest version of the 15-year old CMS. Sure, Drupal 6 is my favorite version of Drupal -- mainly because I really learned the power of drupal while working on Drupal 6 sites but I’ve managed a Drupal 8 site for over a year, and the majority of the sites I’m responsible for are still on Drupal 7 with a planned replatforming to Drupal 8 in the next 12 months.
I started by going to drupal.org and downloading the tar file for Drupal 8. I decided to build this project locally on my MacBook since I didn’t have any hosting solutions in mind and but wanted to start building right away. I went to dev.acquia.com -- Acquia’s Developer Network -- and downloaded the latest version of Acquia Dev Desktop. I knew about Acquia Dev Desktop from working at Acquia, it is a great and very simple-to-use tool that sets you up with a Drupal website running locally on your computer so you don’t need hosting right away.
My manager, who has been building sites on his own since 1994 and HTML 1.0, claims Dev Desktop is one of the more impressive web building tools he’s ever used. I agree and think one should actually start with Acquia Dev Desktop because it has many Drupal distributions right in it that one can start with. A “distribution” -- for those new to Drupal -- is a preconfigured version of Drupal’s core that has been customized with modules (Wordpress people can think of modules like “plug-ins) and themes for a particular scenario. There are distributions for publishing, government, intranets. Distributions are a great way to jump start a project for a particular use case.
Using Dev Desktop I had my base Drupal site running on my MacBook within minutes. With the
Installation of Drupal 8 done, now it was time to make it pretty.
Step 2: Choose a theme
I needed a theme for what my site would look like in terms of layout and design. Two columns or three columns? Big hero image in the header or not. Fonts and palettes, all are provided in a theme and contributed to the Drupal.org library by their creators. I’m not a front-end developer and I don’t have the time to design my own site from the ground up, so I went back to drupal.org and started looking through Drupal 8 themes. I found one that caught my eye and downloaded it.
Now what do I do with it? Ok I know there is a theme folder in my new site, I found my folders nicely arranged where they should be in my computer's main sites folder set up by Dev Desktop. There is a core folder in there, so I assume I should stay out of that but I saw there was a modules and themes folder off the root directory. Those looked about right and when I clicked into them they had a “readme.txt file inside with some clear instructions confirming I was right where I needed to place my new theme folder. I downloaded the theme I picked, unzipped the files and dragged them into my themes folder. That didn’t magically apply the new theme. So what else did I need to do? Simple: I loaded up my website (you click a link in Dev Desktop and it brings you to your site, you can manage multiple projects with the tool) and went into “appearance” and here was my new theme with an install link. I installed it, took a look, but didn’t like it, so I went back and repeated the process all over again until I found a theme I could live with.
Step 3: Add modules
The nice thing about Drupal 8 is it comes with a lot of what you need built in, modules such as views which gives you the power to dynamically pull content through your site and some default WYSIWYG editors so I don’t need to worry about those modules. My main concern was SEO, the module I use across all of my other Drupal sites is called Metatag and it was available for Drupal 8 so I downloaded it. This process is similar to your themes, you unzip the tar files and place them into the modules folder, then go to your extend page and check them off to enable them. Here is the list of modules I installed on my blog site:
- Pathauto: this creates friendly URLs based on the title of your content. The default page URLs in Drupal is node/1 so you understand why this is important for SEO and vanity.
- Redirect: this allows you to 301 redirect old URLs to new URLs. I didn’t immediately need this module since it is a new website, but if you decide to rename a post or delete old content and point it to newer content, you will need this module. Very handy.
- reCAPTCHA: since this is a blog site, I wanted something to help prevent against spammers hitting my comments and this is a known module that works well.
- Acquia Connector: I knew I was planning to start my site on Acquia Cloud Free and you need this to connect to Acquia’s services.
In summary here are my build steps:
- Download Acquia Dev Desktop from dev.acquia.com
- Install Drupal 8 from a .tar file downloaded from Drupal.org or through Dev Desktop
- Find the right theme and modules from the library at Drupal.org
- Put the theme and modules into the right folders
- Go to the site and install them (via the “extend” and “appearance” sections)
- Celebrate a living, albeit local site!