{"id":17328,"date":"2024-11-18T12:01:22","date_gmt":"2024-11-18T12:01:22","guid":{"rendered":"https:\/\/truehost.com\/support\/?post_type=docs&#038;p=17328"},"modified":"2025-08-20T04:04:52","modified_gmt":"2025-08-20T04:04:52","password":"","slug":"how-to-setup-or-deploy-django-on-cyberpanel","status":"publish","type":"docs","link":"https:\/\/truehost.com\/support\/knowledge-base\/how-to-setup-or-deploy-django-on-cyberpanel\/","title":{"rendered":"How to Setup or Deploy Django on Cyberpanel"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<p>This guide will take you step by step on how to successfully host your Django Application on Cyberpanel running Almalinux OS or Ubuntu OS<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Requirements<\/strong>:<\/h4>\n\n\n\n<p><strong>Accessibility<\/strong> : <strong><code>Root Access to the server.<\/code><\/strong><\/p>\n\n\n\n<p><strong>Operating<\/strong> <strong>System<\/strong>(<strong>OS<\/strong>): <code><strong>Almalinux 8 <\/strong><\/code> or<code><strong> Ubuntu 22<\/strong><\/code><\/p>\n\n\n\n<p><strong>Application<\/strong>: <strong><code>Django<\/code><\/strong><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 1: Installing Python<\/strong><\/h4>\n\n\n\n<p>If you&#8217;re okay with <strong>default<\/strong> version of Python installation on Almalinux or Ubuntu, you can skip to step <strong>Step 3<\/strong>;<\/p>\n\n\n\n<p>By <strong>default<\/strong>, Almalinux 8 comes with python version<strong> 3.6<\/strong>. while Ubuntu 22 comes with python version 3.10 However, this version may not be suitable to run our application. In this case, we need to easily install another version of Python say <strong><code>3.7, 3.8, 3.9, 3.10, 3.11, 3.12,<\/code><\/strong> as needed.<\/p>\n\n\n\n<p>NOTE: We recommend custom installation to avoid using system python to avoid interferance with core systems. <\/p>\n\n\n\n<p>In this guide, I&#8217;ll show you how to Install our own version.<\/p>\n\n\n\n<p>We shall install python <strong><code>3.8 <\/code><\/strong>in our case. (Feel free to install your preferred version, all steps are the same)<\/p>\n\n\n\n<p>We shall be using <code><strong>pyenv<\/strong><\/code> &#8211; &gt; A package to install and manage multiple python versions. See more<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/pyenv\/pyenv\">https:\/\/github.com\/pyenv\/pyenv<\/a><\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Installing Required packages .<\/strong><\/h5>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Almalinux<\/strong><\/h4>\n\n\n\n<p><strong><code><em>yum -y install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel mysql-devel pkgconfig libpq-devel<\/em><\/code><\/strong><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"444\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-105-1024x444.png\" alt=\"\" class=\"wp-image-18165\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-105-1024x444.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-105-300x130.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-105-768x333.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-105.png 1360w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Install Development packages.<\/strong><\/h5>\n\n\n\n<p><code><strong><em>yum -y groupinstall \"Development Tools\"<\/em><\/strong><\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"350\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-106-1024x350.png\" alt=\"\" class=\"wp-image-18166\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-106-1024x350.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-106-300x103.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-106-768x263.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-106.png 1353w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Ubuntu<\/h4>\n\n\n\n<p><code><strong><em>apt-get install -y make build-essential libssl-dev zlib1g-dev \\<br>libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \\<br>libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python3-openssl python3-dev libmysqlclient-dev pkg-config libpq-dev<\/em><\/strong><\/code><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 2: Download and Install pyenv<\/strong><\/h4>\n\n\n\n<p><\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Download and Install pyenv<\/strong><\/h5>\n\n\n\n<p><code><strong>curl https:\/\/pyenv.run | bash<\/strong><\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"225\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-107.png\" alt=\"\" class=\"wp-image-18167\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-107.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-107-300x66.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-107-768x169.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Enable pyenv<\/strong><\/h5>\n\n\n\n<p><code><strong>echo 'export PYENV_ROOT=\"$HOME\/.pyenv\"' &gt;&gt; ~\/.bashrc<\/strong><\/code><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><code><strong>echo 'command -v pyenv &gt;\/dev\/null || export PATH=\"$PYENV_ROOT\/bin:$PATH\"' &gt;&gt; ~\/.bashrc<\/strong><\/code><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong><code>echo 'eval \"$(pyenv init -)\"' &gt;&gt; ~\/.bashrc<\/code> <\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"188\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-108-1024x188.png\" alt=\"\" class=\"wp-image-18168\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-108-1024x188.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-108-300x55.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-108-768x141.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-108.png 1359w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Confirm pyenv is working;.<\/p>\n\n\n\n<p><strong><code>pyenv <\/code><\/strong><\/p>\n\n\n\n<p>You should see output similar to one below.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"472\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/11\/image-358-1024x472.png\" alt=\"\" class=\"wp-image-17330\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/11\/image-358-1024x472.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/11\/image-358-300x138.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/11\/image-358-768x354.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/11\/image-358.png 1103w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Installing Python 3.8 using pyenv<\/p>\n\n\n\n<p>First type the command below to see available versions that can be installed using pyenv.<\/p>\n\n\n\n<p><code><strong>pyenv install --list<\/strong><\/code><\/p>\n\n\n\n<p>You should see output similar to one below. The output is very long , so just scroll until you find the version you want. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"383\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/11\/image-359-1024x383.png\" alt=\"\" class=\"wp-image-17331\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/11\/image-359-1024x383.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/11\/image-359-300x112.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/11\/image-359-768x287.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/11\/image-359.png 1124w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The below image shows our python 3 versions. You can choose any <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"535\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/11\/image-360-1024x535.png\" alt=\"\" class=\"wp-image-17332\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/11\/image-360-1024x535.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/11\/image-360-300x157.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/11\/image-360-768x401.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/11\/image-360.png 1278w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>To install version 3.8.20, type the command below. Since I had installed, I will not re-install.<\/p>\n\n\n\n<p><code><strong>pyenv install 3.8.20<\/strong><\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"224\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-109-1024x224.png\" alt=\"\" class=\"wp-image-18169\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-109-1024x224.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-109-300x66.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-109-768x168.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-109.png 1176w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Now you can make python 3.8.20 available globally by typing.<\/p>\n\n\n\n<p><strong><code>pyenv global 3.8.20<\/code><\/strong>  (Replace with your installed version)<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"215\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-110-1024x215.png\" alt=\"\" class=\"wp-image-18170\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-110-1024x215.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-110-300x63.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-110-768x161.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-110.png 1240w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Now all is done as far as python installation is concerned. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 3: Installing lswgi<\/strong><\/h4>\n\n\n\n<p><\/p>\n\n\n\n<p>Download from Litespeed. At time of writing, lsapi-2.1 is the latest version.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>To check see link below.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.litespeedtech.com\/open-source\/litespeed-sapi\/download\">https:\/\/www.litespeedtech.com\/open-source\/litespeed-sapi\/download<\/a><\/p>\n\n\n\n<p><code><strong>curl -O https:\/\/www.litespeedtech.com\/packages\/lsapi\/wsgi-lsapi-2.1.tgz<\/strong><\/code><\/p>\n\n\n\n<p>Extract the archive<\/p>\n\n\n\n<p><code><strong>tar xf wsgi-lsapi-2.1.tgz<br><\/strong><\/code>Navigate to the extracted directory<\/p>\n\n\n\n<p><br><code><strong>cd wsgi-lsapi-2.1\/<\/strong><\/code><\/p>\n\n\n\n<p>Build wsgi with the new python version.<\/p>\n\n\n\n<p><code><strong>python3 .\/configure.py<br>make<\/strong><\/code><\/p>\n\n\n\n<p>Copy the package to the fcgi-bin directory.<\/p>\n\n\n\n<p><code><br><strong>cp lswsgi \/usr\/local\/lsws\/fcgi-bin\/<\/strong><\/code><\/p>\n\n\n\n<p>Confirm it is there <code><br><strong>cd \/usr\/local\/lsws\/fcgi-bin\/<\/strong><\/code><\/p>\n\n\n\n<p><code><strong>ls<\/strong> <\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"214\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-111-1024x214.png\" alt=\"\" class=\"wp-image-18171\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-111-1024x214.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-111-300x63.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-111-768x161.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-111.png 1205w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 4: Create a website on Cyberpanel.<\/strong><\/h4>\n\n\n\n<p>In this guide, I&#8217;ll be using a sub-domain <\/p>\n\n\n\n<p><a href=\"https:\/\/superdjango.lintsawa.com\">https:\/\/superdjango.lintsawa.com<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"629\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-112-1024x629.png\" alt=\"\" class=\"wp-image-18172\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-112-1024x629.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-112-300x184.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-112-768x472.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-112.png 1069w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Website created and now loads default cyberpanel page.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"448\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-113-1024x448.png\" alt=\"\" class=\"wp-image-18173\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-113-1024x448.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-113-300x131.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-113-768x336.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-113.png 1072w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Upload your website files to the public_html folder and extract.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"566\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-115-1024x566.png\" alt=\"\" class=\"wp-image-18175\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-115-1024x566.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-115-300x166.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-115-768x425.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-115.png 1222w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Navigate via SSH to <strong><code>cd \/home\/yourdomain.com\/<\/code><\/strong><\/p>\n\n\n\n<p>Where necessary, replace with your domain name.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Create and activate virtual env<\/p>\n\n\n\n<p><strong><code>python3 -m venv \/home\/superdjango.lintsawa.com\/myenv\/<\/code><\/strong><\/p>\n\n\n\n<p>Activate.<\/p>\n\n\n\n<p><code><strong>source \/home\/superdjango.lintsawa.com\/myenv\/bin\/activate<\/strong><\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"279\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-114-1024x279.png\" alt=\"\" class=\"wp-image-18174\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-114-1024x279.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-114-300x82.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-114-768x209.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-114.png 1348w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Navigate to your projects directory where you have your requirements.txt file <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"192\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-116-1024x192.png\" alt=\"\" class=\"wp-image-18176\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-116-1024x192.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-116-300x56.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-116-768x144.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-116.png 1323w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Install your project dependencies.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"299\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-117-1024x299.png\" alt=\"\" class=\"wp-image-18177\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-117-1024x299.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-117-300x88.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-117-768x225.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-117.png 1361w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Migrate your database<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"551\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-118-1024x551.png\" alt=\"\" class=\"wp-image-18178\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-118-1024x551.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-118-300x162.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-118-768x413.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-118.png 1263w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Create your superuser. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"301\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-119-1024x301.png\" alt=\"\" class=\"wp-image-18179\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-119-1024x301.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-119-300x88.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-119-768x226.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-119.png 1237w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Collect the static files<\/p>\n\n\n\n<p><strong><code>python manage.py collectstatic<\/code><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"380\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-120-1024x380.png\" alt=\"\" class=\"wp-image-18180\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-120-1024x380.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-120-300x111.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-120-768x285.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-120.png 1346w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Now for the app to load,<\/p>\n\n\n\n<p>Go back to Cyberpanel dashboard &gt; Websites &gt; List Website &gt; Manage &gt; Configurations &gt;vHost and Add the context below to vHost section of your domain.<\/p>\n\n\n\n<p>Do NOT delete the existing details. Scroll to the bottom and add the context<\/p>\n\n\n\n<p>Add Context.<\/p>\n\n\n\n<p>Replace where necessary <\/p>\n\n\n\n<p>Adjust your Location, startupFile and env<br>=================<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>context \/ {\n    type            appserver\n    location        \/home\/superdjango.lintsawa.com\/public_html\/portfolio-website-main\n    binPath         \/usr\/local\/lsws\/fcgi-bin\/lswsgi\n    appType         wsgi\n    startupFile     Portfolio\/wsgi.py\n    envType         1\n    env             LS_PYTHONBIN=\/home\/superdjango.lintsawa.com\/myenv\/bin\/python3\n}<\/code><\/pre>\n\n\n\n<p>Screenshot.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"950\" height=\"276\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2025\/01\/image-32.png\" alt=\"\" class=\"wp-image-18396\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2025\/01\/image-32.png 950w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2025\/01\/image-32-300x87.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2025\/01\/image-32-768x223.png 768w\" sizes=\"auto, (max-width: 950px) 100vw, 950px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"638\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-121-1024x638.png\" alt=\"\" class=\"wp-image-18181\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-121-1024x638.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-121-300x187.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-121-768x479.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-121.png 1062w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Restart openlitespeed.<\/p>\n\n\n\n<p><strong><code>\/usr\/local\/lsws\/bin\/lswsctrl restart<\/code><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"103\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-122-1024x103.png\" alt=\"\" class=\"wp-image-18182\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-122-1024x103.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-122-300x30.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-122-768x77.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-122.png 1123w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Reload your website.<\/p>\n\n\n\n<p>You should your site working well as expected. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"510\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-123-1024x510.png\" alt=\"\" class=\"wp-image-18183\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-123-1024x510.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-123-300x150.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-123-768x383.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-123.png 1284w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Confirm you can also access the admin section.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"968\" height=\"518\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-125.png\" alt=\"\" class=\"wp-image-18185\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-125.png 968w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-125-300x161.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-125-768x411.png 768w\" sizes=\"auto, (max-width: 968px) 100vw, 968px\" \/><\/figure>\n\n\n\n<p>Congrats. You have successfully deployed your django website to Cyberpanel with Openlitespeed.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>In case of Errors use command below to view the error messages for troubleshooting.<br>==========<\/p>\n\n\n\n<p><strong><code>tail -f \/usr\/local\/lsws\/logs\/stderr.log<\/code><\/strong><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Example an Error as below.<\/p>\n\n\n\n<p>error while loading shared libraries: libpython3.8.so.1.0: cannot open shared object file: No such file or directory<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"105\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2025\/05\/image-1024x105.png\" alt=\"\" class=\"wp-image-18708\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2025\/05\/image-1024x105.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2025\/05\/image-300x31.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2025\/05\/image-768x78.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2025\/05\/image.png 1351w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>You can fix by running command below to install additional missing libraries.<\/p>\n\n\n\n<p><strong><em><code>sudo dnf install python38 python38-devel<\/code><\/em><\/strong><\/p>\n\n\n\n<p>Adjust the command  to suit your python version needs. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"251\" src=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2025\/05\/image-1-1024x251.png\" alt=\"\" class=\"wp-image-18710\" srcset=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2025\/05\/image-1-1024x251.png 1024w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2025\/05\/image-1-300x74.png 300w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2025\/05\/image-1-768x189.png 768w, https:\/\/truehost.com\/support\/wp-content\/uploads\/2025\/05\/image-1.png 1344w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Restart Openlitespeed.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Happy Hosting!!!<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This guide will take you step by step on how to successfully host your Django Application on Cyberpanel running Almalinux OS or Ubuntu OS Requirements: Accessibility : Root Access to the server. Operating System(OS): Almalinux 8 or Ubuntu 22 Application: Django Step 1: Installing Python If you&#8217;re okay with default version of Python installation on [&hellip;]<\/p>\n","protected":false},"author":24,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"_eb_attr":"","_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"doc_category":[2121],"doc_tag":[],"class_list":["post-17328","docs","type-docs","status-publish","hentry","doc_category-cyberpanel"],"year_month":"2026-07","word_count":791,"total_views":0,"reactions":{"happy":0,"normal":0,"sad":0},"author_info":{"name":"Kibera","author_nicename":"dan-k","author_url":"https:\/\/truehost.com\/support\/author\/dan-k\/"},"doc_category_info":[{"term_name":"Cyberpanel","term_url":"https:\/\/truehost.com\/support\/docs-category\/cyberpanel\/"}],"doc_tag_info":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Setup or Deploy Django on Cyberpanel -<\/title>\n<meta name=\"description\" content=\"This guide will take you step by step on how to successfully host your Django Application on Cyberpanel.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/truehost.com\/support\/knowledge-base\/how-to-setup-or-deploy-django-on-cyberpanel\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Setup or Deploy Django on Cyberpanel -\" \/>\n<meta property=\"og:description\" content=\"This guide will take you step by step on how to successfully host your Django Application on Cyberpanel.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/truehost.com\/support\/knowledge-base\/how-to-setup-or-deploy-django-on-cyberpanel\/\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-20T04:04:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-105-1024x444.png\" \/>\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=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/truehost.com\\\/support\\\/knowledge-base\\\/how-to-setup-or-deploy-django-on-cyberpanel\\\/\",\"url\":\"https:\\\/\\\/truehost.com\\\/support\\\/knowledge-base\\\/how-to-setup-or-deploy-django-on-cyberpanel\\\/\",\"name\":\"How to Setup or Deploy Django on Cyberpanel -\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/truehost.com\\\/support\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/truehost.com\\\/support\\\/knowledge-base\\\/how-to-setup-or-deploy-django-on-cyberpanel\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/truehost.com\\\/support\\\/knowledge-base\\\/how-to-setup-or-deploy-django-on-cyberpanel\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/truehost.com\\\/support\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/image-105-1024x444.png\",\"datePublished\":\"2024-11-18T12:01:22+00:00\",\"dateModified\":\"2025-08-20T04:04:52+00:00\",\"description\":\"This guide will take you step by step on how to successfully host your Django Application on Cyberpanel.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/truehost.com\\\/support\\\/knowledge-base\\\/how-to-setup-or-deploy-django-on-cyberpanel\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/truehost.com\\\/support\\\/knowledge-base\\\/how-to-setup-or-deploy-django-on-cyberpanel\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/truehost.com\\\/support\\\/knowledge-base\\\/how-to-setup-or-deploy-django-on-cyberpanel\\\/#primaryimage\",\"url\":\"https:\\\/\\\/truehost.com\\\/support\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/image-105-1024x444.png\",\"contentUrl\":\"https:\\\/\\\/truehost.com\\\/support\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/image-105-1024x444.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/truehost.com\\\/support\\\/knowledge-base\\\/how-to-setup-or-deploy-django-on-cyberpanel\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/truehost.com\\\/support\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Setup or Deploy Django on Cyberpanel\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/truehost.com\\\/support\\\/#website\",\"url\":\"https:\\\/\\\/truehost.com\\\/support\\\/\",\"name\":\"\",\"description\":\"Help In a Click\",\"publisher\":{\"@id\":\"https:\\\/\\\/truehost.com\\\/support\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/truehost.com\\\/support\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/truehost.com\\\/support\\\/#organization\",\"name\":\"Truehost Kenya\",\"url\":\"https:\\\/\\\/truehost.com\\\/support\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/truehost.com\\\/support\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/truehost.com\\\/support\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/cropped-image_2026-04-16_174808866.png\",\"contentUrl\":\"https:\\\/\\\/truehost.com\\\/support\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/cropped-image_2026-04-16_174808866.png\",\"width\":240,\"height\":48,\"caption\":\"Truehost Kenya\"},\"image\":{\"@id\":\"https:\\\/\\\/truehost.com\\\/support\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Setup or Deploy Django on Cyberpanel -","description":"This guide will take you step by step on how to successfully host your Django Application on Cyberpanel.","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:\/\/truehost.com\/support\/knowledge-base\/how-to-setup-or-deploy-django-on-cyberpanel\/","og_locale":"en_US","og_type":"article","og_title":"How to Setup or Deploy Django on Cyberpanel -","og_description":"This guide will take you step by step on how to successfully host your Django Application on Cyberpanel.","og_url":"https:\/\/truehost.com\/support\/knowledge-base\/how-to-setup-or-deploy-django-on-cyberpanel\/","article_modified_time":"2025-08-20T04:04:52+00:00","og_image":[{"url":"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-105-1024x444.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/truehost.com\/support\/knowledge-base\/how-to-setup-or-deploy-django-on-cyberpanel\/","url":"https:\/\/truehost.com\/support\/knowledge-base\/how-to-setup-or-deploy-django-on-cyberpanel\/","name":"How to Setup or Deploy Django on Cyberpanel -","isPartOf":{"@id":"https:\/\/truehost.com\/support\/#website"},"primaryImageOfPage":{"@id":"https:\/\/truehost.com\/support\/knowledge-base\/how-to-setup-or-deploy-django-on-cyberpanel\/#primaryimage"},"image":{"@id":"https:\/\/truehost.com\/support\/knowledge-base\/how-to-setup-or-deploy-django-on-cyberpanel\/#primaryimage"},"thumbnailUrl":"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-105-1024x444.png","datePublished":"2024-11-18T12:01:22+00:00","dateModified":"2025-08-20T04:04:52+00:00","description":"This guide will take you step by step on how to successfully host your Django Application on Cyberpanel.","breadcrumb":{"@id":"https:\/\/truehost.com\/support\/knowledge-base\/how-to-setup-or-deploy-django-on-cyberpanel\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/truehost.com\/support\/knowledge-base\/how-to-setup-or-deploy-django-on-cyberpanel\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/truehost.com\/support\/knowledge-base\/how-to-setup-or-deploy-django-on-cyberpanel\/#primaryimage","url":"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-105-1024x444.png","contentUrl":"https:\/\/truehost.com\/support\/wp-content\/uploads\/2024\/12\/image-105-1024x444.png"},{"@type":"BreadcrumbList","@id":"https:\/\/truehost.com\/support\/knowledge-base\/how-to-setup-or-deploy-django-on-cyberpanel\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/truehost.com\/support\/"},{"@type":"ListItem","position":2,"name":"How to Setup or Deploy Django on Cyberpanel"}]},{"@type":"WebSite","@id":"https:\/\/truehost.com\/support\/#website","url":"https:\/\/truehost.com\/support\/","name":"","description":"Help In a Click","publisher":{"@id":"https:\/\/truehost.com\/support\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/truehost.com\/support\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/truehost.com\/support\/#organization","name":"Truehost Kenya","url":"https:\/\/truehost.com\/support\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/truehost.com\/support\/#\/schema\/logo\/image\/","url":"https:\/\/truehost.com\/support\/wp-content\/uploads\/2026\/04\/cropped-image_2026-04-16_174808866.png","contentUrl":"https:\/\/truehost.com\/support\/wp-content\/uploads\/2026\/04\/cropped-image_2026-04-16_174808866.png","width":240,"height":48,"caption":"Truehost Kenya"},"image":{"@id":"https:\/\/truehost.com\/support\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/truehost.com\/support\/wp-json\/wp\/v2\/docs\/17328","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/truehost.com\/support\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/truehost.com\/support\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/truehost.com\/support\/wp-json\/wp\/v2\/users\/24"}],"replies":[{"embeddable":true,"href":"https:\/\/truehost.com\/support\/wp-json\/wp\/v2\/comments?post=17328"}],"version-history":[{"count":20,"href":"https:\/\/truehost.com\/support\/wp-json\/wp\/v2\/docs\/17328\/revisions"}],"predecessor-version":[{"id":18760,"href":"https:\/\/truehost.com\/support\/wp-json\/wp\/v2\/docs\/17328\/revisions\/18760"}],"wp:attachment":[{"href":"https:\/\/truehost.com\/support\/wp-json\/wp\/v2\/media?parent=17328"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/truehost.com\/support\/wp-json\/wp\/v2\/doc_category?post=17328"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/truehost.com\/support\/wp-json\/wp\/v2\/doc_tag?post=17328"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}