In this Drupal tutorial, you’ll learn what sets the CMS apart, the re­quire­ments for using the open-source software, and how to create a simple Drupal website.

Web Hosting
Hosting that scales with your ambitions
  • Stay online with 99.99% uptime and robust security
  • Add per­for­mance with a click as traffic grows
  • Includes free domain, SSL, email, and 24/7 support

What is Drupal?

Drupal is a content man­age­ment system freely licensed under the GNU General Public License, with its first official version released in 2001. Like many com­pa­ra­ble systems, it is written in the scripting language PHP and has a modular structure: There are seven core modules and thousands of ad­di­tion­al modules. The core modules provide the basic functions and thus the foun­da­tion for any website you create with Drupal. The ad­di­tion­al modules, mostly developed by members of the very active community, can be added as needed to expand the CMS’s func­tion­al­i­ty. Drupal supports re­la­tion­al database systems such as MySQL, MariaDB, Percona Server, and Post­greSQL.

Note

If you’re planning to develop a community platform, weblog, or a jour­nal­is­tic website involving multiple editors, Drupal is an excellent choice.

How to set up and install the Drupal CMS

To use Drupal for creating your website, you must first establish the necessary software and hardware foun­da­tion for the in­stal­la­tion and operation of the web software. The first step towards your own Drupal website is to find a server where you can install and host the CMS along with other required ap­pli­ca­tions, such as the web server, database, or an FTP client.

Finally, you also need a suitable web address for your future web project. It is important to choose an address that is both mean­ing­ful and memorable. This can be quite chal­leng­ing since many popular domain addresses are already taken. However, tools like the IONOS Domain Check can help you find your desired domain and check its avail­abil­i­ty.

Domain Checker

What software is needed for using Drupal?

Regarding software re­quire­ments, they are similar to those of other popular content man­age­ment systems:

  • Scripting language: Drupal runs on any web server that supports PHP – for newer versions of the CMS, it is rec­om­mend­ed to install current PHP 8 versions.
  • Web server: The standard choice is the Apache web server, which is com­pat­i­ble with PHP; possible al­ter­na­tives are NGINX or Microsoft IIS.
  • Database: The Drupal team rec­om­mends MySQL, MariaDB, or Percona Server as the database man­age­ment system.
  • Operating system: Naturally, an operating system must be installed on your server, with Linux being the rec­om­mend­ed choice.

If you want to use a proven software package that meets all the mentioned re­quire­ments, simply install the so-called LAMP stack.

In­stalling Drupal

If you want to manually install Drupal because you operate your own server or your provider does not offer prepack­aged in­stal­la­tion packages, you will first need the program files. The latest releases are always available for download on drupal.org. Use an FTP client like FileZilla to transfer the down­loaded files to the root directory of your webspace. Then, access your Drupal project by entering your domain address in the browser of your choice, which will au­to­mat­i­cal­ly redirect you to the in­stal­la­tion page at /core/install.php. Follow the in­struc­tions of the In­ter­ac­tive Installer to set up Drupal.

Website Builder
From idea to website in record time with AI
  • Intuitive website builder with AI as­sis­tance
  • Create cap­ti­vat­ing images and texts in seconds
  • Domain, SSL and email included

How to create a website with Drupal step by step

To simplify your start, we’ve sum­ma­rized the key steps regarding ad­min­is­tra­tion, page design, and content creation in Drupal below.

Step 1: Log in to the Drupal backend

During the in­stal­la­tion, you created an admin account for Drupal, which you will now need for logging in to the backend. Access the login window by using the web browser of your choice to visit the following address—simply replace the sample domain “example.org” with the web address of your project:

https://example.org/user/login

In the login screen, enter the admin username and the cor­re­spond­ing password, then click “Log in”:

Image: Drupal login window
Through the login URL, you can also create new accounts (“Create new account”) for the re­spec­tive Drupal website, but they must first be approved by an admin.

Step 2: Change backend language

