Django on Strato Web Hosting

Hey Guys,

I have the Webhosting Basic Package at strato.de and recently discovered that it supports python and I wanted to switch to Django. Here are the problems:

  • I don’t have sudo access
  • I don’t have any package manager
  • I don’t have pip

What I can do is:

  • Upload files
  • Shell access via ssh
  • Run python commands

Would it be possible to run Django here? If yes, how? The webhoster doesn’t provide any information about this.

1 Like

How do they integrate Python into their web server? Do they use Apache / mod_python? Do you know what version of Python is supported? Do you have any control over the web server configuration?
Do you have a database available to you?
Do they document supporting any Python-based web framework? (That might provide some clues as to how you can implement Django on their site.)
Do they support any long-running user-created processes? (I worked with one provider that explicitly prohibited that. Any process up for some period of time, 4 hours? 6 hours? I don’t remember the specifics, was subject to being arbitrarily killed.) That was a show-stopper.

Output of the command python:
Python 2.7.18 (default, Mar 22 2021, 11:22:27)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux2
I don’t know if they are using Apache, but that is very likely.
They don’t write anything on their website about what exactly they are using. I am not very happy with the documentation. I could ask the customer service though, they would probably tell me.
I don’t have control over the configuration of the server. All I can do is change the directory where a Domain redirects to.
I do have access to up to 25 MySQL Databases that can definetly be accessed by PHP, so that should be no problem.
Yes, they do support user-created processes. I tried Flutter Web and it worked just fine. However, Django is different to Flutter Web.
I know that is not much to work with and I am not happy with my provider, unfortunately i have to stay there until the next 6 months, then I will be able to cancel the website and bring it somewhere else.

Hello I have similar issues with deploying Django APP to STRATO web hosting (strato.de)
I have some limitations on the server:

  • no sudo access
  • no package manager
  • I cannot even check the distro, only know the kernel: Linux gonov 3.10.0-1160.36.2.el7.x86_64 #1 SMP Wed Jul 21 11:57:15 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

From good things:

  • python 3 with pip is installed

I have installed all django dependencies, migrated database with mysqlclient (they use MySQL). I have also installed npm via nvm (I am using React frontend).

STRATO uses apache web server (Apache/2.4.51 (Unix)) but installing mod_python throws an error

ERROR: Command errored out with exit status 1:
 command: /bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-2p2rabqz/mod-wsgi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-2p2rabqz/mod-wsgi/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-c28fym1d
     cwd: /tmp/pip-install-2p2rabqz/mod-wsgi/
Complete output (5 lines):
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/tmp/pip-install-2p2rabqz/mod-wsgi/setup.py", line 88, in <module>
    raise RuntimeError('The %r command appears not to be installed or '
RuntimeError: The 'apxs' command appears not to be installed or is not executable. Please check the list of prerequisites in the documentation for this package and install any missing Apache httpd server packages.
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

When I run gunicorn for wsgi or daphne for asgi, nothing happens, it just listening but when I hit my web address in browser, no reaction.

I wanted to play with .htaccess, because this is the only way to configure apache on STRATO but I have no idea how to connect it with Django wsgi… (I have zero experience in that area)

My gunicorn output:

[2022-01-13 11:36:32 +0100] [16765] [INFO] Starting gunicorn 20.1.0
[2022-01-13 11:36:32 +0100] [16765] [INFO] Listening at: http://127.0.0.1:8000 (16765)
[2022-01-13 11:36:32 +0100] [16765] [INFO] Using worker: sync
[2022-01-13 11:36:32 +0100] [16792] [INFO] Booting worker with pid: 16792

Any hints ?