mezzanine cms logo

Installing Django-based Mezzanine CMS on iwebz.hosting

Following this tutorial requires you to have an active web hosting account from iwebz.hosting with SSH access enabled.

mezzanine cms iwebz python hosting

Setting up the Mezzanine CMS environment

To begin installing the Django framework-powered Mezzanine CMS (official website)on our platform, you must first create the app environment via SSH.

Step 1: Create a virtual environmеnt (venv) in the root folder of your account, in our case:

/usr/local/python-3.5/bin/virtualenv /home/venv/

Step 2: Enter the newly created virtual environment using the following command:

source /home/venv/bin/activate

Step 3: Go to the “www” folder of your hosting account:

cd /home/www/

Step 4: Install the Mezzanine CMS binaries along with the corresponding modules fastcgi support and flup6.

pip install git+https://github.com/NetAngels/django-fastcgi
pip install flup6
pip install mezzanine

NOTE: Make sure you disable the Outgoing Connections option or the installation of the modules will fail.

Step 5: Set up the Mezzanine project In a selected custom directory, in our case mydjangocms:

mezzanine-project mydjangocms

Step 6: Create a domain or subdomain for the newly installed CMS. Keep in mind that the Jail host option needs to be deactivated in order for the installed modules to function properly.

Point your newly created domain or subdomain to the path of your project. In our example, the path is “/www/mydjangocms”.

python settings

Setting up the Mezzanine CMS app

Step 7: Go to the newly created Mezzanine CMS folder:

cd mydjangocms

Step 8: Set up a database for your CMS. In our case, we’ll use the sqlite3 database for the sake of ease (alternatively, you could set up a MySQL/PostgreSQL database by applying the necessary settings to the Python setup file:

python manage.py createdb

You will see the following message:

A site record is required.
Please enter the domain and optional port
in the format 'domain:port'. For example 'localhost:8000' or 'www.example.com'.
Hit enter to use the default (127.0.0.1:8000):

Use the default option for the SQL host. You will then be asked to enter your username, email and password. These are the login credentials for the CMS system and not the database.

In the end, you can choose if you want to have some demo content inserted.

Step 9: Set up an .htaccess file in the folder of your project with the following entries:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.fcgi/$1 [QSA,L]

Step 10: Set up an index.fcgi file in the folder of your project using the following code (it will serve as an entry point for all requests to the CMS). Don’t forget to replace “mydjangocms” with the name of your project.

#!/home/venv/bin/python3.5
# -*- coding: utf-8 -*-
import os
import sys
activate_this = '/home/venv/bin/activate_this.py'
exec(open(activate_this).read(), dict(__file__=activate_this))
cms_path = '/home/www/mydjangocms/'
sys.path.insert(0, cms_path)
os.chdir(cms_path)
# Set the DJANGO_SETTINGS_MODULE environment variable.
os.environ['DJANGO_SETTINGS_MODULE'] = "mydjangocms.settings"
from django_fastcgi.servers.fastcgi import runfastcgi
from django.core.servers.basehttp import get_internal_wsgi_application
wsgi_application = get_internal_wsgi_application()
runfastcgi(wsgi_application, method="prefork", daemonize="false", minspare=1, maxspare=1, maxchildren=1)

Step 11: You’ll need to make the index.fcgi file executable using this command:

chmod +x index.fcgi

Step 12: Edit the settings file located inside “mydjangocms/settings.py” and replace

ALLOWED_HOSTS = []
With your actual host name:

ALLOWED_HOSTS = ['mydjangocms.my-best-domain.net']

Step 13: Run the following command to collate the static files:

python manage.py collectstatic

You are now ready and your site should be up and running.

In our example, the newly installed Mezzanine CMS will resolve to:
http://mydjangocms.my-best-domain.net/

django mezzanine cms installation

Now you can log into your Mezzanine CMS Admin Panel using the login details set in step 8 above and kickstart a new blog, for example:

django mezzanine cms admin panel

Web Hosting with Python support

Know more about our web developer-friendly shared web hosting with SSH access and Python libraries.
python manager

Python Manager section now available in the Control Panel

Python Manager

The Python Manager is the latest web developer-friendly feature of iwebz.hosting

Python is one of the most important application depython managervelopment languages and has been around for a long time now. It is easy to learn and use, no matter if you’re new to programming or an experienced developer. Its standard library supports many Internet protocols, including JSON, FTP, IMAP, HTML and XML.

Python is mostly used for web development, scientific & numerical computing, software development, and system administration purposes. So there are many different types of Python-based software.

Following the feedback of web developers, iWebz℠ has added a new Python Manager functionality to the Advanced section of the Hepsia Control Panel on iwebz.hosting.

The new Python Manager section in the control panel will allow users to edit the current Python version and to enable Python-compatible applications for their projects.

Located right next to PHP Settings, it gives you one-click access to various Python management options.

Using the Python Manager

From the Python Manager section of the Control Panel, you’ll be able to set the Python version for your account. You can choose between Python 2.7, Python 3.1 and the latest version – Python 3.5.

You can setup your Python app environment and install Python scripts using your SSH access that comes with your web hosting account.

Web Hosting with Python support

Know more about our web developer-friendly shared web hosting with SSH access and Python libraries.