質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Q&A

解決済

1回答

4526閲覧

Apache上で動かしているDjangoアプリケーションにアクセスしても403になる問題について

switch0805

総合スコア25

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

0グッド

0クリップ

投稿2019/07/17 15:21

編集2019/07/17 16:29

#はじめに
Apache上で動かしているDjangoアプリケーションにアクセスしても403になってしまいます。どうにかにして解決したいです。

#問題の発生した経緯
1.単一サーバー上で複数のdjangoアプリケーションを動かしたくなったので、サブドメインを使って切り分けて運用しようと考える。
2.無事に切り分けられ片方のアプリ(sub.domain.nameでアクセスできる)は動作することを確認。
3.メインのほう(domain.nameでアクセスできる)が何故かapacheのウェルカムページになってしまうことを確認する。
4.ウェルカムページが出ないように設定したところ今度は403 forbiddenが出現するようになる。

#これまでやったこと
1.メインの方のアプリが入ったディレクトリの権限を777に引き上げる
→変化なし、403がまだでる

2.今回の作業で一旦全てconf/httpd.confに書いていたが、今まではdjango周りの設定は全てconf.dにおいて読み出していたので、もう一度そうするようにした。
→変化なし

#設定ファイルなど
問題のある方のアプリ設定
conf.d/domain.name.conf

<VirtualHost *:80> ServerName domain.name <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{SERVER_NAME} =domain.name RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] </IfModule> </VirtualHost> <VirtualHost *:443> ServerName domain.name AddDefaultCharset UTF-8 CustomLog logs/nullab.xyz.access.log combined ErrorLog logs/nullab.xyz.error.log SSLEngine on SSLCertificateFile /etc/letsencrypt/live/domain.name/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/domain.name/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/domain.name/chain.pem WSGIDaemonProcess domain.name user=apache group=apache python-path=/home/naoto/server/mysite/ WSGIProcessGroup domain.name WSGIScriptAlias / /home/naoto/server/mysite/mysite/wsgi.py process-group=domain.name application-group=%{GLOBAL} Alias /static/ /home/naoto/server/static/ Alias /media/ /home/naoto/server/media/ <Directory /home/naoto/server/mysite/mysite> <Files wsgi.py> Require all granted </Files> </Directory> <Directory /home/naoto/server/static> Require all granted </Directory> <Directory /home/naoto/server/media> Require all granted </Directory> <Directory /home/naoto/server/media> Require all granted </Directory> <Directory /home/naoto/server/media/user_upload> Require all granted </Directory> </VirtualHost>

conf/httpd.conf

<省略> LoadModule wsgi_module modules/mod_wsgi_python3.6.so NameVirtualHost *:80 NameVirtualHost *:443 WSGISocketPrefix run/wsgi Include /etc/httpd/conf/httpd-le-ssl.conf IncludeOptional conf.d/*.conf

#確認した事象
・Apacheのerrorログにて
AH01276: Cannot serve directory /var/www/: No matching DirectoryIndex (index.html) found, and server-generated directory index forbidden by Options directive.

・staticファイルについてAliasを適切にしているはずなのに確実にあるファイルのURLを叩いたら404が帰る。

#バージョンなど
OS:CentOS7
Apache:2.4.6
Python:3.6
Django:2.1.7

足りない情報等ございましたら、お手数ですがご教示いただけると幸いです。

以上よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TaichiYanagiya

2019/07/18 11:21

先に読み込まれる /etc/httpd/conf/httpd-le-ssl.conf で "ServerName domain.name" の VirtualHost が定義されていませんでしょうか?
switch0805

2019/07/18 13:05

確かめたところ、"ServerName domain.name" の VirtualHost が定義されていました。。。前にSSL化の実験をしたときの名残が今日まで残っていたようです。 先程/etc/httpd/conf/httpd-le-ssl.confを削除し、httpd.confでの読み込みも解除したところ無事にアクセスすることができました! 本当にありがとうございます! せめてBAだけでも付けさせていただきたいので、もしよろしければ回答の方にも記述頂きたく存じます。
guest

回答1

0

ベストアンサー

(「質問への追記・修正の依頼」欄から転載)

先に読み込まれる /etc/httpd/conf/httpd-le-ssl.conf で "ServerName domain.name" の VirtualHost が定義されていませんでしょうか?

投稿2019/07/18 14:23

TaichiYanagiya

総合スコア12141

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

switch0805

2019/07/22 13:33

遅くなって大変申し訳ないです。 この度はありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問