Installing and configuring Flask on a Linux shared hosting account
Discover how to install and configure a Flask app on Linux shared hosting, enabling quick and easy website creation with this Python framework.
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.
ImportantAlthough 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.
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.
📘 NoteIf you do not know how to log in to your cPanel account, please see this article.
On the Tools page, in the Software section, 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.
📘 NoteWhen 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.
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
🚧 ImportantThe 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
👍 TipTo 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:
📘 NoteIf 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.
👍 TipIf 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.