LINEのAPIを導入する際に、windowsのCloud9でのngrok導入方法が分からず詰んでいたところ、メンターさんに教えていただき解決できたので備忘録として載せます。
ngrok(エングロック)とは、開発時に外部接続をしたい場合に使用すると有効なツールです。本番環境で外部接続をすることもできますが本番環境で色々試すのは危険なので、ngrokを使用するという感じです。
公式通りにngrokをインストールしていたところ、まったくうまくいきませんでした。なので、成功したパターンを載せていきたいと思います。(一番は公式通りできることですが、、)
方法
ngrokでサインアップする(無料)
サインアップ後、以下の画面が出てくると思うので今回はagentのLinuxを選択してください。(コマンドは今回公式と別で用意しているのでauthtokenぐらいしか使わないかもしれませんが、、)
アプリケーションに移動
まずは開発しているアプリに移動してください。
cd アプリ名
ここからngrokのインストール部分です。
wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz
sudo tar -xvzf ngrok-v3-stable-linux-amd64.tgz -C /usr/local/bin
上のコマンドでうまくいかなかった場合は、binフォルダが無い可能性があるので、mkdir bin
でbinフォルダを作成してください。
authtoken取得
この後authtokenというものを使用するのですが、確認方法は2つあります。
どちらも公式サイトから確認するので、サイトに移動してください。authtokenはコピーしておくと
①ngrok公式の画面左上のYour Authtokenから確認
➁downloadタブを開いてコマンド部分から確認(青く隠してある部分です)
authtoken確認後、再びターミナルへ戻りこのコマンドを実行してください。
ngrok config add-authtoken 自分のauthtokenをここにコピペ
これで導入が完了!
railsサーバーを起動しましょう。
rails s
ここで注意点!
サーバーを動かしているターミナルとは別に、もう1つターミナルを開いてください。
別に開いたターミナルを説明の際はターミナル2とします。
ターミナル2でngrokのコマンドを打ち込みます。
ngrok http 8080
打ち込むとngrokの黒い画面が出てくるので、Forwardingのhttps:から始まる文字列を少し面倒ですがご自分のブラウザの検索窓に手打ちしてください。(コピペできなかった気がします。)
一度確認の画面を挟むと思うので、青いボタンを押してページに遷移してください。
ターミナル2でエラーが出ていなければ成功です!
使用上の注意
2回目以降も必ず2つターミナルを使用し、片方はサーバーを立ち上げた状態でもう片方のターミナルでngrok http 8080のコマンドを使用してください。
ngrokコマンドを使うたび無料版なので毎回URLが変わります。ページ検索の際は注意してください。大抵最初の数字が変わっているだけです。
最後に
初めてngrokを使用したので、説明が至らない部分や間違っている部分があればご気軽に教えていただけると幸いです。