はじめに
【DjangoGirlsのチュートリアル】 を終えた。
↓
次はオリジナルのWebアプリを作って公開したい。
↓
どこかサクッと構築できる本番環境ないかな...?
↓
ConoHa VPSのメニューの中に 「アプリケーション -> Django」 を見つけた!
というわけで、ConoHa VPSでDjango Webアプリのデプロイをやってみました。
前提条件
・DjangoGirlsのチュートリアルのデプロイのところまで実施済み
・Unixのviコマンドを使って簡単なファイル編集ができる
環境
##ローカル側(Mac)
・Python:3.6.4
・virtualenv他:DjangoGirlsチュートリアルに従っています。
##サーバー側(ConoHa VPS)
・CentOS:7.5
・Python:3.6.5
・Django:2.0.6
##デプロイ対象のプロジェクト名(Directory名)
djangogirls
手順
1. ConohaにDjango入りサーバーを追加
1.1. Conoha VPSにログイン
・ConoHa が初めての方は新規登録してください。
・ConoHa VPS にログインしてください。
1.2. Django入りサーバーを追加する
・左側メニューの一番上 「サーバー追加」
↓
・サービスは「VPS」→プランはお好みのものを(ここでは最低額の512MBプランを選択)
・イメージタイプは「アプリケーション」→「他のアプリケーションを見る」→「Django」
↓
・rootパスワード、ネームタグ(例:vps-django)を入力。
↓
・他は何も変更せず、右の「追加」を押す
↓
・数分以内にサーバーが出来上がり、サーバ一覧の表示に変わります。
「ネットワーク情報」→「IPアドレス」をメモしてください。
2. ConohaのSSH関連を設定
下記サイトなどを参考に、SSHログイン、rootログイン禁止、SSHポート番号変更までを行ってください。
参考サイト1:
https://qiita.com/ongaeshi/items/bb17ebfbd4d22057c8fd
(SSHポート番号変更の手前まで)
参考サイト2:
https://weblabo.oscasierra.net/openssh-sshd-centos7-change-port/
(SSHポート番号変更)
3. Conoha上でプロジェクトを作成
###3.1. プロジェクトのDirectoryを作成
・Conoha VPSにSSHでログインしてください
ログインするとこういう画面が出ます。
================================================
Welcome to Django application!
Sample Application: /home/django/sample
Sample Application Username: xxxxxxxxxxxxxxxx
Sample Application Password: xxxxxxxxxxxxxxxx
URL: http://XXX.XXX.XXX.XXX/
MySQL root password: xxxxxxxxxxxxxxxx
Enjoy!
================================================
この中の
Sample Application: /home/django/sample
で示されたDirectoryのひとつ上に行って、隣に新しく djangogirls Directoryを作ってください。
$ cd /home/django/
$ sudo mkdir djangogirls
作成したDirectoryのグループとパーミッションを変更してください。
$ sudo chgrp apache djangogirls
$ sudo chmod 775 djangogirls
###3.2. コードを持ってくる
引き続きサーバ上で作業。git cloneでコード一式を持ってきてください。
$ cd /home/django/djangogirls
$ sudo git clone https://github.com/khashi001/djangogirlTutorial.git .
httpから先の部分は、ご自分のリポジトリに合わせて書き換えてください。
###3.3. DataBaseを作る
DjangoGirlsチュートリアルの通りに実施した場合、まだDabaBaseファイル db.sqlite3が無いので、作成してください。
$ sudo python3.6 manage.py migrate
$ ls
続いてパーミッション等を変更してください。
$ sudo chgrp apache db.sqlite3
$ sudo chmod g=rw db.sqlite3
###3.4. superuserを設定する
$ sudo python3.6 manage.py createsuperuser
###3.5. サーバーのIPアドレスをDjangoアプリのsetting.pyに設定する
$ sudo vi mysite/settings.py
ALLOWED_HOSTS に、 'xxx.xxx.xxx.xxx'(ConoHa サーバーのIDアドレス)を追加してください。
ALLOWED_HOSTS = ['127.0.0.1', 'localhost','xxx.xxx.xxx.xxx']
#4. Apacheの設定を変更する
$ sudo vi /etc/httpd/conf/httpd.conf
/home/django/sample が用いられている箇所を書き換えてください。
変更前
WSGIScriptAlias / /home/django/sample/sample/wsgi.py
WSGIPythonPath /home/django/sample
変更後
WSGIScriptAlias / /home/django/djangogirls/mysite/wsgi.py
WSGIPythonPath /home/django/djangogirls
変更前
<Directory /home/django/sample/sample>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
変更後
<Directory /home/django/djangogirls/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
書き換えおわったら、サービスを再起動してください。
$ sudo service httpd restart
#5. 確認
ブラウザで http://xxx.xxx.xxx.xxx
にアクセス。(xxx.xxx.xxx.xxx はサーバーのIPアドレス)
DjangoGirlsのチュートリアルで作成した内容が見えたらOKです。
ただしDataBaseは空っぽなので、個々の記事は表示されません。
http://xxx.xxx.xxx.xxx/admin にログインして、新しく作成し直しましょう。