sgotand / honomara_web_env

ホノルルマラソンを走る会、WEBページ開発用環境

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ホノルルマラソンを走る会WEBサイト開発用環境

はじめに

webサイトの開発には、WEBサーバーが必要になりますが、 実際に借りるのはお金がかかるので、仮想的に手元のパソコンにWEBサーバーと同様の環境(ローカル開発環境)を作る必要があります。

以下の手順を踏めば、簡単にローカル開発環境が作れるはずです。

Prerequisites

このリポジトリを使うには以下の2つのソフトウェアが必要になります。

  • Vagrant
  • Virtualbox

Macの人は以下のコマンドでインストールできます

$ brew cask install virtualbox
$ brew cask install vagrant
  • ※Homebrewを入れてない人は、自分でインストールしてください

LinuxやWindowsの場合は、自分で以下公式サイトからインストーラをダウンロードしてインストールしましょう

  • ※apt等でもインストールできるが、バージョンが古いことが多いため

How to Use(使い方)

1.Clone this repo

VagrantとVirtualboxをインストールしたら、 このリポジトリを以下のコマンドでダウンロードしてください。

  • ※リポジトリとは、簡単に説明すると、gitが管理するディレクトリ(フォルダ)のことです
  • ※リポジトリをダウンロードすることを、「クローン」といいます。
$ git clone https://github.com/progrunner17/honomara_web_env.git

2.Start the virtual machine

vagrant ディレクトリに移動してvagrant upコマンドを実行してください。

こうすることで、仮想的なサーバー(仮想マシン)が起動します。

  • ※開発者はフォルダのことを「ディレクトリ」と呼びます。なれましょう
  • ※vagrantコマンドは、実行するディレクトリで挙動が変わります。vagrantディレクトリにいることをしっかり確認しましょう。 -(他のディレクトリで実行してもパソコンが壊れることはないですが、単純に動きません)
$ cd vagrant
$ vagrant up

3.Connect to the virtual machine

vagrant sshコマンドを実行してください。 こうすることで、仮想マシンに接続できます。

$ vagrant ssh

以降、仮想マシンに接続した状態での操作となります。

$ vagrant ssh

をした後

$ cd /vagrant/scripts
$ ./setup_all.sh
$ ./import_data_to_postgres.sh
$ ./migrate_data_to_mysql.sh

を実行して、appディレクトリに honomara_members_siteのリポジトリ かそのフォークをcloneすれば 127.0.0.1:8080/cgi-bin
からサイトを見れると思います。
デバッグ時は、ゲストの/vagrant/appディレクトリでpython3 app.pyを実行して
127.0.0.1:5000/cgi-bin
から見ると良いと思います。

なお、現在更新されていませんが、
以下の方法でjupyter noteookを見ると、大まかな解説が書いてあるので理解の助けになるかもしれません。
ただ、重ねて注意ですが、現在メンテナンスされておらず、齟齬があるので、 詳しくは、上記のスクリプトを読むと良いでしょう。

$ cd /vagrant
$ ./scripts/setup_jupyter.sh
$ jupyter notebook &

を実行して

127.0.0.1:9999 または localhost:9999 を開き、

setup.ipynb を開いて、ノートブック中の説明を読んでください。

作成中のアプリを使えるようになるはずです。 また、setupノートブックで言及が無いノートブックも挙げてあるので、見てみると良いかもしれません。

Exit from the virtual machine

なお、1度jupyter notebookを起動したらターミナルは閉じて構いません。 exit コマンドまたは Ctrl+d で仮想マシンから抜けられます。

Halt or suspend the virtual machine

ただ仮想マシンから抜けるだけだと裏で仮想マシンが動いています。

なので、vagrant sshコマンドを実行すると、再度仮想マシンに接続できます。

このままだと、パソコンの資源が食われて重いので、仮想マシンを中断または停止しましょう。

vagrant haltで停止(シャットダウン相当)vagrant suspendで休止します それぞれ、再開する場合はvagrant up , vagrant resumeコマンドを実行しましょう。

Reset the virtual machine

vagrant ディレクトリでvagrant destroy仮想マシンを破壊できます。 「データをリセットしたい」、「よくわからなくなった」という場合は このコマンドで仮想マシンを廃棄した後再度上から順に実行しましょう。

tips

Run SQL files

psqlコマンドは-fオプションでSQLファイルを実行できます。

$ psql -U honomara -d honomara -f SQLファイル名

setup_db.shファイルを読むと参考になるかもしれません。

単純にログインしてSQLを実行するのにも使えますが、整形が大変なのでノートブックからpythonでデータを取得するほうが遊びやすいと思います。

Trouble shooting

ホスト、ゲスト間のフォルダ共有ができない

vagrant upした際、Qiita-Vagrant ファイル共有とマウントエラー対処法 のようなエラーメッセージが表示され、ホスト、ゲスト間のフォルダ共有ができていないことがあります。 原因はVirtualBox Guest Additions(ホストOSとゲストOSの統合を行うもの)のバージョンの不一致のようです。

解決法は他にもありますが、バージョンを一致させるのが良いです。

ホストの方が古い場合は、VirtualBoxの最新版をダウンロードしてインストールします。 (homebrewでインストールしてもバージョンが古い場合があります。)

ゲストの方が古い場合は、「vagrant-vbguest」(Guest Additionsを自動更新してくれるプラグイン)をインストールします。

以下のコマンドでインストールできます。

$ vagrant plugin install vagrant-vbguest

仮想マシンを起動し、エラーメッセージが出なくなればOKです。

こちらの記事も参考になります。

About

ホノルルマラソンを走る会、WEBページ開発用環境


Languages

Language:TSQL 98.9%Language:Jupyter Notebook 0.9%Language:Python 0.2%Language:Shell 0.0%