localにkumaの環境を作る
kuma を local で動かすための環境を作る。基本的には公式にある下記通りに進めていくが、そのままやってると一箇所動かないところがあるので注意が必要。 kuma は docker が必要なので docker は先に入れておく。
Installation — Kuma Documentation
最低限動くところまで
$ mkdir mdn # 適当なプロジェクトディレクトリを作る
$ cd mdn
$ git clone --recursive git@github.com:mozilla/kuma.git
$ cd kuma
$ docker-compose pull
$ docker-compose build
環境変数のファイルをコピー。もし Linux を使っているなら、UID のコメントアウトを外す必要があるみたいだが、僕は Mac なのでとりあえず編集はしなくて良い。
$ cp .env-dist.dev .env
docker イメージを準備する。
$ docker-compose pull
$ docker-compose build
立ち上げる。
$ docker-compose up -d
サンプルのデータベースを作る。 wget コマンドが無ければ homebrew で入れてもいいし、curl でも良い。
$ wget -N https://mdn-downloads.s3-us-west-2.amazonaws.com/mdn_sample_db.sql.gz
$ docker exec -i kuma_web_1 bash -c "zcat | ./manage.py dbshell" < mdn_sample_db.sql.gz
各言語用の環境を作る。
$ docker exec -i kuma_web_1 make localecompile
静的アセットを作成する。
$ docker exec -i kuma_web_1 make build-static
ドキュメントではここで http://localhost:8000 にアクセス!って書いてあるが、500エラーになる。エラーを見ると下記のエラーが出ている。
OperationalError: (1054, "Unknown column 'auth_user.is_github_url_public' in 'field list'")
Bugzilla@Mozilla にバグが報告されていて、既に修正されているみたい。
1360294 - Add ability for users to hide github link from their public profile
修正されている migration ファイルがあるので、 migrate を叩く。
$ docker exec -it kuma_web_1 ./manage.py migrate
これで http://localhost:8000 にアクセスすれば表示できるはず。
フロントエンド開発の準備
$ npm install
これでフロントエンドの環境も整ったはず。
admin ユーザーを作る
必要に応じて質問に答える。
$ docker exec -it kuma_web_1 ./manage.py createsuperuser
$ docker-compose run --rm web ./manage.py ihavepower YOUR_USERNAME --password YOUR_PASSWORD
GitHub Auth の設定をする
編集やらログインしないとできないものを触りたい場合は、 GitHub Auth の設定をする必要がある。基本的には上記のドキュメントの通りここで下記の情報を埋めればできる。
| key | value |
|---|---|
| Application name | MDN Development for (username). |
| Homepage URL | http://localhost:8000/ |
| Application description | My own GitHub app for MDN! |
| Authorization callback URL | http://localhost:8000/users/github/login/callback/ |
次にここで Django 側でも設定する。下記の情報を入れる。
| key | value |
|---|---|
| Provider | GitHub |
| Name | MDN Development |
| Client id | 上で GitHub に登録したあとに表示されてる Client id |
| Secret key | 上で GitHub に登録したあとに表示されてる Secret key |
| Site | Available sitesにある http://localhost:8000/ を Chosen sites に移動する |
これで GitHub にログインしてできるはず。