Install Django on AlmaLinux 9

This guide intends to teach you to Install and Configure Django Python Framework on AlmaLinux 9.

Django is a Python framework that makes it easier to create websites using Python. It takes care of the complex stuff so that you can concentrate on building your web applications.

Django emphasizes the reusability of components, referred to as DRY (Don’t Repeat Yourself), and comes with ready-to-use features like a login system, database connection, and CRUD operations (Create Read Update Delete).

Steps To Install and Configure Django on AlmaLinux 9

To complete this guide, you must log in to your server as a non-root user with sudo privileges and set up a basic firewall. To do this, you can follow our guide on Initial Server Setup with AlmaLinux 9.

Because Django is a Python-based framework, you need to have Python installed on your server. To install the latest Python 3 and Pip, you can visit this guide on Install Python 3.11 on AlmaLinux 9.

Install Django Pyhton Framework on AlmaLinux 9

At this point, you can use the Pip package manager to install Django on your server:

sudo pip3 install Django

When your installation is completed, verify your Django installation by checking its version:

django-admin --version

Create a Django sample project

When you have successfully installed Django on AlmaLinux 9, it’s time to build your first project.

First, create a directory for your Django project with the command below:

sudo mkdir project

Then, switch to your Django project directory:

cd project

Now you can use the Django admin tool to build your first project, here we named it test_project:

django-admin startproject test_project

Switch to your created project:

cd test_project

In your project directory, there is a Python file.

Here you can use the following command to apply pending migrations:

sudo python3 migrate

In your output you will see:

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying sessions.0001_initial... OK

Configure Django on AlmaLinux 9

At this point, you need to create a superuser for Django so that you can access the admin panel. To do this, run the following command:

sudo python3 createsuperuser

You will be asked some questions. Answer them as shown below:

Username (leave blank to use 'root'): admin
Email address:
Password (again):
Superuser created successfully.

Configure Firewall For Django

As you know Django listens on port 8000. We assumed that you have enabled firewalld. Now you need to allow traffic on port 8000 with the commands below:

sudo firewall-cmd --add-port=8000/tcp --zone=public --permanent
sudo firewall-cmd --permanent --add-port=80/tcp

Then, reload the firewall to apply the new rules:

sudo firewall-cmd --reload

Edit File

Here you need to edit the file to allow Django to be accessible by external users.

Open the file with your favorite text editor, here we use vi:

sudo vi test_project/

Find the ALLOWD_HOSTS line and specify your server’s IP address. Or you can assign the [‘*’] to the ALLOWED_HOSTS so that the application can be accessed from any network.

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = ['your-specified-ip']
# Application definition

When you are done, save and close the file.

Access Django Web Interface

At this point, you can start your Django app on AlmaLinux 9 by running the following command:

sudo python3 runserver

In your output you will see:

Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
January 12, 2022 - 11:55:43
Django version 3.2.11, using settings 'test_project.settings'
Starting development server at
Quit the server with CONTROL-C.

Now you can access the Django web interface that you have successfully installed Django on your server by typing your server’s IP address in your web browser followed by 8000:


You will see:

Django welcome screen

Django Admin Dashboard

Then, you can access the Django admin dashboard with:


You will see the Django admin login screen:

Django admin login screen
Django admin Login

Enter your admin user and password that you have created before and you will see your Django dashboard.

Django admin dashboard
Django Administration

That’s it, you are done.

For more information, you can visit the Django Documentation page.


At this point, you have learned to Install and Configure Django Python Framework on AlmaLinux 9.

Hope you enjoy it.

You may be like these articles:

Install Apache Kafka on AlmaLinux 9

Install and Configure WordPress on AlmaLinux 9

Newsletter Updates

Enter your email address below and subscribe to our newsletter

Stay informed and not overwhelmed, subscribe now!