Help us understand the problem. What is going on with this article?

DjangoGirlsで作ったWebアプリを、ConoHa VPSでデプロイ

More than 1 year has passed since last update.

はじめに

【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 にログインして、新しく作成し直しましょう。

khashi001
Illustrator, Creator, Programmer, Meditator
https://orangeforest.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした