{"id":2570,"date":"2022-10-02T08:05:46","date_gmt":"2022-06-27T03:53:27","guid":{"rendered":""},"modified":"2025-02-02T00:46:18","modified_gmt":"2025-02-01T23:46:18","slug":"how-to-install-drupal-9-with-nginx-and-let-039-s-encrypt-ssl-on-debian-10","status":"publish","type":"post","link":"https:\/\/netcloud24.com\/knowledgebase\/how-to-install-drupal-9-with-nginx-and-let-039-s-encrypt-ssl-on-debian-10\/","title":{"rendered":"Linux VPS &#038; VPS Windows Setup Guide | NetCloud24 Drupal 9 with Nginx and Let&#039;s Encrypt SSL on Debian 10"},"content":{"rendered":"<p>\u00a0<\/p>\n<\/p>\n<h1>\u00a0<\/h1>\n<p>Drupal is a powerful content management system (CMS) used to build flexible and robust websites. In this guide, we will walk you through how to install Drupal 9 with Nginx and Let&#8217;s Encrypt SSL on Debian 10. This setup provides a secure and high-performance environment for hosting your Drupal site, whether you&#8217;re using a  or other VPS hosting solutions.<\/p>\n<h2>Prerequisites<\/h2>\n<p>Before you begin, ensure you have the following:<\/p>\n<ul>\n<li>A Debian 10 server, which could be hosted on a <a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\" rel=\"follow\">UK Windows VPS<\/a> or other <a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\" rel=\"follow\">Windows VPSVirtual Private Server Hosting<\/a> environment.<\/li>\n<li>A domain name pointing to your server\u2019s IP address.<\/li>\n<li>Root or sudo privileges.<\/li>\n<\/ul>\n<h2>Step 1: Update Your System<\/h2>\n<p>As always, start by updating your package list to ensure that all installed software is up to date. Run the following commands:<\/p>\n<pre><code>sudo apt update &amp;&amp; sudo apt upgrade<\/code><\/pre>\n<h2>Step 2: Install Nginx and PHP<\/h2>\n<p>Next, install the Nginx web server and the necessary PHP modules for running Drupal 9:<\/p>\n<pre><code>sudo apt install nginx php-fpm php-mysql php-xml php-json php-gd php-curl php-mbstring php-zip php-opcache php-xmlrpc<\/code><\/pre>\n<p>After the installation, start and enable Nginx:<\/p>\n<pre><code>sudo systemctl start nginx\r\nsudo systemctl enable nginx<\/code><\/pre>\n<h2>Step 3: Install and Configure MySQL<\/h2>\n<p>Drupal requires a database to store its data. Install MySQL using the following command:<\/p>\n<pre><code>sudo apt install mysql-server<\/code><\/pre>\n<p>Once installed, secure your MySQL installation by running:<\/p>\n<pre><code>sudo mysql_secure_installation<\/code><\/pre>\n<p>Follow the prompts to set up a secure MySQL environment. After securing MySQL, log in and create a database for Drupal:<\/p>\n<pre><code>sudo mysql -u root -p\r\nCREATE DATABASE drupaldb;\r\nCREATE USER 'drupaluser'@'localhost' IDENTIFIED BY 'your_password';\r\nGRANT ALL PRIVILEGES ON drupaldb.* TO 'drupaluser'@'localhost';\r\nFLUSH PRIVILEGES;\r\nEXIT;<\/code><\/pre>\n<h2>Step 4: Download and Configure Drupal 9<\/h2>\n<p>Now, download the latest version of Drupal 9. You can do this by navigating to the web root and downloading Drupal:<\/p>\n<pre><code>cd \/var\/www\r\nsudo wget https:\/\/www.drupal.org\/download-latest\/tar.gz -O drupal.tar.gz\r\nsudo tar -xvzf drupal.tar.gz\r\nsudo mv drupal-* drupal<\/code><\/pre>\n<p>Next, set the correct file permissions for Drupal to ensure that Nginx and PHP can access the necessary files:<\/p>\n<pre><code>sudo chown -R www-data:www-data \/var\/www\/drupal\r\nsudo chmod -R 755 \/var\/www\/drupal<\/code><\/pre>\n<h2>Step 5: Configure Nginx for Drupal<\/h2>\n<p>Create a new Nginx configuration file for your Drupal site:<\/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 name:<\/p>\n<pre><code>server {\r\n    listen 80;\r\n    server_name your-domain.com;\r\n    root \/var\/www\/drupal;\r\n\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.3-fpm.sock;\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 site and restart Nginx:<\/p>\n<pre><code>sudo ln -s \/etc\/nginx\/sites-available\/drupal \/etc\/nginx\/sites-enabled\/\r\nsudo systemctl restart nginx<\/code><\/pre>\n<h2>Step 6: Install Let&#8217;s Encrypt SSL<\/h2>\n<p>To secure your site with SSL, you can use Let&#8217;s Encrypt, a free and open certificate authority. First, install Certbot, the Let&#8217;s Encrypt client:<\/p>\n<pre><code>sudo apt install certbot python3-certbot-nginx<\/code><\/pre>\n<p>Next, obtain an SSL certificate for your domain:<\/p>\n<pre><code>sudo certbot --nginx -d your-domain.com<\/code><\/pre>\n<p>Follow the prompts to complete the SSL certificate installation. Certbot will automatically configure Nginx to use the SSL certificate. After that, you can verify that SSL is working by visiting your site using <code>https:\/\/your-domain.com<\/code>.<\/p>\n<h2>Step 7: Complete the Drupal Installation<\/h2>\n<p>Now, visit your domain in a web browser to complete the Drupal setup. Navigate to <code>http:\/\/your-domain.com<\/code>, and you will see the Drupal installation wizard. Follow the prompts to connect to the database you created earlier and complete the installation.<\/p>\n<h2>Conclusion<\/h2>\n<p>By following these steps, you have successfully installed Drupal 9 with Nginx and Let&#8217;s Encrypt SSL on Debian 10. This setup ensures that your site is secure and optimized for performance. Whether you&#8217;re hosting your Drupal site on a  or another <a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\" rel=\"follow\">Windows VPS Hosting UK<\/a> solution, this guide will help you get started with your Drupal project.<\/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 powerful content management system (CMS) used to build flexible and robust websites. 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-2570","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\/2570","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=2570"}],"version-history":[{"count":0,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/2570\/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=2570"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/categories?post=2570"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/tags?post=2570"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}