見出し画像

AWSにDjangoを設置 作業ログ備忘録

制作日次 2024年6月27日でChatGTP3.5情報を元に作成する


AWSのアカウントを新設

Amazonアカウントを持っていたのでそれでもOKかな?と思ったけどNGでした。
新たにAWSのアカウントを取得する。その際にクレジット情報を登録する。
IDにメールアドレス、名前にニックネーム、SMS認証の後にPWを登録する。

AWSコンソールホーム

右上のリージョン管理から'東京'を選択する。
一番左のハンバーガーメニュー'三'をクリックする。
メニューが出るので'myApplications'をクリックすると選択されたリージョンでのアプリケーションは無いと表示している。
[アプリケーションを作成]のボタンは押さない。
一旦ここまでで一番上の検索窓から'Cloud9'を検索して移動

Cloud9導入

デベロッパー用ツールページ

[環境を作成]ボタンを押す
新規なので新しいEC2インスタンス
ここで無料利用の選択がある
SSMを選択
[作成を押す]

作成結果

不都合なところはぼかしを入れてます。

ここを読んどくように言われている。

バックアップが大事なことが分かる
待っていると
拡大すると
日本語にすると
受け入れるので[Accept]を選ぶ
すぐに消えそうなWelcome画面を保管
README.mdを開く

