Installing and configuring Flask on a Linux shared hosting account
Learn how to install and configure a Flask application on a Linux shared hosting account. This Python-based framework enables you to quickly and easily create websites.
Flask is a Python-based framework that enables you to quickly and easily create web applications. This article demonstrates how to install Flask and configure it on a Linux shared hosting account that uses cPanel.
After completing the following procedures, you will have a functioning Flask application on your account that displays a simple web page.
Important
Although we have tested and run this Flask configuration on shared hosting accounts, it is not supported. You can use this configuration as a starting point for your own Flask projects, but we cannot help you troubleshoot or debug any custom configurations.
Step 1: Create a Python application in cPanel
The first step is to create a Python application within cPanel that will host the Flask project. To do this, follow these steps:
-
Log in to cPanel.
Note
If you do not know how to log in to your cPanel account, please see this article.
-
Open the Python App tool:
-
If you are using the Jupiter theme, on the Tools page, in the Software section, click Setup Python App:
-
If you are using the Paper Lantern theme, in the SOFTWARE section of the cPanel home page, click Setup Python App:
-
-
Click CREATE APPLICATION:
The application form appears:
-
In the Python version list box, select the Python version you want to use. In this example, we use Python 3.7.3.
-
In the Application root text box, type
flaskapp
. -
In the Application URL list box, select the domain, and then type
flaskapp
. -
Leave the Application startup file text box and Application Entry point text box blank.
Note
When these text boxes are blank, cPanel automatically creates a passenger_wsgi.py startup file and default application object for you.
-
In the Passenger log file text box, you can optionally specify a log file for the application.
-
In the top right corner of the page, click CREATE:
cPanel creates the application and sets up the Python environment.
-
At the top of the page, next to Enter to the virtual environment. To enter to virtual environment, run the command, copy the command. You will need this information in the following procedure.
Step 2: Configure the Flask project
After you create the Python application in cPanel, you are ready to do the following tasks at the command line:
-
Install Flask.
-
Configure Passenger to work with the Flask application.
To do this, follow these steps:
-
Log in to your account using SSH.
-
Activate the virtual environment, using the command you noted in step 10 above. For example:
source /home/username/virtualenv/flaskapp/3.7/bin/activate && cd /home/username/flaskapp
Important
The command prompt now starts with (flaskapp:3.7) to indicate that you are working in the flaskapp virtual environment with Python 3.7. All of the following commands in this article assume that you are working in the Python virtual environment. If you log out of your SSH session (or deactivate the virtual environment by using the deactivate command), make sure you reactivate the virtual environment before following any of the steps below.
-
To install Flask, type the following command:
pip install flask
Tip
To verify the version of Flask that is installed, type the following command:
flask --version
-
Use a text editor to open the ~/flaskapp/passenger_wsgi.py file. Replace the file contents with the following changes:
import os from flask import Flask, request, render_template, redirect, url_for project_root = os.path.dirname(os.path.realpath('__file__')) template_path = os.path.join(project_root, 'app/templates') static_path = os.path.join(project_root, 'app/static') app = Flask(__name__, template_folder=template_path, static_folder=static_path) @app.route('/') def index(): return 'Hello from flask' application = app
-
In cPanel, restart the Python application:
-
Log in to cPanel.
Note
If you do not know how to log in to your cPanel account, please see this article.
-
In the SOFTWARE section of the cPanel home screen, click Setup Python App.
-
Under WEB APPLICATIONS, locate the flaskapp application, and then click the Restart icon.
-
-
To test the Flask site, use your browser to go to http://www.example.com/flaskapp, whereexample.com represents your domain name. You should see the Hello from flask page.
Tip
If the web page does not appear in your browser, try running the passenger_wsgi.py file manually. To do this, type the following command:
python ~/flaskapp/passenger_wsgi.py
There should not be any text output to the console when you run this file. If there are any errors, check the syntax in the file.
More Information
For more information about Flask, please visit https://flask.palletsprojects.com.
Related Articles
Updated 1 day ago