質問: 現在Mac(OS X)でRailsアプリケーションを作っております。 そこそこアプリケーションが完成してきたのでweb上での公開を考えております。 最初はHerokuを使うと便利というのでそれを使おうと思っていたのですが、しっかりとした運用を考えるとレンタルサーバーやVPSを使うと良いとのこと(特にVPSはアクセス負荷等に強いと聞き)で、今はconoha VPSにアプリケーションのアップロードを考えております。 しかしなにやらconohaの公式ホームページを見たところ、OSのイメージタイプのところにMacという文字がないので、ここにアップロードするにはLinux OSで開発しなくてはダメなのかと思い、勉強になるということもありOS X上にLinuxのローカル開発環境を整えて、その後Conohaにアップロードをしようと考えました。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/16e50291d5b401279e2ebe205a957811.png) 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アプリについて開発経験がない為色々わからないことも多い初心者ですが宜しくお願い致します。
回答: こんにちは。 ご質問の中に > > しかしなにやら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アプリを入れて 公開させ、その後のソースコードの更新もきちんと管理できる状態にもっていく までに発生する、あらゆるタスクを一度経験されてみるのもよいかと思います。