{"id":51207,"date":"2025-04-07T10:01:50","date_gmt":"2025-04-07T10:01:50","guid":{"rendered":"https:\/\/accuweb.cloud\/resource\/?post_type=faq&#038;p=51207"},"modified":"2026-02-17T13:13:26","modified_gmt":"2026-02-17T13:13:26","slug":"deploy-django-app-on-ubuntu","status":"publish","type":"faq","link":"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu","title":{"rendered":"How to deploy a Django Application on Ubuntu?"},"content":{"rendered":"<h2 class=\"ack-h2\">How to deploy a Django Application on Ubuntu?<\/h2>\n<p>Django is a Python tool that makes it easy and fast to build safe websites without doing a lot of work yourself.. It has many ready-to-use features, so you don\u2019t need to start from zero.<\/p>\n<p>It started in 2003 and became open-source in 2005. Today, it\u2019s one of the most popular ways to make websites using Python.<\/p>\n<p>Django follows the Model-View-Template (MVT) pattern and includes features like login systems, database handling, and built-in security.<\/p>\n<div class=\"main-tooltip-btn\"><a class=\"tooltip-link\" href=\"https:\/\/accuweb.cloud\/application\/python-hosting\" target=\"_blank\" rel=\"noopener\"><button class=\"tooltip-btn\">Python Hosting <i class=\"fa-solid fa-arrow-right-long\"><\/i><br \/>\n<\/button><\/a><\/div>\n<h2 class=\"ack-h2\">Why Use Django?<\/h2>\n<p>Fast Development \u2013 Helps build web apps quickly with reusable parts.<\/p>\n<p>Secure \u2013 Protects against common security threats.<\/p>\n<p>Scalable \u2013 Works well for big platforms like Instagram and Spotify.<\/p>\n<p>Versatile \u2013 Used for websites, APIs, and AI applications.<\/p>\n<p>In this article, we will learn how to deploy a Django application on Ubuntu. Here, we have chosen Ubuntu 22.04 OS to deploy the Django project.<\/p>\n<h3 class=\"ack-h3\">Set up Python 3 Tools and libraries<\/h3>\n<p>Ubuntu 22.04 and other Debian-based Linux versions already come with Python 3 installed. But to make sure everything is up to date, first refresh your system&#8217;s package list by running:<\/p>\n<pre><code class=\"language-javascript\"><b>apt update<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-01-04-04-2025_12_16_PM.png\"><img fetchpriority=\"high\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51209 size-full\" title=\"Refresh your system's package\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-01-04-04-2025_12_16_PM.png\" alt=\"Refresh your system's package\" width=\"902\" height=\"444\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-01-04-04-2025_12_16_PM.png 902w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-01-04-04-2025_12_16_PM-300x148.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-01-04-04-2025_12_16_PM-768x378.png 768w\" sizes=\"(max-width: 902px) 100vw, 902px\" \/><\/a><\/p>\n<p>Then update all installed packages:<\/p>\n<pre><code class=\"language-javascript\"><b>apt upgrade<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-02-04-04-2025_12_17_PM.png\"><img decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51210 size-full\" title=\"Update all installed packages\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-02-04-04-2025_12_17_PM.png\" alt=\"Update all installed packages\" width=\"916\" height=\"717\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-02-04-04-2025_12_17_PM.png 916w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-02-04-04-2025_12_17_PM-300x235.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-02-04-04-2025_12_17_PM-768x601.png 768w\" sizes=\"(max-width: 916px) 100vw, 916px\" \/><\/a><\/p>\n<p>The <strong>-y<\/strong> option automatically answers &#8220;yes&#8221; to every question. Depending on your Linux version, you might still need to confirm a few things during the upgrade.<\/p>\n<p>Once that\u2019s done, you can check your Python 3 version with:<\/p>\n<pre><code class=\"language-javascript\"><b>python3 -V<\/b><\/code><\/pre>\n<p>You\u2019ll see something like:<\/p>\n<p>Python 3.10.12<\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/Screenshot_2025-04-02_13-01-29-04-04-2025_12_17_PM.png\"><img decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51212 size-full\" title=\"Check your Python 3 version\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/Screenshot_2025-04-02_13-01-29-04-04-2025_12_17_PM.png\" alt=\"Check your Python 3 version\" width=\"916\" height=\"222\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/Screenshot_2025-04-02_13-01-29-04-04-2025_12_17_PM.png 916w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/Screenshot_2025-04-02_13-01-29-04-04-2025_12_17_PM-300x73.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/Screenshot_2025-04-02_13-01-29-04-04-2025_12_17_PM-768x186.png 768w\" sizes=\"(max-width: 916px) 100vw, 916px\" \/><\/a><\/p>\n<p>To install Python tools and libraries, we\u2019ll need pip, which helps you add extra Python packages to your system. Install it with:<\/p>\n<pre><code class=\"language-javascript\"><b>apt install -y python3-pip<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-03-04-04-2025_12_19_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51211 size-full\" title=\"Install pip for Python tools and libraries\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-03-04-04-2025_12_19_PM.png\" alt=\"Install pip for Python tools and libraries\" width=\"909\" height=\"580\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-03-04-04-2025_12_19_PM.png 909w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-03-04-04-2025_12_19_PM-300x191.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-03-04-04-2025_12_19_PM-768x490.png 768w\" sizes=\"(max-width: 909px) 100vw, 909px\" \/><\/a><\/p>\n<p>You can now add any Python library by using:<\/p>\n<pre><code class=\"language-javascript\"><strong>pip3 install package_name<\/strong><\/code><\/pre>\n<p>For example, to install NumPy, use:<\/p>\n<pre><code class=\"language-javascript\"><b>pip3 install numpy<\/b><\/code><\/pre>\n<p>Let\u2019s also install a few more tools to make sure your programming environment is ready:<\/p>\n<pre><code class=\"language-javascript\"><b>apt install build-essential libssl-dev libffi-dev python3-dev<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-04-04-04-2025_12_20_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51213 size-full\" title=\"Install a few more tools\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-04-04-04-2025_12_20_PM.png\" alt=\"Install a few more tools\" width=\"906\" height=\"525\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-04-04-04-2025_12_20_PM.png 906w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-04-04-04-2025_12_20_PM-300x174.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-04-04-04-2025_12_20_PM-768x445.png 768w\" sizes=\"(max-width: 906px) 100vw, 906px\" \/><\/a><\/p>\n<p>After this, Python and pip will be ready to use, and you\u2019ll be all set to create a virtual environment for your development projects.<\/p>\n<h3 class=\"ack-h3\">Setting Up a Virtual Environment<\/h3>\n<p>A virtual environment lets you create a separate space on your server just for one Python project. This way, every project can have its own tools and libraries, and they won\u2019t interfere with each other.<\/p>\n<p>Using separate environments makes it easier to manage and avoid problems when different projects need different versions of the same package.<\/p>\n<p>You can create unlimited environments as you want. Each one is just a folder with some files that help it act like its own little world for Python.<\/p>\n<h4 class=\"ack-h4\">Install venv<\/h4>\n<p>We\u2019ll use Python\u2019s built-in venv tool to create environments. First, install it with:<\/p>\n<pre><code class=\"language-javascript\"><b>apt install -y python3-venv<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-05-04-04-2025_12_20_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51214 size-full\" title=\"Install venv\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-05-04-04-2025_12_20_PM.png\" alt=\"Install venv\" width=\"916\" height=\"441\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-05-04-04-2025_12_20_PM.png 916w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-05-04-04-2025_12_20_PM-300x144.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-05-04-04-2025_12_20_PM-768x370.png 768w\" sizes=\"(max-width: 916px) 100vw, 916px\" \/><\/a><\/p>\n<div class=\"article-space\"><\/div>\n\t\t<div data-elementor-type=\"section\" data-elementor-id=\"38668\" class=\"elementor elementor-38668\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\" data-elementor-post-type=\"elementor_library\">\n\t\t\t        <section class=\"elementor-section elementor-top-section elementor-element elementor-element-882321f elementor-section-boxed elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-row-max-none\" data-id=\"882321f\" data-element_type=\"section\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n            \n                        <div class=\"elementor-container elementor-column-gap-default \">\n                    <div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7cc79cc\" data-id=\"7cc79cc\" data-element_type=\"column\">\n        <div class=\"elementor-widget-wrap elementor-element-populated\">\n                    \n        \t\t<div class=\"elementor-element elementor-element-e31b40f elementor-widget elementor-widget-shortcode\" data-id=\"e31b40f\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t            <\/div>\n        <\/div>\n                    <\/div>\n        <\/section>\n        \t\t<\/div>\n\t\t\n<div class=\"article-space\"><\/div>\n<h4 class=\"ack-h4\">Create a Folder to Store Your Environments<\/h4>\n<p>You can create a folder to keep all your environments organized:<\/p>\n<pre><code class=\"language-javascript\"><b>mkdir environments<\/b><\/code><\/pre>\n<pre><code class=\"language-javascript\"><b>cd environments<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-06-04-04-2025_12_21_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51215 size-full\" title=\"Create a folder\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-06-04-04-2025_12_21_PM.png\" alt=\"Create a folder\" width=\"913\" height=\"239\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-06-04-04-2025_12_21_PM.png 913w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-06-04-04-2025_12_21_PM-300x79.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-06-04-04-2025_12_21_PM-768x201.png 768w\" sizes=\"(max-width: 913px) 100vw, 913px\" \/><\/a><\/p>\n<p>Now you&#8217;re inside the folder where you\u2019ll create your Python environments.<\/p>\n<h4 class=\"ack-h4\">Create Your Virtual Environment<\/h4>\n<p>Run this command to make a new environment named my_env:<\/p>\n<pre><code class=\"language-javascript\"><b>python3 -m venv my_env<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-07-04-04-2025_12_21_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51216 size-full\" title=\"New Environment\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-07-04-04-2025_12_21_PM.png\" alt=\"New Environment\" width=\"916\" height=\"180\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-07-04-04-2025_12_21_PM.png 916w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-07-04-04-2025_12_21_PM-300x59.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-07-04-04-2025_12_21_PM-768x151.png 768w\" sizes=\"(max-width: 916px) 100vw, 916px\" \/><\/a><\/p>\n<p>This will create a folder named my_env. You can look inside with:<\/p>\n<pre><code class=\"language-javascript\"><b>ls my_env<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-08-04-04-2025_12_21_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51217 size-full\" title=\"Create a folder\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-08-04-04-2025_12_21_PM.png\" alt=\"Create a folder\" width=\"916\" height=\"198\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-08-04-04-2025_12_21_PM.png 916w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-08-04-04-2025_12_21_PM-300x65.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-08-04-04-2025_12_21_PM-768x166.png 768w\" sizes=\"(max-width: 916px) 100vw, 916px\" \/><\/a><\/p>\n<p>You\u2019ll see some folders like bin, lib, and a file called pyvenv.cfg. These files help keep your project\u2019s settings and packages separate from the rest of the system.<\/p>\n<h4 class=\"ack-h4\">Activate the Environment<\/h4>\n<p>To start using your new environment, run:<\/p>\n<pre><code class=\"language-javascript\"><b>source my_en v\/bin\/activate<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-09-04-04-2025_12_22_PM-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51222 size-full\" title=\"Activate the Environment\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-09-04-04-2025_12_22_PM-1.png\" alt=\"Activate the Environment\" width=\"918\" height=\"182\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-09-04-04-2025_12_22_PM-1.png 918w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-09-04-04-2025_12_22_PM-1-300x59.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-09-04-04-2025_12_22_PM-1-768x152.png 768w\" sizes=\"(max-width: 918px) 100vw, 918px\" \/><\/a><\/p>\n<p>You\u2019ll notice your command line now starts with (my_env) \u2014 this means the environment is active.<\/p>\n<p>Now, any Python or pip commands you run will only apply inside this environment, not system-wide.<\/p>\n<p>Now your virtual environment is ready, and you can install whatever Python packages you need without affecting other projects or the system.<\/p>\n<h3 class=\"ack-h3\">Install and configure Apache<\/h3>\n<p>Apache is one of the most popular web servers in the world. It\u2019s used to host websites and web apps. It has strong features like handling different media types, adding modules easily, and working well with other software..<\/p>\n<p>Ubuntu makes it easy to install Apache using built-in tools.<\/p>\n<p>First, update your package list:<\/p>\n<pre><code class=\"language-javascript\"><b>apt update<\/b><\/code><\/pre>\n<p>Then install Apache:<\/p>\n<pre><code class=\"language-javascript\"><b>apt install apache2<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-10-04-04-2025_12_23_PM-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51223 size-full\" title=\"Install Apache\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-10-04-04-2025_12_23_PM-1.png\" alt=\"Install Apache\" width=\"911\" height=\"540\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-10-04-04-2025_12_23_PM-1.png 911w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-10-04-04-2025_12_23_PM-1-300x178.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-10-04-04-2025_12_23_PM-1-768x455.png 768w\" sizes=\"(max-width: 911px) 100vw, 911px\" \/><\/a><\/p>\n<p>After you confirm, Ubuntu will install Apache and everything it needs to run.<\/p>\n<h3 class=\"ack-h3\">Set Up a Virtual Host for Your Website (Recommended)<\/h3>\n<p>When you&#8217;re using the Apache web server, virtual hosts help you manage multiple websites on the same server \u2014 kind of like Nginx server blocks. Each site can have its own settings and files.<\/p>\n<p>Let\u2019s set up a virtual host for your website. In this example, we&#8217;ll use your_domain, but you should replace that with your actual domain name (like example.com).<\/p>\n<p><strong>1.<\/strong> <b>Create a Website Directory<\/b><\/p>\n<p>Apache is set to serve files from \/var\/www\/html by default. But if you want to host multiple sites, it\u2019s better to create a separate folder for each one.<\/p>\n<p>Create a new folder:<\/p>\n<pre><code class=\"language-javascript\"><b>mkdir \/var\/www\/your_domain<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-11-04-04-2025_12_28_PM-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51224 size-full\" title=\"Create a new folder\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-11-04-04-2025_12_28_PM-1.png\" alt=\"Create a new folder\" width=\"914\" height=\"231\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-11-04-04-2025_12_28_PM-1.png 914w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-11-04-04-2025_12_28_PM-1-300x76.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-11-04-04-2025_12_28_PM-1-768x194.png 768w\" sizes=\"(max-width: 914px) 100vw, 914px\" \/><\/a><\/p>\n<p>Then give yourself permission to edit it:<\/p>\n<pre><code class=\"language-javascript\"><b>chown -R $USER:$USER \/var\/www\/your_domain<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-12-04-04-2025_12_29_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51225 size-full\" title=\"Give permission\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-12-04-04-2025_12_29_PM.png\" alt=\"Give permission\" width=\"916\" height=\"212\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-12-04-04-2025_12_29_PM.png 916w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-12-04-04-2025_12_29_PM-300x69.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-12-04-04-2025_12_29_PM-768x178.png 768w\" sizes=\"(max-width: 916px) 100vw, 916px\" \/><\/a><\/p>\n<p>Set correct permissions so Apache can read your files:<\/p>\n<pre><code class=\"language-javascript\"><b>chmod -R 755 \/var\/www\/your_domain<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-13-04-04-2025_12_29_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51226 size-full\" title=\"Set correct permissions\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-13-04-04-2025_12_29_PM.png\" alt=\"Set correct permissions\" width=\"917\" height=\"212\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-13-04-04-2025_12_29_PM.png 917w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-13-04-04-2025_12_29_PM-300x69.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-13-04-04-2025_12_29_PM-768x178.png 768w\" sizes=\"(max-width: 917px) 100vw, 917px\" \/><\/a><\/p>\n<p><strong>2.<\/strong> <b>Create a Test Web Page<\/b><\/p>\n<p>Let\u2019s add a simple HTML page to test your site:<\/p>\n<p>nano \/var\/www\/your_domain\/index.html<\/p>\n<p>Paste this into the file:<\/p>\n<pre><code class=\"language-javascript\">&lt;HTML&gt;\r\n&lt;head&gt;\r\n&lt;title&gt;Welcome to your_domain!&lt;\/title&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n&lt;h1&gt;Success! The your_domain virtual host is working!&lt;\/h1&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;<\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-14-04-04-2025_12_30_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51227 size-full\" title=\"Create a Test Web Page\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-14-04-04-2025_12_30_PM.png\" alt=\"Create a Test Web Page\" width=\"910\" height=\"545\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-14-04-04-2025_12_30_PM.png 910w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-14-04-04-2025_12_30_PM-300x180.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-14-04-04-2025_12_30_PM-768x460.png 768w\" sizes=\"(max-width: 910px) 100vw, 910px\" \/><\/a><\/p>\n<p>Save and exit the file.<\/p>\n<p>3. <b>Create a Virtual Host Config File<\/b><\/p>\n<p>Now we\u2019ll tell Apache how to serve this website by creating a new configuration file:<\/p>\n<p>nano \/etc\/apache2\/sites-available\/your_domain.conf<\/p>\n<p>Paste the following:<\/p>\n<pre><code class=\"language-javascript\">&lt;VirtualHost *:80&gt;\r\nServerAdmin webmaster@localhost\r\nServerName your_domain\r\nServerAlias www.your_domain\r\nDocumentRoot \/var\/www\/your_domain\r\nErrorLog ${APACHE_LOG_DIR}\/error.log\r\nCustomLog ${APACHE_LOG_DIR}\/access.log combined\r\n&lt;\/VirtualHost&gt;<\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-15-04-04-2025_12_30_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51228 size-full\" title=\"Create a Virtual Host Config File\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-15-04-04-2025_12_30_PM.png\" alt=\"Create a Virtual Host Config File\" width=\"919\" height=\"542\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-15-04-04-2025_12_30_PM.png 919w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-15-04-04-2025_12_30_PM-300x177.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-15-04-04-2025_12_30_PM-768x453.png 768w\" sizes=\"(max-width: 919px) 100vw, 919px\" \/><\/a><\/p>\n<div class=\"ack-formula\"><b>Note: <\/b>Here, we have commented ServerAdmin, ServerName, and ServerAlias because we want to run the website on the IP address instead of the domain name.<\/div>\n<div class=\"article-space\"><\/div>\n<p><b>ServerName<\/b> is your main domain.<\/p>\n<p><b>ServerAlias<\/b> is any other name that should point to the same site.<\/p>\n<p><b>DocumentRoot<\/b> tells Apache where your site\u2019s files are.<\/p>\n<p>Save and exit the file.<\/p>\n<p><strong>4.<\/strong> <b>Enable the Virtual Host<\/b><\/p>\n<p><strong>Enable your new site:<\/strong><\/p>\n<pre><code class=\"language-javascript\"><b>a2ensite your_domain.conf<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-16-04-04-2025_12_31_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51230 size-full\" title=\"Enable the Virtual Host\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-16-04-04-2025_12_31_PM.png\" alt=\"Enable the Virtual Host\" width=\"905\" height=\"313\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-16-04-04-2025_12_31_PM.png 905w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-16-04-04-2025_12_31_PM-300x104.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-16-04-04-2025_12_31_PM-768x266.png 768w\" sizes=\"(max-width: 905px) 100vw, 905px\" \/><\/a><\/p>\n<p><strong>Disable the default site:<\/strong><\/p>\n<pre><code class=\"language-javascript\"><b>a2dissite 000-default.conf<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-17-04-04-2025_12_32_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51231 size-full\" title=\"Disable the default site\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-17-04-04-2025_12_32_PM.png\" alt=\"Disable the default site\" width=\"915\" height=\"300\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-17-04-04-2025_12_32_PM.png 915w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-17-04-04-2025_12_32_PM-300x98.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-17-04-04-2025_12_32_PM-768x252.png 768w\" sizes=\"(max-width: 915px) 100vw, 915px\" \/><\/a><\/p>\n<p><strong>Test Apache for errors:<\/strong><\/p>\n<pre><code class=\"language-javascript\"><b>apache2ctl configtest<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-18-04-04-2025_12_32_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51232 size-full\" title=\"Test Apache for errors\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-18-04-04-2025_12_32_PM.png\" alt=\"Test Apache for errors\" width=\"912\" height=\"238\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-18-04-04-2025_12_32_PM.png 912w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-18-04-04-2025_12_32_PM-300x78.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-18-04-04-2025_12_32_PM-768x200.png 768w\" sizes=\"(max-width: 912px) 100vw, 912px\" \/><\/a><\/p>\n<p><strong>You should see:<\/strong><\/p>\n<p>Syntax OK<\/p>\n<p><strong>Now restart Apache:<\/strong><\/p>\n<pre><code class=\"language-javascript\"><strong>systemctl restart apache2<\/strong><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-19-04-04-2025_12_33_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51235 size-full\" title=\"Restart Apache\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-19-04-04-2025_12_33_PM.png\" alt=\"Restart Apache\" width=\"914\" height=\"238\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-19-04-04-2025_12_33_PM.png 914w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-19-04-04-2025_12_33_PM-300x78.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-19-04-04-2025_12_33_PM-768x200.png 768w\" sizes=\"(max-width: 914px) 100vw, 914px\" \/><\/a><\/p>\n<p><strong>5.<\/strong> <b>Test in Your Browser<\/b><\/p>\n<p>Visit http:\/\/your_domain or server-IP-address in your browser. You should see your test message:<\/p>\n<p>Success! The your_domain virtual host is working!<\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-20-04-04-2025_12_34_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51236 size-full\" title=\"Test in Your Browser\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-20-04-04-2025_12_34_PM.png\" alt=\"Test in Your Browser\" width=\"923\" height=\"468\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-20-04-04-2025_12_34_PM.png 923w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-20-04-04-2025_12_34_PM-300x152.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-20-04-04-2025_12_34_PM-768x389.png 768w\" sizes=\"(max-width: 923px) 100vw, 923px\" \/><\/a><\/p>\n<div class=\"article-space\"><\/div>\n\t\t<div data-elementor-type=\"section\" data-elementor-id=\"38668\" class=\"elementor elementor-38668\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\" data-elementor-post-type=\"elementor_library\">\n\t\t\t        <section class=\"elementor-section elementor-top-section elementor-element elementor-element-882321f elementor-section-boxed elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-row-max-none\" data-id=\"882321f\" data-element_type=\"section\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n            \n                        <div class=\"elementor-container elementor-column-gap-default \">\n                    <div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7cc79cc\" data-id=\"7cc79cc\" data-element_type=\"column\">\n        <div class=\"elementor-widget-wrap elementor-element-populated\">\n                    \n        \t\t<div class=\"elementor-element elementor-element-e31b40f elementor-widget elementor-widget-shortcode\" data-id=\"e31b40f\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t            <\/div>\n        <\/div>\n                    <\/div>\n        <\/section>\n        \t\t<\/div>\n\t\t\n<div class=\"article-space\"><\/div>\n<h3 class=\"ack-h3\">MySQL Installation and Configuration:<\/h3>\n<p>MySQL is a free database system that stores and manages data for websites and apps. It\u2019s commonly used with the LAMP stack, which stands for Linux, Apache, MySQL, and PHP\/Python\/Perl. MySQL uses SQL (Structured Query Language) to work with data.<\/p>\n<p><b>Step 1:<\/b>\u00a0 Install MySQL on Ubuntu 20.04<\/p>\n<p>To install MySQL, start by updating your package list:<\/p>\n<pre><code class=\"language-javascript\"><strong>apt update<\/strong><\/code><\/pre>\n<p>Then install MySQL with:<\/p>\n<pre><code class=\"language-javascript\"><strong>apt install mysql-server<\/strong><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-21-04-04-2025_12_34_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51237 size-full\" title=\"Install MySQL\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-21-04-04-2025_12_34_PM.png\" alt=\"Install MySQL\" width=\"927\" height=\"725\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-21-04-04-2025_12_34_PM.png 927w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-21-04-04-2025_12_34_PM-300x235.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-21-04-04-2025_12_34_PM-768x601.png 768w\" sizes=\"(max-width: 927px) 100vw, 927px\" \/><\/a><\/p>\n<p>Start the MySQL service:<\/p>\n<pre><code class=\"language-javascript\"><strong>systemctl start mysql.service<\/strong><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-22-04-04-2025_12_35_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51238 size-full\" title=\"Start the MySQL service\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-22-04-04-2025_12_35_PM.png\" alt=\"Start the MySQL service\" width=\"927\" height=\"233\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-22-04-04-2025_12_35_PM.png 927w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-22-04-04-2025_12_35_PM-300x75.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-22-04-04-2025_12_35_PM-768x193.png 768w\" sizes=\"(max-width: 927px) 100vw, 927px\" \/><\/a><\/p>\n<p>This installs and starts MySQL, but doesn\u2019t ask you to set a password yet \u2014 so let\u2019s fix that next.<\/p>\n<p><b>Step 2:<\/b> Secure Your MySQL Setup<\/p>\n<p>Run the MySQL security script to make your installation more secure:<\/p>\n<pre><code class=\"language-javascript\"><strong>mysql_secure_installation<\/strong><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-23-04-04-2025_12_35_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51240 size-full\" title=\"Secure Your MySQL Setup\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-23-04-04-2025_12_35_PM.png\" alt=\"Secure Your MySQL Setup\" width=\"960\" height=\"961\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-23-04-04-2025_12_35_PM.png 960w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-23-04-04-2025_12_35_PM-300x300.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-23-04-04-2025_12_35_PM-150x150.png 150w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-23-04-04-2025_12_35_PM-768x769.png 768w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/a><\/p>\n<p><strong>You&#8217;ll go through several questions like:<\/strong><\/p>\n<p>Do you want to set up a password checker? (optional)<\/p>\n<p>Do you want to set a root password? (yes!)<\/p>\n<p>Remove anonymous users? (yes)<\/p>\n<p>Disallow remote root login? (yes)<\/p>\n<p>Remove test database? (yes)<\/p>\n<p>Choose Y (yes) for most options unless you have a reason not to.<\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-24-04-04-2025_12_36_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51241 size-full\" title=\"Several questions\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-24-04-04-2025_12_36_PM.png\" alt=\"Several questions\" width=\"960\" height=\"1052\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-24-04-04-2025_12_36_PM.png 960w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-24-04-04-2025_12_36_PM-274x300.png 274w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-24-04-04-2025_12_36_PM-934x1024.png 934w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-24-04-04-2025_12_36_PM-768x842.png 768w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/a><\/p>\n<p><b>Step 3:<\/b> Change Root Password (Optional)<\/p>\n<p>If you want to set or change the root password manually:<\/p>\n<p>Log into MySQL:<\/p>\n<pre><code class=\"language-javascript\"><strong>mysql<\/strong><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-25-04-04-2025_12_36_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51242 size-full\" title=\"Log into MySQL\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-25-04-04-2025_12_36_PM.png\" alt=\"Log into MySQL\" width=\"958\" height=\"586\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-25-04-04-2025_12_36_PM.png 958w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-25-04-04-2025_12_36_PM-300x184.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-25-04-04-2025_12_36_PM-768x470.png 768w\" sizes=\"(max-width: 958px) 100vw, 958px\" \/><\/a><\/p>\n<p>Run this command (replace &#8216;your_password&#8217; with your real password):<\/p>\n<p>ALTER USER &#8216;root&#8217;@&#8217;localhost&#8217; IDENTIFIED WITH mysql_native_password BY &#8216;your_password&#8217;;<\/p>\n<p>Exit MySQL:<\/p>\n<pre><code class=\"language-javascript\"><strong>exit<\/strong><\/code><\/pre>\n<p><b>Step 4:<\/b> Create a New MySQL User<\/p>\n<p>Using the root user, log in:<\/p>\n<pre><code class=\"language-javascript\"><strong>mysql -u root -p<\/strong><\/code><\/pre>\n<p>Enter the password of the root user that you have set in the previous step.<\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-26-04-04-2025_12_37_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51243 size-full\" title=\"Create a New MySQL User\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-26-04-04-2025_12_37_PM.png\" alt=\"Create a New MySQL User\" width=\"957\" height=\"742\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-26-04-04-2025_12_37_PM.png 957w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-26-04-04-2025_12_37_PM-300x233.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-26-04-04-2025_12_37_PM-768x595.png 768w\" sizes=\"(max-width: 957px) 100vw, 957px\" \/><\/a><\/p>\n<p>Create a new user (replace nick and password with your values):<\/p>\n<p>CREATE USER &#8216;nick&#8217;@&#8217;localhost&#8217; IDENTIFIED BY &#8216;password&#8217;;<\/p>\n<p>Give that user permissions:<\/p>\n<p>GRANT ALL PRIVILEGES ON *.* TO &#8216;nick&#8217;@&#8217;localhost&#8217; WITH GRANT OPTION;<\/p>\n<p>Update MySQL permissions:<\/p>\n<p>FLUSH PRIVILEGES;<\/p>\n<p>Exit MySQL:<\/p>\n<pre><code class=\"language-javascript\"><strong>exit<\/strong><\/code><\/pre>\n<p>Now you can log in with your new user:<\/p>\n<pre><code class=\"language-javascript\"><strong>mysql -u nick -p<\/strong><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-27-04-04-2025_12_37_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51244 size-full\" title=\"Log in with your new user\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-27-04-04-2025_12_37_PM.png\" alt=\"Log in with your new user\" width=\"957\" height=\"536\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-27-04-04-2025_12_37_PM.png 957w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-27-04-04-2025_12_37_PM-300x168.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-27-04-04-2025_12_37_PM-768x430.png 768w\" sizes=\"(max-width: 957px) 100vw, 957px\" \/><\/a><\/p>\n<p>To create a new database, run the following command from your MySQL console:<\/p>\n<p>CREATE DATABASE database_name;<\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-28-04-04-2025_12_38_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51245 size-full\" title=\"Create a new database\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-28-04-04-2025_12_38_PM.png\" alt=\"Create a new database\" width=\"959\" height=\"612\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-28-04-04-2025_12_38_PM.png 959w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-28-04-04-2025_12_38_PM-300x191.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-28-04-04-2025_12_38_PM-768x490.png 768w\" sizes=\"(max-width: 959px) 100vw, 959px\" \/><\/a><\/p>\n<p>Exit MySQL:<\/p>\n<pre><code class=\"language-javascript\"><strong>exit<\/strong><\/code><\/pre>\n<div class=\"main-tooltip-btn\"><a class=\"tooltip-link\" href=\"https:\/\/accuweb.cloud\/database\/mysql-hosting\" target=\"_blank\" rel=\"noopener\"><button class=\"tooltip-btn\">MySQL Hosting <i class=\"fa-solid fa-arrow-right-long\"><\/i><br \/>\n<\/button><\/a><\/div>\n<h3 class=\"ack-h3\">Deploying your Django Project<\/h3>\n<p>You can deploy your Django project to your Elastic VPS from your local system or your GitHub account.<\/p>\n<p>If your project is stored on GitHub, you can download it to your VPS differently. In this guide, we\u2019ll use Git to clone the project.<\/p>\n<p><b>Step 1: <\/b>\u00a0Choose Where to Deploy<\/p>\n<p>We\u2019ll deploy the project to this folder:<\/p>\n<p>\/var\/www\/djangoapp\/<\/p>\n<p>First, go to that folder in the terminal. If the folder doesn\u2019t exist, you can create it using mkdir.<\/p>\n<p><b>Step 2:<\/b> Install Git (If Needed)<\/p>\n<p>If Git is not installed on your server, install it with:<\/p>\n<pre><code class=\"language-javascript\"><strong>apt install git<\/strong><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-29-04-04-2025_12_39_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51246 size-full\" title=\"Install Git\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-29-04-04-2025_12_39_PM.png\" alt=\"Install Git\" width=\"959\" height=\"526\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-29-04-04-2025_12_39_PM.png 959w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-29-04-04-2025_12_39_PM-300x165.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-29-04-04-2025_12_39_PM-768x421.png 768w\" sizes=\"(max-width: 959px) 100vw, 959px\" \/><\/a><\/p>\n<p><b>Step 3:<\/b> Clone Your GitHub Project<\/p>\n<p>Use this command to download your project from GitHub:<\/p>\n<pre><code class=\"language-javascript\"><strong>git clone https:\/\/github.com\/username\/repository.git<\/strong><\/code><\/pre>\n<p>Example:<\/p>\n<p>git clone <a class=\"ack-link-color\" target=\"_blank\" rel=\"noopener\" href=\"https:\/\/github.com\/ronakbediya310\/document_Qna.git\">https:\/\/github.com\/ronakbediya310\/document_Qna.git<\/a><\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-30-04-04-2025_12_40_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51247 size-full\" title=\"Clone Your GitHub Project\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-30-04-04-2025_12_40_PM.png\" alt=\"Clone Your GitHub Project\" width=\"957\" height=\"401\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-30-04-04-2025_12_40_PM.png 957w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-30-04-04-2025_12_40_PM-300x126.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-30-04-04-2025_12_40_PM-768x322.png 768w\" sizes=\"(max-width: 957px) 100vw, 957px\" \/><\/a><\/p>\n<p><b>Step 4:<\/b> Move the Project Files<\/p>\n<p>After cloning, move all the project files into the deployment folder (\/var\/www\/djangoapp\/):<\/p>\n<p>mv repository-name\/* \/var\/www\/djangoapp\/<\/p>\n<p>Replace repository-name with the name of the folder that Git created.<\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-31-04-04-2025_12_40_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51248 size-full\" title=\"Move the Project Files\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-31-04-04-2025_12_40_PM.png\" alt=\"Move the Project Files\" width=\"958\" height=\"354\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-31-04-04-2025_12_40_PM.png 958w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-31-04-04-2025_12_40_PM-300x111.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-31-04-04-2025_12_40_PM-768x284.png 768w\" sizes=\"(max-width: 958px) 100vw, 958px\" \/><\/a><\/p>\n<p><b>Step 5:<\/b> Check the Files<\/p>\n<p>To check if the files are in place, run:<\/p>\n<pre><code class=\"language-javascript\"><b>ls \/var\/www\/djangoapp\/<\/b><\/code><\/pre>\n<p>You should see your project files listed.<\/p>\n<h3 class=\"ack-h3\">Install Project Dependencies<\/h3>\n<p>You need to install a few tools and packages to run your Django project smoothly. Follow the steps below:<\/p>\n<p><strong>1. Install Rust and Cargo<\/strong><\/p>\n<p>Rust is needed for some Python packages that use it in the background.<\/p>\n<p>Run this command:<\/p>\n<pre><code class=\"language-javascript\"><strong>curl https:\/\/sh.rustup.rs -sSf | sh<\/strong><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-32-04-04-2025_12_41_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51249 size-full\" title=\"Install Rust and Cargo\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-32-04-04-2025_12_41_PM.png\" alt=\"Install Rust and Cargo\" width=\"959\" height=\"668\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-32-04-04-2025_12_41_PM.png 959w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-32-04-04-2025_12_41_PM-300x209.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-32-04-04-2025_12_41_PM-768x535.png 768w\" sizes=\"(max-width: 959px) 100vw, 959px\" \/><\/a><\/p>\n<p>When prompted, just press Enter to start the standard installation.<\/p>\n<p>After it&#8217;s done, check if it&#8217;s installed properly:<\/p>\n<pre><code class=\"language-javascript\"><b>rustc --version<\/b><\/code><\/pre>\n<pre><code class=\"language-javascript\"><b>cargo --version<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-33-04-04-2025_12_43_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51250 size-full\" title=\"Install Rust and Cargo\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-33-04-04-2025_12_43_PM.png\" alt=\"Install Rust and Cargo\" width=\"964\" height=\"249\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-33-04-04-2025_12_43_PM.png 964w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-33-04-04-2025_12_43_PM-300x77.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-33-04-04-2025_12_43_PM-768x198.png 768w\" sizes=\"(max-width: 964px) 100vw, 964px\" \/><\/a><\/p>\n<p><strong>2. Install Required System Packages<\/strong><\/p>\n<p>These packages are needed to build some Python modules:<\/p>\n<pre><code class=\"language-javascript\"><b>apt install pkg-config libmysqlclient-dev build-essential python3-dev default-libmysqlclient-dev<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-34-04-04-2025_12_44_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51251 size-full\" title=\"Install Required System Packages\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-34-04-04-2025_12_44_PM.png\" alt=\"Install Required System Packages\" width=\"962\" height=\"454\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-34-04-04-2025_12_44_PM.png 962w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-34-04-04-2025_12_44_PM-300x142.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-34-04-04-2025_12_44_PM-768x362.png 768w\" sizes=\"(max-width: 962px) 100vw, 962px\" \/><\/a><\/p>\n<p><strong>3. Install Django REST Framework in Your Virtual Environment<\/strong><\/p>\n<p>Run this to install Django REST framework to your virtual environment.<\/p>\n<pre><code class=\"language-javascript\"><b>pip install djangorestframework<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-35-04-04-2025_12_44_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51252 size-full\" title=\"Install Django REST Framework\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-35-04-04-2025_12_44_PM.png\" alt=\"Install Django REST Framework\" width=\"958\" height=\"669\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-35-04-04-2025_12_44_PM.png 958w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-35-04-04-2025_12_44_PM-300x209.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-35-04-04-2025_12_44_PM-768x536.png 768w\" sizes=\"(max-width: 958px) 100vw, 958px\" \/><\/a><\/p>\n<p><strong>4. Install Django CORS Headers<\/strong><\/p>\n<p>This package allows your app to handle cross-origin requests (CORS).<\/p>\n<pre><code class=\"language-javascript\"><b>pip install django-cors-headers<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-38-04-04-2025_12_46_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51255 size-full\" title=\"Install Django CORS Headers\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-38-04-04-2025_12_46_PM.png\" alt=\"Install Django CORS Headers\" width=\"922\" height=\"606\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-38-04-04-2025_12_46_PM.png 922w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-38-04-04-2025_12_46_PM-300x197.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-38-04-04-2025_12_46_PM-768x505.png 768w\" sizes=\"(max-width: 922px) 100vw, 922px\" \/><\/a><\/p>\n<p>You can also add this line to your requirements.txt file:<\/p>\n<p>django-cors-headers&gt;=4.0.0<\/p>\n<p>After installing, update your Django settings:<\/p>\n<p>Add to INSTALLED_APPS in settings.py:<\/p>\n<pre><code class=\"language-javascript\">INSTALLED_APPS = [\r\n...\r\n'corsheaders',\r\n...\r\n]<\/code><\/pre>\n<p>Add to MIDDLEWARE (usually near the top):<\/p>\n<pre><code class=\"language-javascript\">MIDDLEWARE = [\r\n'corsheaders.middleware.CorsMiddleware',\r\n...\r\n]<\/code><\/pre>\n<p><strong>5. Install Hugging Face Library<\/strong><\/p>\n<p>To use models from Hugging Face, install this:<\/p>\n<pre><code class=\"language-javascript\"><strong>pip install sentence-transformers<\/strong><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-36-04-04-2025_12_45_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51253 size-full\" title=\"Install Hugging Face Library\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-36-04-04-2025_12_45_PM.png\" alt=\"Install Hugging Face Library\" width=\"960\" height=\"625\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-36-04-04-2025_12_45_PM.png 960w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-36-04-04-2025_12_45_PM-300x195.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-36-04-04-2025_12_45_PM-768x500.png 768w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/a><\/p>\n<div class=\"ack-formula\"><strong>Note:<\/strong> This might take 5 to 10 minutes to complete depending on your server.<\/div>\n<div class=\"article-space\"><\/div>\n<p>You now have all the essential packages installed to run your Django project.<\/p>\n<p><strong>6. Install Groq&#8217;s LLM with LangChain<\/strong><\/p>\n<p>Run the following command in the terminal to add Groq&#8217;s LLM with LangChain in your virtual environment.<\/p>\n<pre><code class=\"language-javascript\"><b>pip install langchain-groq<\/b><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-43-04-04-2025_12_49_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51256 size-full\" title=\"Install Groq's LLM with LangChain\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-43-04-04-2025_12_49_PM.png\" alt=\"Install Groq's LLM with LangChain\" width=\"960\" height=\"641\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-43-04-04-2025_12_49_PM.png 960w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-43-04-04-2025_12_49_PM-300x200.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-43-04-04-2025_12_49_PM-768x513.png 768w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/a><\/p>\n<p>If you also haven\u2019t installed groq yet (which is the underlying SDK):<\/p>\n<pre><code class=\"language-javascript\"><strong>pip install groq<\/strong><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-44-04-04-2025_12_49_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51257 size-full\" title=\"Install Groq\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-44-04-04-2025_12_49_PM.png\" alt=\"Install Groq\" width=\"958\" height=\"518\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-44-04-04-2025_12_49_PM.png 958w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-44-04-04-2025_12_49_PM-300x162.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-44-04-04-2025_12_49_PM-768x415.png 768w\" sizes=\"(max-width: 958px) 100vw, 958px\" \/><\/a><\/p>\n<div class=\"main-tooltip-btn\"><a class=\"tooltip-link\" href=\"https:\/\/accuweb.cloud\/database\" target=\"_blank\" rel=\"noopener\"><button class=\"tooltip-btn\">Database Hosting <i class=\"fa-solid fa-arrow-right-long\"><\/i><br \/>\n<\/button><\/a><\/div>\n<h4 class=\"ack-h4\">Integrate the database with Django project:<\/h4>\n<p>Create a .env File for Your Database Details<\/p>\n<p>To help your Django project connect to the database, create a .env file and add your credentials there.<\/p>\n<p>Run this command to create\/edit the file:<\/p>\n<pre><code class=\"language-javascript\"><strong>nano .env<\/strong><\/code><\/pre>\n<p>Add the following lines inside the file (replace with your actual details):<\/p>\n<pre><code class=\"language-javascript\">GROQ_API_KEY=\"your_groq_api_key\"\r\nDB_NAME=\"your_database_name\"\r\nDB_USER=\"your_database_user\"\r\nDB_PASSWORD=\"your_database_password\"\r\nDB_HOST=\"localhost\"\r\nDB_PORT=\"3306\"<\/code><\/pre>\n<p>Save and exit the file when you&#8217;re done.<\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-37-04-04-2025_12_45_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51254 size-full\" title=\"Integrate the database\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-37-04-04-2025_12_45_PM.png\" alt=\"Integrate the database\" width=\"916\" height=\"454\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-37-04-04-2025_12_45_PM.png 916w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-37-04-04-2025_12_45_PM-300x149.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-37-04-04-2025_12_45_PM-768x381.png 768w\" sizes=\"(max-width: 916px) 100vw, 916px\" \/><\/a><\/p>\n<h4 class=\"ack-h4\">Place the wsgi.py File in the ROOT Directory<\/h4>\n<p>Make sure your wsgi.py file is placed inside the main ROOT directory of your project.<\/p>\n<p><strong>Important Note:<\/strong><\/p>\n<p>If you\u2019re preparing your own deployment, your project folder must include:<\/p>\n<p><b>requirements.txt<\/b> \u2013 a list of all Python libraries your app needs<\/p>\n<p><b>wsgi.py<\/b> \u2013 the file that helps Apache start your Django app<\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-40-04-04-2025_12_46_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51258 size-full\" title=\"Place the wsgi.py File in the ROOT Directory\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-40-04-04-2025_12_46_PM.png\" alt=\"Place the wsgi.py File in the ROOT Directory\" width=\"959\" height=\"205\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-40-04-04-2025_12_46_PM.png 959w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-40-04-04-2025_12_46_PM-300x64.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-40-04-04-2025_12_46_PM-768x164.png 768w\" sizes=\"(max-width: 959px) 100vw, 959px\" \/><\/a><\/p>\n<h4 class=\"ack-h4\">Install Required Packages and Set Up Database<\/h4>\n<p>Run these commands in the terminal (inside your virtual environment):<\/p>\n<pre><code class=\"language-javascript\"><strong>pip install -r requirements.txt<\/strong><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-41-04-04-2025_12_48_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51259 size-full\" title=\"Install Required Packages and Set Up Database\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-41-04-04-2025_12_48_PM.png\" alt=\"Install Required Packages and Set Up Database\" width=\"960\" height=\"601\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-41-04-04-2025_12_48_PM.png 960w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-41-04-04-2025_12_48_PM-300x188.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-41-04-04-2025_12_48_PM-768x481.png 768w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/a><\/p>\n<pre><code class=\"language-javascript\"><strong>python3 manage.py makemigrations<\/strong><\/code><\/pre>\n<p><\/code><\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-45-04-04-2025_12_50_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51261 size-full\" title=\"Install Required Packages and Set Up Database\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-45-04-04-2025_12_50_PM.png\" alt=\"Install Required Packages and Set Up Database\" width=\"957\" height=\"995\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-45-04-04-2025_12_50_PM.png 957w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-45-04-04-2025_12_50_PM-289x300.png 289w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-45-04-04-2025_12_50_PM-768x798.png 768w\" sizes=\"(max-width: 957px) 100vw, 957px\" \/><\/a><\/p>\n<pre><code class=\"language-javascript\"><strong>python3 manage.py migrate<\/strong><\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-46-04-04-2025_12_50_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51262 size-full\" title=\"Install Required Packages and Set Up Database\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-46-04-04-2025_12_50_PM.png\" alt=\"Install Required Packages and Set Up Database\" width=\"961\" height=\"1040\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-46-04-04-2025_12_50_PM.png 961w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-46-04-04-2025_12_50_PM-277x300.png 277w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-46-04-04-2025_12_50_PM-946x1024.png 946w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-46-04-04-2025_12_50_PM-768x831.png 768w\" sizes=\"(max-width: 961px) 100vw, 961px\" \/><\/a><\/p>\n<p>This will install all the needed packages and apply database migrations.<\/p>\n<h4 class=\"ack-h4\">Edit the wsgi.py File for your Virtual Environment<\/h4>\n<p>Edit this file:<\/p>\n<p>nano \/var\/www\/webroot\/ROOT\/wsgi.py<\/p>\n<p>Replace its content with the following:<\/p>\n<pre><code class=\"language-javascript\">import os\r\nimport sys\r\nvirtenv = os.path.expanduser('~') + '\/virtenv\/'\r\nvirtualenv = os.path.join(virtenv, 'bin\/activate_this.py')\r\n\r\ntry:\r\nif sys.version.split(' ')[0].split('.')[0] == '3':\r\nexec(compile(open(virtualenv, \"rb\").read(), virtualenv, 'exec'), dict(__file__=virtualenv))\r\n\r\nelse:\r\nexecfile(virtualenv, dict(__file__=virtualenv))\r\nexcept IOError:\r\n\r\npass\r\nsys.path.append(os.path.expanduser('~'))\r\nsys.path.append(os.path.expanduser('~') + '\/ROOT\/')\r\nos.environ['DJANGO_SETTINGS_MODULE'] = 'ROOT.project_folder_name.settings'\r\nfrom django.core.wsgi import get_wsgi_application\r\napplication = get_wsgi_application()<\/code><\/pre>\n<p>Replace project_folder_name with your actual Django project folder (the one that contains settings.py).<\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-39-04-04-2025_12_46_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51263 size-full\" title=\"Edit the wsgi.py File for your Virtual Environment\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-39-04-04-2025_12_46_PM.png\" alt=\"Edit the wsgi.py File for your Virtual Environment\" width=\"959\" height=\"658\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-39-04-04-2025_12_46_PM.png 959w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-39-04-04-2025_12_46_PM-300x206.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-39-04-04-2025_12_46_PM-768x527.png 768w\" sizes=\"(max-width: 959px) 100vw, 959px\" \/><\/a><\/p>\n<div class=\"article-space\"><\/div>\n\t\t<div data-elementor-type=\"section\" data-elementor-id=\"38668\" class=\"elementor elementor-38668\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\" data-elementor-post-type=\"elementor_library\">\n\t\t\t        <section class=\"elementor-section elementor-top-section elementor-element elementor-element-882321f elementor-section-boxed elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-row-max-none\" data-id=\"882321f\" data-element_type=\"section\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n            \n                        <div class=\"elementor-container elementor-column-gap-default \">\n                    <div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7cc79cc\" data-id=\"7cc79cc\" data-element_type=\"column\">\n        <div class=\"elementor-widget-wrap elementor-element-populated\">\n                    \n        \t\t<div class=\"elementor-element elementor-element-e31b40f elementor-widget elementor-widget-shortcode\" data-id=\"e31b40f\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t            <\/div>\n        <\/div>\n                    <\/div>\n        <\/section>\n        \t\t<\/div>\n\t\t\n<div class=\"article-space\"><\/div>\n<h3 class=\"ack-h3\">Run the Django Project<\/h3>\n<p>Run the project in your virtual environment by running the following command.<\/p>\n<p>python manage.py runserver 0.0.0.0:8000<\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-47-04-04-2025_12_51_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51264 size-full\" title=\"Run the Django Project\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-47-04-04-2025_12_51_PM.png\" alt=\"Run the Django Project\" width=\"959\" height=\"796\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-47-04-04-2025_12_51_PM.png 959w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-47-04-04-2025_12_51_PM-300x249.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-47-04-04-2025_12_51_PM-768x637.png 768w\" sizes=\"(max-width: 959px) 100vw, 959px\" \/><\/a><\/p>\n<p>You can see that the Django application is running on port 8000.<\/p>\n<p>Open your favorite browser and type server-ip-address:8000 in the address bar.<\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-48-04-04-2025_12_51_PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-51265 size-full\" title=\"Open your browser\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-48-04-04-2025_12_51_PM.png\" alt=\"Open your browser\" width=\"921\" height=\"983\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-48-04-04-2025_12_51_PM.png 921w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-48-04-04-2025_12_51_PM-281x300.png 281w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2025\/04\/django-app-vps-48-04-04-2025_12_51_PM-768x820.png 768w\" sizes=\"(max-width: 921px) 100vw, 921px\" \/><\/a><\/p>\n<h2 class=\"ack-h2\">Conclusion:<\/h2>\n<p>To run a Django app on Ubuntu, you need to update the server, install the required software, configure the database, create a virtual environment, and connect it to a web server like Apache or Nginx. With the proper setup and security, your Django app will work smoothly and be ready for users.<\/p>\n","protected":false},"author":1,"featured_media":52879,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","class_list":["post-51207","faq","type-faq","status-publish","has-post-thumbnail","hentry","faq_topics-deploy-django-application","faq_topics-kb","faq_topics-product-documentation","faq_topics-ubuntu"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.10 (Yoast SEO v24.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Deploy Django App on Ubuntu 22.04 \u2013 Full Guide<\/title>\n<meta name=\"description\" content=\"Step-by-step guide to easily deploy your Django app on Ubuntu 22.04 with Apache, MySQL, Git, and virtualenv.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to deploy a Django Application on Ubuntu?\" \/>\n<meta property=\"og:description\" content=\"Step-by-step guide to easily deploy your Django app on Ubuntu 22.04 with Apache, MySQL, Git, and virtualenv.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu\" \/>\n<meta property=\"og:site_name\" content=\"AccuWeb Cloud\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-17T13:13:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"18 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu#article\",\"isPartOf\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu\"},\"author\":{\"name\":\"Jilesh Patadiya\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/#\/schema\/person\/a7a4cbe8405202b537509c757b588c58\"},\"headline\":\"How to deploy a Django Application on Ubuntu?\",\"datePublished\":\"2025-04-07T10:01:50+00:00\",\"dateModified\":\"2026-02-17T13:13:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu\"},\"wordCount\":1938,\"publisher\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/#organization\"},\"image\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu#primaryimage\"},\"thumbnailUrl\":\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg\",\"inLanguage\":\"en-US\"},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu\",\"url\":\"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu\",\"name\":\"How to Deploy Django App on Ubuntu 22.04 \u2013 Full Guide\",\"isPartOf\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu#primaryimage\"},\"image\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu#primaryimage\"},\"thumbnailUrl\":\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg\",\"datePublished\":\"2025-04-07T10:01:50+00:00\",\"dateModified\":\"2026-02-17T13:13:26+00:00\",\"description\":\"Step-by-step guide to easily deploy your Django app on Ubuntu 22.04 with Apache, MySQL, Git, and virtualenv.\",\"breadcrumb\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu#primaryimage\",\"url\":\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg\",\"contentUrl\":\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/accuweb.cloud\/resource\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to deploy a Django Application on Ubuntu?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/#website\",\"url\":\"https:\/\/accuweb.cloud\/resource\/\",\"name\":\"AccuWeb Cloud\",\"description\":\"Cutting Edge Cloud Computing\",\"publisher\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/accuweb.cloud\/resource\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/#organization\",\"name\":\"AccuWeb.Cloud\",\"url\":\"https:\/\/accuweb.cloud\/resource\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/04\/accuwebcloud_logo_black_tagline.jpg\",\"contentUrl\":\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/04\/accuwebcloud_logo_black_tagline.jpg\",\"width\":156,\"height\":87,\"caption\":\"AccuWeb.Cloud\"},\"image\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/#\/schema\/person\/a7a4cbe8405202b537509c757b588c58\",\"name\":\"Jilesh Patadiya\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2cea2bdb5bbabb771ee67e96acad7396f25cb1a0c360b9bc4a9ac40cea9cd8b2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2cea2bdb5bbabb771ee67e96acad7396f25cb1a0c360b9bc4a9ac40cea9cd8b2?s=96&d=mm&r=g\",\"caption\":\"Jilesh Patadiya\"},\"description\":\"Jilesh Patadiya, the visionary Co-Founder and Chief Technology Officer (CTO) behind AccuWeb.Cloud. Founder &amp; CTO at AccuWebHosting.com. He shares his web hosting insights on the AccuWeb.Cloud blog. He mostly writes on the latest web hosting trends, WordPress, storage technologies, and Windows and Linux hosting platforms.\",\"sameAs\":[\"https:\/\/accuweb.cloud\/resource\",\"https:\/\/www.facebook.com\/accuwebhosting\",\"https:\/\/www.instagram.com\/accuwebhosting\/\",\"https:\/\/www.linkedin.com\/company\/accuwebhosting\/\",\"https:\/\/x.com\/accuwebhosting\",\"https:\/\/www.youtube.com\/c\/Accuwebhosting\"],\"url\":\"https:\/\/accuweb.cloud\/resource\/author\/accuwebadmin\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Deploy Django App on Ubuntu 22.04 \u2013 Full Guide","description":"Step-by-step guide to easily deploy your Django app on Ubuntu 22.04 with Apache, MySQL, Git, and virtualenv.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu","og_locale":"en_US","og_type":"article","og_title":"How to deploy a Django Application on Ubuntu?","og_description":"Step-by-step guide to easily deploy your Django app on Ubuntu 22.04 with Apache, MySQL, Git, and virtualenv.","og_url":"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu","og_site_name":"AccuWeb Cloud","article_modified_time":"2026-02-17T13:13:26+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"18 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu#article","isPartOf":{"@id":"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu"},"author":{"name":"Jilesh Patadiya","@id":"https:\/\/accuweb.cloud\/resource\/#\/schema\/person\/a7a4cbe8405202b537509c757b588c58"},"headline":"How to deploy a Django Application on Ubuntu?","datePublished":"2025-04-07T10:01:50+00:00","dateModified":"2026-02-17T13:13:26+00:00","mainEntityOfPage":{"@id":"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu"},"wordCount":1938,"publisher":{"@id":"https:\/\/accuweb.cloud\/resource\/#organization"},"image":{"@id":"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu#primaryimage"},"thumbnailUrl":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg","inLanguage":"en-US"},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu","url":"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu","name":"How to Deploy Django App on Ubuntu 22.04 \u2013 Full Guide","isPartOf":{"@id":"https:\/\/accuweb.cloud\/resource\/#website"},"primaryImageOfPage":{"@id":"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu#primaryimage"},"image":{"@id":"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu#primaryimage"},"thumbnailUrl":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg","datePublished":"2025-04-07T10:01:50+00:00","dateModified":"2026-02-17T13:13:26+00:00","description":"Step-by-step guide to easily deploy your Django app on Ubuntu 22.04 with Apache, MySQL, Git, and virtualenv.","breadcrumb":{"@id":"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu#primaryimage","url":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg","contentUrl":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/accuweb.cloud\/resource\/articles\/deploy-django-app-on-ubuntu#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/accuweb.cloud\/resource\/"},{"@type":"ListItem","position":2,"name":"How to deploy a Django Application on Ubuntu?"}]},{"@type":"WebSite","@id":"https:\/\/accuweb.cloud\/resource\/#website","url":"https:\/\/accuweb.cloud\/resource\/","name":"AccuWeb Cloud","description":"Cutting Edge Cloud Computing","publisher":{"@id":"https:\/\/accuweb.cloud\/resource\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/accuweb.cloud\/resource\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/accuweb.cloud\/resource\/#organization","name":"AccuWeb.Cloud","url":"https:\/\/accuweb.cloud\/resource\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/accuweb.cloud\/resource\/#\/schema\/logo\/image\/","url":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/04\/accuwebcloud_logo_black_tagline.jpg","contentUrl":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/04\/accuwebcloud_logo_black_tagline.jpg","width":156,"height":87,"caption":"AccuWeb.Cloud"},"image":{"@id":"https:\/\/accuweb.cloud\/resource\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/accuweb.cloud\/resource\/#\/schema\/person\/a7a4cbe8405202b537509c757b588c58","name":"Jilesh Patadiya","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/accuweb.cloud\/resource\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2cea2bdb5bbabb771ee67e96acad7396f25cb1a0c360b9bc4a9ac40cea9cd8b2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2cea2bdb5bbabb771ee67e96acad7396f25cb1a0c360b9bc4a9ac40cea9cd8b2?s=96&d=mm&r=g","caption":"Jilesh Patadiya"},"description":"Jilesh Patadiya, the visionary Co-Founder and Chief Technology Officer (CTO) behind AccuWeb.Cloud. Founder &amp; CTO at AccuWebHosting.com. He shares his web hosting insights on the AccuWeb.Cloud blog. He mostly writes on the latest web hosting trends, WordPress, storage technologies, and Windows and Linux hosting platforms.","sameAs":["https:\/\/accuweb.cloud\/resource","https:\/\/www.facebook.com\/accuwebhosting","https:\/\/www.instagram.com\/accuwebhosting\/","https:\/\/www.linkedin.com\/company\/accuwebhosting\/","https:\/\/x.com\/accuwebhosting","https:\/\/www.youtube.com\/c\/Accuwebhosting"],"url":"https:\/\/accuweb.cloud\/resource\/author\/accuwebadmin"}]}},"_links":{"self":[{"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/faq\/51207","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/faq"}],"about":[{"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/types\/faq"}],"author":[{"embeddable":true,"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/comments?post=51207"}],"version-history":[{"count":12,"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/faq\/51207\/revisions"}],"predecessor-version":[{"id":52939,"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/faq\/51207\/revisions\/52939"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/media\/52879"}],"wp:attachment":[{"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/media?parent=51207"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}