After in­stal­la­tion, English is set as the default display language for the Drupal user interface. However, by in­stalling language packs, you can select other languages if you want to. These packs are not part of the basic in­stal­la­tion, so you must first activate the “Language” module:

  1. In the backend, open the settings menu “Extend”.

  2. Scroll to the “Mul­ti­lin­gual” section and check the four available language and trans­la­tion modules.

  3. Scroll to the bottom of the page and press the “Install” button.

Image: Drupal language menu
If you don’t find the “Extend” option in the top menu bar, it is probably hidden. To display it again, simply press the “Manage” button.

Switch to the “Con­fig­u­ra­tion” tab and in the “Region and language” category, open the “Languages” menu.

Image: Drupal language settings menu
Once you have installed the “Language” module, you will find the cor­re­spond­ing button in the language menu.

Click the “Add language” button and select the desired display language for the backend before clicking “Add language” again. In the final step, mark the desired language as the “Default” language and save this choice by pressing the “Save con­fig­u­ra­tion” button.

Image: Drupal language selection
If you require another language than English, simply add it.

Step 3: Managing users and roles

Before you start designing and creating your Drupal pages, you should consider the per­mis­sions for future users. The content man­age­ment system allows you to create custom user groups for which you can define a complete set of per­mis­sions. You can then assign newly reg­is­tered accounts to one or more of these groups, granting them the as­so­ci­at­ed access and editing ca­pa­bil­i­ties au­to­mat­i­cal­ly. Three user groups are pre­de­fined in Drupal by default:

  • Guest: Website visitors without reg­is­tra­tion in front or backend
  • Au­then­ti­cat­ed user: In­di­vid­u­als who have created a regular user account
  • Editor: Account for editors
  • Ad­min­is­tra­tor: Reg­is­tered in­di­vid­u­als with maximum rights

If you want to edit or delete these groups, or create ad­di­tion­al ones, go to the user menu and switch to the “Roles” tab:

Image: Group management in the Drupal “Users” menu
User groups are referred to as “Roles” in Drupal.

To add another group to the existing ones, click on the “Add role” button. Then, enter a de­scrip­tive name and press “Save”:

Image: Drupal menu for adding a new user group
You can change the au­to­mat­i­cal­ly generated system name of the Drupal user role by clicking on “Edit” if needed.

You then set the per­mis­sions for the new user group under the identical tab by checking all the cat­e­gories and actions the group should have, and finally, press “Save per­mis­sions”:

Image: Drupal menu for setting permissions
All Drupal user groups are displayed side by side, allowing you to set per­mis­sions for multiple or all groups in one step.

Creating a new user account is also done in the user menu. For this, open the start tab of the menu (“List”) and click on “Add user.” Fill in the required in­for­ma­tion like email address, username, and password, then select the user group under “Roles” to which you want to assign the new account. In the final step, add the new account via “Create new account”:

Image: Drupal menu for creating a new user account
If you want the new user to be informed about the account creation via email, select the “Notify user of new account” option.

Step 4: Import theme and set as default theme

Creating a Drupal website is possible even for beginners with little IT ex­pe­ri­ence, thanks to the simple structure of the content man­age­ment system. Though the initial func­tion­al­i­ty is limited to the es­sen­tials, it doesn’t mean you can’t use the software for de­vel­op­ing more complex projects. If the core com­po­nents’ functions aren’t suf­fi­cient, you can easily add extra features through ad­di­tion­al modules as needed.

Note

When in­te­grat­ing ad­di­tion­al modules and themes, always ensure that they are com­pat­i­ble with the version of Drupal you are using and originate from a trust­wor­thy source, such as the official repos­i­to­ry.

The principle of modular design also applies to the layout and design of your Drupal website: For this purpose, Drupal provides two pre-installed themes. The default theme Olivero and the ad­min­is­tra­tion theme Claro offer every­thing you need to start managing your project and creating your first Drupal pages. Al­ter­na­tive­ly, you can choose from hundreds of free Drupal themes in the Drupal Theme Repos­i­to­ry, download, and add them to your Drupal in­stal­la­tion. Unlike other CMS, Drupal does not offer an in­te­grat­ed in­stal­la­tion manager for this purpose, so you need to manually move the theme to your web storage. The target directory is as follows:

