![](/img/trans.png)
[英]Django mod_wsgi Apache error 403 Forbidden on Ubuntu 22.04
[英]403 - Forbidden with Apache and Django on Windows with mod_wsgi
我瀏覽了許多與Windows上的Apache和Django相關的教程和帖子,以嘗試解決我的問題。 我可以通過開發服務器運行Django項目,並且知道我的Apache安裝正在運行。 我知道我的問題出在Apache的配置中,以使其可與Django一起使用。 我的配置如下所示。 我已確保具有讀取和執行權限的每個人都可以訪問服務器項目文件夾。 我嘗試用“ C:”設置路徑,不使用。 將服務器的文件系統目錄訪問權限設置為“要求全部授予”(不建議)無濟於事。 我想念什么?
Django settings.py
ALLOWED_HOSTS = ['*']
WSGI_APPLICATION = 'INDmain.wsgi.application'
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
httdp.conf
Include conf/extra/httpd-vhosts.conf # "#" is removed from start of line.
LoadFile "c:/users/user/appdata/local/programs/python/python36/python36.dll"
LoadModule wsgi_module "c:/users/user/appdata/local/programs/python/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "c:/users/user/appdata/local/programs/python/python36"
WSGIScriptAlias / "C:/INDmain/main/wsgi.py
WSGIPythonPath "C:/INDmain"
<Directory "C:/INDmain/main">
<Files wsgi.py>
Require all granted
</Files>
</Directory>
的httpd-vhosts.conf
<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
Alias "/" "C:/INDmain/main"
<Directory "C:/INDmain/main">
Require all granted
</Directory>
Alias "/static" "C:/INDmain/static"
<Directory "C:/INDmain/static">
Require all granted
</Directory>
</VirtualHost>
當然,我只在Linux上實現,所以以下內容可能無濟於事,但我的標准方法是在/etc/apache2/sites-available
創建sitename_co_uk.conf
文件
以下是文件的內容:
<VirtualHost *:80>
ServerAdmin webmaster@sitename.co.uk
ServerName sitename.co.uk
ServerAlias www.sitename.co.uk
DocumentRoot /var/www/sitename
WSGIDaemonProcess sitename python-path=/var/www/sitename python-home=/var/www/sitename/env
WSGIProcessGroup sitename
WSGIScriptAlias / /var/www/sitename/core/wsgi.py
Alias /robots.txt /var/www/sitename/static/robots.txt
Alias /favicon.ico /var/www/sitename/static/favicon.ico
Alias /media/ /var/www/sitename/media/
Alias /static/ /var/www/sitename/static/
<Directory /var/www/sitename/static>
Require all granted
</Directory>
<Directory /var/www/sitename/media>
Require all granted
</Directory>
WSGIScriptAlias / /var/www/sitename/core/wsgi.py
<Directory /var/www/sitename/core>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
這意味着我的網站實際上位於目錄/var/www/sitename'. This directory will contain a virtual environment in
/var/www/sitename'. This directory will contain a virtual environment in
env and the
manage.py file. My
/var/www/sitename'. This directory will contain a virtual environment in
file. My
file. My
settings.py ,
wsgi.py etc are within the sub-directory
core`中。
這可以使用a2ensite sitename_co_uk.conf
啟用。
在Windows上,它應該以類似的方式工作。
將其安裝並運行在運行Ubuntu的Docker容器中后,將項目復制到Apache目錄下的目錄中並為新位置進行了一些配置更改后,便能夠使用Windows版本。 最終配置文件如下。
網站/項目布局
\Apache24
--> www
--> INDapp
--> INDmain
--> INDmain
--> main
db.sqlite3
manage.py
Django settings.py
ALLOWED_HOSTS = ['<ip_address>']
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'main.apps.MainConfig',
WSGI_APPLICATION = 'INDmain.wsgi.application'
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
httdp.conf
LoadFile "c:/users/rsloma/appdata/local/programs/python/python36/python36.dll"
LoadModule wsgi_module "c:/users/rsloma/appdata/local/programs/python/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "c:/users/rsloma/appdata/local/programs/python/python36"
WSGIPythonPath C:/Apache24/www/INDapp/INDmain
的httpd-vhosts.conf
<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
ServerAlias <ip_address>
DocumentRoot C:/Apache24/www/INDapp
Alias /static "C:/Apache24/www/INDapp/INDmain/main/static"
<Directory "C:/Apache24/www/INDapp/INDmain/main/static">
Require all granted
</Directory>
<Directory "C:/Apache24/www/INDapp/INDmain/INDmain">
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIScriptAlias / C:/Apache24/www/INDapp/INDmain/INDmain/wsgi.py
</VirtualHost>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.