Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

756
Views
Django on apache wtih mod_wsgi (Linux) - 403 Forbidden

Alright, so i am following this tutorial. When i try to access my site through my local server i get this peculiar error:

Forbidden You don't have permission to access / on this server. Apache/2.4.6 (Ubuntu) Server at mysite.com Port 80.

Αs far as i am concerned i have done everything right (i implemented twice the proposed method) and this could easily be an OS error (i am running Mint 16 and error says (Ubuntu)), however i am not experienced and therefore i need some help.

I did some research but none of these (1,2) questions along with others, does not seem to answer my case.

So here is mysite.conf file:

<VirtualHost *:80>
WSGIScriptAlias / /home/nick/Mysite/mysite.wsgi

ServerName mysite.com
Alias /static /var/www/mysite/static/

<Directory /var/www/mysite/>

Options All
AllowOverride All
Require all granted

</Directory>
</VirtualHost>

and my hosts file which shows how the ip address is redirected to my local host:

127.0.0.1   localhost
127.0.1.1   nick-HP-Notebook-PC
192.168.1.2 mysite.com
192.168.1.2 mysite2.com

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

So what do you suggest the problem is. Could this be simply a Linux related error? and please let me know if you need additional info about the project or anything.

Thanks a ton.

Update:

Here is my .wsgi file:

import os
import sys
sys.path = ['/var/www/mysite'] + sys.path
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

I also get this message when i restart the server.

Restarting web server apache2                                                AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message         [ OK ]

Maybe this helps?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

If this is exactly your config file then i doubt the path that you're using is wrong. Please fix that first.

Set WSGIScriptAlias this to correct path.

Then your WSGI file must look something like:

import os
import sys

os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
over 4 years ago · Santiago Trujillo Report

0

A things to start with:

WSGIScriptAlias / /home/nick/Mysite/mysite.wsgi

For this, you do not have a corresponding:

<Directory/home/nick/Mysite>
<Files mysite.wsgi>
Require all granted
</Files>
</Directory>

Also, a home directory such as /home/nick is usually not readable to other users and so Apache wouldn't be able to read stuff in that directory anyway.

Next is:

Alias /static /var/www/mysite/static/

You shouldn't have a trailing slash on final path. Not having them matched when for a sub URL can cause issues, although usually when the trailing slash is on the URL and missing for the file system path. Better just to have them match as far as whether a trailing slash is used or not.

over 4 years ago · Santiago Trujillo Report

0

I had the same problem.

your .wsgi script should be located in the /var/www/mysite/ folder and then your config files should be adjusted as necessary.

Also delete the leading / in :

.. Alias /static /var/www/mysite/static ..

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!