/drupal/website-name/themes

Once you’ve moved the theme to the web storage, it can be installed via the backend of the content man­age­ment system. To do this, open the “Ap­pear­ance” menu and scroll down to the section “Unin­stalled Themes”:

Image: Appearance menu in Drupal
Under “Unin­stalled Themes”, all imported Drupal themes that are not installed are listed – such as the default demon­stra­tion theme Stark.

Click on “Install and set as default” for the desired theme to install the template and choose it as the default for your Drupal pages. Finally, press “Save con­fig­u­ra­tion” to confirm the template change.

Step 5: Create Drupal pages

After you’ve completed the steps of backend con­fig­u­ra­tion, user man­age­ment, and layout selection, you now have the perfect foun­da­tion to start creating your Drupal website. The first step is, of course, creating new pages that can be filled with text, images, and videos. To create a new Drupal page, first go to the “Content” menu and click on “Add content”:

Image: Drupal “Content” menu, allowing you to create a new page
Created Drupal pages are listed in the “Content” menu and can also be edited later.

By default, Drupal provides two different types of pages:

  • Select the type “Basic page” for all web pages with static content, such as the “About Us” page or the Privacy Policy.
  • Use “Article” for all pages with dynamic, time-sensitive content, such as blog posts, news pages, or press releases.

Simply click on the re­spec­tive button to start creating a page of the desired type.

With both types of pages, you have the op­por­tu­ni­ty…

  • to choose a page title,
  • to insert text and
  • to make initial menu and URL settings.

Exclusive features of the article pages include settings for comments, the ap­pli­ca­tion of tags, and the des­ig­na­tion of an article image. Drupal requires only a page title as mandatory in­for­ma­tion for both basic pages and articles. With a click on “Save,” the new Drupal page can finally be created.

Image: Menu “Create Basic page” in Drupal
Check “Published” if you want to publish the currently edited Drupal page im­me­di­ate­ly.

If you want to publish content on the website, check the ap­pro­pri­ate page in the page listing in the “Content” menu and select the desired pub­li­ca­tion option. Then, click on “Apply to selected items”:

Image: Selected Drupal test page in the “Content” menu
You can also apply an action to multiple Drupal pages si­mul­ta­ne­ous­ly by checking all the desired pages.

Step 6: Insert images

If you want to add images to a text on your newly created Drupal website, open the edit editor for the re­spec­tive page. Simply search for this page in the “Content” menu and then click “Edit.” You will have the same settings options as when creating the page and thereby also access to the WYSIWYG Editor. With this, you can format the page text as in a regular text editor by using the toolbar to apply bold, italics, headings, or bullet points. Ad­di­tion­al­ly, you can in­cor­po­rate photos and images. To do this, first click on the image icon:

Image: Drupal Editor: “Upload image from computer”
By clicking the button with the same name, you can view the source code in the Drupal editor at any time.

Specify the location of the image you want to embed on your Drupal page. Then, draft an al­ter­na­tive text that will be displayed to website visitors if they cannot see the image. A menu follows where you can set the alignment of the photo or graphic. Also, enable the table header so you can add a suitable caption under the image:

Image: Drupal text with inserted image
If you align an image to the left or right, you can place text beside the image (as long as the image does not take up the full pixel width).

The Drupal editor also allows you to create links by first clicking on the chain icon and entering the desired target URL. Then confirm the link by clicking the green check mark or pressing the Enter key.

Image: Create Link in Drupal
Using the link button in the editor allows you to remove inserted links at any time.

For internal linking, the standard method of linking is somewhat cum­ber­some, which is why there are various add-on modules that sig­nif­i­cant­ly simplify the procedure. We recommend the Linkit module, which is com­pat­i­ble with current Drupal versions. Download the ap­pro­pri­ate Linkit file and transfer the module (as with theme in­stal­la­tion) to your webspace. In this case, the target directory is:

/drupal/website-name/modules

Open the “Extend” menu and scroll to the “User interface” section, where you can now select the Linkit module. Then scroll to the bottom of the page and click “Install”.

Go to Main Menu