← All courses

Training

Drupal Technical Essentials

Drupal Technical Essentials

2-days of thorough and intensive training including DevOps

Among the many content management systems (CMS) available, Drupal stands out for its robustness, flexibility, and scalability. Whether you're a web developer, designer, or a content creator, mastering Drupal can significantly enhance your ability to create and manage sophisticated web applications.

This course, "Drupal Essentials," is designed to take you from the basics of installation on a Linux (Ubuntu) remote server to deploying real-life web apps on live servers. By the end of this course, you will be well-equipped to leverage Drupal's powerful features to build and maintain dynamic websites and applications.

Learning Outcomes

By the end of this course, participants will be able to:

  • Understand the fundamentals of Drupal and its ecosystem.
  • Install and configure Drupal on a Linux (Ubuntu) remote server.
  • Set up and use VS Code with remote SSH for Drupal development.
  • Build and customize Drupal websites using core and contributed modules.
  • Implement themes to enhance the appearance of Drupal sites.
  • Deploy Drupal applications on live servers.
  • Manage and maintain Drupal websites, ensuring security and performance.

Prerequisites

To get the most out of this course, participants should have:

  • Basic knowledge of web development (HTML, CSS, JavaScript).
  • Familiarity with PHP and MySQL.
  • Understanding of basic Linux commands and server management.
  • An SSH client installed on their local machine.
  • A remote Linux (Ubuntu) server for installation and practice.

Training Outline

  1. Introduction to Drupal
    1. Overview of Content Management Systems (CMS)
    2. History and Evolution of Drupal
    3. Key Features and Benefits of Drupal
    4. Comparison with Other CMS Platforms
  2. Setting Up the Development Environment
    1. Preparing the Remote Linux (Ubuntu) Server
      1. Updating and Upgrading the Server
      2. Installing Apache/Nginx, PHP, and MySQL/MariaDB
    2. Configuring SSH Access
      1. Generating SSH Keys
      2. Configuring the SSH Daemon
      3. Connecting to the Remote Server via SSH
  3. Installing Drupal on Ubuntu
    1. Downloading Drupal
      1. Official Drupal Website and Versions
      2. Using Drush to Download Drupal
    2. Setting Up the Database
      1. Creating a MySQL/MariaDB Database and User
      2. Configuring Database Permissions
    3. Configuring the Web Server
      1. Setting Up Apache/Nginx Virtual Hosts
      2. Modifying Configuration Files
      3. Restarting the Web Server
    4. Completing the Drupal Installation
      1. Running the Drupal Installer
      2. Configuring Site Settings and Administrator Account
  4. Setting Up VS Code for Remote Development
    1. Installing the Remote Development Extensions in VS Code
    2. Connecting VS Code to the Remote Server via SSH
      1. Configuring SSH in VS Code
      2. Exploring the Remote Server Filesystem
    3. Setting Up the Drupal Project in VS Code
      1. Opening the Drupal Project Folder
      2. Configuring VS Code Settings for Drupal Development
  5. Building and Customizing Drupal Websites
    1. Understanding Drupal Core and Contributed Modules
      1. Introduction to Modules and Their Functions
      2. Installing and Enabling Modules
    2. Creating and Managing Content Types
      1. Understanding Content Types and Fields
      2. Creating Custom Content Types
      3. Managing Content Type Fields and Settings
    3. Setting Up Taxonomy for Content Organization
      1. Creating Vocabularies and Terms
      2. Assigning Taxonomy to Content
    4. User Management and Permissions
      1. Creating and Managing User Accounts
      2. Configuring Roles and Permissions
      3. Implementing Access Control
  6. Theming in Drupal
    1. Overview of Drupal Themes
      1. Core vs. Contributed Themes
      2. Finding and Installing Themes
    2. Customizing Themes
      1. Modifying Theme Settings
      2. Overriding Templates and Styles
    3. Creating Custom Themes
      1. Understanding the Theme Structure
      2. Creating a Custom Theme from Scratch
      3. Using Twig Templates for Theming
  7. Deploying Drupal Applications
    1. Preparing for Deployment
      1. Setting Up a Staging Environment
      2. Testing the Site on the Staging Server
    2. Migrating from Development to Production
      1. Exporting and Importing the Database
      2. Transferring Files and Configuration
    3. Configuring the Live Server
      1. Optimizing Server Settings for Drupal
      2. Setting Up Domain Names and SSL Certificates
  8. Managing and Maintaining Drupal Websites
    1. Regular Maintenance Tasks
      1. Backing Up the Database and Files
      2. Updating Drupal Core and Modules
      3. Monitoring Site Performance and Security
    2. Security Best Practices
      1. Configuring Secure User Roles and Permissions
      2. Applying Security Updates and Patches
      3. Implementing Web Application Firewalls (WAF)
  9. Advanced Topics (Optional)
    1. Integrating Third-Party Services and APIs
    2. Creating and Using Custom Modules
    3. Performance Optimization Techniques
    4. Multilingual Sites and Internationalization

This comprehensive outline covers all the essential aspects of Drupal development, from initial setup to deploying and maintaining live applications. Each topic is designed to build on the previous one, ensuring a smooth and thorough learning experience.

Practical, connected learning

My wider training approach brings hands-on implementation and systems thinking together, connecting technology with real operational needs.