Skip to content

Apache2設定: django.conf

Takumi TAMURA edited this page Feb 23, 2024 · 5 revisions

必要なのは以下の記述のみです。(23/02/23更新:virtualhostに対応)

WSGIRestrictEmbedded On

<VirtualHost *:443>
        ServerName www.aplus-tsukuba.net
        # WSGIPythonPath /home/django/A_plus_Tsukuba

        Alias /static /home/django/A_plus_Tsukuba/static
        <Directory /home/django/A_plus_Tsukuba/>
                Require all granted
        </Directory>

        WSGIScriptAlias / /home/django/A_plus_Tsukuba/A_plus_Tsukuba/wsgi.py
        WSGIDaemonProcess aplus_tsukuba python-path=/home/django/A_plus_Tsukuba
        WSGIProcessGroup aplus_tsukuba

        Alias /ads /home/django/ads
        <Directory /home/django/ads/>
                Require all granted
        </Directory>

        <Location /admin>
                Require all denied
                Require ip 130.158.0.0/16
                Require ip 133.51.0.0/16
        </Location>
</VirtualHost>

<VirtualHost *:443>
        ServerName fcm.aplus-tsukuba.net

        Alias /static /home/django/aplus_mobile_fcm_server/static
        <Directory /home/django/aplus_mobile_fcm_server/>
                Require all granted
        </Directory>
        WSGIScriptAlias / /home/django/aplus_mobile_fcm_server/fcm_server/wsgi.py
        #WSGIPythonPath /home/django/aplus_mobile_fcm_server
        WSGIDaemonProcess aplus_fcm python-path=/home/django/aplus_mobile_fcm_server
        WSGIProcessGroup aplus_fcm

        <Location /admin>
                Require all denied
                Require ip 130.158.0.0/16
                Require ip 133.51.0.0/16
        </Location>
</VirtualHost>

この場合の静的ファイルの読み出しに必要な設定は、

STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
STATIC_URL = '/static/'

のみです。python manage.py collectstaticしてください。

広告画像の置き場をgit管理外にする。

Alias /ads /home/django/ads
<Directory /home/django/ads/>
        Require all granted
</Directory>

Look issue #56

管理画面を学外からアクセスできなくする

<Location /admin>
        Require all denied
        Require ip 130.158.0.0/16
        Require ip 133.51.0.0/16
</Location>

とすると、/adminに学内からしかアクセスできなくなります。学内か、全学計算機リモートアクセス、条件が整ったVPNのみで利用できるようになります。

補足

デフォルト(?)の記述はコメントアウトする必要があります。

#Alias /static/ /usr/local/lib/python3.8/dist-packages/django/contrib//admin/static/

# WSGIScriptAlias / /home/django/sample/sample/wsgi.py
# WSGIPythonPath /home/django/sample

#<Directory //usr/local/lib/python3.8/dist-packages/django/contrib//admin/static>
#  Require all granted
#</Directory>

#<Directory /home/django/sample/sample>
#  <Files wsgi.py>
#    Require all granted
#  </Files>
#</Directory>

#Alias /static/ /home/django/sample/static/
#<Directory /home/django/sample/static/>
#    Require all granted
#</Directory>