そよ風情報局 -初心者プログラマが独学で試行錯誤-

Webエンジニア目指して勉強中の初心者が、苦労したことや学んだ言語について書いてます。たまにゲームのことも。

プログラミング

Ruby on Railsの環境作りについて

更新日:



以前にWSL(Windows Subsystem for Linux)上にRuby on Railsをインストールしました。
しかし、インストールしたのは持ち運び用のノートPCなので、それでがっつりとプログラミングするってのはとてもやりづらい訳です(^_^;)

そこで、メインのデスクトップPCにはVagrantをインストールして、その上にRuby on Railsをインストールしてみました。
でも、Vagrant上とWindows上でファイルがうまく共有できずに困ってました。
(正確には共有自体はできましたが、思っていた場所にファイルを作れなかったりともどかしい思いをしてました)

そこで、なんとか使いやすい開発環境を作れないかと考えて、作ってみました。
今からプログラミングを始める!って方への参考になれば嬉しいです。

WSL上へのインストールについて詳しくは以下の記事にて。



 

ノートPCをサーバにする

せっかくノートPCではRuby on Railsが使えるようになったので、それを活用しようと思います。

メインのデスクトップPCでコードが書けて、実行結果が見ることさえできればいいので、ノートPCはRuby on Railsを動かすだけのサーバとして活用しようという考えにしました。

具体的には、ノートPC側ではrails sでWebサーバを起動しておいて、デスクトップPCでノートPCへ接続し、直接ソースコードを編集し、ブラウザからノートPCで起動しているWebサーバへアクセスして結果を得るという感じです。

 

デスクトップPCでソースコードを直接編集するには

この方法を実現するのは非常に簡単です。
ノートPC側で作成したRuby on Railsのインストールフォルダ、これに共有設定をすればOKです。

共有設定の方法は、

1. 共有したいフォルダを右クリックしてプロパティを表示
2. 共有タブをクリック
3. 共有ボタンをクリック
4. ボックスの↓ボタンをクリックして「新しいユーザーの作成」をクリック
5. アカウント作成画面が表示されるので、そこでデスクトップPCのユーザ名と同じユーザ名を持つアカウントを作成
6. 共有設定画面に戻り、ボックスから作成したユーザを選択し、追加のボタンをクリック
7. 追加されたユーザのアクセス許可のレベルを「読み取り/書き込み」に変更
8. 共有ボタンをクリックして、その他のメニューも全て閉じる

この方法でデスクトップPCから作業フォルダへ直接アクセスできるようになります。
ユーザを作るのが面倒!って思った方や、接続するPCが何台もあるという方は、ユーザを新たに作らなくても、Everyoneを選択して追加すればどのPCからでもアクセスできるになります。
でも、そうすると同じネットワークにいる人が誰でもアクセスできるようになってしまうことになってしまうので、セキュリティ的に危険なのであまりおすすめはしません。
外部の人が内部ネットワークへ参加することなんて絶対できない!って考えの人であればいいですがw

 

共有フォルダにアクセスするには

共有設定をしたフォルダにアクセスするには、ノートPCのIPアドレスを知る必要があります。
コマンドプロンプトでipconfigと打って表示されたIPアドレスを覚えておきましょう。
(おそらく192.168.○.○という値になっているはずです)

デスクトップPCでエクスプローラーを開いて、以下に\\192.168.○.○(ノートPCのIPアドレス)を入力します。

すると、先程ノートPCで共有設定したフォルダが表示されるはずです。
これでデスクトップPCから直接ノートPCのコードを編集することができます。

フォルダが表示されてもアクセスができなかったりファイルが開けなかったり保存ができなかったりした場合、以下の設定が間違っている可能性があります。

  • 作成したアカウントの設定(ユーザ名等)が間違っている
  • 共有設定のアクセス許可レベルが足りていない

一度設定を見直してみましょう。

 


Webサーバへのアクセスについて

これでノートPCにアクセスして、直接コードが編集できるようになりました。
あとはノートPCで起動したWebサーバへアクセスさえできればOKです。
ノートPC上のWSLコンソール上でrails sと打ってWebサーバを実行して、デスクトップPCからアクセスしてみましょう。
URLはhttp://192.168.○.○(ノートPCのIPアドレス):3000になるかと思います。

おそらくうまくいかなかったかと思います。

これはノートPC側のファイアウォールでデスクトップPCからの通信が遮断されてしまっているからです。
試しにノートPC側のファイアウォールの設定を全てOFFにしてみると接続できるかと思います。

そのため、ファイアウォールの設定で受信ポートのTCP:3000を許可する設定を入れてあげましょう。
そうすることでうまく通信ができるようになるはずです。

 

最後に

せっかく1台のPCに苦労して環境作ったのに別PCで作業するためもう1回環境作りするってとても面倒だと思うので、こういう方法を私は選びました。

Gitを使うという方法もありましたが、毎回ソースコードをアップロードダウンロードするのが面倒そうだったのでそちらはやめましたw
他にももっといい方法があるかもしれませんが、今私が思いつく最も効率のいい環境はこれかなと。

「家のPCだけでなく持ち運びのPCでも環境作りたいけどどうすれば・・・」

って悩んでる方はぜひ真似してみてください!
質問あれば受け付けますのでお気軽にどうぞ~







-プログラミング

Copyright© そよ風情報局 -初心者プログラマが独学で試行錯誤- , 2018 All Rights Reserved Powered by STINGER.