Drupal is a powerful, flexible, and open-source content management system used to build everything from personal websites and community portals to large enterprise platforms. Known for its strong security, extensive customization options, and ability to handle complex content structures, Drupal is an excellent choice for developers and organizations that need more control than a typical website builder can provide.
In this guide, we’ll walk through how to install Drupal on Ubuntu 26.04 LTS using the Apache web server, PHP, and a database backend. We’ll cover the complete process, from updating the server and installing the required packages to configuring Apache, setting up the database, completing the Drupal web installer, and securing the site with HTTPS.
By the end of this tutorial, you’ll have a fully functional Drupal website running on your own Ubuntu 26.04 server, giving you complete control over your hosting environment, configuration, and future site expansion.
Commands
apt update -y && apt upgrade -y
apt install apache2 -y
systemctl start apache2 && systemctl enable apache2
systemctl status apache2
apt install php php-cli php-fpm php-curl php-mysqlnd php-gd php-readline php-mbstring php-apcu php-xml php-dom php-zip php-intl php-common php-bcmath php-json -y
apt install mariadb-server -y
systemctl start mariadb && systemctl enable mariadb
systemctl status mariadb
CREATE DATABASE drupaldb;
CREATE USER ‘drupaluser’@’localhost’ IDENTIFIED BY ‘YourStrongPasswordHere’;
GRANT ALL ON drupaldb.* TO ‘drupaluser’@’localhost’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
=================================================================================
cd /var/www/html wget https://ftp.drupal.org/files/projects/drupal-10.6.7.zip unzip drupal-10.6.7.zip mv drupal-10.6.7/ drupal/ rm drupal-10.6.7.zip ===================================================================================
chown -R www-data:www-data /var/www/html/drupal/ cd /var/www/html/drupal/ cp sites/default/default.settings.php sites/default/settings.php find . -type d -exec chmod 755 {} \; find . -type f -exec chmod 644 {} \; ================================================================================= sudo touch /etc/apache2/sites-available/drupal.conf =================================================================================
<VirtualHost *:80> ServerName yourdomain.com DocumentRoot /var/www/html/drupal <Directory /var/www/html/drupal> AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> ================================================================================= sudo a2enmod rewritesudo a2ensite drupal.conf apachectl -t systemctl restart apache2 apt install libapache2-mod-php8.5 a2enmod php8.5 systemctl restart apache2
cp sites/default/default.settings.php sites/default/settings.php
chown www-data:www-data sites/default/settings.php
chmod 664 sites/default/settings.php
mkdir -p sites/default/files
chown -R www-data:www-data sites/default/files
chmod 775 sites/default/files
chmod 444 sites/default/settings.php
apt install snapd
snap install core
snap refresh core
snap install –classic certbot
ln -s /snap/bin/certbot /usr/local/bin/certbot
VIDEO:
https://www.youtube.com/watch?v=5WWORkb8Xrg&t=3s



