Hello everyone,
I have set up a Wordpress 1-click app on a Ubuntu droplet (16.04). I have installed a simple Django project (works on http://localhost:8000) and configured it with VirtualHost to reach it a http://localhost/backend. It does not work : on this url I got a 404 error page from Wordpress.
I would like to know if it possible first ? (from that post it seems possible https://www.digitalocean.com/community/questions/django-and-wordpress-on-wp-one-click-installation-ubuntu, but is it on the same url ?)
Here are the steps I have already done:
You can find here my django virtual host config file.
<VirtualHost *:80>
WSGIDaemonProcess django_backend \
python-path=/home/samuel/django_backend:/home/samuel/.virtualenvs/django_backend/lib/python2.7/site-packages
WSGIProcessGroup django_backend
Alias /static/ /home/samuel/django_backend/collected_static/
<Directory /home/samuel/django_backend/collected_static>
Require all granted
</Directory>
WSGIScriptAlias /backend /home/samuel/django_backend/django_backend/wsgi.py
<Directory /home/samuel/django_backend/django_backend>
Order allow,deny
Allow from all
</Directory>
<Directory /home/samuel/django_backend/django_backend>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
# ServerName
ServerAdmin webmaster@localhost
# DocumentRoot /home/samuel/django_backend/
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/python-django_error.log
CustomLog ${APACHE_LOG_DIR}/python-django_access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
Thank you in advance ! Samuel
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
If Django is running on Port 8000, 8080, or another port, you won’t be able to access it on Port 80 without setting up Apache as a reverse proxy.
As a reverse proxy, what happens is a request comes in on Port 80 and internally, Apache will serve http://localhost:8000. Without setting up a reverse proxy, you’d be limited to attaching the port to the end of each request.
You can check the guide below for details on how to use Apache as a Reverse Proxy, which should help you configure your VirtualHost for the Django app.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.