{"id":1940,"date":"2025-09-24T14:22:52","date_gmt":"2022-02-10T18:21:06","guid":{"rendered":""},"modified":"2025-02-02T00:46:17","modified_gmt":"2025-02-01T23:46:17","slug":"how-to-install-drupal-with-nginx-and-let-039-s-encrypt-ssl-on-ubuntu-22-04","status":"publish","type":"post","link":"https:\/\/netcloud24.com\/knowledgebase\/how-to-install-drupal-with-nginx-and-let-039-s-encrypt-ssl-on-ubuntu-22-04\/","title":{"rendered":"Linux VPS &#038; VPS Windows Setup Guide | NetCloud24 Drupal with Nginx and Let&#039;s Encrypt SSL on Ubuntu 22.04"},"content":{"rendered":"<p>\u00a0<\/p>\n<\/p>\n<h1>\u00a0<\/h1>\n<p>Drupal is a popular open-source content management system (CMS) known for its flexibility and scalability. In this guide, we will walk you through how to install Drupal with Nginx and secure it using Let&#8217;s Encrypt SSL on Ubuntu 20.04 LTS. Whether you&#8217;re hosting your website on a  or any other VPS platform, this setup will help you build a secure and reliable Drupal website.<\/p>\n<h2>Prerequisites<\/h2>\n<p>Before you begin, ensure you have the following:<\/p>\n<ul>\n<li>An Ubuntu 20.04 LTS server, which could be hosted on a <a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\" rel=\"follow\">UK Windows VPS<\/a>, <a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\" rel=\"follow\">Windows VPSVirtual Private Servers<\/a>, or another <a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\" rel=\"follow\">Windows VPS Hosting UK<\/a> solution.<\/li>\n<li>A domain name pointed to your server&#8217;s IP address.<\/li>\n<li>Root or sudo privileges on your server.<\/li>\n<\/ul>\n<h2>Step 1: Update Your System<\/h2>\n<p>Before installing any software, make sure your system is up to date:<\/p>\n<pre><code>sudo apt update &amp;&amp; sudo apt upgrade -y<\/code><\/pre>\n<h2>Step 2: Install Nginx<\/h2>\n<p>Install Nginx, which will serve as the web server for your Drupal site:<\/p>\n<pre><code>sudo apt install nginx -y<\/code><\/pre>\n<p>Start and enable Nginx to run at boot:<\/p>\n<pre><code>sudo systemctl start nginx\r\nsudo systemctl enable nginx<\/code><\/pre>\n<h2>Step 3: Install PHP and Required Extensions<\/h2>\n<p>Drupal requires PHP and specific PHP extensions to run. Install PHP 7.4 and the necessary extensions:<\/p>\n<pre><code>sudo apt install php-fpm php-mysql php-xml php-gd php-curl php-json php-mbstring php-zip php-xmlrpc -y<\/code><\/pre>\n<h2>Step 4: Install MariaDB (or MySQL)<\/h2>\n<p>Drupal requires a database to store its content. Install MariaDB (or MySQL) using the following command:<\/p>\n<pre><code>sudo apt install mariadb-server -y<\/code><\/pre>\n<p>Once installed, secure your MariaDB installation:<\/p>\n<pre><code>sudo mysql_secure_installation<\/code><\/pre>\n<p>Log in to MariaDB and create a database and user for Drupal:<\/p>\n<pre><code>sudo mysql -u root -p\r\nCREATE DATABASE drupal;\r\nCREATE USER 'drupaluser'@'localhost' IDENTIFIED BY 'your_password';\r\nGRANT ALL PRIVILEGES ON drupal.* TO 'drupaluser'@'localhost';\r\nFLUSH PRIVILEGES;\r\nEXIT;<\/code><\/pre>\n<h2>Step 5: Download and Install Drupal<\/h2>\n<p>Navigate to your web root directory and download the latest version of Drupal:<\/p>\n<pre><code>cd \/var\/www\/html\r\nsudo wget https:\/\/ftp.drupal.org\/files\/projects\/drupal-9.3.0.tar.gz<\/code><\/pre>\n<p>Extract the Drupal archive and move the extracted files to a new directory:<\/p>\n<pre><code>sudo tar -zxvf drupal-9.3.0.tar.gz\r\nsudo mv drupal-9.3.0 drupal<\/code><\/pre>\n<p>Set the correct ownership and permissions for the Drupal files:<\/p>\n<pre><code>sudo chown -R www-data:www-data \/var\/www\/html\/drupal\r\nsudo chmod -R 755 \/var\/www\/html\/drupal<\/code><\/pre>\n<h2>Step 6: Configure Nginx for Drupal<\/h2>\n<p>Create a new Nginx configuration file for Drupal:<\/p>\n<pre><code>sudo nano \/etc\/nginx\/sites-available\/drupal<\/code><\/pre>\n<p>Add the following configuration, replacing <code>your-domain.com<\/code> with your actual domain:<\/p>\n<pre><code>server {\r\n    listen 80;\r\n    server_name your-domain.com www.your-domain.com;\r\n    root \/var\/www\/html\/drupal;\r\n    index index.php index.html index.htm;\r\n\r\n    location \/ {\r\n        try_files $uri \/index.php?$query_string;\r\n    }\r\n\r\n    location ~ \\.php$ {\r\n        include snippets\/fastcgi-php.conf;\r\n        fastcgi_pass unix:\/var\/run\/php\/php7.4-fpm.sock;\r\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\r\n        include fastcgi_params;\r\n    }\r\n\r\n    location ~ \/\\.ht {\r\n        deny all;\r\n    }\r\n}<\/code><\/pre>\n<p>Save and close the file, then enable the configuration by creating a symbolic link:<\/p>\n<pre><code>sudo ln -s \/etc\/nginx\/sites-available\/drupal \/etc\/nginx\/sites-enabled\/<\/code><\/pre>\n<p>Test the Nginx configuration and restart the service:<\/p>\n<pre><code>sudo nginx -t\r\nsudo systemctl restart nginx<\/code><\/pre>\n<h2>Step 7: Secure Drupal with Let&#8217;s Encrypt SSL<\/h2>\n<p>To secure your Drupal site, use Let&#8217;s Encrypt SSL. First, install Certbot:<\/p>\n<pre><code>sudo apt install certbot python3-certbot-nginx -y<\/code><\/pre>\n<p>Obtain an SSL certificate by running the following command:<\/p>\n<pre><code>sudo certbot --nginx -d your-domain.com -d www.your-domain.com<\/code><\/pre>\n<p>Follow the on-screen instructions to complete the process. Certbot will automatically configure Nginx to use SSL.<\/p>\n<h2>Step 8: Complete Drupal Installation<\/h2>\n<p>Now that Nginx and SSL are configured, open your web browser and navigate to <code>https:\/\/your-domain.com<\/code> to complete the Drupal installation via the web interface. Enter your database details and set up your Drupal site.<\/p>\n<h2>Conclusion<\/h2>\n<p>By following these steps, you have successfully installed Drupal with Nginx and secured it with Let&#8217;s Encrypt SSL on Ubuntu 20.04 LTS. Whether you are hosting your Drupal website on a , <a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\" rel=\"follow\">Microsoft SQL VPS Windows<\/a>, or another <a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\" rel=\"follow\">Windows VPSVirtual Private Server Hosting<\/a> solution, this setup ensures your site is fast, secure, and scalable.<\/p>\n<footer>\n<p>For more VPS hosting options, visit . They offer a variety of <a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\" rel=\"follow\">Windows VPSVirtual Private Servers<\/a> and <a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\" rel=\"follow\">Windows VPS Hosting UK<\/a> solutions tailored to your needs.<\/p>\n<\/footer>\n<div class=\"post-author-box\" style=\"border-top:1px solid #ddd;margin-top:20px;padding-top:15px;\">\n<p><strong>Author:<\/strong> \u0141ukasz Bodziony<\/p>\n<p><strong>Website:<\/strong> <a href=\"https:\/\/ca.netcloud24.com\" target=\"_blank\" rel=\"dofollow\">Windows VPS<\/a><\/p>\n<p><em>\u0141ukasz Bodziony is the CEO and founder of <a href=\"https:\/\/netcloud24.com\" target=\"_blank\" rel=\"dofollow\">NETCLOUD24<\/a>, a global VPS hosting brand proudly originating from Poland. With extensive experience in cloud computing, virtualization, and server management, he delivers high-performance <strong>Windows VPS<\/strong> and <strong>Remote Desktop Services (RDS)<\/strong> solutions to clients across Europe, North America, and beyond.<\/em><\/p>\n<p><em>His expertise covers a wide range of technologies, including <strong>Microsoft Azure<\/strong>, <strong>Proxmox VE<\/strong>, <strong>Amazon Web Services (AWS)<\/strong>, and numerous other virtualization and cloud platforms.<\/em><\/p>\n<p><em>Beyond running his hosting business, \u0141ukasz also provides <strong>professional paid server configuration and optimization services<\/strong> for companies and individuals. Outside of work, he is dedicated to caring for his children and building a secure future for them.<\/em><\/p>\n<p><em>If you are interested in working with him or need expert assistance with your hosting, cloud environment, or server setup, feel free to reach out via <a href=\"https:\/\/ca.netcloud24.com\" target=\"_blank\" rel=\"dofollow\">Windows VPS<\/a>.<\/em><\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0 \u00a0 Drupal is a popular open-source content management system (CMS) known for its flexibility and scalability. In this guide, we will walk you through how to install\u2026<\/p>\n","protected":false},"author":1,"featured_media":3421,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[],"tags":[14,12,11,23,20,21,22,17,7,8,6,10,18,19,15,24,16,5,13,9],"class_list":["post-1940","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-cheapvps","tag-cloudvps","tag-hostingvps","tag-rds","tag-rdscal","tag-remotedesktop","tag-remotedesktopvps","tag-servervps","tag-ukvps","tag-virtualserver","tag-vpshosting","tag-vpsserver","tag-vpssolutions","tag-vpswindows","tag-vpswithwindows","tag-windowsrds","tag-windowsserver","tag-windowsvps","tag-windowsvpshosting","tag-windowsvpsuk"],"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1940","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/comments?post=1940"}],"version-history":[{"count":0,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1940\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/media\/3421"}],"wp:attachment":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/media?parent=1940"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/categories?post=1940"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/tags?post=1940"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}