質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

1回答

560閲覧

現在OS Xで作っているRuby On Railsアプリケーションの開発環境をLinux環境に移行したい場合すんなり行くものなのでしょうか?

widget11

総合スコア221

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2018/01/19 21:59

編集2018/01/19 22:02

現在Mac(OS X)でRailsアプリケーションを作っております。
そこそこアプリケーションが完成してきたのでweb上での公開を考えております。
最初はHerokuを使うと便利というのでそれを使おうと思っていたのですが、しっかりとした運用を考えるとレンタルサーバーやVPSを使うと良いとのこと(特にVPSはアクセス負荷等に強いと聞き)で、今はconoha VPSにアプリケーションのアップロードを考えております。
しかしなにやらconohaの公式ホームページを見たところ、OSのイメージタイプのところにMacという文字がないので、ここにアップロードするにはLinux OSで開発しなくてはダメなのかと思い、勉強になるということもありOS X上にLinuxのローカル開発環境を整えて、その後Conohaにアップロードをしようと考えました。

イメージ説明

virtual box(vagrant)をOS Xにインストールし、vagrant(CENT OS)上で今作っているアプリケーションの動作確認等をしようと考えていました。しかし今までSublime Text(macのエディタ)でコードを書いていてlocal host:3000にアクセスし挙動を確認ということを行っていたのですが、いきなりこのmac上で作っていたrailsアプリケーションのフォルダやファイルをvirtual boxに持って来て、そのままLinux環境で動かせるものなのでしょうか?
もちろんCent OSにMacで開発した時と同じように必要なrubyやrailsのパッケージをインストールしなくてはならないのはダメなのでしょうけど。

Linuxコマンドは最低限のコマンドを打てるレベルです。(macにsshクライアントを入れターミナルから少し練習していた時期がありました。)
webアプリについて開発経験がない為色々わからないことも多い初心者ですが宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こんにちは。

ご質問の中に

しかしなにやらconohaの公式ホームページを見たところ、OSのイメージタイプのところにMacという文字がないので、ここにアップロードするにはLinux OSで開発しなくてはダメなのかと思い、

とありますが、

ここにアップロードするにはLinux OSで開発しなくてはダメなのかと思い、

というのは正しくないです。
つまり、開発は手元の Mac で、virtual boxなどの仮想環境も作らずに行って、
自作した Ruby のソースコードを、conoha VPSなどの本番サーバーに反映させる
というのは、可能か不可能かでいえば可能です。

一番原始的なのは FTP で 自作したRuby のソースや設定ファイル(.ymlなど)をアップロード
すればよいですし、もっとよいのは、 手元のMacで作ったソースを GitHubなどのGitレポジトリに
プッシュしておいて、本番サーバーから git pull して、ソースの差分を取り込んでいけば
よいと思います。

もちろん、virtual box や vagrant の習得も有用なので、それはそれで、
やるのはとてもよいと思いますが、

ここにアップロードするにはLinux OSで開発しなくてはダメなのかと思い、

というところは違うので、あとは、vagrant を使うかどうかは
別の観点(何を最優先に実現したいのか?)から判断するとよいでしょう。

ただし、まっさらなVPS に、Rails アプリを入れるとなると、ざっと
思いつくだけでも

  • Ruby や Rails をインストールして、
  • 自作したRails アプリケーションを置く場所を決めて、
  • さらに、VPSにアップするのは公開したいからでしょうから、公開用に(Apache なり nginx なりの)Webサーバーをインストールして動くように設定して
  • アプリ動かすのに必要ならば、MySQLなり何なりのデータベースも入れて、
  • rails new して空のアプリを作り、
  • WebサーバーとRailsアプリを連携させる設定もして、

あと、先ほど書いた、手元で開発したソースをVPSに反映させるのに

  • FTPで上げるのなら、VPSで FTPサーバーを動かさなくてはなりませんし、
  • GitHubからのプルでやるなら git もインストールする必要があります。

・・・ということで、色々やるべき作業がありそうです。

このあたりを Heroku はまとめて面倒見てくれるので、やはり楽です。

以上参考になれば幸いです。


追記

Herokuが楽なのは間違いないですが、 まっさらなVPSにRailsアプリを入れて
公開させ、その後のソースコードの更新もきちんと管理できる状態にもっていく
までに発生する、あらゆるタスクを一度経験されてみるのもよいかと思います。

投稿2018/01/20 03:12

編集2018/01/20 04:58
jun68ykt

総合スコア9058

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

widget11

2018/01/20 11:08

ご回答ありがとうございます。 なるほど非常に勉強になりました。ConohaVPSにアップロードするのにLinuxOSは必須ではないということですね。 いずれかはLinuxローカル環境で開発を行おうとは思いますが、ひとまずOS X環境でFTPやSCPを使ってアップロードして見たいと思います。(調べてみるとunicornやらnginxを導入して弄らないといけないらしいので、おいおい調べたいと思います。。。) しかしネットに落ちてるほとんどの情報がLinuxローカル環境で開発された物なのは何故でしょうか。現場ではLinuxが当たり前とはよく聞きますが理由がよくわかりません。
jun68ykt

2018/01/20 12:23

>しかしネットに落ちてるほとんどの情報がLinuxローカル環境で開発された物なのは何故でしょうか。現場ではLinuxが当たり前とはよく聞きますが理由がよくわかりません。 以下お答えになっているか分かりませんが、思うところを書きますと、 Vagrantなどを入れないMacを開発機として使うときに、 LINUX と異なるのは、 Homebrew というコマンドをよく使うことです。 なので、たとえば Railsをインストールしたいときに、どういうコマンドを 打てばいいかは、 「Rails インストール Mac」とか「Rails インストール Homebrew(または brew)」で ググればだいたい解決します。たいてい Qiita の分かりやすい記事が検索上位に来ますので。 ご存じのとおり、wikipedia の https://ja.wikipedia.org/wiki/MacOS にあるように Mac OS もUNIXの一種ですので、 Mac のターミナルアプリから ふだん使いのシェルにたとえばbashを使い、 VPSまたはVirtualBoxに入れるCent OSを 操作する際のシェルも bash にすれば、両者でほとんど操作感は大差ないと思います。 ですが、両方の微妙な差をいちいち調べるのは大変だとお思いになるなら、早めに 開発環境も VirtualBox上のCentOS に移行するのがよいかもしれませんね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問