___ ______ ____ _ _ ___
/ \ \ / / ___| / ___| | ___ _ _ __| |/ _ \
/ _ \ \ /\ / /\___ \ | | | |/ _ \| | | |/ _` | (_) |
/ ___ \ V V / ___) | | |___| | (_) | |_| | (_| |\__, |
/_/ \_\_/\_/ |____/ \____|_|\___/ \__,_|\__,_| /_/
-----------------------------------------------------------------


Hi there! Welcome to AWS Cloud9!

To get started, create some files, play with the terminal,
or visit https://docs.aws.amazon.com/console/cloud9/ for our documentation.

Happy coding!

Cloud9/詳細名前/c9/README

必要なパッケージのインストール

Cloud9のTerminal窓で操作

sudo yum update -y
sudo yum install python3 -y
sudo yum install python3-virtualenv -y

ChatGPT3.5

それぞれコマンド[ENTER]後にメッセージが出る

ec2-user:~/environment $ sudo yum update -y[ENTER]
Last metadata expiration check: 7:35:11 ago on Thu Jun 27 01:58:02 2024.
Dependencies resolved.
Nothing to do.
Complete!
ec2-user:~/environment $ sudo yum install python3 -y[ENTER]
Last metadata expiration check: 7:35:46 ago on Thu Jun 27 01:58:02 2024.
Package python3-3.9.16-1.amzn2023.0.8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
ec2-user:~/environment $ sudo yum install python3-virtualenv -y[ENTER]
Last metadata expiration check: 7:36:34 ago on Thu Jun 27 01:58:02 2024.
Dependencies resolved.
=================================================
Package Architecture Version Repository Size
=================================================
Installing:
python3-virtualenv noarch 20.4.0-3.amzn2023.0.3 amazonlinux 233 k
Installing dependencies:
python3-appdirs noarch 1.4.4-2.amzn2023.0.2 amazonlinux 23 k
python3-distlib noarch 0.3.1-4.amzn2023.0.2 amazonlinux 188 k
python3-filelock noarch 3.0.12-9.amzn2023.0.2 amazonlinux 22 k
python3-wheel-wheel noarch 1:0.37.1-1.amzn2023.0.3 amazonlinux 43 k

Transaction Summary
=================================================
Install 5 Packages

Total download size: 508 k
Installed size: 2.0 M
Downloading Packages:
(1/5): python3-appdirs-1.4.4-2.amzn2023.0.2.noarch.rpm 339 kB/s | 23 kB 00:00
(2/5): python3-filelock-3.0.12-9.amzn2023.0.2.noarch.rpm 283 kB/s | 22 kB 00:00
(3/5): python3-distlib-0.3.1-4.amzn2023.0.2.noarch.rpm 2.1 MB/s | 188 kB 00:00
(4/5): python3-virtualenv-20.4.0-3.amzn2023.0.3.noarch.rpm 6.4 MB/s | 233 kB 00:00
(5/5): python3-wheel-wheel-0.37.1-1.amzn2023.0.3.noarch.rpm 1.5 MB/s | 43 kB 00:00
------------------------------------------------------------------------------------
Total 2.7 MB/s | 508 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : python3-wheel-wheel-1:0.37.1-1.amzn2023.0.3.noarch 1/5
Installing : python3-filelock-3.0.12-9.amzn2023.0.2.noarch 2/5
Installing : python3-distlib-0.3.1-4.amzn2023.0.2.noarch 3/5
Installing : python3-appdirs-1.4.4-2.amzn2023.0.2.noarch 4/5
Installing : python3-virtualenv-20.4.0-3.amzn2023.0.3.noarch 5/5
Running scriptlet: python3-virtualenv-20.4.0-3.amzn2023.0.3.noarch 5/5
Verifying : python3-appdirs-1.4.4-2.amzn2023.0.2.noarch 1/5
Verifying : python3-distlib-0.3.1-4.amzn2023.0.2.noarch 2/5
Verifying : python3-filelock-3.0.12-9.amzn2023.0.2.noarch 3/5
Verifying : python3-virtualenv-20.4.0-3.amzn2023.0.3.noarch 4/5
Verifying : python3-wheel-wheel-1:0.37.1-1.amzn2023.0.3.noarch 5/5

Installed:
python3-appdirs-1.4.4-2.amzn2023.0.2.noarch python3-distlib-0.3.1-4.amzn2023.0.2.noarch python3-filelock-3.0.12-9.amzn2023.0.2.noarch
python3-virtualenv-20.4.0-3.amzn2023.0.3.noarch python3-wheel-wheel-1:0.37.1-1.amzn2023.0.3.noarch

Complete!
ec2-user:~/environment $

Cloud9 terminal

仮想環境の作成とアクティベート

mkdir my_django_project
cd my_django_project
python3 -m venv myenv
source myenv/bin/activate

ChatGPT3.5

それぞれコマンド[ENTER]後にメッセージが出る

ec2-user:~/environment $ pwd[ENTER]
/home/ec2-user/environment
ec2-user:~/environment $ mkdir my_django_project[ENTER]
ec2-user:~/environment $ cd my_django_project[ENTER]
ec2-user:~/environment/my_django_project $ python3 -m venv myenv[ENTER]
ec2-user:~/environment/my_django_project $ source myenv/bin/activate[ENTER]
(myenv) ec2-user:~/environment/my_django_project $

terminal

情報だけ)仮想環境から出る
(myenv) myproject$ deactivate

Djangoのインストール

(myenv) ec2-user:~/environment/my_django_project $ pip install django[ENTER]
Collecting django
Downloading Django-4.2.13-py3-none-any.whl (8.0 MB)
|████████████████████████████████| 8.0 MB 5.8 MB/s
Collecting sqlparse>=0.3.1
Downloading sqlparse-0.5.0-py3-none-any.whl (43 kB)
|████████████████████████████████| 43 kB 3.8 MB/s
Collecting asgiref<4,>=3.6.0
Downloading asgiref-3.8.1-py3-none-any.whl (23 kB)
Collecting typing-extensions>=4
Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Installing collected packages: typing-extensions, sqlparse, asgiref, django
Successfully installed asgiref-3.8.1 django-4.2.13 sqlparse-0.5.0 typing-extensions-4.12.2
WARNING: You are using pip version 21.3.1; however, version 24.1.1 is available.
You should consider upgrading via the '/home/ec2-user/environment/my_django_project/myenv/bin/python3 -m pip install --upgrade pip' command.
(myenv) ec2-user:~/environment/my_django_project $

terminal

WARNIGが出ていたので推奨のコマンドを実行
「python3 -m pip install --upgrade pip」

(myenv) ec2-user:~/environment/my_django_project $ python3 -m pip install --upgrade pip[ENTER]
Requirement already satisfied: pip in ./myenv/lib/python3.9/site-packages (21.3.1)
Collecting pip
Downloading pip-24.1.2-py3-none-any.whl (1.8 MB)
|████████████████████████████████| 1.8 MB 5.0 MB/s
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 21.3.1
Uninstalling pip-21.3.1:
Successfully uninstalled pip-21.3.1
Successfully installed pip-24.1.2
(myenv) ec2-user:~/environment/my_django_project $

terminal

Djangoプロジェクトの作成

(myenv) ec2-user:~/environment/my_django_project $ django-admin startproject mysite[ENTER]
(myenv) ec2-user:~/environment/my_django_project $ cd mysite[ENTER]
(myenv) ec2-user:~/environment/my_django_project/mysite $

terminal

データベースのマイグレーション

スキップ可能

(myenv) ec2-user:~/environment/my_django_project/mysite $ python3 manage.py migrate[ENTER]
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK
(myenv) ec2-user:~/environment/my_django_project/mysite $

terminal

開発サーバーの起動

参考などで「python3 manage.py runserver」で起動する例PiazaCloudがあるがCloud9では「python3 manage.py runserver 0.0.0.0:8080」とするとよかった。

(myenv) ec2-user:~/environment/my_django_project/mysite $ python3 manage.py runserver 0.0.0.0:8080[ENTER]
Watching for file changes with StatReloader
Performing system checks...

terminal
ブラウザ

アクセス制限をOKにする

ec2-user:~/environment/my_django_project/mysiteのsetting.pyのALLOWED_HOSTS = []を"*"と加筆する。

Cloud9

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = ["*"]

/my_django_project/mysite/mysite/settings.py

日本対応の変更(スキップも可能)

LANGUAGE_CODE = 'ja' # 'en-us'
TIME_ZONE = 'Asia/Tokyo' # 'UTC'

/my_django_project/mysite/mysite/settings.py

DjangoをWeb確認

URLをここで取得するか、クリックします。

Cloud9の画面右下
ブラウザで起動を確認

これで一連の流れを確認できた。

この記事が気に入ったらサポートをしてみませんか?