Im running ubuntu 18 x64 on digital ocean, i installed apache2 and mysql. i set up a django project at /var/www/djang0 . i set up a python3 venv here. i pip3 installed
I believe i need some redirect for my site to force SSL.
Here are previous config files. the doc says i dont necesarrily have to manually set up apache conf files, but Im skeptical (due to ssl redirect and my domain)
1. could you advice on best way to configure this to serve my django web app for a longer term stable website? note since python deprecated the venv command, there is no venv folder,
there is bin, lib, share folders and a pyvenv.cfg file. so would i change the daemon process path to ' python-home=/var/www/djang0/bin ' ?
2. do i need to load a wsgi file? add the confs to /etc/apache2/sites-available, then a2enmod djang0 to enable. run cerbot for ssl after this to apply the ssl configuration? many thanks
# OLD WORKING vhosts for django project djang0
# sudo nano /etc/apache2/sites-available/djang0.conf
<VirtualHost *:80>
ServerName
skylinedev.net ServerAlias
www.skylinedev.net #Redirect permanent /
https://www.skylinedev.net/ WSGIDaemonProcess djang0 python-home=/var/www/djang0/venv python-path=/var/www/djang0/djang0 user=sldadmin group=www-data processes=2 threads=5
WSGIProcessGroup djang0
WSGIApplicationGroup %{GLOBAL}
WSGIScriptAlias / /var/www/djang0/djang0/djang0/wsgi.py
<Directory /var/www/djang0/djang0/djang0/>
<Files wsgi.py>
Order allow,deny
Allow from all
</Files>
</Directory>
Alias /static /var/www/djang0/djang0/static
<Directory /var/www/djang0/djang0/static>
Order allow,deny
Allow from all
</Directory>
Alias /robots.txt /var/www/djang0/djang0/static/robots.txt
Alias /favicon.ico /var/www/djang0/djang0/static/favicon.ico
Alias /media /var/www/djang0/djang0/media
<Directory /var/www/djang0/djang0/media>
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/www/djang0/logs/a2/error.log
LogLevel warn
CustomLog /var/www/djang0/logs/a2/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =
www.skylinedev.net [OR]
RewriteCond %{SERVER_NAME} =
skylinedev.netRewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
</VirtualHost>
# sudo nano /etc/apache2/sites-available/000-default-le-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
# 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
www.example.com #ServerAdmin webmaster@localhost
#DocumentRoot /var/www/html
WSGIProcessGroup djang0
WSGIApplicationGroup %{GLOBAL}
WSGIScriptAlias / /var/www/djang0/djang0/djang0/wsgi.py
<Directory /var/www/djang0/djang0/djang0/>
<Files wsgi.py>
Order allow,deny
Allow from all
</Files>
</Directory>
Alias /static /var/www/djang0/djang0/static
<Directory /var/www/djang0/djang0/static>
Order allow,deny
Allow from all
</Directory>
Alias /robots.txt /var/www/djang0/djang0/static/robots.txt
Alias /favicon.ico /var/www/djang0/djang0/static/favicon.ico
Alias /media /var/www/djang0/djang0/media
<Directory /var/www/djang0/djang0/media>
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/www/djang0/logs/ssl/error.log
LogLevel warn
CustomLog /var/www/djang0/logs/ssl/access.log combined
# 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}/error.log
#CustomLog ${APACHE_LOG_DIR}/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
SSLCertificateFile /etc/letsencrypt/live/
skylinedev.net/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/
skylinedev.net/privkey.pemInclude /etc/letsencrypt/options-ssl-apache.conf
ServerName
skylinedev.netServerAlias
www.skylinedev.net</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
</IfModule>